Skip to content

Instantly share code, notes, and snippets.

@bigsnarfdude
Last active April 3, 2020 13:39
Show Gist options
  • Save bigsnarfdude/1e7d9f09f667bd1c5a4b08bf06ce5371 to your computer and use it in GitHub Desktop.
Save bigsnarfdude/1e7d9f09f667bd1c5a4b08bf06ce5371 to your computer and use it in GitHub Desktop.
covid-eda.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Downloding and Installing Prerequisite \n",
"**Install:**\n",
"* pip install pycountry_convert \n",
"* pip install folium\n",
"\n",
"\n",
"<br>\n",
"**Download Pretrained Models from my [GitHub](https://github.com/tarunk04/COVID-19-CaseStudy-and-Predictions):**\n",
"* [model_confirmed.h5](https://raw.githubusercontent.com/tarunk04/COVID-19-CaseStudy-and-Predictions/master/models/model_confirmed.h5)\n",
"* [model_deaths.h5](https://raw.githubusercontent.com/tarunk04/COVID-19-CaseStudy-and-Predictions/master/models/model_deaths.h5)\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"_kg_hide-input": false,
"_kg_hide-output": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" % Total % Received % Xferd Average Speed Time Time Time Current\n",
" Dload Upload Total Spent Left Speed\n",
"100 108k 100 108k 0 0 368k 0 --:--:-- --:--:-- --:--:-- 368k\n",
" % Total % Received % Xferd Average Speed Time Time Time Current\n",
" Dload Upload Total Spent Left Speed\n",
"100 108k 100 108k 0 0 145k 0 --:--:-- --:--:-- --:--:-- 145k\n",
" % Total % Received % Xferd Average Speed Time Time Time Current\n",
" Dload Upload Total Spent Left Speed\n",
"100 108k 100 108k 0 0 200k 0 --:--:-- --:--:-- --:--:-- 200k\n"
]
}
],
"source": [
"# Installs\n",
"#!pip install pycountry_convert \n",
"#!pip install folium\n",
"!curl -O https://raw.githubusercontent.com/tarunk04/COVID-19-CaseStudy-and-Predictions/master/models/model_deaths.h5\n",
"!curl -O https://raw.githubusercontent.com/tarunk04/COVID-19-CaseStudy-and-Predictions/master/models/model_confirmed.h5\n",
"!curl -O https://raw.githubusercontent.com/tarunk04/COVID-19-CaseStudy-and-Predictions/master/models/model_usa_c.h5"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Imports and Datasets\n",
"<hr> \n",
"* Pandas - for dataset handeling\n",
"* Numpy - Support for Pandas and calculations \n",
"* Matplotlib - for visualization (Platting graphas)\n",
"* pycountry_convert - Library for getting continent (name) to from their country names\n",
"* folium - Library for Map\n",
"* keras - Prediction Models\n",
"* plotly - for interative plots"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"#!pip install keras"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19",
"_kg_hide-input": false,
"_kg_hide-output": true,
"_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5"
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Using TensorFlow backend.\n",
"/anaconda3/anaconda3/lib/python3.7/site-packages/tensorflow/python/framework/dtypes.py:516: FutureWarning:\n",
"\n",
"Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n",
"\n",
"/anaconda3/anaconda3/lib/python3.7/site-packages/tensorflow/python/framework/dtypes.py:517: FutureWarning:\n",
"\n",
"Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n",
"\n",
"/anaconda3/anaconda3/lib/python3.7/site-packages/tensorflow/python/framework/dtypes.py:518: FutureWarning:\n",
"\n",
"Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n",
"\n",
"/anaconda3/anaconda3/lib/python3.7/site-packages/tensorflow/python/framework/dtypes.py:519: FutureWarning:\n",
"\n",
"Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n",
"\n",
"/anaconda3/anaconda3/lib/python3.7/site-packages/tensorflow/python/framework/dtypes.py:520: FutureWarning:\n",
"\n",
"Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n",
"\n",
"/anaconda3/anaconda3/lib/python3.7/site-packages/tensorflow/python/framework/dtypes.py:525: FutureWarning:\n",
"\n",
"Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n",
"\n"
]
}
],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from matplotlib import ticker \n",
"import pycountry_convert as pc\n",
"import folium\n",
"import branca\n",
"from datetime import datetime, timedelta,date\n",
"from scipy.interpolate import make_interp_spline, BSpline\n",
"import plotly.express as px\n",
"import json, requests\n",
"\n",
"from keras.layers import Input, Dense, Activation, LeakyReLU\n",
"from keras import models\n",
"from keras.optimizers import RMSprop, Adam\n",
"\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2019 Novel Coronavirus COVID-19 (2019-nCoV) Data Repository by Johns Hopkins CSSE ([LINK](https://github.com/CSSEGISandData/COVID-19)) \n",
"<hr>\n",
"Dataset consists of time-series data from 22 JAN 2020 to Till date (Updated on daily Basis).<br>\n",
"**Three Time-series dataset (Depricated):**\n",
"* time_series_19-covid-Confirmed.csv ([Link Raw File](https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Confirmed.csv))\n",
"* time_series_19-covid-Deaths.csv ([Link Raw File](https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Deaths.csv))\n",
"* time_series_19-covid-Recovered.csv ([Link Raw File](https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Recovered.csv))\n",
"\n",
"**New Time-series dataset:**\n",
"* time_series_covid19_confirmed_global.csv ([Link Raw File](https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv))\n",
"* time_series_covid19_deaths_global ([Link Raw File](https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv))\n",
"\n",
"**New Dataset (Updated more frequently by web crawler of JHU):**\n",
"* cases_country.csv ([Link Raw File](\"https://raw.githubusercontent.com/CSSEGISandData/COVID-19/web-data/data/cases_country.csv\"))"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"_kg_hide-input": false,
"_kg_hide-output": true
},
"outputs": [],
"source": [
"# Retriving Dataset\n",
"df_confirmed = pd.read_csv('https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv')\n",
"df_deaths = pd.read_csv('https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv')\n",
"\n",
"# Depricated\n",
"# df_recovered = pd.read_csv('https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Recovered.csv')\n",
"df_covid19 = pd.read_csv(\"https://raw.githubusercontent.com/CSSEGISandData/COVID-19/web-data/data/cases_country.csv\")\n",
"df_table = pd.read_csv(\"https://raw.githubusercontent.com/CSSEGISandData/COVID-19/web-data/data/cases_time.csv\",parse_dates=['Last_Update'])"
]
},
{
"cell_type": "code",
"execution_count": 5,
"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>Country_Region</th>\n",
" <th>Last_Update</th>\n",
" <th>Lat</th>\n",
" <th>Long_</th>\n",
" <th>Confirmed</th>\n",
" <th>Deaths</th>\n",
" <th>Recovered</th>\n",
" <th>Active</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Australia</td>\n",
" <td>2020-04-02 14:00:04</td>\n",
" <td>-25.0000</td>\n",
" <td>133.0000</td>\n",
" <td>5108</td>\n",
" <td>24</td>\n",
" <td>520</td>\n",
" <td>4564</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Austria</td>\n",
" <td>2020-04-02 13:53:47</td>\n",
" <td>47.5162</td>\n",
" <td>14.5501</td>\n",
" <td>10927</td>\n",
" <td>158</td>\n",
" <td>1749</td>\n",
" <td>9020</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Country_Region Last_Update Lat Long_ Confirmed Deaths \\\n",
"0 Australia 2020-04-02 14:00:04 -25.0000 133.0000 5108 24 \n",
"1 Austria 2020-04-02 13:53:47 47.5162 14.5501 10927 158 \n",
"\n",
" Recovered Active \n",
"0 520 4564 \n",
"1 1749 9020 "
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# new dataset \n",
"df_covid19.head(2)"
]
},
{
"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>Province/State</th>\n",
" <th>Country/Region</th>\n",
" <th>Lat</th>\n",
" <th>Long</th>\n",
" <th>1/22/20</th>\n",
" <th>1/23/20</th>\n",
" <th>1/24/20</th>\n",
" <th>1/25/20</th>\n",
" <th>1/26/20</th>\n",
" <th>1/27/20</th>\n",
" <th>...</th>\n",
" <th>3/23/20</th>\n",
" <th>3/24/20</th>\n",
" <th>3/25/20</th>\n",
" <th>3/26/20</th>\n",
" <th>3/27/20</th>\n",
" <th>3/28/20</th>\n",
" <th>3/29/20</th>\n",
" <th>3/30/20</th>\n",
" <th>3/31/20</th>\n",
" <th>4/1/20</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>NaN</td>\n",
" <td>Afghanistan</td>\n",
" <td>33.0000</td>\n",
" <td>65.0000</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>40</td>\n",
" <td>74</td>\n",
" <td>84</td>\n",
" <td>94</td>\n",
" <td>110</td>\n",
" <td>110</td>\n",
" <td>120</td>\n",
" <td>170</td>\n",
" <td>174</td>\n",
" <td>237</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>NaN</td>\n",
" <td>Albania</td>\n",
" <td>41.1533</td>\n",
" <td>20.1683</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>104</td>\n",
" <td>123</td>\n",
" <td>146</td>\n",
" <td>174</td>\n",
" <td>186</td>\n",
" <td>197</td>\n",
" <td>212</td>\n",
" <td>223</td>\n",
" <td>243</td>\n",
" <td>259</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>2 rows × 75 columns</p>\n",
"</div>"
],
"text/plain": [
" Province/State Country/Region Lat Long 1/22/20 1/23/20 1/24/20 \\\n",
"0 NaN Afghanistan 33.0000 65.0000 0 0 0 \n",
"1 NaN Albania 41.1533 20.1683 0 0 0 \n",
"\n",
" 1/25/20 1/26/20 1/27/20 ... 3/23/20 3/24/20 3/25/20 3/26/20 \\\n",
"0 0 0 0 ... 40 74 84 94 \n",
"1 0 0 0 ... 104 123 146 174 \n",
"\n",
" 3/27/20 3/28/20 3/29/20 3/30/20 3/31/20 4/1/20 \n",
"0 110 110 120 170 174 237 \n",
"1 186 197 212 223 243 259 \n",
"\n",
"[2 rows x 75 columns]"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_confirmed.head(2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Preprocessing \n",
"<hr>"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"_kg_hide-input": true,
"_kg_hide-output": true
},
"outputs": [],
"source": [
"df_confirmed = df_confirmed.rename(columns={\"Province/State\":\"state\",\"Country/Region\": \"country\"})\n",
"df_deaths = df_deaths.rename(columns={\"Province/State\":\"state\",\"Country/Region\": \"country\"})\n",
"df_covid19 = df_covid19.rename(columns={\"Country_Region\": \"country\"})\n",
"df_covid19[\"Active\"] = df_covid19[\"Confirmed\"]-df_covid19[\"Recovered\"]-df_covid19[\"Deaths\"]\n",
"# df_recovered = df_recovered.rename(columns={\"Province/State\":\"state\",\"Country/Region\": \"country\"})"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"_kg_hide-input": true,
"_kg_hide-output": true
},
"outputs": [],
"source": [
"# Changing the conuntry names as required by pycountry_convert Lib\n",
"df_confirmed.loc[df_confirmed['country'] == \"US\", \"country\"] = \"USA\"\n",
"df_deaths.loc[df_deaths['country'] == \"US\", \"country\"] = \"USA\"\n",
"df_covid19.loc[df_covid19['country'] == \"US\", \"country\"] = \"USA\"\n",
"df_table.loc[df_table['Country_Region'] == \"US\", \"Country_Region\"] = \"USA\"\n",
"# df_recovered.loc[df_recovered['country'] == \"US\", \"country\"] = \"USA\"\n",
"\n",
"\n",
"df_confirmed.loc[df_confirmed['country'] == 'Korea, South', \"country\"] = 'South Korea'\n",
"df_deaths.loc[df_deaths['country'] == 'Korea, South', \"country\"] = 'South Korea'\n",
"df_covid19.loc[df_covid19['country'] == \"Korea, South\", \"country\"] = \"South Korea\"\n",
"df_table.loc[df_table['Country_Region'] == \"Korea, South\", \"Country_Region\"] = \"South Korea\"\n",
"# df_recovered.loc[df_recovered['country'] == 'Korea, South', \"country\"] = 'South Korea'\n",
"\n",
"df_confirmed.loc[df_confirmed['country'] == 'Taiwan*', \"country\"] = 'Taiwan'\n",
"df_deaths.loc[df_deaths['country'] == 'Taiwan*', \"country\"] = 'Taiwan'\n",
"df_covid19.loc[df_covid19['country'] == \"Taiwan*\", \"country\"] = \"Taiwan\"\n",
"df_table.loc[df_table['Country_Region'] == \"Taiwan*\", \"Country_Region\"] = \"Taiwan\"\n",
"# df_recovered.loc[df_recovered['country'] == 'Taiwan*', \"country\"] = 'Taiwan'\n",
"\n",
"df_confirmed.loc[df_confirmed['country'] == 'Congo (Kinshasa)', \"country\"] = 'Democratic Republic of the Congo'\n",
"df_deaths.loc[df_deaths['country'] == 'Congo (Kinshasa)', \"country\"] = 'Democratic Republic of the Congo'\n",
"df_covid19.loc[df_covid19['country'] == \"Congo (Kinshasa)\", \"country\"] = \"Democratic Republic of the Congo\"\n",
"df_table.loc[df_table['Country_Region'] == \"Congo (Kinshasa)\", \"Country_Region\"] = \"Democratic Republic of the Congo\"\n",
"# df_recovered.loc[df_recovered['country'] == 'Congo (Kinshasa)', \"country\"] = 'Democratic Republic of the Congo'\n",
"\n",
"df_confirmed.loc[df_confirmed['country'] == \"Cote d'Ivoire\", \"country\"] = \"Côte d'Ivoire\"\n",
"df_deaths.loc[df_deaths['country'] == \"Cote d'Ivoire\", \"country\"] = \"Côte d'Ivoire\"\n",
"df_covid19.loc[df_covid19['country'] == \"Cote d'Ivoire\", \"country\"] = \"Côte d'Ivoire\"\n",
"df_table.loc[df_table['Country_Region'] == \"Cote d'Ivoire\", \"Country_Region\"] = \"Côte d'Ivoire\"\n",
"# df_recovered.loc[df_recovered['country'] == \"Cote d'Ivoire\", \"country\"] = \"Côte d'Ivoire\"\n",
"\n",
"df_confirmed.loc[df_confirmed['country'] == \"Reunion\", \"country\"] = \"Réunion\"\n",
"df_deaths.loc[df_deaths['country'] == \"Reunion\", \"country\"] = \"Réunion\"\n",
"df_covid19.loc[df_covid19['country'] == \"Reunion\", \"country\"] = \"Réunion\"\n",
"df_table.loc[df_table['Country_Region'] == \"Reunion\", \"Country_Region\"] = \"Réunion\"\n",
"# df_recovered.loc[df_recovered['country'] == \"Reunion\", \"country\"] = \"Réunion\"\n",
"\n",
"df_confirmed.loc[df_confirmed['country'] == 'Congo (Brazzaville)', \"country\"] = 'Republic of the Congo'\n",
"df_deaths.loc[df_deaths['country'] == 'Congo (Brazzaville)', \"country\"] = 'Republic of the Congo'\n",
"df_covid19.loc[df_covid19['country'] == \"Congo (Brazzaville)\", \"country\"] = \"Republic of the Congo\"\n",
"df_table.loc[df_table['Country_Region'] == \"Congo (Brazzaville)\", \"Country_Region\"] = \"Republic of the Congo\"\n",
"# df_recovered.loc[df_recovered['country'] == 'Congo (Brazzaville)', \"country\"] = 'Republic of the Congo'\n",
"\n",
"df_confirmed.loc[df_confirmed['country'] == 'Bahamas, The', \"country\"] = 'Bahamas'\n",
"df_deaths.loc[df_deaths['country'] == 'Bahamas, The', \"country\"] = 'Bahamas'\n",
"df_covid19.loc[df_covid19['country'] == \"Bahamas, The\", \"country\"] = \"Bahamas\"\n",
"df_table.loc[df_table['Country_Region'] == \"Bahamas, The\", \"Country_Region\"] = \"Bahamas\"\n",
"# df_recovered.loc[df_recovered['country'] == 'Bahamas, The', \"country\"] = 'Bahamas'\n",
"\n",
"df_confirmed.loc[df_confirmed['country'] == 'Gambia, The', \"country\"] = 'Gambia'\n",
"df_deaths.loc[df_deaths['country'] == 'Gambia, The', \"country\"] = 'Gambia'\n",
"df_covid19.loc[df_covid19['country'] == \"Gambia, The\", \"country\"] = \"Gambia\"\n",
"df_table.loc[df_table['Country_Region'] == \"Gambia\", \"Country_Region\"] = \"Gambia\"\n",
"# df_recovered.loc[df_recovered['country'] == 'Gambia, The', \"country\"] = 'Gambia'\n",
"\n",
"# getting all countries\n",
"countries = np.asarray(df_confirmed[\"country\"])\n",
"countries1 = np.asarray(df_covid19[\"country\"])\n",
"# Continent_code to Continent_names\n",
"continents = {\n",
" 'NA': 'North America',\n",
" 'SA': 'South America', \n",
" 'AS': 'Asia',\n",
" 'OC': 'Australia',\n",
" 'AF': 'Africa',\n",
" 'EU' : 'Europe',\n",
" 'na' : 'Others'\n",
"}\n",
"\n",
"# Defininng Function for getting continent code for country.\n",
"def country_to_continent_code(country):\n",
" try:\n",
" return pc.country_alpha2_to_continent_code(pc.country_name_to_country_alpha2(country))\n",
" except :\n",
" return 'na'\n",
"\n",
"#Collecting Continent Information\n",
"df_confirmed.insert(2,\"continent\", [continents[country_to_continent_code(country)] for country in countries[:]])\n",
"df_deaths.insert(2,\"continent\", [continents[country_to_continent_code(country)] for country in countries[:]])\n",
"df_covid19.insert(1,\"continent\", [continents[country_to_continent_code(country)] for country in countries1[:]])\n",
"df_table.insert(1,\"continent\", [continents[country_to_continent_code(country)] for country in df_table[\"Country_Region\"].values])\n",
"# df_recovered.insert(2,\"continent\", [continents[country_to_continent_code(country)] for country in countries[:]] ) "
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"df_table = df_table[df_table[\"continent\"] != \"Others\"]"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"_kg_hide-input": true,
"_kg_hide-output": true
},
"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>state</th>\n",
" <th>country</th>\n",
" <th>continent</th>\n",
" <th>Lat</th>\n",
" <th>Long</th>\n",
" <th>1/22/20</th>\n",
" <th>1/23/20</th>\n",
" <th>1/24/20</th>\n",
" <th>1/25/20</th>\n",
" <th>1/26/20</th>\n",
" <th>...</th>\n",
" <th>3/23/20</th>\n",
" <th>3/24/20</th>\n",
" <th>3/25/20</th>\n",
" <th>3/26/20</th>\n",
" <th>3/27/20</th>\n",
" <th>3/28/20</th>\n",
" <th>3/29/20</th>\n",
" <th>3/30/20</th>\n",
" <th>3/31/20</th>\n",
" <th>4/1/20</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>88</th>\n",
" <td>NaN</td>\n",
" <td>Diamond Princess</td>\n",
" <td>Others</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>8</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>10</td>\n",
" <td>11</td>\n",
" </tr>\n",
" <tr>\n",
" <th>127</th>\n",
" <td>NaN</td>\n",
" <td>Holy See</td>\n",
" <td>Others</td>\n",
" <td>41.902900</td>\n",
" <td>12.453400</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <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>236</th>\n",
" <td>NaN</td>\n",
" <td>Timor-Leste</td>\n",
" <td>Others</td>\n",
" <td>-8.874217</td>\n",
" <td>125.727539</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <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>241</th>\n",
" <td>NaN</td>\n",
" <td>West Bank and Gaza</td>\n",
" <td>Others</td>\n",
" <td>31.952200</td>\n",
" <td>35.233200</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\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",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>247</th>\n",
" <td>NaN</td>\n",
" <td>Kosovo</td>\n",
" <td>Others</td>\n",
" <td>42.602636</td>\n",
" <td>20.902977</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\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",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>248</th>\n",
" <td>NaN</td>\n",
" <td>Burma</td>\n",
" <td>Others</td>\n",
" <td>21.916200</td>\n",
" <td>95.956000</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>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>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>252</th>\n",
" <td>NaN</td>\n",
" <td>MS Zaandam</td>\n",
" <td>Others</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>7 rows × 76 columns</p>\n",
"</div>"
],
"text/plain": [
" state country continent Lat Long 1/22/20 \\\n",
"88 NaN Diamond Princess Others 0.000000 0.000000 0 \n",
"127 NaN Holy See Others 41.902900 12.453400 0 \n",
"236 NaN Timor-Leste Others -8.874217 125.727539 0 \n",
"241 NaN West Bank and Gaza Others 31.952200 35.233200 0 \n",
"247 NaN Kosovo Others 42.602636 20.902977 0 \n",
"248 NaN Burma Others 21.916200 95.956000 0 \n",
"252 NaN MS Zaandam Others 0.000000 0.000000 0 \n",
"\n",
" 1/23/20 1/24/20 1/25/20 1/26/20 ... 3/23/20 3/24/20 3/25/20 \\\n",
"88 0 0 0 0 ... 8 10 10 \n",
"127 0 0 0 0 ... 0 0 0 \n",
"236 0 0 0 0 ... 0 0 0 \n",
"241 0 0 0 0 ... 0 0 0 \n",
"247 0 0 0 0 ... 0 0 0 \n",
"248 0 0 0 0 ... 0 0 0 \n",
"252 0 0 0 0 ... 0 0 0 \n",
"\n",
" 3/26/20 3/27/20 3/28/20 3/29/20 3/30/20 3/31/20 4/1/20 \n",
"88 10 10 10 10 10 10 11 \n",
"127 0 0 0 0 0 0 0 \n",
"236 0 0 0 0 0 0 0 \n",
"241 1 1 1 1 1 1 1 \n",
"247 1 1 1 1 1 1 1 \n",
"248 0 0 0 0 0 1 1 \n",
"252 0 0 0 0 0 0 2 \n",
"\n",
"[7 rows x 76 columns]"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_deaths[df_deaths[\"continent\" ]== 'Others']"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"_kg_hide-input": true,
"_kg_hide-output": true
},
"outputs": [],
"source": [
"# df_active = df_confirmed.copy()\n",
"# df_active.iloc[:,5:] = df_active.iloc[:,5:] - df_recovered.iloc[:,5:] - df_deaths.iloc[:,5:]\n",
"# df_active.head(5)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"_kg_hide-input": true,
"_kg_hide-output": true
},
"outputs": [],
"source": [
"df_confirmed = df_confirmed.replace(np.nan, '', regex=True)\n",
"df_deaths = df_deaths.replace(np.nan, '', regex=True)\n",
"# df_recovered = df_recovered.replace(np.nan, '', regex=True)\n",
"# df_active = df_active.replace(np.nan, '', regex=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" # Defining Functions\n",
" <hr>\n",
"* plot_params()\n",
"* visualize_covid_cases()\n",
"* get_mortality_rate()"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"_kg_hide-input": true,
"_kg_hide-output": true
},
"outputs": [],
"source": [
"def plot_params(ax,axis_label= None, plt_title = None,label_size=15, axis_fsize = 15, title_fsize = 20, scale = 'linear' ):\n",
" # Tick-Parameters\n",
" ax.xaxis.set_minor_locator(ticker.AutoMinorLocator())\n",
" ax.yaxis.set_minor_locator(ticker.AutoMinorLocator())\n",
" ax.tick_params(which='both', width=1,labelsize=label_size)\n",
" ax.tick_params(which='major', length=6)\n",
" ax.tick_params(which='minor', length=3, color='0.8')\n",
" \n",
" # Grid\n",
" plt.grid(lw = 1, ls = '-', c = \"0.7\", which = 'major')\n",
" plt.grid(lw = 1, ls = '-', c = \"0.9\", which = 'minor')\n",
"\n",
" # Plot Title\n",
" plt.title( plt_title,{'fontsize':title_fsize})\n",
" \n",
" # Yaxis sacle\n",
" plt.yscale(scale)\n",
" plt.minorticks_on()\n",
" # Plot Axes Labels\n",
" xl = plt.xlabel(axis_label[0],fontsize = axis_fsize)\n",
" yl = plt.ylabel(axis_label[1],fontsize = axis_fsize)\n",
" \n",
"def visualize_covid_cases(confirmed, deaths, continent=None , country = None , state = None, period = None, figure = None, scale = \"linear\"):\n",
" x = 0\n",
" if figure == None:\n",
" f = plt.figure(figsize=(10,10))\n",
" # Sub plot\n",
" ax = f.add_subplot(111)\n",
" else :\n",
" f = figure[0]\n",
" # Sub plot\n",
" ax = f.add_subplot(figure[1],figure[2],figure[3])\n",
" \n",
" plt.tight_layout(pad=10, w_pad=5, h_pad=5)\n",
" \n",
" stats = [confirmed, deaths]\n",
" label = [\"Confirmed\", \"Deaths\"]\n",
" \n",
" if continent != None:\n",
" params = [\"continent\",continent]\n",
" elif country != None:\n",
" params = [\"country\",country]\n",
" else: \n",
" params = [\"All\", \"All\"]\n",
" color = [\"darkcyan\",\"crimson\"]\n",
" marker_style = dict(linewidth=3, linestyle='-', marker='o',markersize=4, markerfacecolor='#ffffff')\n",
" for i,stat in enumerate(stats):\n",
" if params[1] == \"All\" :\n",
" cases = np.sum(np.asarray(stat.iloc[:,5:]),axis = 0)[x:]\n",
" else :\n",
" cases = np.sum(np.asarray(stat[stat[params[0]] == params[1]].iloc[:,5:]),axis = 0)[x:]\n",
" date = np.arange(1,cases.shape[0]+1)[x:]\n",
" plt.plot(date,cases,label = label[i]+\" (Total : \"+str(cases[-1])+\")\",color=color[i],**marker_style)\n",
"\n",
" if params[1] == \"All\" :\n",
" Total_confirmed = np.sum(np.asarray(stats[0].iloc[:,5:]),axis = 0)[x:]\n",
" Total_deaths = np.sum(np.asarray(stats[1].iloc[:,5:]),axis = 0)[x:]\n",
" else :\n",
" Total_confirmed = np.sum(np.asarray(stats[0][stat[params[0]] == params[1]].iloc[:,5:]),axis = 0)[x:]\n",
" Total_deaths = np.sum(np.asarray(stats[1][stat[params[0]] == params[1]].iloc[:,5:]),axis = 0)[x:]\n",
" \n",
" text = \"From \"+stats[0].columns[5]+\" to \"+stats[0].columns[-1]+\"\\n\"\n",
" text += \"Mortality rate : \"+ str(int(Total_deaths[-1]/(Total_confirmed[-1])*10000)/100)+\"\\n\"\n",
" text += \"Last 5 Days:\\n\"\n",
" text += \"Confirmed : \" + str(Total_confirmed[-1] - Total_confirmed[-6])+\"\\n\"\n",
" text += \"Deaths : \" + str(Total_deaths[-1] - Total_deaths[-6])+\"\\n\"\n",
" text += \"Last 24 Hours:\\n\"\n",
" text += \"Confirmed : \" + str(Total_confirmed[-1] - Total_confirmed[-2])+\"\\n\"\n",
" text += \"Deaths : \" + str(Total_deaths[-1] - Total_deaths[-2])+\"\\n\"\n",
" \n",
" plt.text(0.02, 0.78, text, fontsize=15, horizontalalignment='left', verticalalignment='top', transform=ax.transAxes,bbox=dict(facecolor='white', alpha=0.4))\n",
" \n",
" # Plot Axes Labels\n",
" axis_label = [\"Days (\"+df_confirmed.columns[5]+\" - \"+df_confirmed.columns[-1]+\")\",\"No of Cases\"]\n",
" \n",
" # Plot Parameters\n",
" plot_params(ax,axis_label,scale = scale)\n",
" \n",
" # Plot Title\n",
" if params[1] == \"All\" :\n",
" plt.title(\"COVID-19 Cases World\",{'fontsize':25})\n",
" else: \n",
" plt.title(\"COVID-19 Cases for \"+params[1] ,{'fontsize':25})\n",
" \n",
" # Legend Location\n",
" l = plt.legend(loc= \"best\",fontsize = 15)\n",
" \n",
" if figure == None:\n",
" plt.show()\n",
" \n",
"def get_total_cases(cases, country = \"All\"):\n",
" if(country == \"All\") :\n",
" return np.sum(np.asarray(cases.iloc[:,5:]),axis = 0)[-1]\n",
" else :\n",
" return np.sum(np.asarray(cases[cases[\"country\"] == country].iloc[:,5:]),axis = 0)[-1]\n",
" \n",
"def get_mortality_rate(confirmed,deaths, continent = None, country = None):\n",
" if continent != None:\n",
" params = [\"continent\",continent]\n",
" elif country != None:\n",
" params = [\"country\",country]\n",
" else :\n",
" params = [\"All\", \"All\"]\n",
" \n",
" if params[1] == \"All\" :\n",
" Total_confirmed = np.sum(np.asarray(confirmed.iloc[:,5:]),axis = 0)\n",
" Total_deaths = np.sum(np.asarray(deaths.iloc[:,5:]),axis = 0)\n",
" mortality_rate = np.round((Total_deaths/(Total_confirmed+1.01))*100,2)\n",
" else :\n",
" Total_confirmed = np.sum(np.asarray(confirmed[confirmed[params[0]] == params[1]].iloc[:,5:]),axis = 0)\n",
" Total_deaths = np.sum(np.asarray(deaths[deaths[params[0]] == params[1]].iloc[:,5:]),axis = 0)\n",
" mortality_rate = np.round((Total_deaths/(Total_confirmed+1.01))*100,2)\n",
" \n",
" return np.nan_to_num(mortality_rate)\n",
"def dd(date1,date2):\n",
" return (datetime.strptime(date1,'%m/%d/%y') - datetime.strptime(date2,'%m/%d/%y')).days\n",
"\n",
"\n",
"out = \"\"#+\"output/\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# General Analysis of Data\n",
"<hr>\n",
"Getting country wise and continent wise data."
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"df_countries_cases = df_covid19.copy().drop(['Lat','Long_','continent','Last_Update'],axis =1)\n",
"df_countries_cases.index = df_countries_cases[\"country\"]\n",
"df_countries_cases = df_countries_cases.drop(['country'],axis=1)\n",
"\n",
"df_continents_cases = df_covid19.copy().drop(['Lat','Long_','country','Last_Update'],axis =1)\n",
"df_continents_cases = df_continents_cases.groupby([\"continent\"]).sum()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Global Reported Cases till Date\n",
"Total number of confirmed cases, deaths reported, revoveries and active cases all across the world"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<style type=\"text/css\" >\n",
" #T_94351c46_74f0_11ea_8db5_109add6e171frow0_col0 {\n",
" background-color: #fc7f00;\n",
" color: #000000;\n",
" } #T_94351c46_74f0_11ea_8db5_109add6e171frow0_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_94351c46_74f0_11ea_8db5_109add6e171frow0_col2 {\n",
" background-color: #f6ef39;\n",
" color: #000000;\n",
" } #T_94351c46_74f0_11ea_8db5_109add6e171frow0_col3 {\n",
" background-color: #ffa300;\n",
" color: #000000;\n",
" }</style><table id=\"T_94351c46_74f0_11ea_8db5_109add6e171f\" ><thead> <tr> <th class=\"blank level0\" ></th> <th class=\"col_heading level0 col0\" >Confirmed</th> <th class=\"col_heading level0 col1\" >Deaths</th> <th class=\"col_heading level0 col2\" >Recovered</th> <th class=\"col_heading level0 col3\" >Active</th> </tr></thead><tbody>\n",
" <tr>\n",
" <th id=\"T_94351c46_74f0_11ea_8db5_109add6e171flevel0_row0\" class=\"row_heading level0 row0\" >0</th>\n",
" <td id=\"T_94351c46_74f0_11ea_8db5_109add6e171frow0_col0\" class=\"data row0 col0\" >962977</td>\n",
" <td id=\"T_94351c46_74f0_11ea_8db5_109add6e171frow0_col1\" class=\"data row0 col1\" >49180</td>\n",
" <td id=\"T_94351c46_74f0_11ea_8db5_109add6e171frow0_col2\" class=\"data row0 col2\" >202935</td>\n",
" <td id=\"T_94351c46_74f0_11ea_8db5_109add6e171frow0_col3\" class=\"data row0 col3\" >710862</td>\n",
" </tr>\n",
" </tbody></table>"
],
"text/plain": [
"<pandas.io.formats.style.Styler at 0xb33d916a0>"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.DataFrame(df_countries_cases.sum()).transpose().style.background_gradient(cmap='Wistia',axis=1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Coninent Wise Reported Cases \n",
"Coninent Wise reported confirmed cases, recovered cases, deaths, active cases"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<style type=\"text/css\" >\n",
" #T_943bd022_74f0_11ea_8db5_109add6e171frow0_col0 {\n",
" background-color: #e5fe77;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow0_col1 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow0_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow0_col3 {\n",
" background-color: #e5fe75;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow1_col0 {\n",
" background-color: #ffd20d;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow1_col1 {\n",
" background-color: #fbec29;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow1_col2 {\n",
" background-color: #fc7f00;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow1_col3 {\n",
" background-color: #faec2c;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow2_col0 {\n",
" background-color: #e5fe77;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow2_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow2_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow2_col3 {\n",
" background-color: #e5fe75;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow3_col0 {\n",
" background-color: #fc7f00;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow3_col1 {\n",
" background-color: #fc7f00;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow3_col2 {\n",
" background-color: #fe9600;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow3_col3 {\n",
" background-color: #fc7f00;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow4_col0 {\n",
" background-color: #ffc505;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow4_col1 {\n",
" background-color: #f5f13f;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow4_col2 {\n",
" background-color: #eef656;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow4_col3 {\n",
" background-color: #ffb600;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow5_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow5_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow5_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow5_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow6_col0 {\n",
" background-color: #e7fc6e;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow6_col1 {\n",
" background-color: #e5fe75;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow6_col2 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_943bd022_74f0_11ea_8db5_109add6e171frow6_col3 {\n",
" background-color: #e8fb6b;\n",
" color: #000000;\n",
" }</style><table id=\"T_943bd022_74f0_11ea_8db5_109add6e171f\" ><thead> <tr> <th class=\"blank level0\" ></th> <th class=\"col_heading level0 col0\" >Confirmed</th> <th class=\"col_heading level0 col1\" >Deaths</th> <th class=\"col_heading level0 col2\" >Recovered</th> <th class=\"col_heading level0 col3\" >Active</th> </tr> <tr> <th class=\"index_name level0\" >continent</th> <th class=\"blank\" ></th> <th class=\"blank\" ></th> <th class=\"blank\" ></th> <th class=\"blank\" ></th> </tr></thead><tbody>\n",
" <tr>\n",
" <th id=\"T_943bd022_74f0_11ea_8db5_109add6e171flevel0_row0\" class=\"row_heading level0 row0\" >Africa</th>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow0_col0\" class=\"data row0 col0\" >6547</td>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow0_col1\" class=\"data row0 col1\" >244</td>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow0_col2\" class=\"data row0 col2\" >524</td>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow0_col3\" class=\"data row0 col3\" >5779</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_943bd022_74f0_11ea_8db5_109add6e171flevel0_row1\" class=\"row_heading level0 row1\" >Asia</th>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow1_col0\" class=\"data row1 col0\" >191886</td>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow1_col1\" class=\"data row1 col1\" >7607</td>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow1_col2\" class=\"data row1 col2\" >103815</td>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow1_col3\" class=\"data row1 col3\" >80464</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_943bd022_74f0_11ea_8db5_109add6e171flevel0_row2\" class=\"row_heading level0 row2\" >Australia</th>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow2_col0\" class=\"data row2 col0\" >5913</td>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow2_col1\" class=\"data row2 col1\" >25</td>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow2_col2\" class=\"data row2 col2\" >612</td>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow2_col3\" class=\"data row2 col3\" >5276</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_943bd022_74f0_11ea_8db5_109add6e171flevel0_row3\" class=\"row_heading level0 row3\" >Europe</th>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow3_col0\" class=\"data row3 col0\" >508566</td>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow3_col1\" class=\"data row3 col1\" >35382</td>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow3_col2\" class=\"data row3 col2\" >85701</td>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow3_col3\" class=\"data row3 col3\" >387483</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_943bd022_74f0_11ea_8db5_109add6e171flevel0_row4\" class=\"row_heading level0 row4\" >North America</th>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow4_col0\" class=\"data row4 col0\" >231647</td>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow4_col1\" class=\"data row4 col1\" >5421</td>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow4_col2\" class=\"data row4 col2\" >10327</td>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow4_col3\" class=\"data row4 col3\" >215899</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_943bd022_74f0_11ea_8db5_109add6e171flevel0_row5\" class=\"row_heading level0 row5\" >Others</th>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow5_col0\" class=\"data row5 col0\" >1024</td>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow5_col1\" class=\"data row5 col1\" >16</td>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow5_col2\" class=\"data row5 col2\" >647</td>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow5_col3\" class=\"data row5 col3\" >361</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_943bd022_74f0_11ea_8db5_109add6e171flevel0_row6\" class=\"row_heading level0 row6\" >South America</th>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow6_col0\" class=\"data row6 col0\" >17394</td>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow6_col1\" class=\"data row6 col1\" >485</td>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow6_col2\" class=\"data row6 col2\" >1309</td>\n",
" <td id=\"T_943bd022_74f0_11ea_8db5_109add6e171frow6_col3\" class=\"data row6 col3\" >15600</td>\n",
" </tr>\n",
" </tbody></table>"
],
"text/plain": [
"<pandas.io.formats.style.Styler at 0xb33ddaac8>"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_continents_cases.style.background_gradient(cmap='Wistia')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Country Wise Reported Cases\n",
"Country Wise reported confirmed cases, recovered cases, deaths, active cases"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<style type=\"text/css\" >\n",
" #T_948e7142_74f0_11ea_8db5_109add6e171frow0_col0 {\n",
" background-color: #fc7f00;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow0_col1 {\n",
" background-color: #ffd00b;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow0_col2 {\n",
" background-color: #f0f54e;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow0_col3 {\n",
" background-color: #fc7f00;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow1_col0 {\n",
" background-color: #ffbc00;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow1_col1 {\n",
" background-color: #fc7f00;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow1_col2 {\n",
" background-color: #fceb26;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow1_col3 {\n",
" background-color: #ffcf0b;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow2_col0 {\n",
" background-color: #ffbc00;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow2_col1 {\n",
" background-color: #ff9f00;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow2_col2 {\n",
" background-color: #ffd710;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow2_col3 {\n",
" background-color: #ffd50e;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow3_col0 {\n",
" background-color: #ffd20c;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow3_col1 {\n",
" background-color: #ffe81a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow3_col2 {\n",
" background-color: #fc7f00;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow3_col3 {\n",
" background-color: #e5fe75;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow4_col0 {\n",
" background-color: #ffd30d;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow4_col1 {\n",
" background-color: #ecf95f;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow4_col2 {\n",
" background-color: #ffe81a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow4_col3 {\n",
" background-color: #ffe015;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow5_col0 {\n",
" background-color: #ffe518;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow5_col1 {\n",
" background-color: #ffde14;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow5_col2 {\n",
" background-color: #f3f244;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow5_col3 {\n",
" background-color: #faec2a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow6_col0 {\n",
" background-color: #fdea21;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow6_col1 {\n",
" background-color: #fee91e;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow6_col2 {\n",
" background-color: #fbeb27;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow6_col3 {\n",
" background-color: #f4f141;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow7_col0 {\n",
" background-color: #f5f13e;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow7_col1 {\n",
" background-color: #fceb26;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow7_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow7_col3 {\n",
" background-color: #f5f13f;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow8_col0 {\n",
" background-color: #edf75a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow8_col1 {\n",
" background-color: #e8fc6c;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow8_col2 {\n",
" background-color: #eafa66;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow8_col3 {\n",
" background-color: #ebf960;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow9_col0 {\n",
" background-color: #ecf95f;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow9_col1 {\n",
" background-color: #e6fd72;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow9_col2 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow9_col3 {\n",
" background-color: #ecf85d;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow10_col0 {\n",
" background-color: #ecf95f;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow10_col1 {\n",
" background-color: #ecf85d;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow10_col2 {\n",
" background-color: #e7fc6e;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow10_col3 {\n",
" background-color: #eafa65;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow11_col0 {\n",
" background-color: #ebf960;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow11_col1 {\n",
" background-color: #eff653;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow11_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow11_col3 {\n",
" background-color: #ebf962;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow12_col0 {\n",
" background-color: #e9fb68;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow12_col1 {\n",
" background-color: #e5fe75;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow12_col2 {\n",
" background-color: #e6fd72;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow12_col3 {\n",
" background-color: #e9fb69;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow13_col0 {\n",
" background-color: #e9fb69;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow13_col1 {\n",
" background-color: #e5fe75;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow13_col2 {\n",
" background-color: #ecf85d;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow13_col3 {\n",
" background-color: #e6fd72;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow14_col0 {\n",
" background-color: #e9fb69;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow14_col1 {\n",
" background-color: #e5fe77;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow14_col2 {\n",
" background-color: #e6fd72;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow14_col3 {\n",
" background-color: #e8fb6b;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow15_col0 {\n",
" background-color: #e8fb6b;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow15_col1 {\n",
" background-color: #e6fe74;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow15_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow15_col3 {\n",
" background-color: #e9fb69;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow16_col0 {\n",
" background-color: #e7fc6e;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow16_col1 {\n",
" background-color: #e6fe74;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow16_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow16_col3 {\n",
" background-color: #e7fc6e;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow17_col0 {\n",
" background-color: #e7fc6f;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow17_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow17_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow17_col3 {\n",
" background-color: #e7fc6f;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow18_col0 {\n",
" background-color: #e7fd71;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow18_col1 {\n",
" background-color: #e6fd72;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow18_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow18_col3 {\n",
" background-color: #e7fd71;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow19_col0 {\n",
" background-color: #e7fd71;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow19_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow19_col2 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow19_col3 {\n",
" background-color: #e6fd72;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow20_col0 {\n",
" background-color: #e7fd71;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow20_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow20_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow20_col3 {\n",
" background-color: #e7fd71;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow21_col0 {\n",
" background-color: #e6fe74;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow21_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow21_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow21_col3 {\n",
" background-color: #e6fe74;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow22_col0 {\n",
" background-color: #e6fe74;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow22_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow22_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow22_col3 {\n",
" background-color: #e6fe74;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow23_col0 {\n",
" background-color: #e6fe74;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow23_col1 {\n",
" background-color: #e5fe77;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow23_col2 {\n",
" background-color: #e5fe75;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow23_col3 {\n",
" background-color: #e5fe77;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow24_col0 {\n",
" background-color: #e6fe74;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow24_col1 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow24_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow24_col3 {\n",
" background-color: #e6fe74;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow25_col0 {\n",
" background-color: #e6fe74;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow25_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow25_col2 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow25_col3 {\n",
" background-color: #e5fe75;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow26_col0 {\n",
" background-color: #e5fe75;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow26_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow26_col2 {\n",
" background-color: #e5fe77;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow26_col3 {\n",
" background-color: #e5fe77;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow27_col0 {\n",
" background-color: #e5fe75;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow27_col1 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow27_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow27_col3 {\n",
" background-color: #e5fe75;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow28_col0 {\n",
" background-color: #e5fe75;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow28_col1 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow28_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow28_col3 {\n",
" background-color: #e5fe77;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow29_col0 {\n",
" background-color: #e5fe75;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow29_col1 {\n",
" background-color: #e5fe77;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow29_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow29_col3 {\n",
" background-color: #e5fe75;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow30_col0 {\n",
" background-color: #e5fe75;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow30_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow30_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow30_col3 {\n",
" background-color: #e5fe75;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow31_col0 {\n",
" background-color: #e5fe77;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow31_col1 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow31_col2 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow31_col3 {\n",
" background-color: #e5fe77;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow32_col0 {\n",
" background-color: #e5fe77;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow32_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow32_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow32_col3 {\n",
" background-color: #e5fe77;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow33_col0 {\n",
" background-color: #e5fe77;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow33_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow33_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow33_col3 {\n",
" background-color: #e5fe77;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow34_col0 {\n",
" background-color: #e5fe77;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow34_col1 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow34_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow34_col3 {\n",
" background-color: #e5fe77;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow35_col0 {\n",
" background-color: #e5fe77;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow35_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow35_col2 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow35_col3 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow36_col0 {\n",
" background-color: #e5fe77;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow36_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow36_col2 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow36_col3 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow37_col0 {\n",
" background-color: #e5fe77;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow37_col1 {\n",
" background-color: #e5fe75;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow37_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow37_col3 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow38_col0 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow38_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow38_col2 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow38_col3 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow39_col0 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow39_col1 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow39_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow39_col3 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow40_col0 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow40_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow40_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow40_col3 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow41_col0 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow41_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow41_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow41_col3 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow42_col0 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow42_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow42_col2 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow42_col3 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow43_col0 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow43_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow43_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow43_col3 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow44_col0 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow44_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow44_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow44_col3 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow45_col0 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow45_col1 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow45_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow45_col3 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow46_col0 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow46_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow46_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow46_col3 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow47_col0 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow47_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow47_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow47_col3 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow48_col0 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow48_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow48_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow48_col3 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow49_col0 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow49_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow49_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow49_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow50_col0 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow50_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow50_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow50_col3 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow51_col0 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow51_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow51_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow51_col3 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow52_col0 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow52_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow52_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow52_col3 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow53_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow53_col1 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow53_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow53_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow54_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow54_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow54_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow54_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow55_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow55_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow55_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow55_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow56_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow56_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow56_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow56_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow57_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow57_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow57_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow57_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow58_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow58_col1 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow58_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow58_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow59_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow59_col1 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow59_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow59_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow60_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow60_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow60_col2 {\n",
" background-color: #e5fe77;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow60_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow61_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow61_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow61_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow61_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow62_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow62_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow62_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow62_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow63_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow63_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow63_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow63_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow64_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow64_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow64_col2 {\n",
" background-color: #e4ff78;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow64_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow65_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow65_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow65_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow65_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow66_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow66_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow66_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow66_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow67_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow67_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow67_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow67_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow68_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow68_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow68_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow68_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow69_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow69_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow69_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow69_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow70_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow70_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow70_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow70_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow71_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow71_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow71_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow71_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow72_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow72_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow72_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow72_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow73_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow73_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow73_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow73_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow74_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow74_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow74_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow74_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow75_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow75_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow75_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow75_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow76_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow76_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow76_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow76_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow77_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow77_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow77_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow77_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow78_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow78_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow78_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow78_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow79_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow79_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow79_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow79_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow80_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow80_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow80_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow80_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow81_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow81_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow81_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow81_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow82_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow82_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow82_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow82_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow83_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow83_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow83_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow83_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow84_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow84_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow84_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow84_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow85_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow85_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow85_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow85_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow86_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow86_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow86_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow86_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow87_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow87_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow87_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow87_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow88_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow88_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow88_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow88_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow89_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow89_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow89_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow89_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow90_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow90_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow90_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow90_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow91_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow91_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow91_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow91_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow92_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow92_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow92_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow92_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow93_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow93_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow93_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow93_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow94_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow94_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow94_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow94_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow95_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow95_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow95_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow95_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow96_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow96_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow96_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow96_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow97_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow97_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow97_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow97_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow98_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow98_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow98_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow98_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow99_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow99_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow99_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow99_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow100_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow100_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow100_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow100_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow101_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow101_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow101_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow101_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow102_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow102_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow102_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow102_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow103_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow103_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow103_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow103_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow104_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow104_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow104_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow104_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow105_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow105_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow105_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow105_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow106_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow106_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow106_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow106_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow107_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow107_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow107_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow107_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow108_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow108_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow108_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow108_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow109_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow109_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow109_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow109_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow110_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow110_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow110_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow110_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow111_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow111_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow111_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow111_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow112_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow112_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow112_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow112_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow113_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow113_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow113_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow113_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow114_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow114_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow114_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow114_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow115_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow115_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow115_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow115_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow116_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow116_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow116_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow116_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow117_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow117_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow117_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow117_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow118_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow118_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow118_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow118_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow119_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow119_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow119_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow119_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow120_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow120_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow120_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow120_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow121_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow121_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow121_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow121_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow122_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow122_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow122_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow122_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow123_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow123_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow123_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow123_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow124_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow124_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow124_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow124_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow125_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow125_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow125_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow125_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow126_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow126_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow126_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow126_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow127_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow127_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow127_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow127_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow128_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow128_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow128_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow128_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow129_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow129_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow129_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow129_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow130_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow130_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow130_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow130_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow131_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow131_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow131_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow131_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow132_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow132_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow132_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow132_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow133_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow133_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow133_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow133_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow134_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow134_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow134_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow134_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow135_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow135_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow135_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow135_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow136_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow136_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow136_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow136_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow137_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow137_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow137_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow137_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow138_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow138_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow138_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow138_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow139_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow139_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow139_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow139_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow140_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow140_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow140_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow140_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow141_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow141_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow141_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow141_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow142_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow142_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow142_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow142_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow143_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow143_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow143_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow143_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow144_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow144_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow144_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow144_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow145_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow145_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow145_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow145_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow146_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow146_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow146_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow146_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow147_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow147_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow147_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow147_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow148_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow148_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow148_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow148_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow149_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow149_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow149_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow149_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow150_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow150_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow150_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow150_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow151_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow151_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow151_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow151_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow152_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow152_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow152_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow152_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow153_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow153_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow153_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow153_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow154_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow154_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow154_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow154_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow155_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow155_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow155_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow155_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow156_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow156_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow156_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow156_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow157_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow157_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow157_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow157_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow158_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow158_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow158_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow158_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow159_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow159_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow159_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow159_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow160_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow160_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow160_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow160_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow161_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow161_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow161_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow161_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow162_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow162_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow162_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow162_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow163_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow163_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow163_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow163_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow164_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow164_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow164_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow164_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow165_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow165_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow165_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow165_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow166_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow166_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow166_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow166_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow167_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow167_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow167_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow167_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow168_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow168_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow168_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow168_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow169_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow169_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow169_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow169_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow170_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow170_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow170_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow170_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow171_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow171_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow171_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow171_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow172_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow172_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow172_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow172_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow173_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow173_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow173_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow173_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow174_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow174_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow174_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow174_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow175_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow175_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow175_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow175_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow176_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow176_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow176_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow176_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow177_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow177_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow177_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow177_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow178_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow178_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow178_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow178_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow179_col0 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow179_col1 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow179_col2 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" } #T_948e7142_74f0_11ea_8db5_109add6e171frow179_col3 {\n",
" background-color: #e4ff7a;\n",
" color: #000000;\n",
" }</style><table id=\"T_948e7142_74f0_11ea_8db5_109add6e171f\" ><thead> <tr> <th class=\"blank level0\" ></th> <th class=\"col_heading level0 col0\" >Confirmed</th> <th class=\"col_heading level0 col1\" >Deaths</th> <th class=\"col_heading level0 col2\" >Recovered</th> <th class=\"col_heading level0 col3\" >Active</th> </tr> <tr> <th class=\"index_name level0\" >country</th> <th class=\"blank\" ></th> <th class=\"blank\" ></th> <th class=\"blank\" ></th> <th class=\"blank\" ></th> </tr></thead><tbody>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row0\" class=\"row_heading level0 row0\" >USA</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow0_col0\" class=\"data row0 col0\" >216768</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow0_col1\" class=\"data row0 col1\" >5148</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow0_col2\" class=\"data row0 col2\" >8710</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow0_col3\" class=\"data row0 col3\" >202910</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row1\" class=\"row_heading level0 row1\" >Italy</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow1_col0\" class=\"data row1 col0\" >110574</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow1_col1\" class=\"data row1 col1\" >13155</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow1_col2\" class=\"data row1 col2\" >16847</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow1_col3\" class=\"data row1 col3\" >80572</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row2\" class=\"row_heading level0 row2\" >Spain</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow2_col0\" class=\"data row2 col0\" >110238</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow2_col1\" class=\"data row2 col1\" >10003</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow2_col2\" class=\"data row2 col2\" >26743</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow2_col3\" class=\"data row2 col3\" >73492</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row3\" class=\"row_heading level0 row3\" >China</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow3_col0\" class=\"data row3 col0\" >82431</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow3_col1\" class=\"data row3 col1\" >3322</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow3_col2\" class=\"data row3 col2\" >76571</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow3_col3\" class=\"data row3 col3\" >2538</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row4\" class=\"row_heading level0 row4\" >Germany</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow4_col0\" class=\"data row4 col0\" >80641</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow4_col1\" class=\"data row4 col1\" >962</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow4_col2\" class=\"data row4 col2\" >19175</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow4_col3\" class=\"data row4 col3\" >60504</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row5\" class=\"row_heading level0 row5\" >France</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow5_col0\" class=\"data row5 col0\" >57780</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow5_col1\" class=\"data row5 col1\" >4043</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow5_col2\" class=\"data row5 col2\" >11055</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow5_col3\" class=\"data row5 col3\" >42682</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row6\" class=\"row_heading level0 row6\" >Iran</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow6_col0\" class=\"data row6 col0\" >50468</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow6_col1\" class=\"data row6 col1\" >3160</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow6_col2\" class=\"data row6 col2\" >16711</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow6_col3\" class=\"data row6 col3\" >30597</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row7\" class=\"row_heading level0 row7\" >United Kingdom</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow7_col0\" class=\"data row7 col0\" >34116</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow7_col1\" class=\"data row7 col1\" >2926</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow7_col2\" class=\"data row7 col2\" >179</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow7_col3\" class=\"data row7 col3\" >31011</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row8\" class=\"row_heading level0 row8\" >Switzerland</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow8_col0\" class=\"data row8 col0\" >18267</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow8_col1\" class=\"data row8 col1\" >505</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow8_col2\" class=\"data row8 col2\" >4013</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow8_col3\" class=\"data row8 col3\" >13749</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row9\" class=\"row_heading level0 row9\" >Turkey</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow9_col0\" class=\"data row9 col0\" >15679</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow9_col1\" class=\"data row9 col1\" >277</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow9_col2\" class=\"data row9 col2\" >333</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow9_col3\" class=\"data row9 col3\" >15069</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row10\" class=\"row_heading level0 row10\" >Belgium</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow10_col0\" class=\"data row10 col0\" >15348</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow10_col1\" class=\"data row10 col1\" >1011</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow10_col2\" class=\"data row10 col2\" >2495</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow10_col3\" class=\"data row10 col3\" >11842</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row11\" class=\"row_heading level0 row11\" >Netherlands</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow11_col0\" class=\"data row11 col0\" >14779</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow11_col1\" class=\"data row11 col1\" >1341</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow11_col2\" class=\"data row11 col2\" >260</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow11_col3\" class=\"data row11 col3\" >13178</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row12\" class=\"row_heading level0 row12\" >Austria</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow12_col0\" class=\"data row12 col0\" >10927</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow12_col1\" class=\"data row12 col1\" >158</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow12_col2\" class=\"data row12 col2\" >1749</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow12_col3\" class=\"data row12 col3\" >9020</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row13\" class=\"row_heading level0 row13\" >South Korea</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow13_col0\" class=\"data row13 col0\" >9976</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow13_col1\" class=\"data row13 col1\" >169</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow13_col2\" class=\"data row13 col2\" >5828</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow13_col3\" class=\"data row13 col3\" >3979</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row14\" class=\"row_heading level0 row14\" >Canada</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow14_col0\" class=\"data row14 col0\" >9731</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow14_col1\" class=\"data row14 col1\" >112</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow14_col2\" class=\"data row14 col2\" >1526</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow14_col3\" class=\"data row14 col3\" >8093</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row15\" class=\"row_heading level0 row15\" >Portugal</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow15_col0\" class=\"data row15 col0\" >9034</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow15_col1\" class=\"data row15 col1\" >209</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow15_col2\" class=\"data row15 col2\" >68</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow15_col3\" class=\"data row15 col3\" >8757</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row16\" class=\"row_heading level0 row16\" >Brazil</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow16_col0\" class=\"data row16 col0\" >6988</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow16_col1\" class=\"data row16 col1\" >250</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow16_col2\" class=\"data row16 col2\" >127</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow16_col3\" class=\"data row16 col3\" >6611</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row17\" class=\"row_heading level0 row17\" >Israel</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow17_col0\" class=\"data row17 col0\" >6360</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow17_col1\" class=\"data row17 col1\" >33</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow17_col2\" class=\"data row17 col2\" >289</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow17_col3\" class=\"data row17 col3\" >6038</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row18\" class=\"row_heading level0 row18\" >Sweden</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow18_col0\" class=\"data row18 col0\" >5466</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow18_col1\" class=\"data row18 col1\" >282</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow18_col2\" class=\"data row18 col2\" >103</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow18_col3\" class=\"data row18 col3\" >5081</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row19\" class=\"row_heading level0 row19\" >Australia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow19_col0\" class=\"data row19 col0\" >5108</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow19_col1\" class=\"data row19 col1\" >24</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow19_col2\" class=\"data row19 col2\" >520</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow19_col3\" class=\"data row19 col3\" >4564</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row20\" class=\"row_heading level0 row20\" >Norway</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow20_col0\" class=\"data row20 col0\" >5083</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow20_col1\" class=\"data row20 col1\" >47</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow20_col2\" class=\"data row20 col2\" >13</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow20_col3\" class=\"data row20 col3\" >5023</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row21\" class=\"row_heading level0 row21\" >Czechia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow21_col0\" class=\"data row21 col0\" >3604</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow21_col1\" class=\"data row21 col1\" >40</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow21_col2\" class=\"data row21 col2\" >61</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow21_col3\" class=\"data row21 col3\" >3503</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row22\" class=\"row_heading level0 row22\" >Russia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow22_col0\" class=\"data row22 col0\" >3548</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow22_col1\" class=\"data row22 col1\" >30</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow22_col2\" class=\"data row22 col2\" >235</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow22_col3\" class=\"data row22 col3\" >3283</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row23\" class=\"row_heading level0 row23\" >Denmark</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow23_col0\" class=\"data row23 col0\" >3542</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow23_col1\" class=\"data row23 col1\" >123</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow23_col2\" class=\"data row23 col2\" >1172</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow23_col3\" class=\"data row23 col3\" >2247</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row24\" class=\"row_heading level0 row24\" >Ireland</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow24_col0\" class=\"data row24 col0\" >3447</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow24_col1\" class=\"data row24 col1\" >85</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow24_col2\" class=\"data row24 col2\" >5</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow24_col3\" class=\"data row24 col3\" >3357</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row25\" class=\"row_heading level0 row25\" >Chile</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow25_col0\" class=\"data row25 col0\" >3404</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow25_col1\" class=\"data row25 col1\" >18</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow25_col2\" class=\"data row25 col2\" >335</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow25_col3\" class=\"data row25 col3\" >3051</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row26\" class=\"row_heading level0 row26\" >Malaysia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow26_col0\" class=\"data row26 col0\" >3116</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow26_col1\" class=\"data row26 col1\" >50</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow26_col2\" class=\"data row26 col2\" >767</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow26_col3\" class=\"data row26 col3\" >2299</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row27\" class=\"row_heading level0 row27\" >Ecuador</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow27_col0\" class=\"data row27 col0\" >2758</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow27_col1\" class=\"data row27 col1\" >98</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow27_col2\" class=\"data row27 col2\" >58</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow27_col3\" class=\"data row27 col3\" >2602</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row28\" class=\"row_heading level0 row28\" >Romania</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow28_col0\" class=\"data row28 col0\" >2738</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow28_col1\" class=\"data row28 col1\" >94</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow28_col2\" class=\"data row28 col2\" >267</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow28_col3\" class=\"data row28 col3\" >2377</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row29\" class=\"row_heading level0 row29\" >Philippines</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow29_col0\" class=\"data row29 col0\" >2633</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow29_col1\" class=\"data row29 col1\" >107</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow29_col2\" class=\"data row29 col2\" >51</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow29_col3\" class=\"data row29 col3\" >2475</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row30\" class=\"row_heading level0 row30\" >Poland</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow30_col0\" class=\"data row30 col0\" >2633</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow30_col1\" class=\"data row30 col1\" >45</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow30_col2\" class=\"data row30 col2\" >56</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow30_col3\" class=\"data row30 col3\" >2532</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row31\" class=\"row_heading level0 row31\" >Japan</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow31_col0\" class=\"data row31 col0\" >2384</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow31_col1\" class=\"data row31 col1\" >57</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow31_col2\" class=\"data row31 col2\" >472</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow31_col3\" class=\"data row31 col3\" >1855</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row32\" class=\"row_heading level0 row32\" >Luxembourg</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow32_col0\" class=\"data row32 col0\" >2319</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow32_col1\" class=\"data row32 col1\" >29</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow32_col2\" class=\"data row32 col2\" >80</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow32_col3\" class=\"data row32 col3\" >2210</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row33\" class=\"row_heading level0 row33\" >Pakistan</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow33_col0\" class=\"data row33 col0\" >2291</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow33_col1\" class=\"data row33 col1\" >31</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow33_col2\" class=\"data row33 col2\" >107</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow33_col3\" class=\"data row33 col3\" >2153</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row34\" class=\"row_heading level0 row34\" >India</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow34_col0\" class=\"data row34 col0\" >2032</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow34_col1\" class=\"data row34 col1\" >58</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow34_col2\" class=\"data row34 col2\" >150</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow34_col3\" class=\"data row34 col3\" >1824</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row35\" class=\"row_heading level0 row35\" >Saudi Arabia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow35_col0\" class=\"data row35 col0\" >1885</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow35_col1\" class=\"data row35 col1\" >21</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow35_col2\" class=\"data row35 col2\" >328</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow35_col3\" class=\"data row35 col3\" >1536</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row36\" class=\"row_heading level0 row36\" >Thailand</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow36_col0\" class=\"data row36 col0\" >1875</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow36_col1\" class=\"data row36 col1\" >15</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow36_col2\" class=\"data row36 col2\" >505</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow36_col3\" class=\"data row36 col3\" >1355</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row37\" class=\"row_heading level0 row37\" >Indonesia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow37_col0\" class=\"data row37 col0\" >1790</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow37_col1\" class=\"data row37 col1\" >170</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow37_col2\" class=\"data row37 col2\" >112</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow37_col3\" class=\"data row37 col3\" >1508</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row38\" class=\"row_heading level0 row38\" >Finland</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow38_col0\" class=\"data row38 col0\" >1518</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow38_col1\" class=\"data row38 col1\" >19</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow38_col2\" class=\"data row38 col2\" >300</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow38_col3\" class=\"data row38 col3\" >1199</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row39\" class=\"row_heading level0 row39\" >Greece</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow39_col0\" class=\"data row39 col0\" >1415</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow39_col1\" class=\"data row39 col1\" >52</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow39_col2\" class=\"data row39 col2\" >52</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow39_col3\" class=\"data row39 col3\" >1311</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row40\" class=\"row_heading level0 row40\" >South Africa</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow40_col0\" class=\"data row40 col0\" >1380</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow40_col1\" class=\"data row40 col1\" >5</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow40_col2\" class=\"data row40 col2\" >50</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow40_col3\" class=\"data row40 col3\" >1325</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row41\" class=\"row_heading level0 row41\" >Mexico</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow41_col0\" class=\"data row41 col0\" >1378</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow41_col1\" class=\"data row41 col1\" >37</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow41_col2\" class=\"data row41 col2\" >35</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow41_col3\" class=\"data row41 col3\" >1306</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row42\" class=\"row_heading level0 row42\" >Peru</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow42_col0\" class=\"data row42 col0\" >1323</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow42_col1\" class=\"data row42 col1\" >47</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow42_col2\" class=\"data row42 col2\" >394</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow42_col3\" class=\"data row42 col3\" >882</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row43\" class=\"row_heading level0 row43\" >Iceland</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow43_col0\" class=\"data row43 col0\" >1319</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow43_col1\" class=\"data row43 col1\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow43_col2\" class=\"data row43 col2\" >270</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow43_col3\" class=\"data row43 col3\" >1047</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row44\" class=\"row_heading level0 row44\" >Panama</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow44_col0\" class=\"data row44 col0\" >1317</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow44_col1\" class=\"data row44 col1\" >32</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow44_col2\" class=\"data row44 col2\" >9</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow44_col3\" class=\"data row44 col3\" >1276</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row45\" class=\"row_heading level0 row45\" >Dominican Republic</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow45_col0\" class=\"data row45 col0\" >1284</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow45_col1\" class=\"data row45 col1\" >57</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow45_col2\" class=\"data row45 col2\" >9</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow45_col3\" class=\"data row45 col3\" >1218</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row46\" class=\"row_heading level0 row46\" >Argentina</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow46_col0\" class=\"data row46 col0\" >1133</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow46_col1\" class=\"data row46 col1\" >34</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow46_col2\" class=\"data row46 col2\" >248</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow46_col3\" class=\"data row46 col3\" >851</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row47\" class=\"row_heading level0 row47\" >Colombia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow47_col0\" class=\"data row47 col0\" >1065</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow47_col1\" class=\"data row47 col1\" >17</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow47_col2\" class=\"data row47 col2\" >39</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow47_col3\" class=\"data row47 col3\" >1009</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row48\" class=\"row_heading level0 row48\" >Serbia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow48_col0\" class=\"data row48 col0\" >1060</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow48_col1\" class=\"data row48 col1\" >28</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow48_col2\" class=\"data row48 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow48_col3\" class=\"data row48 col3\" >1032</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row49\" class=\"row_heading level0 row49\" >Singapore</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow49_col0\" class=\"data row49 col0\" >1049</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow49_col1\" class=\"data row49 col1\" >4</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow49_col2\" class=\"data row49 col2\" >266</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow49_col3\" class=\"data row49 col3\" >779</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row50\" class=\"row_heading level0 row50\" >Croatia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow50_col0\" class=\"data row50 col0\" >1011</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow50_col1\" class=\"data row50 col1\" >7</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow50_col2\" class=\"data row50 col2\" >88</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow50_col3\" class=\"data row50 col3\" >916</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row51\" class=\"row_heading level0 row51\" >Slovenia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow51_col0\" class=\"data row51 col0\" >897</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow51_col1\" class=\"data row51 col1\" >17</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow51_col2\" class=\"data row51 col2\" >70</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow51_col3\" class=\"data row51 col3\" >810</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row52\" class=\"row_heading level0 row52\" >Estonia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow52_col0\" class=\"data row52 col0\" >858</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow52_col1\" class=\"data row52 col1\" >11</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow52_col2\" class=\"data row52 col2\" >45</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow52_col3\" class=\"data row52 col3\" >802</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row53\" class=\"row_heading level0 row53\" >Algeria</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow53_col0\" class=\"data row53 col0\" >847</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow53_col1\" class=\"data row53 col1\" >58</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow53_col2\" class=\"data row53 col2\" >61</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow53_col3\" class=\"data row53 col3\" >728</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row54\" class=\"row_heading level0 row54\" >Qatar</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow54_col0\" class=\"data row54 col0\" >835</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow54_col1\" class=\"data row54 col1\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow54_col2\" class=\"data row54 col2\" >71</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow54_col3\" class=\"data row54 col3\" >762</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row55\" class=\"row_heading level0 row55\" >United Arab Emirates</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow55_col0\" class=\"data row55 col0\" >814</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow55_col1\" class=\"data row55 col1\" >8</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow55_col2\" class=\"data row55 col2\" >61</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow55_col3\" class=\"data row55 col3\" >745</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row56\" class=\"row_heading level0 row56\" >Ukraine</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow56_col0\" class=\"data row56 col0\" >804</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow56_col1\" class=\"data row56 col1\" >20</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow56_col2\" class=\"data row56 col2\" >13</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow56_col3\" class=\"data row56 col3\" >771</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row57\" class=\"row_heading level0 row57\" >New Zealand</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow57_col0\" class=\"data row57 col0\" >797</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow57_col1\" class=\"data row57 col1\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow57_col2\" class=\"data row57 col2\" >92</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow57_col3\" class=\"data row57 col3\" >704</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row58\" class=\"row_heading level0 row58\" >Egypt</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow58_col0\" class=\"data row58 col0\" >779</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow58_col1\" class=\"data row58 col1\" >52</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow58_col2\" class=\"data row58 col2\" >179</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow58_col3\" class=\"data row58 col3\" >548</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row59\" class=\"row_heading level0 row59\" >Iraq</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow59_col0\" class=\"data row59 col0\" >728</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow59_col1\" class=\"data row59 col1\" >52</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow59_col2\" class=\"data row59 col2\" >182</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow59_col3\" class=\"data row59 col3\" >494</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row60\" class=\"row_heading level0 row60\" >Diamond Princess</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow60_col0\" class=\"data row60 col0\" >712</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow60_col1\" class=\"data row60 col1\" >11</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow60_col2\" class=\"data row60 col2\" >619</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow60_col3\" class=\"data row60 col3\" >82</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row61\" class=\"row_heading level0 row61\" >Morocco</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow61_col0\" class=\"data row61 col0\" >676</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow61_col1\" class=\"data row61 col1\" >40</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow61_col2\" class=\"data row61 col2\" >29</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow61_col3\" class=\"data row61 col3\" >607</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row62\" class=\"row_heading level0 row62\" >Armenia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow62_col0\" class=\"data row62 col0\" >663</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow62_col1\" class=\"data row62 col1\" >5</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow62_col2\" class=\"data row62 col2\" >33</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow62_col3\" class=\"data row62 col3\" >625</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row63\" class=\"row_heading level0 row63\" >Lithuania</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow63_col0\" class=\"data row63 col0\" >649</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow63_col1\" class=\"data row63 col1\" >9</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow63_col2\" class=\"data row63 col2\" >7</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow63_col3\" class=\"data row63 col3\" >633</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row64\" class=\"row_heading level0 row64\" >Bahrain</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow64_col0\" class=\"data row64 col0\" >635</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow64_col1\" class=\"data row64 col1\" >4</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow64_col2\" class=\"data row64 col2\" >341</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow64_col3\" class=\"data row64 col3\" >290</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row65\" class=\"row_heading level0 row65\" >Hungary</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow65_col0\" class=\"data row65 col0\" >585</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow65_col1\" class=\"data row65 col1\" >21</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow65_col2\" class=\"data row65 col2\" >42</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow65_col3\" class=\"data row65 col3\" >522</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row66\" class=\"row_heading level0 row66\" >Bosnia and Herzegovina</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow66_col0\" class=\"data row66 col0\" >518</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow66_col1\" class=\"data row66 col1\" >15</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow66_col2\" class=\"data row66 col2\" >20</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow66_col3\" class=\"data row66 col3\" >483</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row67\" class=\"row_heading level0 row67\" >Lebanon</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow67_col0\" class=\"data row67 col0\" >494</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow67_col1\" class=\"data row67 col1\" >16</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow67_col2\" class=\"data row67 col2\" >43</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow67_col3\" class=\"data row67 col3\" >435</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row68\" class=\"row_heading level0 row68\" >Latvia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow68_col0\" class=\"data row68 col0\" >458</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow68_col1\" class=\"data row68 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow68_col2\" class=\"data row68 col2\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow68_col3\" class=\"data row68 col3\" >457</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row69\" class=\"row_heading level0 row69\" >Bulgaria</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow69_col0\" class=\"data row69 col0\" >449</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow69_col1\" class=\"data row69 col1\" >10</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow69_col2\" class=\"data row69 col2\" >25</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow69_col3\" class=\"data row69 col3\" >414</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row70\" class=\"row_heading level0 row70\" >Andorra</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow70_col0\" class=\"data row70 col0\" >428</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow70_col1\" class=\"data row70 col1\" >15</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow70_col2\" class=\"data row70 col2\" >10</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow70_col3\" class=\"data row70 col3\" >403</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row71\" class=\"row_heading level0 row71\" >Slovakia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow71_col0\" class=\"data row71 col0\" >426</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow71_col1\" class=\"data row71 col1\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow71_col2\" class=\"data row71 col2\" >5</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow71_col3\" class=\"data row71 col3\" >420</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row72\" class=\"row_heading level0 row72\" >Kazakhstan</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow72_col0\" class=\"data row72 col0\" >423</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow72_col1\" class=\"data row72 col1\" >3</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow72_col2\" class=\"data row72 col2\" >27</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow72_col3\" class=\"data row72 col3\" >393</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row73\" class=\"row_heading level0 row73\" >Tunisia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow73_col0\" class=\"data row73 col0\" >423</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow73_col1\" class=\"data row73 col1\" >12</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow73_col2\" class=\"data row73 col2\" >5</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow73_col3\" class=\"data row73 col3\" >406</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row74\" class=\"row_heading level0 row74\" >Moldova</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow74_col0\" class=\"data row74 col0\" >423</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow74_col1\" class=\"data row74 col1\" >5</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow74_col2\" class=\"data row74 col2\" >23</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow74_col3\" class=\"data row74 col3\" >395</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row75\" class=\"row_heading level0 row75\" >Azerbaijan</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow75_col0\" class=\"data row75 col0\" >400</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow75_col1\" class=\"data row75 col1\" >5</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow75_col2\" class=\"data row75 col2\" >26</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow75_col3\" class=\"data row75 col3\" >369</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row76\" class=\"row_heading level0 row76\" >North Macedonia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow76_col0\" class=\"data row76 col0\" >384</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow76_col1\" class=\"data row76 col1\" >11</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow76_col2\" class=\"data row76 col2\" >17</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow76_col3\" class=\"data row76 col3\" >356</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row77\" class=\"row_heading level0 row77\" >Costa Rica</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow77_col0\" class=\"data row77 col0\" >375</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow77_col1\" class=\"data row77 col1\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow77_col2\" class=\"data row77 col2\" >4</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow77_col3\" class=\"data row77 col3\" >369</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row78\" class=\"row_heading level0 row78\" >Uruguay</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow78_col0\" class=\"data row78 col0\" >350</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow78_col1\" class=\"data row78 col1\" >4</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow78_col2\" class=\"data row78 col2\" >62</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow78_col3\" class=\"data row78 col3\" >284</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row79\" class=\"row_heading level0 row79\" >Kuwait</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow79_col0\" class=\"data row79 col0\" >342</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow79_col1\" class=\"data row79 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow79_col2\" class=\"data row79 col2\" >81</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow79_col3\" class=\"data row79 col3\" >261</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row80\" class=\"row_heading level0 row80\" >Taiwan</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow80_col0\" class=\"data row80 col0\" >339</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow80_col1\" class=\"data row80 col1\" >5</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow80_col2\" class=\"data row80 col2\" >45</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow80_col3\" class=\"data row80 col3\" >289</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row81\" class=\"row_heading level0 row81\" >Cyprus</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow81_col0\" class=\"data row81 col0\" >320</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow81_col1\" class=\"data row81 col1\" >9</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow81_col2\" class=\"data row81 col2\" >28</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow81_col3\" class=\"data row81 col3\" >283</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row82\" class=\"row_heading level0 row82\" >Belarus</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow82_col0\" class=\"data row82 col0\" >304</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow82_col1\" class=\"data row82 col1\" >4</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow82_col2\" class=\"data row82 col2\" >53</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow82_col3\" class=\"data row82 col3\" >247</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row83\" class=\"row_heading level0 row83\" >Burkina Faso</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow83_col0\" class=\"data row83 col0\" >288</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow83_col1\" class=\"data row83 col1\" >16</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow83_col2\" class=\"data row83 col2\" >50</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow83_col3\" class=\"data row83 col3\" >222</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row84\" class=\"row_heading level0 row84\" >Cameroon</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow84_col0\" class=\"data row84 col0\" >284</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow84_col1\" class=\"data row84 col1\" >7</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow84_col2\" class=\"data row84 col2\" >10</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow84_col3\" class=\"data row84 col3\" >267</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row85\" class=\"row_heading level0 row85\" >Jordan</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow85_col0\" class=\"data row85 col0\" >278</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow85_col1\" class=\"data row85 col1\" >5</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow85_col2\" class=\"data row85 col2\" >36</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow85_col3\" class=\"data row85 col3\" >237</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row86\" class=\"row_heading level0 row86\" >Albania</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow86_col0\" class=\"data row86 col0\" >277</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow86_col1\" class=\"data row86 col1\" >16</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow86_col2\" class=\"data row86 col2\" >67</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow86_col3\" class=\"data row86 col3\" >194</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row87\" class=\"row_heading level0 row87\" >Afghanistan</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow87_col0\" class=\"data row87 col0\" >239</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow87_col1\" class=\"data row87 col1\" >4</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow87_col2\" class=\"data row87 col2\" >10</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow87_col3\" class=\"data row87 col3\" >225</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row88\" class=\"row_heading level0 row88\" >San Marino</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow88_col0\" class=\"data row88 col0\" >236</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow88_col1\" class=\"data row88 col1\" >28</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow88_col2\" class=\"data row88 col2\" >13</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow88_col3\" class=\"data row88 col3\" >195</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row89\" class=\"row_heading level0 row89\" >Oman</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow89_col0\" class=\"data row89 col0\" >231</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow89_col1\" class=\"data row89 col1\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow89_col2\" class=\"data row89 col2\" >57</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow89_col3\" class=\"data row89 col3\" >173</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row90\" class=\"row_heading level0 row90\" >Vietnam</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow90_col0\" class=\"data row90 col0\" >227</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow90_col1\" class=\"data row90 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow90_col2\" class=\"data row90 col2\" >75</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow90_col3\" class=\"data row90 col3\" >152</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row91\" class=\"row_heading level0 row91\" >Honduras</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow91_col0\" class=\"data row91 col0\" >219</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow91_col1\" class=\"data row91 col1\" >14</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow91_col2\" class=\"data row91 col2\" >3</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow91_col3\" class=\"data row91 col3\" >202</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row92\" class=\"row_heading level0 row92\" >Cuba</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow92_col0\" class=\"data row92 col0\" >212</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow92_col1\" class=\"data row92 col1\" >6</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow92_col2\" class=\"data row92 col2\" >12</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow92_col3\" class=\"data row92 col3\" >194</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row93\" class=\"row_heading level0 row93\" >Malta</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow93_col0\" class=\"data row93 col0\" >196</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow93_col1\" class=\"data row93 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow93_col2\" class=\"data row93 col2\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow93_col3\" class=\"data row93 col3\" >194</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row94\" class=\"row_heading level0 row94\" >Ghana</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow94_col0\" class=\"data row94 col0\" >195</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow94_col1\" class=\"data row94 col1\" >5</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow94_col2\" class=\"data row94 col2\" >31</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow94_col3\" class=\"data row94 col3\" >159</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row95\" class=\"row_heading level0 row95\" >Senegal</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow95_col0\" class=\"data row95 col0\" >195</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow95_col1\" class=\"data row95 col1\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow95_col2\" class=\"data row95 col2\" >55</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow95_col3\" class=\"data row95 col3\" >139</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row96\" class=\"row_heading level0 row96\" >Uzbekistan</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow96_col0\" class=\"data row96 col0\" >190</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow96_col1\" class=\"data row96 col1\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow96_col2\" class=\"data row96 col2\" >25</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow96_col3\" class=\"data row96 col3\" >163</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row97\" class=\"row_heading level0 row97\" >Côte d'Ivoire</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow97_col0\" class=\"data row97 col0\" >190</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow97_col1\" class=\"data row97 col1\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow97_col2\" class=\"data row97 col2\" >9</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow97_col3\" class=\"data row97 col3\" >180</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row98\" class=\"row_heading level0 row98\" >Nigeria</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow98_col0\" class=\"data row98 col0\" >174</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow98_col1\" class=\"data row98 col1\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow98_col2\" class=\"data row98 col2\" >9</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow98_col3\" class=\"data row98 col3\" >163</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row99\" class=\"row_heading level0 row99\" >Mauritius</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow99_col0\" class=\"data row99 col0\" >161</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow99_col1\" class=\"data row99 col1\" >7</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow99_col2\" class=\"data row99 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow99_col3\" class=\"data row99 col3\" >154</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row100\" class=\"row_heading level0 row100\" >West Bank and Gaza</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow100_col0\" class=\"data row100 col0\" >155</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow100_col1\" class=\"data row100 col1\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow100_col2\" class=\"data row100 col2\" >18</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow100_col3\" class=\"data row100 col3\" >136</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row101\" class=\"row_heading level0 row101\" >Sri Lanka</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow101_col0\" class=\"data row101 col0\" >150</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow101_col1\" class=\"data row101 col1\" >3</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow101_col2\" class=\"data row101 col2\" >21</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow101_col3\" class=\"data row101 col3\" >126</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row102\" class=\"row_heading level0 row102\" >Venezuela</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow102_col0\" class=\"data row102 col0\" >144</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow102_col1\" class=\"data row102 col1\" >3</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow102_col2\" class=\"data row102 col2\" >43</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow102_col3\" class=\"data row102 col3\" >98</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row103\" class=\"row_heading level0 row103\" >Montenegro</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow103_col0\" class=\"data row103 col0\" >140</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow103_col1\" class=\"data row103 col1\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow103_col2\" class=\"data row103 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow103_col3\" class=\"data row103 col3\" >138</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row104\" class=\"row_heading level0 row104\" >Brunei</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow104_col0\" class=\"data row104 col0\" >133</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow104_col1\" class=\"data row104 col1\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow104_col2\" class=\"data row104 col2\" >56</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow104_col3\" class=\"data row104 col3\" >76</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row105\" class=\"row_heading level0 row105\" >Georgia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow105_col0\" class=\"data row105 col0\" >130</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow105_col1\" class=\"data row105 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow105_col2\" class=\"data row105 col2\" >26</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow105_col3\" class=\"data row105 col3\" >104</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row106\" class=\"row_heading level0 row106\" >Kosovo</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow106_col0\" class=\"data row106 col0\" >125</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow106_col1\" class=\"data row106 col1\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow106_col2\" class=\"data row106 col2\" >10</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow106_col3\" class=\"data row106 col3\" >114</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row107\" class=\"row_heading level0 row107\" >Democratic Republic of the Congo</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow107_col0\" class=\"data row107 col0\" >123</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow107_col1\" class=\"data row107 col1\" >11</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow107_col2\" class=\"data row107 col2\" >3</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow107_col3\" class=\"data row107 col3\" >109</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row108\" class=\"row_heading level0 row108\" >Bolivia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow108_col0\" class=\"data row108 col0\" >123</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow108_col1\" class=\"data row108 col1\" >7</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow108_col2\" class=\"data row108 col2\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow108_col3\" class=\"data row108 col3\" >115</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row109\" class=\"row_heading level0 row109\" >Kyrgyzstan</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow109_col0\" class=\"data row109 col0\" >116</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow109_col1\" class=\"data row109 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow109_col2\" class=\"data row109 col2\" >5</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow109_col3\" class=\"data row109 col3\" >111</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row110\" class=\"row_heading level0 row110\" >Kenya</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow110_col0\" class=\"data row110 col0\" >110</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow110_col1\" class=\"data row110 col1\" >3</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow110_col2\" class=\"data row110 col2\" >4</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow110_col3\" class=\"data row110 col3\" >103</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row111\" class=\"row_heading level0 row111\" >Cambodia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow111_col0\" class=\"data row111 col0\" >110</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow111_col1\" class=\"data row111 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow111_col2\" class=\"data row111 col2\" >34</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow111_col3\" class=\"data row111 col3\" >76</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row112\" class=\"row_heading level0 row112\" >Trinidad and Tobago</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow112_col0\" class=\"data row112 col0\" >90</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow112_col1\" class=\"data row112 col1\" >5</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow112_col2\" class=\"data row112 col2\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow112_col3\" class=\"data row112 col3\" >84</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row113\" class=\"row_heading level0 row113\" >Rwanda</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow113_col0\" class=\"data row113 col0\" >82</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow113_col1\" class=\"data row113 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow113_col2\" class=\"data row113 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow113_col3\" class=\"data row113 col3\" >82</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row114\" class=\"row_heading level0 row114\" >Paraguay</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow114_col0\" class=\"data row114 col0\" >77</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow114_col1\" class=\"data row114 col1\" >3</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow114_col2\" class=\"data row114 col2\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow114_col3\" class=\"data row114 col3\" >72</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row115\" class=\"row_heading level0 row115\" >Niger</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow115_col0\" class=\"data row115 col0\" >74</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow115_col1\" class=\"data row115 col1\" >5</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow115_col2\" class=\"data row115 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow115_col3\" class=\"data row115 col3\" >69</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row116\" class=\"row_heading level0 row116\" >Liechtenstein</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow116_col0\" class=\"data row116 col0\" >72</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow116_col1\" class=\"data row116 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow116_col2\" class=\"data row116 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow116_col3\" class=\"data row116 col3\" >72</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row117\" class=\"row_heading level0 row117\" >Madagascar</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow117_col0\" class=\"data row117 col0\" >59</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow117_col1\" class=\"data row117 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow117_col2\" class=\"data row117 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow117_col3\" class=\"data row117 col3\" >59</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row118\" class=\"row_heading level0 row118\" >Bangladesh</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow118_col0\" class=\"data row118 col0\" >56</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow118_col1\" class=\"data row118 col1\" >6</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow118_col2\" class=\"data row118 col2\" >25</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow118_col3\" class=\"data row118 col3\" >25</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row119\" class=\"row_heading level0 row119\" >Monaco</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow119_col0\" class=\"data row119 col0\" >55</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow119_col1\" class=\"data row119 col1\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow119_col2\" class=\"data row119 col2\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow119_col3\" class=\"data row119 col3\" >52</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row120\" class=\"row_heading level0 row120\" >Guinea</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow120_col0\" class=\"data row120 col0\" >52</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow120_col1\" class=\"data row120 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow120_col2\" class=\"data row120 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow120_col3\" class=\"data row120 col3\" >52</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row121\" class=\"row_heading level0 row121\" >Guatemala</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow121_col0\" class=\"data row121 col0\" >46</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow121_col1\" class=\"data row121 col1\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow121_col2\" class=\"data row121 col2\" >12</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow121_col3\" class=\"data row121 col3\" >33</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row122\" class=\"row_heading level0 row122\" >Barbados</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow122_col0\" class=\"data row122 col0\" >45</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow122_col1\" class=\"data row122 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow122_col2\" class=\"data row122 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow122_col3\" class=\"data row122 col3\" >45</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row123\" class=\"row_heading level0 row123\" >Jamaica</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow123_col0\" class=\"data row123 col0\" >44</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow123_col1\" class=\"data row123 col1\" >3</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow123_col2\" class=\"data row123 col2\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow123_col3\" class=\"data row123 col3\" >39</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row124\" class=\"row_heading level0 row124\" >Uganda</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow124_col0\" class=\"data row124 col0\" >44</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow124_col1\" class=\"data row124 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow124_col2\" class=\"data row124 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow124_col3\" class=\"data row124 col3\" >44</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row125\" class=\"row_heading level0 row125\" >El Salvador</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow125_col0\" class=\"data row125 col0\" >41</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow125_col1\" class=\"data row125 col1\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow125_col2\" class=\"data row125 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow125_col3\" class=\"data row125 col3\" >39</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row126\" class=\"row_heading level0 row126\" >Djibouti</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow126_col0\" class=\"data row126 col0\" >40</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow126_col1\" class=\"data row126 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow126_col2\" class=\"data row126 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow126_col3\" class=\"data row126 col3\" >40</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row127\" class=\"row_heading level0 row127\" >Zambia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow127_col0\" class=\"data row127 col0\" >39</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow127_col1\" class=\"data row127 col1\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow127_col2\" class=\"data row127 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow127_col3\" class=\"data row127 col3\" >38</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row128\" class=\"row_heading level0 row128\" >Togo</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow128_col0\" class=\"data row128 col0\" >36</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow128_col1\" class=\"data row128 col1\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow128_col2\" class=\"data row128 col2\" >10</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow128_col3\" class=\"data row128 col3\" >24</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row129\" class=\"row_heading level0 row129\" >Mali</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow129_col0\" class=\"data row129 col0\" >31</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow129_col1\" class=\"data row129 col1\" >3</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow129_col2\" class=\"data row129 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow129_col3\" class=\"data row129 col3\" >28</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row130\" class=\"row_heading level0 row130\" >Ethiopia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow130_col0\" class=\"data row130 col0\" >29</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow130_col1\" class=\"data row130 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow130_col2\" class=\"data row130 col2\" >3</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow130_col3\" class=\"data row130 col3\" >26</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row131\" class=\"row_heading level0 row131\" >Republic of the Congo</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow131_col0\" class=\"data row131 col0\" >22</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow131_col1\" class=\"data row131 col1\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow131_col2\" class=\"data row131 col2\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow131_col3\" class=\"data row131 col3\" >18</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row132\" class=\"row_heading level0 row132\" >Bahamas</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow132_col0\" class=\"data row132 col0\" >21</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow132_col1\" class=\"data row132 col1\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow132_col2\" class=\"data row132 col2\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow132_col3\" class=\"data row132 col3\" >19</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row133\" class=\"row_heading level0 row133\" >Tanzania</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow133_col0\" class=\"data row133 col0\" >20</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow133_col1\" class=\"data row133 col1\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow133_col2\" class=\"data row133 col2\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow133_col3\" class=\"data row133 col3\" >17</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row134\" class=\"row_heading level0 row134\" >Maldives</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow134_col0\" class=\"data row134 col0\" >19</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow134_col1\" class=\"data row134 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow134_col2\" class=\"data row134 col2\" >13</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow134_col3\" class=\"data row134 col3\" >6</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row135\" class=\"row_heading level0 row135\" >Guyana</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow135_col0\" class=\"data row135 col0\" >19</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow135_col1\" class=\"data row135 col1\" >4</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow135_col2\" class=\"data row135 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow135_col3\" class=\"data row135 col3\" >15</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row136\" class=\"row_heading level0 row136\" >Eritrea</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow136_col0\" class=\"data row136 col0\" >18</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow136_col1\" class=\"data row136 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow136_col2\" class=\"data row136 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow136_col3\" class=\"data row136 col3\" >18</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row137\" class=\"row_heading level0 row137\" >Gabon</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow137_col0\" class=\"data row137 col0\" >18</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow137_col1\" class=\"data row137 col1\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow137_col2\" class=\"data row137 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow137_col3\" class=\"data row137 col3\" >17</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row138\" class=\"row_heading level0 row138\" >Burma</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow138_col0\" class=\"data row138 col0\" >16</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow138_col1\" class=\"data row138 col1\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow138_col2\" class=\"data row138 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow138_col3\" class=\"data row138 col3\" >15</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row139\" class=\"row_heading level0 row139\" >Haiti</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow139_col0\" class=\"data row139 col0\" >16</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow139_col1\" class=\"data row139 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow139_col2\" class=\"data row139 col2\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow139_col3\" class=\"data row139 col3\" >15</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row140\" class=\"row_heading level0 row140\" >Equatorial Guinea</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow140_col0\" class=\"data row140 col0\" >15</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow140_col1\" class=\"data row140 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow140_col2\" class=\"data row140 col2\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow140_col3\" class=\"data row140 col3\" >14</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row141\" class=\"row_heading level0 row141\" >Mongolia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow141_col0\" class=\"data row141 col0\" >14</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow141_col1\" class=\"data row141 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow141_col2\" class=\"data row141 col2\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow141_col3\" class=\"data row141 col3\" >12</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row142\" class=\"row_heading level0 row142\" >Namibia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow142_col0\" class=\"data row142 col0\" >14</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow142_col1\" class=\"data row142 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow142_col2\" class=\"data row142 col2\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow142_col3\" class=\"data row142 col3\" >12</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row143\" class=\"row_heading level0 row143\" >Saint Lucia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow143_col0\" class=\"data row143 col0\" >13</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow143_col1\" class=\"data row143 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow143_col2\" class=\"data row143 col2\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow143_col3\" class=\"data row143 col3\" >12</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row144\" class=\"row_heading level0 row144\" >Benin</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow144_col0\" class=\"data row144 col0\" >13</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow144_col1\" class=\"data row144 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow144_col2\" class=\"data row144 col2\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow144_col3\" class=\"data row144 col3\" >12</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row145\" class=\"row_heading level0 row145\" >Dominica</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow145_col0\" class=\"data row145 col0\" >12</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow145_col1\" class=\"data row145 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow145_col2\" class=\"data row145 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow145_col3\" class=\"data row145 col3\" >12</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row146\" class=\"row_heading level0 row146\" >Syria</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow146_col0\" class=\"data row146 col0\" >10</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow146_col1\" class=\"data row146 col1\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow146_col2\" class=\"data row146 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow146_col3\" class=\"data row146 col3\" >8</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row147\" class=\"row_heading level0 row147\" >Suriname</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow147_col0\" class=\"data row147 col0\" >10</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow147_col1\" class=\"data row147 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow147_col2\" class=\"data row147 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow147_col3\" class=\"data row147 col3\" >10</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row148\" class=\"row_heading level0 row148\" >Grenada</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow148_col0\" class=\"data row148 col0\" >10</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow148_col1\" class=\"data row148 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow148_col2\" class=\"data row148 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow148_col3\" class=\"data row148 col3\" >10</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row149\" class=\"row_heading level0 row149\" >Seychelles</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow149_col0\" class=\"data row149 col0\" >10</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow149_col1\" class=\"data row149 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow149_col2\" class=\"data row149 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow149_col3\" class=\"data row149 col3\" >10</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row150\" class=\"row_heading level0 row150\" >Laos</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow150_col0\" class=\"data row150 col0\" >10</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow150_col1\" class=\"data row150 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow150_col2\" class=\"data row150 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow150_col3\" class=\"data row150 col3\" >10</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row151\" class=\"row_heading level0 row151\" >Libya</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow151_col0\" class=\"data row151 col0\" >10</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow151_col1\" class=\"data row151 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow151_col2\" class=\"data row151 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow151_col3\" class=\"data row151 col3\" >10</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row152\" class=\"row_heading level0 row152\" >Mozambique</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow152_col0\" class=\"data row152 col0\" >10</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow152_col1\" class=\"data row152 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow152_col2\" class=\"data row152 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow152_col3\" class=\"data row152 col3\" >10</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row153\" class=\"row_heading level0 row153\" >Eswatini</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow153_col0\" class=\"data row153 col0\" >9</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow153_col1\" class=\"data row153 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow153_col2\" class=\"data row153 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow153_col3\" class=\"data row153 col3\" >9</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row154\" class=\"row_heading level0 row154\" >Guinea-Bissau</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow154_col0\" class=\"data row154 col0\" >9</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow154_col1\" class=\"data row154 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow154_col2\" class=\"data row154 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow154_col3\" class=\"data row154 col3\" >9</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row155\" class=\"row_heading level0 row155\" >MS Zaandam</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow155_col0\" class=\"data row155 col0\" >9</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow155_col1\" class=\"data row155 col1\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow155_col2\" class=\"data row155 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow155_col3\" class=\"data row155 col3\" >7</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row156\" class=\"row_heading level0 row156\" >Angola</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow156_col0\" class=\"data row156 col0\" >8</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow156_col1\" class=\"data row156 col1\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow156_col2\" class=\"data row156 col2\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow156_col3\" class=\"data row156 col3\" >5</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row157\" class=\"row_heading level0 row157\" >Saint Kitts and Nevis</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow157_col0\" class=\"data row157 col0\" >8</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow157_col1\" class=\"data row157 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow157_col2\" class=\"data row157 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow157_col3\" class=\"data row157 col3\" >8</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row158\" class=\"row_heading level0 row158\" >Zimbabwe</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow158_col0\" class=\"data row158 col0\" >8</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow158_col1\" class=\"data row158 col1\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow158_col2\" class=\"data row158 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow158_col3\" class=\"data row158 col3\" >7</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row159\" class=\"row_heading level0 row159\" >Sudan</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow159_col0\" class=\"data row159 col0\" >7</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow159_col1\" class=\"data row159 col1\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow159_col2\" class=\"data row159 col2\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow159_col3\" class=\"data row159 col3\" >3</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row160\" class=\"row_heading level0 row160\" >Antigua and Barbuda</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow160_col0\" class=\"data row160 col0\" >7</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow160_col1\" class=\"data row160 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow160_col2\" class=\"data row160 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow160_col3\" class=\"data row160 col3\" >7</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row161\" class=\"row_heading level0 row161\" >Fiji</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow161_col0\" class=\"data row161 col0\" >7</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow161_col1\" class=\"data row161 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow161_col2\" class=\"data row161 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow161_col3\" class=\"data row161 col3\" >7</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row162\" class=\"row_heading level0 row162\" >Chad</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow162_col0\" class=\"data row162 col0\" >7</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow162_col1\" class=\"data row162 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow162_col2\" class=\"data row162 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow162_col3\" class=\"data row162 col3\" >7</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row163\" class=\"row_heading level0 row163\" >Liberia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow163_col0\" class=\"data row163 col0\" >6</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow163_col1\" class=\"data row163 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow163_col2\" class=\"data row163 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow163_col3\" class=\"data row163 col3\" >6</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row164\" class=\"row_heading level0 row164\" >Holy See</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow164_col0\" class=\"data row164 col0\" >6</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow164_col1\" class=\"data row164 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow164_col2\" class=\"data row164 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow164_col3\" class=\"data row164 col3\" >6</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row165\" class=\"row_heading level0 row165\" >Mauritania</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow165_col0\" class=\"data row165 col0\" >6</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow165_col1\" class=\"data row165 col1\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow165_col2\" class=\"data row165 col2\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow165_col3\" class=\"data row165 col3\" >3</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row166\" class=\"row_heading level0 row166\" >Cabo Verde</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow166_col0\" class=\"data row166 col0\" >6</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow166_col1\" class=\"data row166 col1\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow166_col2\" class=\"data row166 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow166_col3\" class=\"data row166 col3\" >5</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row167\" class=\"row_heading level0 row167\" >Nepal</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow167_col0\" class=\"data row167 col0\" >6</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow167_col1\" class=\"data row167 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow167_col2\" class=\"data row167 col2\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow167_col3\" class=\"data row167 col3\" >5</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row168\" class=\"row_heading level0 row168\" >Nicaragua</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow168_col0\" class=\"data row168 col0\" >5</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow168_col1\" class=\"data row168 col1\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow168_col2\" class=\"data row168 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow168_col3\" class=\"data row168 col3\" >4</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row169\" class=\"row_heading level0 row169\" >Somalia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow169_col0\" class=\"data row169 col0\" >5</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow169_col1\" class=\"data row169 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow169_col2\" class=\"data row169 col2\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow169_col3\" class=\"data row169 col3\" >4</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row170\" class=\"row_heading level0 row170\" >Bhutan</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow170_col0\" class=\"data row170 col0\" >5</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow170_col1\" class=\"data row170 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow170_col2\" class=\"data row170 col2\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow170_col3\" class=\"data row170 col3\" >4</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row171\" class=\"row_heading level0 row171\" >Botswana</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow171_col0\" class=\"data row171 col0\" >4</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow171_col1\" class=\"data row171 col1\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow171_col2\" class=\"data row171 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow171_col3\" class=\"data row171 col3\" >3</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row172\" class=\"row_heading level0 row172\" >Gambia</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow172_col0\" class=\"data row172 col0\" >4</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow172_col1\" class=\"data row172 col1\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow172_col2\" class=\"data row172 col2\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow172_col3\" class=\"data row172 col3\" >1</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row173\" class=\"row_heading level0 row173\" >Central African Republic</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow173_col0\" class=\"data row173 col0\" >3</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow173_col1\" class=\"data row173 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow173_col2\" class=\"data row173 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow173_col3\" class=\"data row173 col3\" >3</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row174\" class=\"row_heading level0 row174\" >Belize</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow174_col0\" class=\"data row174 col0\" >3</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow174_col1\" class=\"data row174 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow174_col2\" class=\"data row174 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow174_col3\" class=\"data row174 col3\" >3</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row175\" class=\"row_heading level0 row175\" >Sierra Leone</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow175_col0\" class=\"data row175 col0\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow175_col1\" class=\"data row175 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow175_col2\" class=\"data row175 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow175_col3\" class=\"data row175 col3\" >2</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row176\" class=\"row_heading level0 row176\" >Burundi</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow176_col0\" class=\"data row176 col0\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow176_col1\" class=\"data row176 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow176_col2\" class=\"data row176 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow176_col3\" class=\"data row176 col3\" >2</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row177\" class=\"row_heading level0 row177\" >Saint Vincent and the Grenadines</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow177_col0\" class=\"data row177 col0\" >2</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow177_col1\" class=\"data row177 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow177_col2\" class=\"data row177 col2\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow177_col3\" class=\"data row177 col3\" >1</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row178\" class=\"row_heading level0 row178\" >Timor-Leste</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow178_col0\" class=\"data row178 col0\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow178_col1\" class=\"data row178 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow178_col2\" class=\"data row178 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow178_col3\" class=\"data row178 col3\" >1</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_948e7142_74f0_11ea_8db5_109add6e171flevel0_row179\" class=\"row_heading level0 row179\" >Papua New Guinea</th>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow179_col0\" class=\"data row179 col0\" >1</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow179_col1\" class=\"data row179 col1\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow179_col2\" class=\"data row179 col2\" >0</td>\n",
" <td id=\"T_948e7142_74f0_11ea_8db5_109add6e171frow179_col3\" class=\"data row179 col3\" >1</td>\n",
" </tr>\n",
" </tbody></table>"
],
"text/plain": [
"<pandas.io.formats.style.Styler at 0xb33dd9f98>"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_countries_cases.sort_values('Confirmed', ascending= False).style.background_gradient(cmap='Wistia')\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Top 10 countries (Confirmed Cases and Deaths)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"f = plt.figure(figsize=(10,5))\n",
"f.add_subplot(111)\n",
"\n",
"plt.axes(axisbelow=True)\n",
"plt.barh(df_countries_cases.sort_values('Confirmed')[\"Confirmed\"].index[-10:],df_countries_cases.sort_values('Confirmed')[\"Confirmed\"].values[-10:],color=\"darkcyan\")\n",
"plt.tick_params(size=5,labelsize = 13)\n",
"plt.xlabel(\"Confirmed Cases\",fontsize=18)\n",
"plt.title(\"Top 10 Countries (Confirmed Cases)\",fontsize=20)\n",
"plt.grid(alpha=0.3)\n",
"plt.savefig(out+'Top 10 Countries (Confirmed Cases).png')"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"_kg_hide-input": true
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"f = plt.figure(figsize=(10,5))\n",
"f.add_subplot(111)\n",
"\n",
"plt.axes(axisbelow=True)\n",
"plt.barh(df_countries_cases.sort_values('Deaths')[\"Deaths\"].index[-10:],df_countries_cases.sort_values('Deaths')[\"Deaths\"].values[-10:],color=\"crimson\")\n",
"plt.tick_params(size=5,labelsize = 13)\n",
"plt.xlabel(\"Deaths Cases\",fontsize=18)\n",
"plt.title(\"Top 10 Countries (Deaths Cases)\",fontsize=20)\n",
"plt.grid(alpha=0.3,which='both')\n",
"plt.savefig(out+'Top 10 Countries (Deaths Cases).png')"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"_kg_hide-input": true
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"f = plt.figure(figsize=(10,5))\n",
"f.add_subplot(111)\n",
"\n",
"plt.axes(axisbelow=True)\n",
"plt.barh(df_countries_cases.sort_values('Active')[\"Active\"].index[-10:],df_countries_cases.sort_values('Active')[\"Active\"].values[-10:],color=\"darkorange\")\n",
"plt.tick_params(size=5,labelsize = 13)\n",
"plt.xlabel(\"Active Cases\",fontsize=18)\n",
"plt.title(\"Top 10 Countries (Active Cases)\",fontsize=20)\n",
"plt.grid(alpha=0.3,which='both')\n",
"plt.savefig(out+'Top 10 Countries (Active Cases).png')"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"_kg_hide-input": true
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"f = plt.figure(figsize=(10,5))\n",
"f.add_subplot(111)\n",
"\n",
"plt.axes(axisbelow=True)\n",
"plt.barh(df_countries_cases.sort_values('Recovered')[\"Recovered\"].index[-10:],df_countries_cases.sort_values('Recovered')[\"Recovered\"].values[-10:],color=\"limegreen\")\n",
"plt.tick_params(size=5,labelsize = 13)\n",
"plt.xlabel(\"Recovered Cases\",fontsize=18)\n",
"plt.title(\"Top 10 Countries (Recovered Cases)\",fontsize=20)\n",
"plt.grid(alpha=0.3,which='both')\n",
"plt.savefig(out+'Top 10 Countries (Recovered Cases).png')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Correlation Analysis\n",
"<hr>\n",
"Plotting Heat map of correlation of confirmed cases, recovered cases, deaths and active cases.\n",
"\n",
"### Country wise Correlation"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<style type=\"text/css\" >\n",
" #T_95f5717a_74f0_11ea_8db5_109add6e171frow0_col0 {\n",
" background-color: #67000d;\n",
" color: #f1f1f1;\n",
" } #T_95f5717a_74f0_11ea_8db5_109add6e171frow0_col1 {\n",
" background-color: #f6583e;\n",
" color: #000000;\n",
" } #T_95f5717a_74f0_11ea_8db5_109add6e171frow0_col2 {\n",
" background-color: #fc8d6d;\n",
" color: #000000;\n",
" } #T_95f5717a_74f0_11ea_8db5_109add6e171frow0_col3 {\n",
" background-color: #880811;\n",
" color: #f1f1f1;\n",
" } #T_95f5717a_74f0_11ea_8db5_109add6e171frow1_col0 {\n",
" background-color: #fb6c4c;\n",
" color: #000000;\n",
" } #T_95f5717a_74f0_11ea_8db5_109add6e171frow1_col1 {\n",
" background-color: #67000d;\n",
" color: #f1f1f1;\n",
" } #T_95f5717a_74f0_11ea_8db5_109add6e171frow1_col2 {\n",
" background-color: #fca588;\n",
" color: #000000;\n",
" } #T_95f5717a_74f0_11ea_8db5_109add6e171frow1_col3 {\n",
" background-color: #f5533b;\n",
" color: #000000;\n",
" } #T_95f5717a_74f0_11ea_8db5_109add6e171frow2_col0 {\n",
" background-color: #fff5f0;\n",
" color: #000000;\n",
" } #T_95f5717a_74f0_11ea_8db5_109add6e171frow2_col1 {\n",
" background-color: #fff5f0;\n",
" color: #000000;\n",
" } #T_95f5717a_74f0_11ea_8db5_109add6e171frow2_col2 {\n",
" background-color: #67000d;\n",
" color: #f1f1f1;\n",
" } #T_95f5717a_74f0_11ea_8db5_109add6e171frow2_col3 {\n",
" background-color: #fff5f0;\n",
" color: #000000;\n",
" } #T_95f5717a_74f0_11ea_8db5_109add6e171frow3_col0 {\n",
" background-color: #9d0d14;\n",
" color: #f1f1f1;\n",
" } #T_95f5717a_74f0_11ea_8db5_109add6e171frow3_col1 {\n",
" background-color: #fc997a;\n",
" color: #000000;\n",
" } #T_95f5717a_74f0_11ea_8db5_109add6e171frow3_col2 {\n",
" background-color: #fff5f0;\n",
" color: #000000;\n",
" } #T_95f5717a_74f0_11ea_8db5_109add6e171frow3_col3 {\n",
" background-color: #67000d;\n",
" color: #f1f1f1;\n",
" }</style><table id=\"T_95f5717a_74f0_11ea_8db5_109add6e171f\" ><thead> <tr> <th class=\"blank level0\" ></th> <th class=\"col_heading level0 col0\" >Confirmed</th> <th class=\"col_heading level0 col1\" >Deaths</th> <th class=\"col_heading level0 col2\" >Recovered</th> <th class=\"col_heading level0 col3\" >Active</th> </tr></thead><tbody>\n",
" <tr>\n",
" <th id=\"T_95f5717a_74f0_11ea_8db5_109add6e171flevel0_row0\" class=\"row_heading level0 row0\" >Confirmed</th>\n",
" <td id=\"T_95f5717a_74f0_11ea_8db5_109add6e171frow0_col0\" class=\"data row0 col0\" >1.000000</td>\n",
" <td id=\"T_95f5717a_74f0_11ea_8db5_109add6e171frow0_col1\" class=\"data row0 col1\" >0.791817</td>\n",
" <td id=\"T_95f5717a_74f0_11ea_8db5_109add6e171frow0_col2\" class=\"data row0 col2\" >0.588680</td>\n",
" <td id=\"T_95f5717a_74f0_11ea_8db5_109add6e171frow0_col3\" class=\"data row0 col3\" >0.954097</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_95f5717a_74f0_11ea_8db5_109add6e171flevel0_row1\" class=\"row_heading level0 row1\" >Deaths</th>\n",
" <td id=\"T_95f5717a_74f0_11ea_8db5_109add6e171frow1_col0\" class=\"data row1 col0\" >0.791817</td>\n",
" <td id=\"T_95f5717a_74f0_11ea_8db5_109add6e171frow1_col1\" class=\"data row1 col1\" >1.000000</td>\n",
" <td id=\"T_95f5717a_74f0_11ea_8db5_109add6e171frow1_col2\" class=\"data row1 col2\" >0.537356</td>\n",
" <td id=\"T_95f5717a_74f0_11ea_8db5_109add6e171frow1_col3\" class=\"data row1 col3\" >0.701776</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_95f5717a_74f0_11ea_8db5_109add6e171flevel0_row2\" class=\"row_heading level0 row2\" >Recovered</th>\n",
" <td id=\"T_95f5717a_74f0_11ea_8db5_109add6e171frow2_col0\" class=\"data row2 col0\" >0.588680</td>\n",
" <td id=\"T_95f5717a_74f0_11ea_8db5_109add6e171frow2_col1\" class=\"data row2 col1\" >0.537356</td>\n",
" <td id=\"T_95f5717a_74f0_11ea_8db5_109add6e171frow2_col2\" class=\"data row2 col2\" >1.000000</td>\n",
" <td id=\"T_95f5717a_74f0_11ea_8db5_109add6e171frow2_col3\" class=\"data row2 col3\" >0.322388</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_95f5717a_74f0_11ea_8db5_109add6e171flevel0_row3\" class=\"row_heading level0 row3\" >Active</th>\n",
" <td id=\"T_95f5717a_74f0_11ea_8db5_109add6e171frow3_col0\" class=\"data row3 col0\" >0.954097</td>\n",
" <td id=\"T_95f5717a_74f0_11ea_8db5_109add6e171frow3_col1\" class=\"data row3 col1\" >0.701776</td>\n",
" <td id=\"T_95f5717a_74f0_11ea_8db5_109add6e171frow3_col2\" class=\"data row3 col2\" >0.322388</td>\n",
" <td id=\"T_95f5717a_74f0_11ea_8db5_109add6e171frow3_col3\" class=\"data row3 col3\" >1.000000</td>\n",
" </tr>\n",
" </tbody></table>"
],
"text/plain": [
"<pandas.io.formats.style.Styler at 0xb32f2a780>"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_countries_cases.corr().style.background_gradient(cmap='Reds')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Continent Wise Correlation"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<style type=\"text/css\" >\n",
" #T_95fbb6de_74f0_11ea_8db5_109add6e171frow0_col0 {\n",
" background-color: #67000d;\n",
" color: #f1f1f1;\n",
" } #T_95fbb6de_74f0_11ea_8db5_109add6e171frow0_col1 {\n",
" background-color: #b11218;\n",
" color: #f1f1f1;\n",
" } #T_95fbb6de_74f0_11ea_8db5_109add6e171frow0_col2 {\n",
" background-color: #fc9373;\n",
" color: #000000;\n",
" } #T_95fbb6de_74f0_11ea_8db5_109add6e171frow0_col3 {\n",
" background-color: #800610;\n",
" color: #f1f1f1;\n",
" } #T_95fbb6de_74f0_11ea_8db5_109add6e171frow1_col0 {\n",
" background-color: #b81419;\n",
" color: #f1f1f1;\n",
" } #T_95fbb6de_74f0_11ea_8db5_109add6e171frow1_col1 {\n",
" background-color: #67000d;\n",
" color: #f1f1f1;\n",
" } #T_95fbb6de_74f0_11ea_8db5_109add6e171frow1_col2 {\n",
" background-color: #fcae92;\n",
" color: #000000;\n",
" } #T_95fbb6de_74f0_11ea_8db5_109add6e171frow1_col3 {\n",
" background-color: #b81419;\n",
" color: #f1f1f1;\n",
" } #T_95fbb6de_74f0_11ea_8db5_109add6e171frow2_col0 {\n",
" background-color: #fff5f0;\n",
" color: #000000;\n",
" } #T_95fbb6de_74f0_11ea_8db5_109add6e171frow2_col1 {\n",
" background-color: #fff5f0;\n",
" color: #000000;\n",
" } #T_95fbb6de_74f0_11ea_8db5_109add6e171frow2_col2 {\n",
" background-color: #67000d;\n",
" color: #f1f1f1;\n",
" } #T_95fbb6de_74f0_11ea_8db5_109add6e171frow2_col3 {\n",
" background-color: #fff5f0;\n",
" color: #000000;\n",
" } #T_95fbb6de_74f0_11ea_8db5_109add6e171frow3_col0 {\n",
" background-color: #900a12;\n",
" color: #f1f1f1;\n",
" } #T_95fbb6de_74f0_11ea_8db5_109add6e171frow3_col1 {\n",
" background-color: #d01d1f;\n",
" color: #f1f1f1;\n",
" } #T_95fbb6de_74f0_11ea_8db5_109add6e171frow3_col2 {\n",
" background-color: #fff5f0;\n",
" color: #000000;\n",
" } #T_95fbb6de_74f0_11ea_8db5_109add6e171frow3_col3 {\n",
" background-color: #67000d;\n",
" color: #f1f1f1;\n",
" }</style><table id=\"T_95fbb6de_74f0_11ea_8db5_109add6e171f\" ><thead> <tr> <th class=\"blank level0\" ></th> <th class=\"col_heading level0 col0\" >Confirmed</th> <th class=\"col_heading level0 col1\" >Deaths</th> <th class=\"col_heading level0 col2\" >Recovered</th> <th class=\"col_heading level0 col3\" >Active</th> </tr></thead><tbody>\n",
" <tr>\n",
" <th id=\"T_95fbb6de_74f0_11ea_8db5_109add6e171flevel0_row0\" class=\"row_heading level0 row0\" >Confirmed</th>\n",
" <td id=\"T_95fbb6de_74f0_11ea_8db5_109add6e171frow0_col0\" class=\"data row0 col0\" >1.000000</td>\n",
" <td id=\"T_95fbb6de_74f0_11ea_8db5_109add6e171frow0_col1\" class=\"data row0 col1\" >0.950107</td>\n",
" <td id=\"T_95fbb6de_74f0_11ea_8db5_109add6e171frow0_col2\" class=\"data row0 col2\" >0.734248</td>\n",
" <td id=\"T_95fbb6de_74f0_11ea_8db5_109add6e171frow0_col3\" class=\"data row0 col3\" >0.977648</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_95fbb6de_74f0_11ea_8db5_109add6e171flevel0_row1\" class=\"row_heading level0 row1\" >Deaths</th>\n",
" <td id=\"T_95fbb6de_74f0_11ea_8db5_109add6e171frow1_col0\" class=\"data row1 col0\" >0.950107</td>\n",
" <td id=\"T_95fbb6de_74f0_11ea_8db5_109add6e171frow1_col1\" class=\"data row1 col1\" >1.000000</td>\n",
" <td id=\"T_95fbb6de_74f0_11ea_8db5_109add6e171frow1_col2\" class=\"data row1 col2\" >0.700194</td>\n",
" <td id=\"T_95fbb6de_74f0_11ea_8db5_109add6e171frow1_col3\" class=\"data row1 col3\" >0.919615</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_95fbb6de_74f0_11ea_8db5_109add6e171flevel0_row2\" class=\"row_heading level0 row2\" >Recovered</th>\n",
" <td id=\"T_95fbb6de_74f0_11ea_8db5_109add6e171frow2_col0\" class=\"data row2 col0\" >0.734248</td>\n",
" <td id=\"T_95fbb6de_74f0_11ea_8db5_109add6e171frow2_col1\" class=\"data row2 col1\" >0.700194</td>\n",
" <td id=\"T_95fbb6de_74f0_11ea_8db5_109add6e171frow2_col2\" class=\"data row2 col2\" >1.000000</td>\n",
" <td id=\"T_95fbb6de_74f0_11ea_8db5_109add6e171frow2_col3\" class=\"data row2 col3\" >0.576297</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_95fbb6de_74f0_11ea_8db5_109add6e171flevel0_row3\" class=\"row_heading level0 row3\" >Active</th>\n",
" <td id=\"T_95fbb6de_74f0_11ea_8db5_109add6e171frow3_col0\" class=\"data row3 col0\" >0.977648</td>\n",
" <td id=\"T_95fbb6de_74f0_11ea_8db5_109add6e171frow3_col1\" class=\"data row3 col1\" >0.919615</td>\n",
" <td id=\"T_95fbb6de_74f0_11ea_8db5_109add6e171frow3_col2\" class=\"data row3 col2\" >0.576297</td>\n",
" <td id=\"T_95fbb6de_74f0_11ea_8db5_109add6e171frow3_col3\" class=\"data row3 col3\" >1.000000</td>\n",
" </tr>\n",
" </tbody></table>"
],
"text/plain": [
"<pandas.io.formats.style.Styler at 0xb34078358>"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_continents_cases.corr().style.background_gradient(cmap='Reds')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Visualization on Map\n",
"<hr>"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"about:blank\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" data-html=PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMiB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFsxMC4wLCAwLjBdLAogICAgICAgICAgICAgICAgICAgIGNyczogTC5DUlMuRVBTRzM4NTcsCiAgICAgICAgICAgICAgICAgICAgem9vbTogMiwKICAgICAgICAgICAgICAgICAgICB6b29tQ29udHJvbDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICBwcmVmZXJDYW52YXM6IGZhbHNlLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApOwoKICAgICAgICAgICAgCgogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciB0aWxlX2xheWVyXzIyZDcyMzQ3MjcyNDRjZTA4ZjE4ZGExMTMxM2U5MmE5ID0gTC50aWxlTGF5ZXIoCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly9jYXJ0b2RiLWJhc2VtYXBzLXtzfS5nbG9iYWwuc3NsLmZhc3RseS5uZXQvbGlnaHRfYWxsL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIlx1MDAyNmNvcHk7IFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UgY29udHJpYnV0b3JzIFx1MDAyNmNvcHk7IFx1MDAzY2EgaHJlZj1cImh0dHA6Ly9jYXJ0b2RiLmNvbS9hdHRyaWJ1dGlvbnNcIlx1MDAzZUNhcnRvREJcdTAwM2MvYVx1MDAzZSwgQ2FydG9EQiBcdTAwM2NhIGhyZWYgPVwiaHR0cDovL2NhcnRvZGIuY29tL2F0dHJpYnV0aW9uc1wiXHUwMDNlYXR0cmlidXRpb25zXHUwMDNjL2FcdTAwM2UiLCAiZGV0ZWN0UmV0aW5hIjogZmFsc2UsICJtYXhOYXRpdmVab29tIjogNiwgIm1heFpvb20iOiA2LCAibWluWm9vbSI6IDIsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2ZmZjEwNWFhMDEwODQ2OTRiM2UwZWQxMWUyMGQ4MDZiID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMzMuMCwgNjUuMF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2ZmZjEwNWFhMDEwODQ2OTRiM2UwZWQxMWUyMGQ4MDZiLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkFmZ2hhbmlzdGFuPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMjM3PC9saT48bGk+RGVhdGhzOiAgIDQ8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAxLjY4PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9lMmFhYjUwNWJkNmQ0MWUxYjkxYjI0MDBiN2I2ZTZjNSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzQxLjE1MzMsIDIwLjE2ODNdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9lMmFhYjUwNWJkNmQ0MWUxYjkxYjI0MDBiN2I2ZTZjNS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5BbGJhbmlhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMjU5PC9saT48bGk+RGVhdGhzOiAgIDE1PC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgNS43NzwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfZDM0Njg2MDA0OTlhNDhjYmJhZTA4OTc5Nzg4ZTQ5ZjUgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFsyOC4wMzM5LCAxLjY1OTZdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMzEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9kMzQ2ODYwMDQ5OWE0OGNiYmFlMDg5Nzk3ODhlNDlmNS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5BbGdlcmlhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogODQ3PC9saT48bGk+RGVhdGhzOiAgIDU4PC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgNi44NDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfNTM0MmVhNWE2MDY0NDcxNGJjMDU5YmJlOWQyMzIyZjkgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs0Mi41MDYzLCAxLjUyMThdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV81MzQyZWE1YTYwNjQ0NzE0YmMwNTliYmU5ZDIzMjJmOS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5BbmRvcnJhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMzkwPC9saT48bGk+RGVhdGhzOiAgIDE0PC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMy41ODwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfYjg0OTZhM2Q4MzE3NDE3MmFkZWI0MWQ1MzRmYjRmZmUgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFstMTEuMjAyNywgMTcuODczOV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxMTAwMDAuMDAwMDAwMDAwMDEsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9iODQ5NmEzZDgzMTc0MTcyYWRlYjQxZDUzNGZiNGZmZS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5BbmdvbGE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA4PC9saT48bGk+RGVhdGhzOiAgIDI8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAyMi4yMjwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfN2MyZmUwMjlmZmU0NGEyMmFmZGYzM2I1MmVmMWRmMGYgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFsxNy4wNjA4LCAtNjEuNzk2NF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxMTAwMDAuMDAwMDAwMDAwMDEsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV83YzJmZTAyOWZmZTQ0YTIyYWZkZjMzYjUyZWYxZGYwZi5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5BbnRpZ3VhIGFuZCBCYXJidWRhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNzwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9kMjgzNmJjMTAzNDc0ODE2OGQxYmYxOTk0MTA1OTc0YyA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWy0zOC40MTYxLCAtNjMuNjE2N10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAzMTAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2QyODM2YmMxMDM0NzQ4MTY4ZDFiZjE5OTQxMDU5NzRjLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkFyZ2VudGluYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDEwNTQ8L2xpPjxsaT5EZWF0aHM6ICAgMjg8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAyLjY1PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV83YjFmNGI4NDJlNmM0NTIwYmI5NmJlYmM2MGFmMmRlOSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzQwLjA2OTEsIDQ1LjAzODJdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMzEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV83YjFmNGI4NDJlNmM0NTIwYmI5NmJlYmM2MGFmMmRlOS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5Bcm1lbmlhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNTcxPC9saT48bGk+RGVhdGhzOiAgIDQ8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjc8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzI0NGJhOThlZmRmYzQ0NDRhNDFjZTRiZWFkNDhlOWM1ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbLTM1LjQ3MzUsIDE0OS4wMTI0XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDIxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfMjQ0YmE5OGVmZGZjNDQ0NGE0MWNlNGJlYWQ0OGU5YzUuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+QXVzdHJhbGlhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkF1c3RyYWxpYW4gQ2FwaXRhbCBUZXJyaXRvcnk8L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDg0PC9saT48bGk+RGVhdGhzOiAgIDE8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAxLjE4PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV8xZjVlMmZkMTg2ZWY0ODE5OGNkMmE4OTRlNGU4OGE3NyA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWy0zMy44Njg4LCAxNTEuMjA5M10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAzNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzFmNWUyZmQxODZlZjQ4MTk4Y2QyYTg5NGU0ZTg4YTc3LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkF1c3RyYWxpYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5OZXcgU291dGggV2FsZXM8L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDIxODI8L2xpPjxsaT5EZWF0aHM6ICAgOTwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuNDE8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzBiMWNkMjc5YjhmYjQ5NjI5YTdjOTVjM2E5OTdiZTIwID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbLTEyLjQ2MzQsIDEzMC44NDU2XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDExMDAwMC4wMDAwMDAwMDAwMSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzBiMWNkMjc5YjhmYjQ5NjI5YTdjOTVjM2E5OTdiZTIwLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkF1c3RyYWxpYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5Ob3J0aGVybiBUZXJyaXRvcnk8L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDE5PC9saT48bGk+RGVhdGhzOiAgIDA8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2VlNGI3YWU2ZTY5YzQ3NTdiMDFhM2YwODRmYWMyYmY2ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbLTI4LjAxNjcsIDE1My40XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDMxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfZWU0YjdhZTZlNjljNDc1N2IwMWEzZjA4NGZhYzJiZjYuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+QXVzdHJhbGlhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPlF1ZWVuc2xhbmQ8L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDc4MTwvbGk+PGxpPkRlYXRoczogICAyPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4yNjwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfZjU5ODgwYmY5NDgwNDgxMDhhMmFiMDlmMGZkZjVhZWMgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFstMzQuOTI4NSwgMTM4LjYwMDddLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9mNTk4ODBiZjk0ODA0ODEwOGEyYWIwOWYwZmRmNWFlYy5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5BdXN0cmFsaWE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+U291dGggQXVzdHJhbGlhPC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAzNjc8L2xpPjxsaT5EZWF0aHM6ICAgMDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfMzg0ZjgwZjQ0NTg4NGRlZjg0N2M5NjdjYzI0N2JkZTcgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFstNDEuNDU0NSwgMTQ1Ljk3MDddLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV8zODRmODBmNDQ1ODg0ZGVmODQ3Yzk2N2NjMjQ3YmRlNy5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5BdXN0cmFsaWE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+VGFzbWFuaWE8L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDY5PC9saT48bGk+RGVhdGhzOiAgIDI8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAyLjg2PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9hY2FiMGM5MzBmYTc0MTA0ODNhNjU3YmNlMGY3YTVmMiA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWy0zNy44MTM2LCAxNDQuOTYzMV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAzMTAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2FjYWIwYzkzMGZhNzQxMDQ4M2E2NTdiY2UwZjdhNWYyLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkF1c3RyYWxpYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5WaWN0b3JpYTwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogOTY4PC9saT48bGk+RGVhdGhzOiAgIDQ8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjQxPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV80ZWM0OGMzNDAzNDc0MDgzODI3YjQxMmE0MjA0YjA2ZSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWy0zMS45NTA1LCAxMTUuODYwNV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzRlYzQ4YzM0MDM0NzQwODM4MjdiNDEyYTQyMDRiMDZlLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkF1c3RyYWxpYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5XZXN0ZXJuIEF1c3RyYWxpYTwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMzkyPC9saT48bGk+RGVhdGhzOiAgIDI8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjUxPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9iMmVhM2M1OTZlZTQ0YWM2OGM4NjUyNTlmMWU5ZDUwNCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzQ3LjUxNjIsIDE0LjU1MDFdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNDU5OTk5Ljk5OTk5OTk5OTk0LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfYjJlYTNjNTk2ZWU0NGFjNjhjODY1MjU5ZjFlOWQ1MDQuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+QXVzdHJpYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDEwNzExPC9saT48bGk+RGVhdGhzOiAgIDE0NjwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDEuMzY8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzAzYzFkNjQ3ODhjZTQxYjk5MDJlMDY4ODM3ODcwNzE5ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbNDAuMTQzMSwgNDcuNTc2OV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzAzYzFkNjQ3ODhjZTQxYjk5MDJlMDY4ODM3ODcwNzE5LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkF6ZXJiYWlqYW48L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAzNTk8L2xpPjxsaT5EZWF0aHM6ICAgNTwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDEuMzk8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2VjNmFiMGJkYTJhMzRmZjdiYTY5ZjI4MjA1NDgxZmUwID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMjUuMDM0MywgLTc3LjM5NjNdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMTYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9lYzZhYjBiZGEyYTM0ZmY3YmE2OWYyODIwNTQ4MWZlMC5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5CYWhhbWFzPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMjE8L2xpPjxsaT5EZWF0aHM6ICAgMTwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDQuNTU8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzA2ZTU0NDdmOWI2NTRmMGNhYTJlNmY4NDIzNzMwNGJjID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMjYuMDI3NSwgNTAuNTVdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMzEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV8wNmU1NDQ3ZjliNjU0ZjBjYWEyZTZmODQyMzczMDRiYy5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5CYWhyYWluPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNTY5PC9saT48bGk+RGVhdGhzOiAgIDQ8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjc8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2RmMzZiOWVhMTZkYzRlM2I5YzVkZmExZTdiY2FkMDA2ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMjMuNjg1LCA5MC4zNTYzXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDIxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfZGYzNmI5ZWExNmRjNGUzYjljNWRmYTFlN2JjYWQwMDYuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+QmFuZ2xhZGVzaDwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDU0PC9saT48bGk+RGVhdGhzOiAgIDY8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAxMC45MTwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfYWQwMWU4NTVhOTIwNGY0MjhlYzBjYjI3NTk5NjhkZjAgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFsxMy4xOTM5LCAtNTkuNTQzMl0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2FkMDFlODU1YTkyMDRmNDI4ZWMwY2IyNzU5OTY4ZGYwLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkJhcmJhZG9zPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMzQ8L2xpPjxsaT5EZWF0aHM6ICAgMDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfYjY0YTM5MGU0NjIxNDk5MWFlM2U3ZTAxNWZmYmVlZWQgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs1My43MDk4LCAyNy45NTM0XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDI2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfYjY0YTM5MGU0NjIxNDk5MWFlM2U3ZTAxNWZmYmVlZWQuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+QmVsYXJ1czwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDE2MzwvbGk+PGxpPkRlYXRoczogICAyPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMS4yMjwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfNDFlMzc3MjIwZjk5NGIwZGExZGE2YmVlZjZkZGM4MTEgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs1MC44MzMzLCA0LjBdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNDU5OTk5Ljk5OTk5OTk5OTk0LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfNDFlMzc3MjIwZjk5NGIwZGExZGE2YmVlZjZkZGM4MTEuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+QmVsZ2l1bTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDEzOTY0PC9saT48bGk+RGVhdGhzOiAgIDgyODwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDUuOTM8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzExYjEyMjA2MTg2MTQzNTRhZTZiYWZhNmZlYzZlY2E1ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbOS4zMDc3LCAyLjMxNThdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMTEwMDAwLjAwMDAwMDAwMDAxLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfMTFiMTIyMDYxODYxNDM1NGFlNmJhZmE2ZmVjNmVjYTUuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+QmVuaW48L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAxMzwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV81ZmZiYjhmNTNlMWQ0ZDc0YTg0Mzg0Mzk4MDgyODM2OCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzI3LjUxNDIsIDkwLjQzMzZdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzVmZmJiOGY1M2UxZDRkNzRhODQzODQzOTgwODI4MzY4LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkJodXRhbjwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDQ8L2xpPjxsaT5EZWF0aHM6ICAgMDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfOWUzYzQ1OGRiOGY5NGU4NmFjNWRlNzg1YmExOTFhYWIgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFstMTYuMjkwMiwgLTYzLjU4ODddLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV85ZTNjNDU4ZGI4Zjk0ZTg2YWM1ZGU3ODViYTE5MWFhYi5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5Cb2xpdmlhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTE1PC9saT48bGk+RGVhdGhzOiAgIDc8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICA2LjAzPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV85MDY3YzVjMzA5ZmE0ZDA3YTgwZWI3ZjVlMzIyMmY4NSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzQzLjkxNTksIDE3LjY3OTFdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMzEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV85MDY3YzVjMzA5ZmE0ZDA3YTgwZWI3ZjVlMzIyMmY4NS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5Cb3NuaWEgYW5kIEhlcnplZ292aW5hPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNDU5PC9saT48bGk+RGVhdGhzOiAgIDEzPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMi44MzwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfODk5NWU4MTc2YTE2NDViNmFiM2VjZWVlZjg5NTIxNmIgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFstMTQuMjM1LCAtNTEuOTI1M10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA0MDk5OTkuOTk5OTk5OTk5OTQsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV84OTk1ZTgxNzZhMTY0NWI2YWIzZWNlZWVmODk1MjE2Yi5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5CcmF6aWw8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA2ODM2PC9saT48bGk+RGVhdGhzOiAgIDI0MDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDMuNTE8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzJkMjk4ODg2ZjMwODQ1ODA5YzM1ODdkNDVmZDg1OGVmID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbNC41MzUzLCAxMTQuNzI3N10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyMTAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzJkMjk4ODg2ZjMwODQ1ODA5YzM1ODdkNDVmZDg1OGVmLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkJydW5laTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDEzMTwvbGk+PGxpPkRlYXRoczogICAxPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC43NjwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfNjkyMDY2Zjg2YTVlNDJlYzk0ZDRhNTJiNzkwM2MxMmEgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs0Mi43MzM5LCAyNS40ODU4XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDMxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfNjkyMDY2Zjg2YTVlNDJlYzk0ZDRhNTJiNzkwM2MxMmEuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+QnVsZ2FyaWE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA0MjI8L2xpPjxsaT5EZWF0aHM6ICAgMTA8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAyLjM2PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV84ZGVhMzEwOTA1Njg0MjE0YjU1MDE2OTBhNDJhMGNiZSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzEyLjIzODMsIC0xLjU2MTZdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV84ZGVhMzEwOTA1Njg0MjE0YjU1MDE2OTBhNDJhMGNiZS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5CdXJraW5hIEZhc288L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAyODI8L2xpPjxsaT5EZWF0aHM6ICAgMTY8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICA1LjY1PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV82MTkyZmIzNzAxZTQ0MGYxOTU2M2E1YjQ0MGM2OWMxNiA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzE2LjUzODgsIC0yMy4wNDE4XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV82MTkyZmIzNzAxZTQ0MGYxOTU2M2E1YjQ0MGM2OWMxNi5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5DYWJvIFZlcmRlPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNjwvbGk+PGxpPkRlYXRoczogICAxPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMTQuMjk8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzhmOTQ4NzRhYTFmZTQ3M2FhNzI2MzBjZGI0M2YxZWUwID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMTEuNTUsIDEwNC45MTY3XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDIxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfOGY5NDg3NGFhMWZlNDczYWE3MjYzMGNkYjQzZjFlZTAuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+Q2FtYm9kaWE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAxMDk8L2xpPjxsaT5EZWF0aHM6ICAgMDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfZTk1NGYwNTVlMWY5NDA3MWEwOTU3NTQxY2Q3NzU4NDUgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFszLjg0OCwgMTEuNTAyMV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2U5NTRmMDU1ZTFmOTQwNzFhMDk1NzU0MWNkNzc1ODQ1LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkNhbWVyb29uPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMjMzPC9saT48bGk+RGVhdGhzOiAgIDY8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAyLjU2PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9lYzk3NGFkMDU1ZTQ0OWE2ODQ1OTFhMjliYzQzOGNkMiA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzUzLjkzMzMsIC0xMTYuNTc2NV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAzMTAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2VjOTc0YWQwNTVlNDQ5YTY4NDU5MWEyOWJjNDM4Y2QyLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkNhbmFkYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5BbGJlcnRhPC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA3NTQ8L2xpPjxsaT5EZWF0aHM6ICAgOTwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDEuMTk8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzFiNjIyMTM3Njk0ZTRkY2FhOGNiYmEyOTIzNzBjZTdjID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbNDkuMjgyNywgLTEyMy4xMjA3XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDMxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfMWI2MjIxMzc2OTRlNGRjYWE4Y2JiYTI5MjM3MGNlN2MuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+Q2FuYWRhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkJyaXRpc2ggQ29sdW1iaWE8L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDEwMTM8L2xpPjxsaT5EZWF0aHM6ICAgMjQ8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAyLjM3PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV83MWYzOWU2OGQ1ZmY0OTQyOGNmYWY5ZDI0YzM3YThkZCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzM3LjY0ODksIC0xMjIuNjY1NV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxMTAwMDAuMDAwMDAwMDAwMDEsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV83MWYzOWU2OGQ1ZmY0OTQyOGNmYWY5ZDI0YzM3YThkZC5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5DYW5hZGE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+R3JhbmQgUHJpbmNlc3M8L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDEzPC9saT48bGk+RGVhdGhzOiAgIDA8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2M3M2U5OTE3NzAyOTRlN2U4MDE3Yjc2OTJkNjYzMjhlID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbNTMuNzYwOSwgLTk4LjgxMzldLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9jNzNlOTkxNzcwMjk0ZTdlODAxN2I3NjkyZDY2MzI4ZS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5DYW5hZGE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+TWFuaXRvYmE8L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDEyNzwvbGk+PGxpPkRlYXRoczogICAxPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC43ODwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfNTdlN2JjMGVmNjAwNDBlZDk3MzQzMWM5Y2ZjMjZjMDAgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs0Ni41NjUzLCAtNjYuNDYxOV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyMTAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzU3ZTdiYzBlZjYwMDQwZWQ5NzM0MzFjOWNmYzI2YzAwLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkNhbmFkYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5OZXcgQnJ1bnN3aWNrPC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA4MTwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9mMDk3MGIyOTc1MTA0Y2RmYWRhMTU2MzFjYTg3ZWVlNiA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzUzLjEzNTUsIC01Ny42NjA0XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDI2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfZjA5NzBiMjk3NTEwNGNkZmFkYTE1NjMxY2E4N2VlZTYuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+Q2FuYWRhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPk5ld2ZvdW5kbGFuZCBhbmQgTGFicmFkb3I8L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDE3NTwvbGk+PGxpPkRlYXRoczogICAxPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC41NzwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfYTZkYjcwYmVhNGQ0NGNlMmE1YTI1NDcwMWVlYWRlZDIgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs0NC42ODIsIC02My43NDQzXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDI2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfYTZkYjcwYmVhNGQ0NGNlMmE1YTI1NDcwMWVlYWRlZDIuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+Q2FuYWRhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPk5vdmEgU2NvdGlhPC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAxNzM8L2xpPjxsaT5EZWF0aHM6ICAgMDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfZmE4MDE4NmIxNzY4NDYzN2JiNTY5Zjg1MzA2NzEzZGEgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs1MS4yNTM4LCAtODUuMzIzMl0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAzNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2ZhODAxODZiMTc2ODQ2MzdiYjU2OWY4NTMwNjcxM2RhLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkNhbmFkYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5PbnRhcmlvPC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAyMzkyPC9saT48bGk+RGVhdGhzOiAgIDM3PC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMS41NTwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfMmJhYjRkYjFmMDRlNDBmZTlmZDE5MTYxM2MwOWVkM2QgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs0Ni41MTA3LCAtNjMuNDE2OF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzJiYWI0ZGIxZjA0ZTQwZmU5ZmQxOTE2MTNjMDllZDNkLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkNhbmFkYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5QcmluY2UgRWR3YXJkIElzbGFuZDwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMjE8L2xpPjxsaT5EZWF0aHM6ICAgMDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfYjlmNWFmNjg3YzZkNDJjNzljMTQzYzlmYTE0NDdjNWIgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs1Mi45Mzk5LCAtNzMuNTQ5MV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA0MDk5OTkuOTk5OTk5OTk5OTQsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9iOWY1YWY2ODdjNmQ0MmM3OWMxNDNjOWZhMTQ0N2M1Yi5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5DYW5hZGE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+UXVlYmVjPC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA0NjExPC9saT48bGk+RGVhdGhzOiAgIDMzPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC43MjwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfNGQ1ZmQwMzFkMDExNGExMDkzZTFmNDkyNDQ2OGUwMmUgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs1Mi45Mzk5LCAtMTA2LjQ1MDldLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV80ZDVmZDAzMWQwMTE0YTEwOTNlMWY0OTI0NDY4ZTAyZS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5DYW5hZGE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+U2Fza2F0Y2hld2FuPC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAxOTM8L2xpPjxsaT5EZWF0aHM6ICAgMzwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDEuNTU8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzgxZGM3OGMwN2RjMDQ0NjhhZTRiMWEyOWFhYWMzZmVhID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbNi42MTExLCAyMC45Mzk0XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV84MWRjNzhjMDdkYzA0NDY4YWU0YjFhMjlhYWFjM2ZlYS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5DZW50cmFsIEFmcmljYW4gUmVwdWJsaWM8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAzPC9saT48bGk+RGVhdGhzOiAgIDA8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2IzNmJhNzVmZDM2MzRlY2I4NDE2OTRmZDE2MGNmMjdkID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMTUuNDU0MiwgMTguNzMyMl0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxMTAwMDAuMDAwMDAwMDAwMDEsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9iMzZiYTc1ZmQzNjM0ZWNiODQxNjk0ZmQxNjBjZjI3ZC5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5DaGFkPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNzwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9jOGVjYzliM2FhMTc0MjEyYWI5ODQ0NzliNDQ0YmNiMSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWy0zNS42NzUxLCAtNzEuNTQzXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDQwOTk5OS45OTk5OTk5OTk5NCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2M4ZWNjOWIzYWExNzQyMTJhYjk4NDQ3OWI0NDRiY2IxLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkNoaWxlPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMzAzMTwvbGk+PGxpPkRlYXRoczogICAxNjwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuNTM8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzI4ZmFmYWM0YWE0NDRmMWE5ZWRjMzQxYWZhMjE1NGY2ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMzEuODI1NywgMTE3LjIyNjRdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMzEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV8yOGZhZmFjNGFhNDQ0ZjFhOWVkYzM0MWFmYTIxNTRmNi5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5DaGluYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5Bbmh1aTwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogOTkwPC9saT48bGk+RGVhdGhzOiAgIDY8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjYxPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV84OWFmNmFkMzg3NWE0YmM5YWFkOWFjYWYyYWZhMDMwNSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzQwLjE4MjQsIDExNi40MTQyXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDMxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfODlhZjZhZDM4NzVhNGJjOWFhZDlhY2FmMmFmYTAzMDUuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+Q2hpbmE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+QmVpamluZzwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNTgwPC9saT48bGk+RGVhdGhzOiAgIDg8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAxLjM4PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV81YjM4ZjExN2ZlZjY0NTRkODkxMDBlZmU4YWJmN2RhMSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzMwLjA1NzIsIDEwNy44NzRdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMzEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV81YjM4ZjExN2ZlZjY0NTRkODkxMDBlZmU4YWJmN2RhMS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5DaGluYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5DaG9uZ3Fpbmc8L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDU3OTwvbGk+PGxpPkRlYXRoczogICA2PC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMS4wMzwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfMzNlMGMwNzAyNzQ4NDc5MGE5NTQ1NjQ4NDQ2NTUxOTcgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFsyNi4wNzg5LCAxMTcuOTg3NF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzMzZTBjMDcwMjc0ODQ3OTBhOTU0NTY0ODQ0NjU1MTk3LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkNoaW5hPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkZ1amlhbjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMzQ1PC9saT48bGk+RGVhdGhzOiAgIDE8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjI5PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV80MTE1OTBjZjk5ZTg0NTI5YTkxOGI4ODZkYmZkZDcwOCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzM3LjgwOTksIDEwMS4wNTgzXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDIxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfNDExNTkwY2Y5OWU4NDUyOWE5MThiODg2ZGJmZGQ3MDguYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+Q2hpbmE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+R2Fuc3U8L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDEzODwvbGk+PGxpPkRlYXRoczogICAyPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMS40NDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfYWNjYjU4N2Y1YWU1NDQ5NTgwOTA2NmQ3ZmIyMDAwMGIgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFsyMy4zNDE3LCAxMTMuNDI0NF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAzNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2FjY2I1ODdmNWFlNTQ0OTU4MDkwNjZkN2ZiMjAwMDBiLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkNoaW5hPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkd1YW5nZG9uZzwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTUwMTwvbGk+PGxpPkRlYXRoczogICA4PC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC41MzwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfYWE1ZTQwNDM4OTlkNGI0ODhjOWI0MjcyZWIxMGRmNTQgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFsyMy44Mjk4LCAxMDguNzg4MV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2FhNWU0MDQzODk5ZDRiNDg4YzliNDI3MmViMTBkZjU0LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkNoaW5hPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkd1YW5neGk8L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDI1NDwvbGk+PGxpPkRlYXRoczogICAyPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC43ODwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfM2ViMDUyMWFmYjI0NDM0YWIyZjA1ZTgwNGJhYzFiNDYgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFsyNi44MTU0LCAxMDYuODc0OF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyMTAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzNlYjA1MjFhZmIyNDQzNGFiMmYwNWU4MDRiYWMxYjQ2LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkNoaW5hPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkd1aXpob3U8L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDE0NjwvbGk+PGxpPkRlYXRoczogICAyPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMS4zNjwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfZTNmNDdlZjVkOGI3NGIwZmIzZmE1ZGZhNDYxNzVjMmIgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFsxOS4xOTU5LCAxMDkuNzQ1M10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2UzZjQ3ZWY1ZDhiNzRiMGZiM2ZhNWRmYTQ2MTc1YzJiLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkNoaW5hPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkhhaW5hbjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTY4PC9saT48bGk+RGVhdGhzOiAgIDY8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAzLjU1PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9jY2ZlOGZkYzk1ZDQ0Zjc3OTkxZjJkZTAwNDcxN2E5YyA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzM5LjU0OSwgMTE2LjEzMDZdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9jY2ZlOGZkYzk1ZDQ0Zjc3OTkxZjJkZTAwNDcxN2E5Yy5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5DaGluYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5IZWJlaTwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMzIzPC9saT48bGk+RGVhdGhzOiAgIDY8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAxLjg1PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV81MWNjYjdhYTFlYTI0OGVhYWZiMzFlOTJiNzk1MzNiZCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzQ3Ljg2MiwgMTI3Ljc2MTVdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMzEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV81MWNjYjdhYTFlYTI0OGVhYWZiMzFlOTJiNzk1MzNiZC5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5DaGluYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5IZWlsb25namlhbmc8L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDQ4NDwvbGk+PGxpPkRlYXRoczogICAxMzwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDIuNjg8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzM4YmZjMjg4MmJkODQ4ZmRiZTM5Zjc3MDNiZmUzM2ZkID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMzMuODgyLCAxMTMuNjE0XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDM2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfMzhiZmMyODgyYmQ4NDhmZGJlMzlmNzcwM2JmZTMzZmQuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+Q2hpbmE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+SGVuYW48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDEyNzY8L2xpPjxsaT5EZWF0aHM6ICAgMjI8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAxLjcyPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV84YTYyYmRjYTk3N2Y0MWM0YmEwZjJjZjI4ZmE3MjJkMSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzIyLjMsIDExNC4yXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDMxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfOGE2MmJkY2E5NzdmNDFjNGJhMGYyY2YyOGZhNzIyZDEuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+Q2hpbmE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+SG9uZyBLb25nPC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA3NjU8L2xpPjxsaT5EZWF0aHM6ICAgNDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuNTI8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzBmYjI0ZTg1NjU3ODRkMzFiMWYyYWMzODI1OWUzNzY2ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMzAuOTc1NiwgMTEyLjI3MDddLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNTYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV8wZmIyNGU4NTY1Nzg0ZDMxYjFmMmFjMzgyNTllMzc2Ni5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5DaGluYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5IdWJlaTwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNjc4MDI8L2xpPjxsaT5EZWF0aHM6ICAgMzE5MzwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDQuNzE8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzU2MTc3N2VhODA4NDQ0MzZhMTcwYTZiYWEyYjg1MDMxID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMjcuNjEwNCwgMTExLjcwODhdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMzEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV81NjE3NzdlYTgwODQ0NDM2YTE3MGE2YmFhMmI4NTAzMS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5DaGluYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5IdW5hbjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTAxODwvbGk+PGxpPkRlYXRoczogICA0PC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4zOTwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfMGJkNWYyMjY2MjFjNGQxODg2MGUzMTg3YTJhMDM4ZTIgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs0NC4wOTM1LCAxMTMuOTQ0OF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyMTAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzBiZDVmMjI2NjIxYzRkMTg4NjBlMzE4N2EyYTAzOGUyLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkNoaW5hPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPklubmVyIE1vbmdvbGlhPC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAxMTE8L2xpPjxsaT5EZWF0aHM6ICAgMTwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuODk8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzEzZmU2YmVjMzNhNDQ3MjA5YTZlOTNjNTc5MmYzMTUyID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMzIuOTcxMSwgMTE5LjQ1NV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAzMTAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzEzZmU2YmVjMzNhNDQ3MjA5YTZlOTNjNTc5MmYzMTUyLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkNoaW5hPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkppYW5nc3U8L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDY0NjwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9hZWEzMzUyNGQ5ZDQ0OGRhYjkwNzlmNzEwZTMxNzYzYyA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzI3LjYxNCwgMTE1LjcyMjFdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMzEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9hZWEzMzUyNGQ5ZDQ0OGRhYjkwNzlmNzEwZTMxNzYzYy5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5DaGluYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5KaWFuZ3hpPC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA5Mzc8L2xpPjxsaT5EZWF0aHM6ICAgMTwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMTE8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2E3M2JhNjdiMDkyODQ2NjhhOTc3NGI0OGMwN2I5YjQwID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbNDMuNjY2MSwgMTI2LjE5MjNdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9hNzNiYTY3YjA5Mjg0NjY4YTk3NzRiNDhjMDdiOWI0MC5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5DaGluYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5KaWxpbjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogOTg8L2xpPjxsaT5EZWF0aHM6ICAgMTwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDEuMDE8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2UxMTRhZmJhYzhlNTRmYzY5MWI2YTIxYjAzNTIyN2UwID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbNDEuMjk1NiwgMTIyLjYwODVdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9lMTE0YWZiYWM4ZTU0ZmM2OTFiNmEyMWIwMzUyMjdlMC5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5DaGluYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5MaWFvbmluZzwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTQwPC9saT48bGk+RGVhdGhzOiAgIDI8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAxLjQyPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV81OTM0MTc4OTVjNjM0YmEyOTM4NjRhMmI1YmNiNjhjOCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzIyLjE2NjcsIDExMy41NV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzU5MzQxNzg5NWM2MzRiYTI5Mzg2NGEyYjViY2I2OGM4LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkNoaW5hPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPk1hY2F1PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA0MTwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV83ZGMzZWRjZDhjZjc0NzFjYmMyMGIwOTI2Njg0N2E1ZCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzM3LjI2OTIsIDEwNi4xNjU1XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDIxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfN2RjM2VkY2Q4Y2Y3NDcxY2JjMjBiMDkyNjY4NDdhNWQuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+Q2hpbmE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+TmluZ3hpYTwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNzU8L2xpPjxsaT5EZWF0aHM6ICAgMDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfN2QwNTAyMmZhMTFhNGJiYmI2ZWY0MmExOTgyZTMyZDYgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFszNS43NDUyLCA5NS45OTU2XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDExMDAwMC4wMDAwMDAwMDAwMSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzdkMDUwMjJmYTExYTRiYmJiNmVmNDJhMTk4MmUzMmQ2LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkNoaW5hPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPlFpbmdoYWk8L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDE4PC9saT48bGk+RGVhdGhzOiAgIDA8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2EyNmRmYWFiM2RhODRjY2Q4YjM1NWQ5ODc3MTA5M2Q2ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMzUuMTkxNywgMTA4Ljg3MDFdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9hMjZkZmFhYjNkYTg0Y2NkOGIzNTVkOTg3NzEwOTNkNi5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5DaGluYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5TaGFhbnhpPC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAyNTU8L2xpPjxsaT5EZWF0aHM6ICAgMzwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDEuMTc8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzFhYTZmNjVlOGY1NzRjYzZiMWI5MmIyOWE3YzBmNzcwID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMzYuMzQyNywgMTE4LjE0OThdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMzEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV8xYWE2ZjY1ZThmNTc0Y2M2YjFiOTJiMjlhN2MwZjc3MC5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5DaGluYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5TaGFuZG9uZzwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNzc0PC9saT48bGk+RGVhdGhzOiAgIDc8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjk8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzBlMGMzZGVkZTRmMTQ4MDU4N2M4ZGMxZmM5YTIyZDg4ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMzEuMjAyLCAxMjEuNDQ5MV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAzMTAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzBlMGMzZGVkZTRmMTQ4MDU4N2M4ZGMxZmM5YTIyZDg4LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkNoaW5hPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPlNoYW5naGFpPC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA1MTY8L2xpPjxsaT5EZWF0aHM6ICAgNjwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDEuMTY8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzdmODc3ZWYxYjgyMzRjZjI5ODU4YmQ0ZDFhZGViNDU1ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMzcuNTc3NywgMTEyLjI5MjJdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV83Zjg3N2VmMWI4MjM0Y2YyOTg1OGJkNGQxYWRlYjQ1NS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5DaGluYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5TaGFueGk8L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDEzNzwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9kNzVjMzg4ZmI2ODU0YzU0ODhhZTVkNDhkOGE0NjQ0OSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzMwLjYxNzEsIDEwMi43MTAzXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDMxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfZDc1YzM4OGZiNjg1NGM1NDg4YWU1ZDQ4ZDhhNDY0NDkuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+Q2hpbmE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+U2ljaHVhbjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNTUyPC9saT48bGk+RGVhdGhzOiAgIDM8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjU0PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV8zNGI5MWY5NjAxMzA0MTY5OTk2MmY5NWUzMDk3MWUyZCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzM5LjMwNTQsIDExNy4zMjNdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV8zNGI5MWY5NjAxMzA0MTY5OTk2MmY5NWUzMDk3MWUyZC5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5DaGluYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5UaWFuamluPC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAxNzY8L2xpPjxsaT5EZWF0aHM6ICAgMzwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDEuNjk8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2IyODIyYWY1ZDdjZjRhZWY5NWNlZjVhY2I1NDRlY2ZjID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMzEuNjkyNywgODguMDkyNF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfYjI4MjJhZjVkN2NmNGFlZjk1Y2VmNWFjYjU0NGVjZmMuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+Q2hpbmE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+VGliZXQ8L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDE8L2xpPjxsaT5EZWF0aHM6ICAgMDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfMjE4MzgzMmE5MDEzNGU5Y2FmOWQ2Yjg4OGQ5ZTY1NDkgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs0MS4xMTI5LCA4NS4yNDAxXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDIxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfMjE4MzgzMmE5MDEzNGU5Y2FmOWQ2Yjg4OGQ5ZTY1NDkuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+Q2hpbmE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+WGluamlhbmc8L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDc2PC9saT48bGk+RGVhdGhzOiAgIDM8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAzLjk8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2EzNzA3NjQzYWVmOTQ1OGI5N2M3YjAzOTc4ODBlNTlhID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMjQuOTc0LCAxMDEuNDg3XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDI2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfYTM3MDc2NDNhZWY5NDU4Yjk3YzdiMDM5Nzg4MGU1OWEuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+Q2hpbmE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+WXVubmFuPC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAxODI8L2xpPjxsaT5EZWF0aHM6ICAgMjwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDEuMDk8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzc2ZGIwNjA5N2IwMDQ3MzA5NGVjZDljNjdkMzE3MmZlID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMjkuMTgzMiwgMTIwLjA5MzRdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMzYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV83NmRiMDYwOTdiMDA0NzMwOTRlY2Q5YzY3ZDMxNzJmZS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5DaGluYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5aaGVqaWFuZzwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTI1NzwvbGk+PGxpPkRlYXRoczogICAxPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wODwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfMTFlZTQ0YWRmNWZhNDZhOTk1OWJkZTU4MDQ5NmNjMGMgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs0LjU3MDksIC03NC4yOTczXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDMxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfMTFlZTQ0YWRmNWZhNDZhOTk1OWJkZTU4MDQ5NmNjMGMuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+Q29sb21iaWE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAxMDY1PC9saT48bGk+RGVhdGhzOiAgIDE3PC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMS41OTwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfY2U0YzE2MTY3YmUzNGQ1Nzk3OWJmM2ZiMTAyYThmOTIgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFstNC4wMzgzLCAyMS43NTg3XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDExMDAwMC4wMDAwMDAwMDAwMSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2NlNGMxNjE2N2JlMzRkNTc5NzliZjNmYjEwMmE4ZjkyLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPlJlcHVibGljIG9mIHRoZSBDb25nbzwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDE5PC9saT48bGk+RGVhdGhzOiAgIDA8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzIyYWYyOGE5M2EzMzRmZjRhYjE3YjI5ODQzMjIzN2RlID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbLTQuMDM4MywgMjEuNzU4N10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyMTAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzIyYWYyOGE5M2EzMzRmZjRhYjE3YjI5ODQzMjIzN2RlLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkRlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlIENvbmdvPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTA5PC9saT48bGk+RGVhdGhzOiAgIDk8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICA4LjE4PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9lOGMzOGNhMjE5ZTU0NjJiYmRkMmY1NjcyYmU4YmI4ZiA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzkuNzQ4OSwgLTgzLjc1MzRdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9lOGMzOGNhMjE5ZTU0NjJiYmRkMmY1NjcyYmU4YmI4Zi5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5Db3N0YSBSaWNhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMzc1PC9saT48bGk+RGVhdGhzOiAgIDI8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjUzPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV8wNmJiYjcyMjFlMmY0NGVmOGUyN2E3YmQ0M2M4NWRlYiA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzcuNTQsIC01LjU0NzFdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV8wNmJiYjcyMjFlMmY0NGVmOGUyN2E3YmQ0M2M4NWRlYi5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5Dw7R0ZSBkJ0l2b2lyZTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDE5MDwvbGk+PGxpPkRlYXRoczogICAxPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC41MjwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfMmI0Y2EzMjVmMjQ3NDFjYjk5MmY0ZGJiYTA3YWI1ZjcgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs0NS4xLCAxNS4yXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDMxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfMmI0Y2EzMjVmMjQ3NDFjYjk5MmY0ZGJiYTA3YWI1ZjcuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+Q3JvYXRpYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDk2MzwvbGk+PGxpPkRlYXRoczogICA2PC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC42MjwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfNzcwNzllMjQxMmMwNDYzZDk2ODg4NDAxNGU5ZjdlZWYgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFswLjAsIDAuMF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAzMTAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzc3MDc5ZTI0MTJjMDQ2M2Q5Njg4ODQwMTRlOWY3ZWVmLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkRpYW1vbmQgUHJpbmNlc3M8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA3MTI8L2xpPjxsaT5EZWF0aHM6ICAgMTE8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAxLjU0PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV83MDZjNmUxOWRhNzQ0MDc2YThmZTBjMDBkNmZkYTUwOCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzIyLjAsIC04MC4wXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDI2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfNzA2YzZlMTlkYTc0NDA3NmE4ZmUwYzAwZDZmZGE1MDguYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+Q3ViYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDIxMjwvbGk+PGxpPkRlYXRoczogICA2PC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMi44MjwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfOTYxYzk5MTI5NGI1NGJhZGFiZDc3YTBiYzhjNTMwOWQgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFszNS4xMjY0LCAzMy40Mjk5XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDI2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfOTYxYzk5MTI5NGI1NGJhZGFiZDc3YTBiYzhjNTMwOWQuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+Q3lwcnVzPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMzIwPC9saT48bGk+RGVhdGhzOiAgIDk8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAyLjg8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzkxZmM1MjI2OTJlYjRkZWFiY2NiY2RiYTgyNzdiNDYxID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbNDkuODE3NSwgMTUuNDczXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDQwOTk5OS45OTk5OTk5OTk5NCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzkxZmM1MjI2OTJlYjRkZWFiY2NiY2RiYTgyNzdiNDYxLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkN6ZWNoaWE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAzNTA4PC9saT48bGk+RGVhdGhzOiAgIDM5PC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMS4xMTwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfNGJmNzQzYjkzNjZjNDdmZWFmNzdmMTdmZGY0ODdlODcgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs2MS44OTI2LCAtNi45MTE4XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDI2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfNGJmNzQzYjkzNjZjNDdmZWFmNzdmMTdmZGY0ODdlODcuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+RGVubWFyazwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5GYXJvZSBJc2xhbmRzPC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAxNzM8L2xpPjxsaT5EZWF0aHM6ICAgMDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfMzIyY2E4N2Y4MTU2NGU5NDk3ZTdmYzBmODBlMWI5ZDYgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs3MS43MDY5LCAtNDIuNjA0M10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxMTAwMDAuMDAwMDAwMDAwMDEsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV8zMjJjYTg3ZjgxNTY0ZTk0OTdlN2ZjMGY4MGUxYjlkNi5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5EZW5tYXJrPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkdyZWVubGFuZDwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTA8L2xpPjxsaT5EZWF0aHM6ICAgMDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfODczNmFiMjFmYWIxNGE3ZGIxYjMxNzA5MjUwMjk2MmUgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs1Ni4yNjM5LCA5LjUwMThdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNDA5OTk5Ljk5OTk5OTk5OTk0LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfODczNmFiMjFmYWIxNGE3ZGIxYjMxNzA5MjUwMjk2MmUuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+RGVubWFyazwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDMxMDc8L2xpPjxsaT5EZWF0aHM6ICAgMTA0PC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMy4zNTwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfOWM5ZGUwNzY3NDkxNDk4NmE0ZmE4MjNlMGQ3ODE1NWYgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFsxMS44MjUxLCA0Mi41OTAzXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDE2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfOWM5ZGUwNzY3NDkxNDk4NmE0ZmE4MjNlMGQ3ODE1NWYuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+RGppYm91dGk8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAzMzwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV8zZmJmMzhkMTI1NDg0M2I0YWNlMjk5NmEwMzQ1ZjZlNCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzE4LjczNTcsIC03MC4xNjI3XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDM2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfM2ZiZjM4ZDEyNTQ4NDNiNGFjZTI5OTZhMDM0NWY2ZTQuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+RG9taW5pY2FuIFJlcHVibGljPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTI4NDwvbGk+PGxpPkRlYXRoczogICA1NzwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDQuNDQ8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzY2YTc2ZjQzODIzNDQ0YjA5NjBhYjUxYjkwMGM4NWM2ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbLTEuODMxMiwgLTc4LjE4MzRdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMzYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV82NmE3NmY0MzgyMzQ0NGIwOTYwYWI1MWI5MDBjODVjNi5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5FY3VhZG9yPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMjc0ODwvbGk+PGxpPkRlYXRoczogICA5MzwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDMuMzg8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2Q2NDczMDY5YmM0ODRmNDY4OGYyOGI0ZWUyODRlNjEyID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMjYuMCwgMzAuMF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAzMTAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2Q2NDczMDY5YmM0ODRmNDY4OGYyOGI0ZWUyODRlNjEyLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkVneXB0PC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNzc5PC9saT48bGk+RGVhdGhzOiAgIDUyPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgNi42NzwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfNmVjNGM1MzQwMmU5NDYzZTlkNzMzYWRmM2ViNWVjMWIgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFsxMy43OTQyLCAtODguODk2NV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzZlYzRjNTM0MDJlOTQ2M2U5ZDczM2FkZjNlYjVlYzFiLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkVsIFNhbHZhZG9yPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMzI8L2xpPjxsaT5EZWF0aHM6ICAgMTwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDMuMDM8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2U2YjYxYzFhMjg0YTQyZWZiMzUyNzE4ZjdhMjFhMTYwID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMS41LCAxMC4wXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDExMDAwMC4wMDAwMDAwMDAwMSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2U2YjYxYzFhMjg0YTQyZWZiMzUyNzE4ZjdhMjFhMTYwLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkVxdWF0b3JpYWwgR3VpbmVhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTU8L2xpPjxsaT5EZWF0aHM6ICAgMDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfN2ZkNDZiZDI2YTBlNGE2Y2I3NjBhNjExYjU4YTQxNmIgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFsxNS4xNzk0LCAzOS43ODIzXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDExMDAwMC4wMDAwMDAwMDAwMSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzdmZDQ2YmQyNmEwZTRhNmNiNzYwYTYxMWI1OGE0MTZiLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkVyaXRyZWE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAxNTwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV84ZWRhMTI1NDJlOTk0ZTBhOTc4YWU5MTkwMTYwOTM5NCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzU4LjU5NTMsIDI1LjAxMzZdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMzEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV84ZWRhMTI1NDJlOTk0ZTBhOTc4YWU5MTkwMTYwOTM5NC5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5Fc3RvbmlhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNzc5PC9saT48bGk+RGVhdGhzOiAgIDU8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjY0PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9hYTFlYzgxMDBlZjc0NDg5YThiMzFlOGJhOTljYzM5MiA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWy0yNi41MjI1LCAzMS40NjU5XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDExMDAwMC4wMDAwMDAwMDAwMSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2FhMWVjODEwMGVmNzQ0ODlhOGIzMWU4YmE5OWNjMzkyLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkVzd2F0aW5pPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogOTwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV80YzRlZDU4NzI0Yzg0NmIwOWJjOTk1Y2E1ZDEzYzBhYyA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzkuMTQ1LCA0MC40ODk3XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDE2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfNGM0ZWQ1ODcyNGM4NDZiMDliYzk5NWNhNWQxM2MwYWMuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+RXRoaW9waWE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAyOTwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9mNDk1YTg1YWRhZmM0NThjODY0YWE4NWM1ZTkxNGNhNCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWy0xNy43MTM0LCAxNzguMDY1XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9mNDk1YTg1YWRhZmM0NThjODY0YWE4NWM1ZTkxNGNhNC5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5GaWppPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNTwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9hZmU0YTk0YmI4MDc0ODc2OTQ0NTc0Y2E1Nzk1ZDQxZSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzY0LjAsIDI2LjBdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMzYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9hZmU0YTk0YmI4MDc0ODc2OTQ0NTc0Y2E1Nzk1ZDQxZS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5GaW5sYW5kPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTQ0NjwvbGk+PGxpPkRlYXRoczogICAxNzwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDEuMTc8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzZmZDU1NGE3MzY2YTQ1ODU5ZDEwNGEwMDgyNmQ5YzI0ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMy45MzM5LCAtNTMuMTI1OF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzZmZDU1NGE3MzY2YTQ1ODU5ZDEwNGEwMDgyNmQ5YzI0LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkZyYW5jZTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5GcmVuY2ggR3VpYW5hPC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA1MTwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9kMWZmMTA0Mzk3NTY0OTMzYmNmZDY3OGQ3ZjUwMWQ5ZSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWy0xNy42Nzk3LCAxNDkuNDA2OF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2QxZmYxMDQzOTc1NjQ5MzNiY2ZkNjc4ZDdmNTAxZDllLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkZyYW5jZTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5GcmVuY2ggUG9seW5lc2lhPC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAzNzwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV83MzExNzlmMzgwMDE0N2E1YTkzMGMwN2VjMzRkYjNmNyA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzE2LjI1LCAtNjEuNTgzM10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyMTAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzczMTE3OWYzODAwMTQ3YTVhOTMwYzA3ZWMzNGRiM2Y3LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkZyYW5jZTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5HdWFkZWxvdXBlPC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAxMjU8L2xpPjxsaT5EZWF0aHM6ICAgNjwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDQuNzY8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2E3MjQyNDk4YWYwZDQxZWQ5YzBhOThhNGQ1N2VmZWFlID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbLTEyLjgyNzUsIDQ1LjE2NjJdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9hNzI0MjQ5OGFmMGQ0MWVkOWMwYTk4YTRkNTdlZmVhZS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5GcmFuY2U8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+TWF5b3R0ZTwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogOTQ8L2xpPjxsaT5EZWF0aHM6ICAgMTwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDEuMDU8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2I0NWQ2YmMxOTFjYjQwMjA5MDY4NWQwODBmY2U4ZTE3ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbLTIwLjkwNDMsIDE2NS42MThdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMTEwMDAwLjAwMDAwMDAwMDAxLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfYjQ1ZDZiYzE5MWNiNDAyMDkwNjg1ZDA4MGZjZThlMTcuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+RnJhbmNlPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPk5ldyBDYWxlZG9uaWE8L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDE2PC9saT48bGk+RGVhdGhzOiAgIDA8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzQ1YjY2Zjk5MzhlNzQ5OWU5MTFhZTQ0MjNhMTk2NDZlID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbLTIxLjEzNTEsIDU1LjI0NzFdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV80NWI2NmY5OTM4ZTc0OTllOTExYWU0NDIzYTE5NjQ2ZS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5GcmFuY2U8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+UmV1bmlvbjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMjgxPC9saT48bGk+RGVhdGhzOiAgIDA8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2U3ODNjZWUzMmQ4YTRmNzU4MmJlMWJiZmY5YzU1YWJlID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMTcuOSwgLTYyLjgzMzNdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2U3ODNjZWUzMmQ4YTRmNzU4MmJlMWJiZmY5YzU1YWJlLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkZyYW5jZTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5TYWludCBCYXJ0aGVsZW15PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA2PC9saT48bGk+RGVhdGhzOiAgIDA8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2NiYzIwNjg3YjM4ZjQzODlhOGI3MzgzNDEwMmJjYmExID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMTguMDcwOCwgLTYzLjA1MDFdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMTEwMDAwLjAwMDAwMDAwMDAxLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfY2JjMjA2ODdiMzhmNDM4OWE4YjczODM0MTAyYmNiYTEuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+RnJhbmNlPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPlN0IE1hcnRpbjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTU8L2xpPjxsaT5EZWF0aHM6ICAgMTwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDYuMjU8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzI0NjNmNGJkNjE1MTQ2YTVhYjc5ZGE0NjU2YzFlZTcyID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMTQuNjQxNSwgLTYxLjAyNDJdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV8yNDYzZjRiZDYxNTE0NmE1YWI3OWRhNDY1NmMxZWU3Mi5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5GcmFuY2U8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+TWFydGluaXF1ZTwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTM1PC9saT48bGk+RGVhdGhzOiAgIDM8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAyLjIxPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV8zNTljY2RkNzM2OTk0NWY5OGUwZDFhMmIyYTQ4NGNlYyA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzQ2LjIyNzYsIDIuMjEzN10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1MDk5OTkuOTk5OTk5OTk5OTQsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV8zNTljY2RkNzM2OTk0NWY5OGUwZDFhMmIyYTQ4NGNlYy5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5GcmFuY2U8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA1Njk4OTwvbGk+PGxpPkRlYXRoczogICA0MDMyPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgNy4wNzwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfZTZkYzdlNjliOGQ4NDJlMWIzNzY4YzVlMzA1ZmMwNTAgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFstMC44MDM3LCAxMS42MDk0XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDExMDAwMC4wMDAwMDAwMDAwMSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2U2ZGM3ZTY5YjhkODQyZTFiMzc2OGM1ZTMwNWZjMDUwLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkdhYm9uPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTg8L2xpPjxsaT5EZWF0aHM6ICAgMTwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDUuMjY8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2ZhNDI3YzExZTk4ZjRmMTg5ZDFlODNkYzRjYzUxOTkxID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMTMuNDQzMiwgLTE1LjMxMDFdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2ZhNDI3YzExZTk4ZjRmMTg5ZDFlODNkYzRjYzUxOTkxLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkdhbWJpYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDQ8L2xpPjxsaT5EZWF0aHM6ICAgMTwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDIwLjA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzcwNzAwZDZhNGUyNjRhMDFiN2Y3MDA2YmMyZTk5NmJhID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbNDIuMzE1NCwgNDMuMzU2OV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyMTAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzcwNzAwZDZhNGUyNjRhMDFiN2Y3MDA2YmMyZTk5NmJhLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkdlb3JnaWE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAxMTc8L2xpPjxsaT5EZWF0aHM6ICAgMDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfMTViYWRhZTU4MzY1NDE2NGJhNjhkMTI1NjA3NzZlMDUgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs1MS4wLCA5LjBdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNTYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV8xNWJhZGFlNTgzNjU0MTY0YmE2OGQxMjU2MDc3NmUwNS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5HZXJtYW55PC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNzc4NzI8L2xpPjxsaT5EZWF0aHM6ICAgOTIwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMS4xODwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfMWY1MDY2YTVlNmNhNDNmNmIyOGJmNTg4OWJiMWJlYmIgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs3Ljk0NjUsIC0xLjAyMzJdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV8xZjUwNjZhNWU2Y2E0M2Y2YjI4YmY1ODg5YmIxYmViYi5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5HaGFuYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDE5NTwvbGk+PGxpPkRlYXRoczogICA1PC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMi41NTwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfOWMyNDc4ZWYwNGQ0NDg2MWE2ZWU3OTVmZWJlNzI4YWEgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFszOS4wNzQyLCAyMS44MjQzXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDM2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfOWMyNDc4ZWYwNGQ0NDg2MWE2ZWU3OTVmZWJlNzI4YWEuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+R3JlZWNlPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTQxNTwvbGk+PGxpPkRlYXRoczogICA1MDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDMuNTM8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzc5YmNjZmU1ODE5ODQwMjFiNTMwMzRkMDNmM2JhZTVjID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMTUuNzgzNSwgLTkwLjIzMDhdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMTYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV83OWJjY2ZlNTgxOTg0MDIxYjUzMDM0ZDAzZjNiYWU1Yy5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5HdWF0ZW1hbGE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAzOTwvbGk+PGxpPkRlYXRoczogICAxPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMi41PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV83ODkyYzIxN2YyMDI0MmJlYjNiMDdkMzEyZmJjNjE3NCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzkuOTQ1NiwgLTkuNjk2Nl0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzc4OTJjMjE3ZjIwMjQyYmViM2IwN2QzMTJmYmM2MTc0LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkd1aW5lYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDMwPC9saT48bGk+RGVhdGhzOiAgIDA8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2YxMGYzNDExZTMwZTQwZGNhODQwOTUyZWNkZjRmYjQyID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbNS4wLCAtNTguNzVdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMTEwMDAwLjAwMDAwMDAwMDAxLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfZjEwZjM0MTFlMzBlNDBkY2E4NDA5NTJlY2RmNGZiNDIuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+R3V5YW5hPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTk8L2xpPjxsaT5EZWF0aHM6ICAgMjwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDEwLjA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzcyMDBkYzE5YjIwNzQ4ZWQ5NGNkOWQxYmJkMGNmMDJkID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMTguOTcxMiwgLTcyLjI4NTJdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMTEwMDAwLjAwMDAwMDAwMDAxLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfNzIwMGRjMTliMjA3NDhlZDk0Y2Q5ZDFiYmQwY2YwMmQuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+SGFpdGk8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAxNjwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV8xMDAzZmEyMzQ2OTk0OWIxYTljNmI4MjZhYzc2YTNlZSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzQxLjkwMjksIDEyLjQ1MzRdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzEwMDNmYTIzNDY5OTQ5YjFhOWM2YjgyNmFjNzZhM2VlLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkhvbHkgU2VlPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNjwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV84MThkYzQ3OGUwYzE0OTRmYWU0MWQ3MmE1NmQ5YjVmYiA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzE1LjIsIC04Ni4yNDE5XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDI2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfODE4ZGM0NzhlMGMxNDk0ZmFlNDFkNzJhNTZkOWI1ZmIuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+SG9uZHVyYXM8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAxNzI8L2xpPjxsaT5EZWF0aHM6ICAgMTA8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICA1Ljc4PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9kYTRlNmZkYzQ2YTQ0Y2ZlOGIyOGY3OGQ2NjlkYzFjZiA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzQ3LjE2MjUsIDE5LjUwMzNdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMzEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9kYTRlNmZkYzQ2YTQ0Y2ZlOGIyOGY3OGQ2NjlkYzFjZi5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5IdW5nYXJ5PC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNTI1PC9saT48bGk+RGVhdGhzOiAgIDIwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMy44PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9kNTIyZThlNTM0MzQ0NTc3OTJjZGQ4NTZmZjc5ZjExNCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzY0Ljk2MzEsIC0xOS4wMjA4XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDM2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfZDUyMmU4ZTUzNDM0NDU3NzkyY2RkODU2ZmY3OWYxMTQuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+SWNlbGFuZDwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDEyMjA8L2xpPjxsaT5EZWF0aHM6ICAgMjwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMTY8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2VhOTkzODE5ZTlhZjRiYTBiNjI5YWIzNDdkZWQ5YzllID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMjEuMCwgNzguMF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAzNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2VhOTkzODE5ZTlhZjRiYTBiNjI5YWIzNDdkZWQ5YzllLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkluZGlhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTk5ODwvbGk+PGxpPkRlYXRoczogICA1ODwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDIuOTwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfZDYxN2NkYTNlY2Y3NDA1MjkzOGFlMzdiOTE4N2MwZjkgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFstMC43ODkzLCAxMTMuOTIxM10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAzNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2Q2MTdjZGEzZWNmNzQwNTI5MzhhZTM3YjkxODdjMGY5LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkluZG9uZXNpYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDE2Nzc8L2xpPjxsaT5EZWF0aHM6ICAgMTU3PC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgOS4zNjwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfMjg4YTgzYTc2OWQwNDdkM2EzOGJhZDI0MTdkNDA4NTcgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFszMi4wLCA1My4wXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUwOTk5OS45OTk5OTk5OTk5NCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzI4OGE4M2E3NjlkMDQ3ZDNhMzhiYWQyNDE3ZDQwODU3LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPklyYW48L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA0NzU5MzwvbGk+PGxpPkRlYXRoczogICAzMDM2PC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgNi4zODwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfYzQzYjYwNjFkZWNjNDhjYmIyMTJiOTk3MjVhMTU2NzAgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFszMy4wLCA0NC4wXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDMxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfYzQzYjYwNjFkZWNjNDhjYmIyMTJiOTk3MjVhMTU2NzAuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+SXJhcTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDcyODwvbGk+PGxpPkRlYXRoczogICA1MjwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDcuMTM8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2QyODBjNWZhYmExNzRkY2ZiMDdjZTdjMzU2MmVlNzI5ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbNTMuMTQyNCwgLTcuNjkyMV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA0MDk5OTkuOTk5OTk5OTk5OTQsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9kMjgwYzVmYWJhMTc0ZGNmYjA3Y2U3YzM1NjJlZTcyOS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5JcmVsYW5kPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMzQ0NzwvbGk+PGxpPkRlYXRoczogICA4NTwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDIuNDc8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzViMjM0NGI2Zjg2ZjQ0NjVhYWM5NzNjNWFlMWU0OWNlID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMzEuMCwgMzUuMF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA0MDk5OTkuOTk5OTk5OTk5OTQsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV81YjIzNDRiNmY4NmY0NDY1YWFjOTczYzVhZTFlNDljZS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5Jc3JhZWw8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA2MDkyPC9saT48bGk+RGVhdGhzOiAgIDI2PC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC40MzwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfODViNDRjNTBmZDZlNGY0N2E4YjA0NTI5YjlmMGIzNzggPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs0My4wLCAxMi4wXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDU2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfODViNDRjNTBmZDZlNGY0N2E4YjA0NTI5YjlmMGIzNzguYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+SXRhbHk8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAxMTA1NzQ8L2xpPjxsaT5EZWF0aHM6ICAgMTMxNTU8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAxMS45PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9mYzc3MTdmOTQwNjM0N2I0YWViNWZlZWI1NjdkY2E4ZSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzE4LjEwOTYsIC03Ny4yOTc1XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDE2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfZmM3NzE3Zjk0MDYzNDdiNGFlYjVmZWViNTY3ZGNhOGUuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+SmFtYWljYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDQ0PC9saT48bGk+RGVhdGhzOiAgIDM8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICA2LjY3PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV82NWMwNDJjYzE0NmY0Y2Q4OTI0YmI4ODM1MmM5OTQ4OSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzM2LjAsIDEzOC4wXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDM2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfNjVjMDQyY2MxNDZmNGNkODkyNGJiODgzNTJjOTk0ODkuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+SmFwYW48L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAyMTc4PC9saT48bGk+RGVhdGhzOiAgIDU3PC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMi42MjwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfOTVkMTRhMDYwMjhkNGNkOTk2NzViMDZhZjIxNjE3ZDEgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFszMS4yNCwgMzYuNTFdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV85NWQxNGEwNjAyOGQ0Y2Q5OTY3NWIwNmFmMjE2MTdkMS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5Kb3JkYW48L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAyNzg8L2xpPjxsaT5EZWF0aHM6ICAgNTwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDEuNzk8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2VkNDg0NTQxMWUxZTRjYzRhMmRkMmVlODJjYjQwMDI2ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbNDguMDE5NiwgNjYuOTIzN10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2VkNDg0NTQxMWUxZTRjYzRhMmRkMmVlODJjYjQwMDI2LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkthemFraHN0YW48L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAzODA8L2xpPjxsaT5EZWF0aHM6ICAgMzwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuNzk8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzM1NTY1NGU1NTNiNjQ1NjdhN2QyNjkwMTVkZmY0ZGNlID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbLTAuMDIzNiwgMzcuOTA2Ml0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyMTAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzM1NTY1NGU1NTNiNjQ1NjdhN2QyNjkwMTVkZmY0ZGNlLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPktlbnlhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogODE8L2xpPjxsaT5EZWF0aHM6ICAgMTwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDEuMjI8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzY5ODhjM2YyODQyOTRiNzk4ZDM3MDQwMDhmYjM1YWJkID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMzYuMCwgMTI4LjBdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNDU5OTk5Ljk5OTk5OTk5OTk0LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfNjk4OGMzZjI4NDI5NGI3OThkMzcwNDAwOGZiMzVhYmQuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+U291dGggS29yZWE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA5ODg3PC9saT48bGk+RGVhdGhzOiAgIDE2NTwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDEuNjc8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2Q1ODA2MWRiYTliZTRlMDY5Yzg5MDM1NDEzYjE3NzEyID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMjkuNSwgNDcuNzVdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9kNTgwNjFkYmE5YmU0ZTA2OWM4OTAzNTQxM2IxNzcxMi5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5LdXdhaXQ8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAzMTc8L2xpPjxsaT5EZWF0aHM6ICAgMDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfNzAwNGQ1NzlkN2I1NDg0ZjhiNWJkYjczZWUyOWNmOTIgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs0MS4yMDQ0LCA3NC43NjYxXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDIxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfNzAwNGQ1NzlkN2I1NDg0ZjhiNWJkYjczZWUyOWNmOTIuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+S3lyZ3l6c3RhbjwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDExMTwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9jYzc1MzQ4YTg4MjE0MWM4YWE4NTlhM2ZiZmE4OGE1MCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzU2Ljg3OTYsIDI0LjYwMzJdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMzEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9jYzc1MzQ4YTg4MjE0MWM4YWE4NTlhM2ZiZmE4OGE1MC5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5MYXR2aWE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA0NDY8L2xpPjxsaT5EZWF0aHM6ICAgMDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfNjJlZWIxZmJhMTlmNDU1N2I2ZmNkZjBmZWU4OTZkOTcgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFszMy44NTQ3LCAzNS44NjIzXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDMxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfNjJlZWIxZmJhMTlmNDU1N2I2ZmNkZjBmZWU4OTZkOTcuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+TGViYW5vbjwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDQ3OTwvbGk+PGxpPkRlYXRoczogICAxNDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDIuOTI8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzI1MzY2ZDE5NTYyNTQ1NDZiZmIzZDQ4NzM2MmIwNTcwID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbNi40MjgxLCAtOS40Mjk1XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV8yNTM2NmQxOTU2MjU0NTQ2YmZiM2Q0ODczNjJiMDU3MC5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5MaWJlcmlhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNjwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV80ZDIyYmJhNTE2Mjg0NDNjYjkzZDU5NmU5MTg1ZGRkNCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzQ3LjE0LCA5LjU1XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDIxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfNGQyMmJiYTUxNjI4NDQzY2I5M2Q1OTZlOTE4NWRkZDQuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+TGllY2h0ZW5zdGVpbjwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDY4PC9saT48bGk+RGVhdGhzOiAgIDA8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzYzNzIyZjc5NGU2YTRkM2Y4Mzc2ZmU3ZWZkYTg2ODc3ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbNTUuMTY5NCwgMjMuODgxM10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAzMTAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzYzNzIyZjc5NGU2YTRkM2Y4Mzc2ZmU3ZWZkYTg2ODc3LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkxpdGh1YW5pYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDU4MTwvbGk+PGxpPkRlYXRoczogICA4PC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMS4zNzwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfMTlhOTIxY2I1Yjc5NDVlYzk2ZWY2YTI4OWY4NjRlZTIgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs0OS44MTUzLCA2LjEyOTZdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMzYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV8xOWE5MjFjYjViNzk0NWVjOTZlZjZhMjg5Zjg2NGVlMi5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5MdXhlbWJvdXJnPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMjMxOTwvbGk+PGxpPkRlYXRoczogICAyOTwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDEuMjU8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzA4NzEyZWJjNTcwOTRmNDM4ZDJiNTZlZTIxYmZlY2YxID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbLTE4Ljc2NjksIDQ2Ljg2OTFdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV8wODcxMmViYzU3MDk0ZjQzOGQyYjU2ZWUyMWJmZWNmMS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5NYWRhZ2FzY2FyPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNTc8L2xpPjxsaT5EZWF0aHM6ICAgMDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfMDRlODI3N2M0N2VhNDk0Mjg3NGQyOWJlOGU3NDUxMzQgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFsyLjUsIDExMi41XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDM2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfMDRlODI3N2M0N2VhNDk0Mjg3NGQyOWJlOGU3NDUxMzQuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+TWFsYXlzaWE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAyOTA4PC9saT48bGk+RGVhdGhzOiAgIDQ1PC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMS41NTwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfMmM3MTYzMmMwMTA1NGEwNjkzMWMyZGY5MGNjOTA3N2YgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFszLjIwMjgsIDczLjIyMDddLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMTEwMDAwLjAwMDAwMDAwMDAxLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfMmM3MTYzMmMwMTA1NGEwNjkzMWMyZGY5MGNjOTA3N2YuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+TWFsZGl2ZXM8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAxOTwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV8yOWRiODk4ZmYyZTU0NjcxYjM0MTYwYWI3ZThiYWQ0NyA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzM1LjkzNzUsIDE0LjM3NTRdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV8yOWRiODk4ZmYyZTU0NjcxYjM0MTYwYWI3ZThiYWQ0Ny5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5NYWx0YTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDE4ODwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9kNjk3ZWUxYThkZTE0OGIxYmY5MWExZjYxMjlmMWVlMyA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzIxLjAwNzksIDEwLjk0MDhdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2Q2OTdlZTFhOGRlMTQ4YjFiZjkxYTFmNjEyOWYxZWUzLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPk1hdXJpdGFuaWE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA2PC9saT48bGk+RGVhdGhzOiAgIDE8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAxNC4yOTwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfOGMwM2FkZjg4YjlmNDhkZDljMjgzNDAxNTlhZTAzMmEgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFstMjAuMiwgNTcuNV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzhjMDNhZGY4OGI5ZjQ4ZGQ5YzI4MzQwMTU5YWUwMzJhLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPk1hdXJpdGl1czwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDE2MTwvbGk+PGxpPkRlYXRoczogICA2PC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMy43PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV8zOGJiYWM2Mjk5MDE0MGI0OTQ0ZjQ2NTM4ZGYyN2Q1YSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzIzLjYzNDUsIC0xMDIuNTUyOF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAzNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzM4YmJhYzYyOTkwMTQwYjQ5NDRmNDY1MzhkZjI3ZDVhLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPk1leGljbzwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDEyMTU8L2xpPjxsaT5EZWF0aHM6ICAgMjk8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAyLjM4PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9hZGJiZjBmOWM2YmI0YWRjOGE2MzU5NmM3NGU1ODY3OSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzQ3LjQxMTYsIDI4LjM2OTldLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMzEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9hZGJiZjBmOWM2YmI0YWRjOGE2MzU5NmM3NGU1ODY3OS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5Nb2xkb3ZhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNDIzPC9saT48bGk+RGVhdGhzOiAgIDU8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAxLjE4PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV83ODdkOGRiZDVkMjE0MzlhOTM0MzRlN2JjZGU0YzQzZSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzQzLjczMzMsIDcuNDE2N10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyMTAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzc4N2Q4ZGJkNWQyMTQzOWE5MzQzNGU3YmNkZTRjNDNlLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPk1vbmFjbzwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDU1PC9saT48bGk+RGVhdGhzOiAgIDE8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAxLjc5PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV8zNjE1NDBjOGEwZDg0NWM5YWE4ZWNjNjRkNzcyYjNkYiA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzQ2Ljg2MjUsIDEwMy44NDY3XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDExMDAwMC4wMDAwMDAwMDAwMSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzM2MTU0MGM4YTBkODQ1YzlhYThlY2M2NGQ3NzJiM2RiLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPk1vbmdvbGlhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTQ8L2xpPjxsaT5EZWF0aHM6ICAgMDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfM2FmZmRmNTM2ZWUxNGY1NDk4YzE5Y2I3ODYyN2FhODMgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs0Mi41LCAxOS4zXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDIxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfM2FmZmRmNTM2ZWUxNGY1NDk4YzE5Y2I3ODYyN2FhODMuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+TW9udGVuZWdybzwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDEyMzwvbGk+PGxpPkRlYXRoczogICAyPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMS42MTwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfZGQ4YjEzNjg4ZGM1NDIzNmJjMmNhNTg4ODBjOWNkOWYgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFszMS43OTE3LCAtNy4wOTI2XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDMxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfZGQ4YjEzNjg4ZGM1NDIzNmJjMmNhNTg4ODBjOWNkOWYuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+TW9yb2NjbzwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDY1NDwvbGk+PGxpPkRlYXRoczogICAzOTwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDUuOTU8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2VmMDYzZmU4YTZmYTQ1ZWU5MTY3MDZhMTI1ZjFlZTg0ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbLTIyLjk1NzYsIDE4LjQ5MDRdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMTEwMDAwLjAwMDAwMDAwMDAxLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfZWYwNjNmZThhNmZhNDVlZTkxNjcwNmExMjVmMWVlODQuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+TmFtaWJpYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDE0PC9saT48bGk+RGVhdGhzOiAgIDA8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2E1NTk2ZDAxYjMxYjQ4OGJhYzZhZjRlNjBlOWI4MjI5ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMjguMTY2NywgODQuMjVdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2E1NTk2ZDAxYjMxYjQ4OGJhYzZhZjRlNjBlOWI4MjI5LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPk5lcGFsPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNTwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV84ZjQ3NWIzNjVkYjY0NmRmYWYzYTI1OTliYTI5MjM1ZCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzEyLjUxODYsIC03MC4wMzU4XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDIxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfOGY0NzViMzY1ZGI2NDZkZmFmM2EyNTk5YmEyOTIzNWQuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+TmV0aGVybGFuZHM8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+QXJ1YmE8L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDU1PC9saT48bGk+RGVhdGhzOiAgIDA8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2U5ZTQyNzJjZGFjZDRmNzE5NDM4OGRiZWMxY2VmNTk5ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMTIuMTY5NiwgLTY4Ljk5XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDExMDAwMC4wMDAwMDAwMDAwMSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2U5ZTQyNzJjZGFjZDRmNzE5NDM4OGRiZWMxY2VmNTk5LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPk5ldGhlcmxhbmRzPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkN1cmFjYW88L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDExPC9saT48bGk+RGVhdGhzOiAgIDE8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICA4LjMzPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV8zYjQxMDM2OTA0ZDI0ZWJkYWQ5OTdmYjE3MDJiMWQ3MSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzE4LjA0MjUsIC02My4wNTQ4XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDExMDAwMC4wMDAwMDAwMDAwMSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzNiNDEwMzY5MDRkMjRlYmRhZDk5N2ZiMTcwMmIxZDcxLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPk5ldGhlcmxhbmRzPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPlNpbnQgTWFhcnRlbjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTY8L2xpPjxsaT5EZWF0aHM6ICAgMTwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDUuODg8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzJjMDgxOWE1OWU2MzQ4YmViZDJhOGI2MmY3NDFlZDgyID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbNTIuMTMyNiwgNS4yOTEzXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDQ1OTk5OS45OTk5OTk5OTk5NCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzJjMDgxOWE1OWU2MzQ4YmViZDJhOGI2MmY3NDFlZDgyLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPk5ldGhlcmxhbmRzPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTM2MTQ8L2xpPjxsaT5EZWF0aHM6ICAgMTE3MzwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDguNjI8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzc3Nzk3NWNhYTgxZDQ2NDZhYWYxNWMxMzJjNDA5ZmQ0ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbLTQwLjkwMDYsIDE3NC44ODZdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMzEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV83Nzc5NzVjYWE4MWQ0NjQ2YWFmMTVjMTMyYzQwOWZkNC5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5OZXcgWmVhbGFuZDwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDcwODwvbGk+PGxpPkRlYXRoczogICAxPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4xNDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfNTIxZDA2NTIwM2RkNGQ0OTkxNTkzOGFjZDI1YWM3NzYgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFsxMi44NjU0LCAtODUuMjA3Ml0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfNTIxZDA2NTIwM2RkNGQ0OTkxNTkzOGFjZDI1YWM3NzYuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+TmljYXJhZ3VhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNTwvbGk+PGxpPkRlYXRoczogICAxPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMTYuNjc8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2FlOWZmMzc0YWY5MzRjZGQ5NTk1ODZmYzNhZmU0Y2Q2ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMTcuNjA3OCwgOC4wODE3XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDIxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfYWU5ZmYzNzRhZjkzNGNkZDk1OTU4NmZjM2FmZTRjZDYuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+TmlnZXI8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA3NDwvbGk+PGxpPkRlYXRoczogICA1PC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgNi42NzwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfMTAwOTlmZTkzZDI5NGIxY2E0NjAyMjhiYThhNGZlYmMgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs5LjA4MiwgOC42NzUzXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDI2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfMTAwOTlmZTkzZDI5NGIxY2E0NjAyMjhiYThhNGZlYmMuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+TmlnZXJpYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDE3NDwvbGk+PGxpPkRlYXRoczogICAyPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMS4xNDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfYjYyMTM2OTA0ZDkzNDM2ZDgxNjZmYWZlYTZiYmZhODggPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs0MS42MDg2LCAyMS43NDUzXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDI2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfYjYyMTM2OTA0ZDkzNDM2ZDgxNjZmYWZlYTZiYmZhODguYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+Tm9ydGggTWFjZWRvbmlhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMzU0PC9saT48bGk+RGVhdGhzOiAgIDExPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMy4xPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV8zMjVhNjhhZjI0Yzc0Y2E3YWE1YzM0MmI2YTRjZTJjZiA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzYwLjQ3MiwgOC40Njg5XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDQwOTk5OS45OTk5OTk5OTk5NCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzMyNWE2OGFmMjRjNzRjYTdhYTVjMzQyYjZhNGNlMmNmLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPk5vcndheTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDQ4NjM8L2xpPjxsaT5EZWF0aHM6ICAgNDQ8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjk8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzIzOTMzZTZjZDAxNzQ0ODdiODlmZTgxNDkxYjBlNTBkID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMjEuMCwgNTcuMF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzIzOTMzZTZjZDAxNzQ0ODdiODlmZTgxNDkxYjBlNTBkLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPk9tYW48L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAyMTA8L2xpPjxsaT5EZWF0aHM6ICAgMTwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuNDc8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzhmYzRiMTNhNzVkMDQxODdiNGY3MjgxMTM3NDA2OTA4ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMzAuMzc1MywgNjkuMzQ1MV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAzNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzhmYzRiMTNhNzVkMDQxODdiNGY3MjgxMTM3NDA2OTA4LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPlBha2lzdGFuPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMjExODwvbGk+PGxpPkRlYXRoczogICAyNzwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDEuMjc8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2RmNjBiMGUwYzQwZTQxNzZiNTFkNWNhZjhhZTFlNjU3ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbOC41MzgsIC04MC43ODIxXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDM2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfZGY2MGIwZTBjNDBlNDE3NmI1MWQ1Y2FmOGFlMWU2NTcuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+UGFuYW1hPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTE4MTwvbGk+PGxpPkRlYXRoczogICAzMDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDIuNTQ8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2QzMWY2YzY0MGI3NjRjMDg4NTBjZDM3YTNkNTQxODU4ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbLTYuMzE1LCAxNDMuOTU1NV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfZDMxZjZjNjQwYjc2NGMwODg1MGNkMzdhM2Q1NDE4NTguYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+UGFwdWEgTmV3IEd1aW5lYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDE8L2xpPjxsaT5EZWF0aHM6ICAgMDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfNWEzOGQzZDU5ZmMwNDk1NWJlYWJkMGExMjk5ZDQzMGEgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFstMjMuNDQyNSwgLTU4LjQ0MzhdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV81YTM4ZDNkNTlmYzA0OTU1YmVhYmQwYTEyOTlkNDMwYS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5QYXJhZ3VheTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDY5PC9saT48bGk+RGVhdGhzOiAgIDM8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICA0LjI5PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9lZDllMTU4ZDYwNzE0YzE3YmRmYmI0NmU2M2ZhNzY3MCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWy05LjE5LCAtNzUuMDE1Ml0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAzNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2VkOWUxNThkNjA3MTRjMTdiZGZiYjQ2ZTYzZmE3NjcwLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPlBlcnU8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAxMzIzPC9saT48bGk+RGVhdGhzOiAgIDM4PC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMi44NzwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfMmUxYmY4NzY3NDhmNDE4MjhjZWUxNTRlYzFhYTk5ZjEgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFsxMy4wLCAxMjIuMF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAzNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzJlMWJmODc2NzQ4ZjQxODI4Y2VlMTU0ZWMxYWE5OWYxLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPlBoaWxpcHBpbmVzPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMjMxMTwvbGk+PGxpPkRlYXRoczogICA5NjwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDQuMTU8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2MzZGEzYTUwMjUzNjQ2NTQ4YWUwODNhN2E2MDQxNzRlID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbNTEuOTE5NCwgMTkuMTQ1MV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAzNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2MzZGEzYTUwMjUzNjQ2NTQ4YWUwODNhN2E2MDQxNzRlLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPlBvbGFuZDwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDI1NTQ8L2xpPjxsaT5EZWF0aHM6ICAgNDM8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAxLjY4PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV83ODU3NzY5ZDRhYzc0OTg1YjA2NDUyNDllZjVkMDUzMSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzM5LjM5OTksIC04LjIyNDVdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNDU5OTk5Ljk5OTk5OTk5OTk0LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfNzg1Nzc2OWQ0YWM3NDk4NWIwNjQ1MjQ5ZWY1ZDA1MzEuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+UG9ydHVnYWw8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA4MjUxPC9saT48bGk+RGVhdGhzOiAgIDE4NzwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDIuMjc8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzA1NjlmMzBiZmQxZTRlMGZiNGVjMzk2OGIyMmY1ZTdmID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMjUuMzU0OCwgNTEuMTgzOV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAzMTAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzA1NjlmMzBiZmQxZTRlMGZiNGVjMzk2OGIyMmY1ZTdmLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPlFhdGFyPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogODM1PC9saT48bGk+RGVhdGhzOiAgIDI8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjI0PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9hYTFlMTAxMGZlNzk0ZWI4YmViNDJkOTk4MTkxYzNmMyA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzQ1Ljk0MzIsIDI0Ljk2NjhdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMzYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9hYTFlMTAxMGZlNzk0ZWI4YmViNDJkOTk4MTkxYzNmMy5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5Sb21hbmlhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMjQ2MDwvbGk+PGxpPkRlYXRoczogICA5MjwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDMuNzQ8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2VmYmUxY2YxZjAwOTQ4ODM5YTZkMzNiNzM4YjM4Mjk2ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbNjAuMCwgOTAuMF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAzNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2VmYmUxY2YxZjAwOTQ4ODM5YTZkMzNiNzM4YjM4Mjk2LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPlJ1c3NpYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDI3Nzc8L2xpPjxsaT5EZWF0aHM6ICAgMjQ8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjg2PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV82YTBjZTViMmViZjg0MjFjODcwNTU5NTliNzk5NmZjNCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWy0xLjk0MDMsIDI5Ljg3MzldLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV82YTBjZTViMmViZjg0MjFjODcwNTU5NTliNzk5NmZjNC5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5Sd2FuZGE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA4MjwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9mMmNmYjkyOGM1YjI0YmFkYmUyM2M2NjE5NWY1NmQyOCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzEzLjkwOTQsIC02MC45Nzg5XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDExMDAwMC4wMDAwMDAwMDAwMSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2YyY2ZiOTI4YzViMjRiYWRiZTIzYzY2MTk1ZjU2ZDI4LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPlNhaW50IEx1Y2lhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTM8L2xpPjxsaT5EZWF0aHM6ICAgMDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfNjBmNzBmYzE5NmU3NDE3Mzk2ZjMxNGY0MGM5ZjAwNzcgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFsxMi45ODQzLCAtNjEuMjg3Ml0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfNjBmNzBmYzE5NmU3NDE3Mzk2ZjMxNGY0MGM5ZjAwNzcuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+U2FpbnQgVmluY2VudCBhbmQgdGhlIEdyZW5hZGluZXM8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAxPC9saT48bGk+RGVhdGhzOiAgIDA8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2Y5OTAyYzZhOTgwYzQ4OWJiMWI3MmEwNDNlYWQwZTM2ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbNDMuOTQyNCwgMTIuNDU3OF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2Y5OTAyYzZhOTgwYzQ4OWJiMWI3MmEwNDNlYWQwZTM2LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPlNhbiBNYXJpbm88L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAyMzY8L2xpPjxsaT5EZWF0aHM6ICAgMjY8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAxMC45NzwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfZjEwNjU3YzFmZGNkNDVjY2IzY2JmOTJkYzg1OTRhMDcgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFsyNC4wLCA0NS4wXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDM2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfZjEwNjU3YzFmZGNkNDVjY2IzY2JmOTJkYzg1OTRhMDcuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+U2F1ZGkgQXJhYmlhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTcyMDwvbGk+PGxpPkRlYXRoczogICAxNjwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuOTM8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2UzZTkyMjkzOGQzMjQ4OWJhMWE2MWUwYWIzYjkzZjgwID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMTQuNDk3NCwgLTE0LjQ1MjRdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9lM2U5MjI5MzhkMzI0ODliYTFhNjFlMGFiM2I5M2Y4MC5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5TZW5lZ2FsPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTkwPC9saT48bGk+RGVhdGhzOiAgIDE8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjUyPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV80MjA0OWQxN2ZhMGI0NWE0OTI1NThjZDcxYTYxMzBhZSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzQ0LjAxNjUsIDIxLjAwNTldLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMzEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV80MjA0OWQxN2ZhMGI0NWE0OTI1NThjZDcxYTYxMzBhZS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5TZXJiaWE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAxMDYwPC9saT48bGk+RGVhdGhzOiAgIDI4PC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMi42NDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfZmQ1ZmVhNTkzZDQxNGY0ZWFhNDhhNDkwMWFmZDFhYzEgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFstNC42Nzk2LCA1NS40OTJdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMTEwMDAwLjAwMDAwMDAwMDAxLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfZmQ1ZmVhNTkzZDQxNGY0ZWFhNDhhNDkwMWFmZDFhYzEuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+U2V5Y2hlbGxlczwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDEwPC9saT48bGk+RGVhdGhzOiAgIDA8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzgxYjRmYzM2ZjBhOTRmYzhiYjQxYTUwOTYxZWMwOGJkID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMS4yODMzLCAxMDMuODMzM10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAzMTAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzgxYjRmYzM2ZjBhOTRmYzhiYjQxYTUwOTYxZWMwOGJkLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPlNpbmdhcG9yZTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDEwMDA8L2xpPjxsaT5EZWF0aHM6ICAgMzwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMzwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfMjQ0YWFjZmMxYWNmNGM5MGEwOWRjZmQyMTc1NWUyZWEgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs0OC42NjksIDE5LjY5OV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzI0NGFhY2ZjMWFjZjRjOTBhMDlkY2ZkMjE3NTVlMmVhLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPlNsb3Zha2lhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNDAwPC9saT48bGk+RGVhdGhzOiAgIDE8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjI1PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9iNDZlMWY0MzNiYWI0NmViYmY2NmFhZDhhZjgzZGUzYiA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzQ2LjE1MTIsIDE0Ljk5NTVdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMzEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9iNDZlMWY0MzNiYWI0NmViYmY2NmFhZDhhZjgzZGUzYi5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5TbG92ZW5pYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDg0MTwvbGk+PGxpPkRlYXRoczogICAxNTwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDEuNzg8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzE1MjVhMDg2MjEyYjQxMWU4MzRkMTc0N2UxNDk1MjkyID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbNS4xNTIxLCA0Ni4xOTk2XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV8xNTI1YTA4NjIxMmI0MTFlODM0ZDE3NDdlMTQ5NTI5Mi5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5Tb21hbGlhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNTwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV8xZWU4MTkwNmYyNTI0OGZlODI4ZTVlMzU4N2UwZDFmYiA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWy0zMC41NTk1LCAyMi45Mzc1XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDM2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfMWVlODE5MDZmMjUyNDhmZTgyOGU1ZTM1ODdlMGQxZmIuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+U291dGggQWZyaWNhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTM4MDwvbGk+PGxpPkRlYXRoczogICA1PC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4zNjwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfYTI4MzNkYWMwYTg3NDJmMmJmYWJkNjdkZWNjY2U5OTcgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs0MC4wLCAtNC4wXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDU2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfYTI4MzNkYWMwYTg3NDJmMmJmYWJkNjdkZWNjY2U5OTcuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+U3BhaW48L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAxMDQxMTg8L2xpPjxsaT5EZWF0aHM6ICAgOTM4NzwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDkuMDI8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzU1ZjRjZDkxMWE3MjQ3M2ViMGMwMTFlZTM0NjYzYzk0ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbNy4wLCA4MS4wXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDIxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfNTVmNGNkOTExYTcyNDczZWIwYzAxMWVlMzQ2NjNjOTQuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+U3JpIExhbmthPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTQ2PC9saT48bGk+RGVhdGhzOiAgIDM8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAyLjA0PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9kYjQwYzMyMjNlMzg0NjY3OTY3NjAyMmM2YzlkN2Y1OSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzEyLjg2MjgsIDMwLjIxNzZdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMTEwMDAwLjAwMDAwMDAwMDAxLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfZGI0MGMzMjIzZTM4NDY2Nzk2NzYwMjJjNmM5ZDdmNTkuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+U3VkYW48L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA3PC9saT48bGk+RGVhdGhzOiAgIDI8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAyNS4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV84ZWE1ZmFkMGQxMDA0ZDI3YWNmODY4ZjlhNWFmMjY5NiA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzMuOTE5MywgLTU2LjAyNzhdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMTEwMDAwLjAwMDAwMDAwMDAxLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfOGVhNWZhZDBkMTAwNGQyN2FjZjg2OGY5YTVhZjI2OTYuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+U3VyaW5hbWU8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAxMDwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9iZTNhODg0NDFjNjY0OWE1OTIyMTRjZWZjMzBjYjM5ZSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzYzLjAsIDE2LjBdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNDA5OTk5Ljk5OTk5OTk5OTk0LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfYmUzYTg4NDQxYzY2NDlhNTkyMjE0Y2VmYzMwY2IzOWUuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+U3dlZGVuPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNDk0NzwvbGk+PGxpPkRlYXRoczogICAyMzk8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICA0LjgzPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV83YzdiNDU3NDVhNjk0MzQ2OGE4ZmFmMTU2YTE2N2RkMCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzQ2LjgxODIsIDguMjI3NV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA0NTk5OTkuOTk5OTk5OTk5OTQsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV83YzdiNDU3NDVhNjk0MzQ2OGE4ZmFmMTU2YTE2N2RkMC5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5Td2l0emVybGFuZDwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDE3NzY4PC9saT48bGk+RGVhdGhzOiAgIDQ4ODwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDIuNzU8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzU2M2JlYzZmMzZhYzQ5OTBhYTg1MTQ3MTQ3OWJiODc3ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMjMuNywgMTIxLjBdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV81NjNiZWM2ZjM2YWM0OTkwYWE4NTE0NzE0NzliYjg3Ny5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5UYWl3YW48L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAzMjk8L2xpPjxsaT5EZWF0aHM6ICAgNTwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDEuNTI8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzMyZWEyOTAwYzE3ZDRkY2Q5NTU0NzY0NzhhZDY0ZGIzID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbLTYuMzY5LCAzNC44ODg4XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDE2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfMzJlYTI5MDBjMTdkNGRjZDk1NTQ3NjQ3OGFkNjRkYjMuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+VGFuemFuaWE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAyMDwvbGk+PGxpPkRlYXRoczogICAxPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgNC43NjwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfZTRmZjJmMzU1YWVlNDlmOThkZWM4YmRjMzdkMTU3OGMgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFsxNS4wLCAxMDEuMF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAzNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2U0ZmYyZjM1NWFlZTQ5Zjk4ZGVjOGJkYzM3ZDE1NzhjLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPlRoYWlsYW5kPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTc3MTwvbGk+PGxpPkRlYXRoczogICAxMjwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuNjg8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2FmNDQwYmQ2ZjhkMTQxNzBhZjM0MjU4OWZiMzAyZmU0ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbOC42MTk1LCAwLjgyNDhdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMTYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9hZjQ0MGJkNmY4ZDE0MTcwYWYzNDI1ODlmYjMwMmZlNC5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5Ub2dvPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMzY8L2xpPjxsaT5EZWF0aHM6ICAgMjwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDUuNDE8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2FmYzFlMTA5MTFjZTRmYjk4ZGZhNTdiZWY2ZWZlZjFjID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMTAuNjkxOCwgLTYxLjIyMjVdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9hZmMxZTEwOTExY2U0ZmI5OGRmYTU3YmVmNmVmZWYxYy5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5UcmluaWRhZCBhbmQgVG9iYWdvPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogOTA8L2xpPjxsaT5EZWF0aHM6ICAgNTwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDUuNDk8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzZlMjZlOTkxODEzNzQxMTA5M2JiNjgyZDQ0YjkwOWYxID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMzQuMCwgOS4wXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDMxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfNmUyNmU5OTE4MTM3NDExMDkzYmI2ODJkNDRiOTA5ZjEuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+VHVuaXNpYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDQyMzwvbGk+PGxpPkRlYXRoczogICAxMjwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDIuODM8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzMyYzVlYjE1NmM0NDQwNGQ5ZjA0Y2ZmNTI2NDgyOTgwID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMzguOTYzNywgMzUuMjQzM10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA0NTk5OTkuOTk5OTk5OTk5OTQsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV8zMmM1ZWIxNTZjNDQ0MDRkOWYwNGNmZjUyNjQ4Mjk4MC5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5UdXJrZXk8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAxNTY3OTwvbGk+PGxpPkRlYXRoczogICAyNzc8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAxLjc3PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9iZTcyOGEwNjBmNDM0NGMyYmVhYThkZmU3NTJjYzhlNCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzEuMCwgMzIuMF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2JlNzI4YTA2MGY0MzQ0YzJiZWFhOGRmZTc1MmNjOGU0LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPlVnYW5kYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDQ0PC9saT48bGk+RGVhdGhzOiAgIDA8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzc3Zjc3MzA1YjFkOTQwMzBhNTUxMGEyMDg0ZjVjMGE2ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbNDguMzc5NCwgMzEuMTY1Nl0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAzMTAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzc3Zjc3MzA1YjFkOTQwMzBhNTUxMGEyMDg0ZjVjMGE2LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPlVrcmFpbmU8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA3OTQ8L2xpPjxsaT5EZWF0aHM6ICAgMjA8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAyLjUyPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV83ZTllZDYzMzlhNWI0MzZkODg4NDYxYWRjYzI2MDNhZSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzI0LjAsIDU0LjBdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMzEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV83ZTllZDYzMzlhNWI0MzZkODg4NDYxYWRjYzI2MDNhZS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5Vbml0ZWQgQXJhYiBFbWlyYXRlczwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDgxNDwvbGk+PGxpPkRlYXRoczogICA4PC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC45ODwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfMjQ2NjA4YTRhYmVlNDAwZjkyNGZjZDc4ZDlkOTc2MjIgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFszMi4zMDc4LCAtNjQuNzUwNV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzI0NjYwOGE0YWJlZTQwMGY5MjRmY2Q3OGQ5ZDk3NjIyLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPlVuaXRlZCBLaW5nZG9tPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkJlcm11ZGE8L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDMyPC9saT48bGk+RGVhdGhzOiAgIDA8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2IzZWZkMDRjNjc5MjRkMjk5ODAxZjNkNmEzNzhlN2FkID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMTkuMzEzMywgLTgxLjI1NDZdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMTYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9iM2VmZDA0YzY3OTI0ZDI5OTgwMWYzZDZhMzc4ZTdhZC5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5Vbml0ZWQgS2luZ2RvbTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5DYXltYW4gSXNsYW5kczwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMjI8L2xpPjxsaT5EZWF0aHM6ICAgMTwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDQuMzU8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzZmNzFhN2NiMmQxNDRkNTg5N2M0MzQ5MDVjYWIzMDM5ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbNDkuMzcyMywgLTIuMzY0NF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzZmNzFhN2NiMmQxNDRkNTg5N2M0MzQ5MDVjYWIzMDM5LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPlVuaXRlZCBLaW5nZG9tPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkNoYW5uZWwgSXNsYW5kczwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTcyPC9saT48bGk+RGVhdGhzOiAgIDM8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAxLjczPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV85NTFkYjJjZWIyMmU0MzlhYjY5NWQ4ZTZlYzg0ZDg2NCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzM2LjE0MDgsIC01LjM1MzZdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjEwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV85NTFkYjJjZWIyMmU0MzlhYjY5NWQ4ZTZlYzg0ZDg2NC5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5Vbml0ZWQgS2luZ2RvbTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz5HaWJyYWx0YXI8L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDgxPC9saT48bGk+RGVhdGhzOiAgIDA8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzI0MGY0MmRiZTkxYzQ1ZmU5MDk1MmZjOWM5YmU3NmYxID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbNTQuMjM2MSwgLTQuNTQ4MV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyMTAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzI0MGY0MmRiZTkxYzQ1ZmU5MDk1MmZjOWM5YmU3NmYxLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPlVuaXRlZCBLaW5nZG9tPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPklzbGUgb2YgTWFuPC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA2ODwvbGk+PGxpPkRlYXRoczogICAxPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMS40NTwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfZWU2Mzg3YjA3NWY5NDRmY2FkYTFjOTJjNWQ0MWEwYjAgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFsxNi43NDI1LCAtNjIuMTg3NF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfZWU2Mzg3YjA3NWY5NDRmY2FkYTFjOTJjNWQ0MWEwYjAuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+VW5pdGVkIEtpbmdkb208L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+TW9udHNlcnJhdDwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNTwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV83NWM4Y2NhMTczNjk0Yjk2OTU2Mzc2ZDI2MDViZDcyZCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzU1LjM3ODEsIC0zLjQzNjAwMDAwMDAwMDAwMDRdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNTA5OTk5Ljk5OTk5OTk5OTk0LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfNzVjOGNjYTE3MzY5NGI5Njk1NjM3NmQyNjA1YmQ3MmQuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+VW5pdGVkIEtpbmdkb208L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAyOTQ3NDwvbGk+PGxpPkRlYXRoczogICAyMzUyPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgNy45ODwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfOTcyMmJlMzJlYjQ4NDhiNTk4OTMyMTc5NzMxNDI4NTMgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFstMzIuNTIyOCwgLTU1Ljc2NThdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV85NzIyYmUzMmViNDg0OGI1OTg5MzIxNzk3MzE0Mjg1My5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5VcnVndWF5PC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMzM4PC9saT48bGk+RGVhdGhzOiAgIDI8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjU5PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV8yODkwMjc5ZjdkZDk0NTNkOTc2NWNlNzdlNTU1NGRlMSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzM3LjA5MDIsIC05NS43MTI5XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDYxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfMjg5MDI3OWY3ZGQ5NDUzZDk3NjVjZTc3ZTU1NTRkZTEuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+VVNBPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMjEzMzcyPC9saT48bGk+RGVhdGhzOiAgIDQ3NTc8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAyLjIzPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV84NzlmYWUwNTFhMDk0ZTg4YWE5OTY0ZTZiNTYyZTgzMSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzQxLjM3NzUsIDY0LjU4NTNdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMjYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV84NzlmYWUwNTFhMDk0ZTg4YWE5OTY0ZTZiNTYyZTgzMS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5VemJla2lzdGFuPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTgxPC9saT48bGk+RGVhdGhzOiAgIDI8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAxLjE8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzI5MWNhNmUxYzI5NTRmODliZTY2ZjJlMDNlOGNlOGRkID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbNi40MjM4LCAtNjYuNTg5N10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyMTAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzI5MWNhNmUxYzI5NTRmODliZTY2ZjJlMDNlOGNlOGRkLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPlZlbmV6dWVsYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDE0MzwvbGk+PGxpPkRlYXRoczogICAzPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMi4wODwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfMWRmMGVmODI4N2Q4NDNkNzgyMDRkODc3NGEyMmEwYTggPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFsxNi4wLCAxMDguMF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzFkZjBlZjgyODdkODQzZDc4MjA0ZDg3NzRhMjJhMGE4LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPlZpZXRuYW08L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAyMTg8L2xpPjxsaT5EZWF0aHM6ICAgMDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfZDk2ZjA4Y2Y3ZTcyNGEyMjg2ODgyZDI3OTVlNTBjZjAgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFstMTUuNDE2NywgMjguMjgzM10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2Q5NmYwOGNmN2U3MjRhMjI4Njg4MmQyNzk1ZTUwY2YwLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPlphbWJpYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDM2PC9saT48bGk+RGVhdGhzOiAgIDA8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzdlZWQ2NjYwOTczYzQxMDQ5MjBiMWYxY2ZjZjMxZDIzID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbLTIwLjAsIDMwLjBdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMTEwMDAwLjAwMDAwMDAwMDAxLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfN2VlZDY2NjA5NzNjNDEwNDkyMGIxZjFjZmNmMzFkMjMuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+WmltYmFid2U8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA4PC9saT48bGk+RGVhdGhzOiAgIDE8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAxMS4xMTwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfN2I5NWE0YjQ0MTUyNDgwMTkwODhmZmM2MTBjYzRiOWQgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFswLjAsIDAuMF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfN2I5NWE0YjQ0MTUyNDgwMTkwODhmZmM2MTBjYzRiOWQuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+Q2FuYWRhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkRpYW1vbmQgUHJpbmNlc3M8L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDA8L2xpPjxsaT5EZWF0aHM6ICAgMTwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDEwMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9jOWE5YWRiY2NkNzI0MzM1OTFlODcyZmM3N2JmMGI1MCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzE1LjQxNSwgLTYxLjM3MV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxMTAwMDAuMDAwMDAwMDAwMDEsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9jOWE5YWRiY2NkNzI0MzM1OTFlODcyZmM3N2JmMGI1MC5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5Eb21pbmljYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDEyPC9saT48bGk+RGVhdGhzOiAgIDA8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzA0ZTU5OTYwNDk3ODQxMzNhOTUwM2Y0ZTExOGFlYmFhID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMTIuMTE2NSwgLTYxLjY3OV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxMTAwMDAuMDAwMDAwMDAwMDEsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV8wNGU1OTk2MDQ5Nzg0MTMzYTk1MDNmNGUxMThhZWJhYS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5HcmVuYWRhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogOTwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9hMjAzMjMxYTc1YjY0ODVhYTRkOTIzYWQzNDNmZDkwNyA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWy0xOC42NjU2OTUsIDM1LjUyOTU2Ml0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxMTAwMDAuMDAwMDAwMDAwMDEsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9hMjAzMjMxYTc1YjY0ODVhYTRkOTIzYWQzNDNmZDkwNy5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5Nb3phbWJpcXVlPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTA8L2xpPjxsaT5EZWF0aHM6ICAgMDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfMjFkMThiYzI3MTY1NDJkMTk2Y2ZkY2Q0MDZlMjZiYmYgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFszNC44MDIwNzUsIDM4Ljk5NjgxNTAwMDAwMDAxXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDExMDAwMC4wMDAwMDAwMDAwMSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzIxZDE4YmMyNzE2NTQyZDE5NmNmZGNkNDA2ZTI2YmJmLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPlN5cmlhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMTA8L2xpPjxsaT5EZWF0aHM6ICAgMjwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDE4LjE4PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9iNjdmY2I4ODk3ZjQ0ZjE5YjZkOTk3ZjlkODk4NmEyNyA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWy04Ljg3NDIxNywgMTI1LjcyNzUzOV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfYjY3ZmNiODg5N2Y0NGYxOWI2ZDk5N2Y5ZDg5ODZhMjcuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+VGltb3ItTGVzdGU8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAxPC9saT48bGk+RGVhdGhzOiAgIDA8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX2E1NTVhNjgyN2JlODQxYmQ4ZjE1MjFjZDRlMjYyMTNjID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMTMuMTkzOSwgLTU5LjU0MzJdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2E1NTVhNjgyN2JlODQxYmQ4ZjE1MjFjZDRlMjYyMTNjLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkJlbGl6ZTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDM8L2xpPjxsaT5EZWF0aHM6ICAgMDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfM2Q5Yzk2MTk4MzAxNDMxNDgyNWY5MzA3YTMxOGI5YWUgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFswLjAsIDAuMF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxMDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfM2Q5Yzk2MTk4MzAxNDMxNDgyNWY5MzA3YTMxOGI5YWUuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+Q2FuYWRhPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPlJlY292ZXJlZDwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMDwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV81ZWZjYjFmMGQxNWE0OGEzODg2YjAxNzk3OTE3Y2Y2ZCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzE5Ljg1NjI3LCAxMDIuNDk1NDk2XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDExMDAwMC4wMDAwMDAwMDAwMSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzVlZmNiMWYwZDE1YTQ4YTM4ODZiMDE3OTc5MTdjZjZkLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPkxhb3M8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAxMDwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9kNDkwYTQ0NjFhYjQ0YzQ2YTU3YjI1NWNjZWIxMTBlYSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzI2LjMzNTEsIDE3LjIyODMzMV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxMTAwMDAuMDAwMDAwMDAwMDEsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV9kNDkwYTQ0NjFhYjQ0YzQ2YTU3YjI1NWNjZWIxMTBlYS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5MaWJ5YTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDEwPC9saT48bGk+RGVhdGhzOiAgIDA8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzliZjU2YWUxMThkNDRjNTA5NGE1MzYxMzQ1NzllYjk4ID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbMzEuOTUyMiwgMzUuMjMzMl0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyMTAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzliZjU2YWUxMThkNDRjNTA5NGE1MzYxMzQ1NzllYjk4LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPldlc3QgQmFuayBhbmQgR2F6YTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDEzNDwvbGk+PGxpPkRlYXRoczogICAxPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC43NDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfNWZmNGNiNWNmZWQ4NDhmMGIxYjIwNzQ5MjYyNDQ0NmIgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFsxMS44MDM3LCAtMTUuMTgwNF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxMTAwMDAuMDAwMDAwMDAwMDEsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV81ZmY0Y2I1Y2ZlZDg0OGYwYjFiMjA3NDkyNjI0NDQ2Yi5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5HdWluZWEtQmlzc2F1PC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogOTwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV81OWYwYjkyMGZkMDE0NTJlOWQ0ZjIzYmQzMzU5NzM4YyA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzE3LjU3MDY5MiwgLTMuOTk2MTY2MDAwMDAwMDAxXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDE2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfNTlmMGI5MjBmZDAxNDUyZTlkNGYyM2JkMzM1OTczOGMuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+TWFsaTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDMxPC9saT48bGk+RGVhdGhzOiAgIDM8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICA5LjM3PC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV8yM2ZmNWU3YmVmNmY0OTA0YmY2ZmM0YmM5NjQxNGFhNSA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzE3LjM1NzgyMiwgLTYyLjc4Mjk5OF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAxMTAwMDAuMDAwMDAwMDAwMDEsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV8yM2ZmNWU3YmVmNmY0OTA0YmY2ZmM0YmM5NjQxNGFhNS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5TYWludCBLaXR0cyBhbmQgTmV2aXM8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA4PC9saT48bGk+RGVhdGhzOiAgIDA8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzY2ZDgxYjA0YTY4MjRjM2ZhODljMGI5ZTY0N2FlYTliID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbNjQuODI1NSwgLTEyNC44NDU3XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV82NmQ4MWIwNGE2ODI0YzNmYTg5YzBiOWU2NDdhZWE5Yi5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5DYW5hZGE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+Tm9ydGh3ZXN0IFRlcnJpdG9yaWVzPC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAyPC9saT48bGk+RGVhdGhzOiAgIDA8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAwLjA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzdhYjI5NzQxNGJhMjRlNjI5ODA4MWNiMzlmMTE5MjgxID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbNjQuMjgyMywgLTEzNS4wXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV83YWIyOTc0MTRiYTI0ZTYyOTgwODFjYjM5ZjExOTI4MS5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5DYW5hZGE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+WXVrb248L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDU8L2xpPjxsaT5EZWF0aHM6ICAgMDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfOWJjYTZiZmNlZDIwNGNhMjhiMjAyNGE2NmJkYjY2ZmMgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs0Mi42MDI2MzYsIDIwLjkwMjk3N10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiAyMTAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzliY2E2YmZjZWQyMDRjYTI4YjIwMjRhNjZiZGI2NmZjLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPktvc292bzwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDEyNTwvbGk+PGxpPkRlYXRoczogICAxPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC43OTwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfMGJkZDMzNmQ3ZTU4NGY4MWI2MjMzNmI2YWQyYmNjM2QgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFsyMS45MTYyLCA5NS45NTZdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogMTEwMDAwLjAwMDAwMDAwMDAxLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfMGJkZDMzNmQ3ZTU4NGY4MWI2MjMzNmI2YWQyYmNjM2QuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+QnVybWE8L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiAxNTwvbGk+PGxpPkRlYXRoczogICAxPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgNi4yNTwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfZmU4MDY3NzFkZDhhNGEyMmJiYWU3ZWI1ODkyNzNmOGEgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFsxOC4yMjA2LCAtNjMuMDY4Nl0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfZmU4MDY3NzFkZDhhNGEyMmJiYWU3ZWI1ODkyNzNmOGEuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+VW5pdGVkIEtpbmdkb208L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+QW5ndWlsbGE8L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDI8L2xpPjxsaT5EZWF0aHM6ICAgMDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfZTY3YmMxNjllNTUzNGJlODgxZjQyYTZiM2NlZWQwODUgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFsxOC40MjA3LCAtNjQuNjRdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlX2U2N2JjMTY5ZTU1MzRiZTg4MWY0MmE2YjNjZWVkMDg1LmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPlVuaXRlZCBLaW5nZG9tPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPkJyaXRpc2ggVmlyZ2luIElzbGFuZHM8L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDM8L2xpPjxsaT5EZWF0aHM6ICAgMDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfNzgwYjFmYTg4NTdiNDg2MTk4YmU3M2ExYTE0ZDExMWEgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFsyMS42OTQwMDAwMDAwMDAwMSwgLTcxLjc5NzldLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogIiNmZjY2MDAiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiI2ZmODUzMyIsICJmaWxsT3BhY2l0eSI6IDAuMiwgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNjAwMDAuMCwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzc4MGIxZmE4ODU3YjQ4NjE5OGJlNzNhMWExNGQxMTFhLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPlVuaXRlZCBLaW5nZG9tPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPlR1cmtzIGFuZCBDYWljb3MgSXNsYW5kczwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogNjwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV84MjliNDY3YjMwNmU0NjAzODZhOTg5NDQzOGQ3MWRkMCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWzAuMCwgMC4wXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDExMDAwMC4wMDAwMDAwMDAwMSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF81MzFmMDZjYWVkOWM0MjlhYmY4NjY5N2M0NmJlN2EwMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgY2lyY2xlXzgyOWI0NjdiMzA2ZTQ2MDM4NmE5ODk0NDM4ZDcxZGQwLmJpbmRUb29sdGlwKAogICAgICAgICAgICAgICAgYDxkaXY+CiAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6IGJvbGQnPk1TIFphYW5kYW08L2g1PjxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PC9kaXY+PGhyIHN0eWxlPSdtYXJnaW46MTBweDsnPjx1bCBzdHlsZT0nY29sb3I6ICM0NDQ7bGlzdC1zdHlsZS10eXBlOmNpcmNsZTthbGlnbi1pdGVtOmxlZnQ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4Jz48bGk+Q29uZmlybWVkOiA5PC9saT48bGk+RGVhdGhzOiAgIDI8L2xpPjxsaT5Nb3J0YWxpdHkgUmF0ZTogICAyMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV8xYWQxMGRiMjM5ODU0NTgyODliYjVhMjVlZTIwNzM4NCA9IEwuY2lyY2xlKAogICAgICAgICAgICAgICAgWy0yMi4zMjg1LCAyNC42ODQ5XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICIjZmY2NjAwIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiNmZjg1MzMiLCAiZmlsbE9wYWNpdHkiOiAwLjIsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDYwMDAwLjAsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfNTMxZjA2Y2FlZDljNDI5YWJmODY2OTdjNDZiZTdhMDIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIGNpcmNsZV8xYWQxMGRiMjM5ODU0NTgyODliYjVhMjVlZTIwNzM4NC5iaW5kVG9vbHRpcCgKICAgICAgICAgICAgICAgIGA8ZGl2PgogICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OiBib2xkJz5Cb3Rzd2FuYTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDQ8L2xpPjxsaT5EZWF0aHM6ICAgMTwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDIwLjA8L2xpPjwvdWw+CiAgICAgICAgICAgICAgICAgPC9kaXY+YCwKICAgICAgICAgICAgICAgIHsic3RpY2t5IjogdHJ1ZX0KICAgICAgICAgICAgKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlXzE0ZTlkMjUzNzBjZTRmYzViNDZlOGVjZjIyNDE5YTgzID0gTC5jaXJjbGUoCiAgICAgICAgICAgICAgICBbLTMuMzczMSwgMjkuOTE4OV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfMTRlOWQyNTM3MGNlNGZjNWI0NmU4ZWNmMjI0MTlhODMuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+QnVydW5kaTwvaDU+PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48L2Rpdj48aHIgc3R5bGU9J21hcmdpbjoxMHB4Oyc+PHVsIHN0eWxlPSdjb2xvcjogIzQ0NDtsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlO2FsaWduLWl0ZW06bGVmdDtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHgnPjxsaT5Db25maXJtZWQ6IDI8L2xpPjxsaT5EZWF0aHM6ICAgMDwvbGk+PGxpPk1vcnRhbGl0eSBSYXRlOiAgIDAuMDwvbGk+PC91bD4KICAgICAgICAgICAgICAgICA8L2Rpdj5gLAogICAgICAgICAgICAgICAgeyJzdGlja3kiOiB0cnVlfQogICAgICAgICAgICApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfN2I5YmJiMDcyNmYyNDFmMmI4ZmYxMzRjNWJlMzM5OTMgPSBMLmNpcmNsZSgKICAgICAgICAgICAgICAgIFs4LjQ2MDU1NTAwMDAwMDAwMSwgLTExLjc3OTg4OV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiI2ZmNjYwMCIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjZmY4NTMzIiwgImZpbGxPcGFjaXR5IjogMC4yLCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA2MDAwMC4wLCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzUzMWYwNmNhZWQ5YzQyOWFiZjg2Njk3YzQ2YmU3YTAyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICBjaXJjbGVfN2I5YmJiMDcyNmYyNDFmMmI4ZmYxMzRjNWJlMzM5OTMuYmluZFRvb2x0aXAoCiAgICAgICAgICAgICAgICBgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDogYm9sZCc+U2llcnJhIExlb25lPC9oNT48ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjwvZGl2PjxociBzdHlsZT0nbWFyZ2luOjEwcHg7Jz48dWwgc3R5bGU9J2NvbG9yOiAjNDQ0O2xpc3Qtc3R5bGUtdHlwZTpjaXJjbGU7YWxpZ24taXRlbTpsZWZ0O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweCc+PGxpPkNvbmZpcm1lZDogMjwvbGk+PGxpPkRlYXRoczogICAwPC9saT48bGk+TW9ydGFsaXR5IFJhdGU6ICAgMC4wPC9saT48L3VsPgogICAgICAgICAgICAgICAgIDwvZGl2PmAsCiAgICAgICAgICAgICAgICB7InN0aWNreSI6IHRydWV9CiAgICAgICAgICAgICk7CiAgICAgICAgCjwvc2NyaXB0Pg== onload=\"this.contentDocument.open();this.contentDocument.write(atob(this.getAttribute('data-html')));this.contentDocument.close();\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>"
],
"text/plain": [
"<folium.folium.Map at 0x11ac369b0>"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"world_map = folium.Map(location=[10,0], tiles=\"cartodbpositron\", zoom_start=2,max_zoom=6,min_zoom=2)\n",
"for i in range(0,len(df_confirmed)):\n",
" folium.Circle(\n",
" location=[df_confirmed.iloc[i]['Lat'], df_confirmed.iloc[i]['Long']],\n",
" tooltip = \"<h5 style='text-align:center;font-weight: bold'>\"+df_confirmed.iloc[i]['country']+\"</h5>\"+\n",
" \"<div style='text-align:center;'>\"+str(np.nan_to_num(df_confirmed.iloc[i]['state']))+\"</div>\"+\n",
" \"<hr style='margin:10px;'>\"+\n",
" \"<ul style='color: #444;list-style-type:circle;align-item:left;padding-left:20px;padding-right:20px'>\"+\n",
" \"<li>Confirmed: \"+str(df_confirmed.iloc[i,-1])+\"</li>\"+\n",
" \"<li>Deaths: \"+str(df_deaths.iloc[i,-1])+\"</li>\"+\n",
" \"<li>Mortality Rate: \"+str(np.round(df_deaths.iloc[i,-1]/(df_confirmed.iloc[i,-1]+1.00001)*100,2))+\"</li>\"+\n",
" \"</ul>\"\n",
" ,\n",
" radius=(int((np.log(df_confirmed.iloc[i,-1]+1.00001)))+0.2)*50000,\n",
" color='#ff6600',\n",
" fill_color='#ff8533',\n",
" fill=True).add_to(world_map)\n",
"\n",
"world_map\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Global Confirmed Cases Heat Map \n",
"<hr>"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
" <script type=\"text/javascript\">\n",
" window.PlotlyConfig = {MathJaxConfig: 'local'};\n",
" if (window.MathJax) {MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}\n",
" if (typeof require !== 'undefined') {\n",
" require.undef(\"plotly\");\n",
" define('plotly', function(require, exports, module) {\n",
" /**\n",
"* plotly.js v1.52.2\n",
"* Copyright 2012-2020, Plotly, Inc.\n",
"* All rights reserved.\n",
"* Licensed under the MIT license\n",
"*/\n",
"!function(t){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).Plotly=t()}}(function(){return function(){return function t(e,r,n){function a(o,s){if(!r[o]){if(!e[o]){var l=\"function\"==typeof require&&require;if(!s&&l)return l(o,!0);if(i)return i(o,!0);var c=new Error(\"Cannot find module '\"+o+\"'\");throw c.code=\"MODULE_NOT_FOUND\",c}var u=r[o]={exports:{}};e[o][0].call(u.exports,function(t){return a(e[o][1][t]||t)},u,u.exports,t,e,r,n)}return r[o].exports}for(var i=\"function\"==typeof require&&require,o=0;o<n.length;o++)a(n[o]);return a}}()({1:[function(t,e,r){\"use strict\";var n=t(\"../src/lib\"),a={\"X,X div\":\"direction:ltr;font-family:'Open Sans', verdana, arial, sans-serif;margin:0;padding:0;\",\"X input,X button\":\"font-family:'Open Sans', verdana, arial, sans-serif;\",\"X input:focus,X button:focus\":\"outline:none;\",\"X a\":\"text-decoration:none;\",\"X a:hover\":\"text-decoration:none;\",\"X .crisp\":\"shape-rendering:crispEdges;\",\"X .user-select-none\":\"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;\",\"X svg\":\"overflow:hidden;\",\"X svg a\":\"fill:#447adb;\",\"X svg a:hover\":\"fill:#3c6dc5;\",\"X .main-svg\":\"position:absolute;top:0;left:0;pointer-events:none;\",\"X .main-svg .draglayer\":\"pointer-events:all;\",\"X .cursor-default\":\"cursor:default;\",\"X .cursor-pointer\":\"cursor:pointer;\",\"X .cursor-crosshair\":\"cursor:crosshair;\",\"X .cursor-move\":\"cursor:move;\",\"X .cursor-col-resize\":\"cursor:col-resize;\",\"X .cursor-row-resize\":\"cursor:row-resize;\",\"X .cursor-ns-resize\":\"cursor:ns-resize;\",\"X .cursor-ew-resize\":\"cursor:ew-resize;\",\"X .cursor-sw-resize\":\"cursor:sw-resize;\",\"X .cursor-s-resize\":\"cursor:s-resize;\",\"X .cursor-se-resize\":\"cursor:se-resize;\",\"X .cursor-w-resize\":\"cursor:w-resize;\",\"X .cursor-e-resize\":\"cursor:e-resize;\",\"X .cursor-nw-resize\":\"cursor:nw-resize;\",\"X .cursor-n-resize\":\"cursor:n-resize;\",\"X .cursor-ne-resize\":\"cursor:ne-resize;\",\"X .cursor-grab\":\"cursor:-webkit-grab;cursor:grab;\",\"X .modebar\":\"position:absolute;top:2px;right:2px;\",\"X .ease-bg\":\"-webkit-transition:background-color 0.3s ease 0s;-moz-transition:background-color 0.3s ease 0s;-ms-transition:background-color 0.3s ease 0s;-o-transition:background-color 0.3s ease 0s;transition:background-color 0.3s ease 0s;\",\"X .modebar--hover>:not(.watermark)\":\"opacity:0;-webkit-transition:opacity 0.3s ease 0s;-moz-transition:opacity 0.3s ease 0s;-ms-transition:opacity 0.3s ease 0s;-o-transition:opacity 0.3s ease 0s;transition:opacity 0.3s ease 0s;\",\"X:hover .modebar--hover .modebar-group\":\"opacity:1;\",\"X .modebar-group\":\"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;\",\"X .modebar-btn\":\"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;\",\"X .modebar-btn svg\":\"position:relative;top:2px;\",\"X .modebar.vertical\":\"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;\",\"X .modebar.vertical svg\":\"top:-1px;\",\"X .modebar.vertical .modebar-group\":\"display:block;float:none;padding-left:0px;padding-bottom:8px;\",\"X .modebar.vertical .modebar-group .modebar-btn\":\"display:block;text-align:center;\",\"X [data-title]:before,X [data-title]:after\":\"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;\",\"X [data-title]:hover:before,X [data-title]:hover:after\":\"display:block;opacity:1;\",\"X [data-title]:before\":\"content:'';position:absolute;background:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;\",\"X [data-title]:after\":\"content:attr(data-title);background:#69738a;color:white;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;\",\"X .vertical [data-title]:before,X .vertical [data-title]:after\":\"top:0%;right:200%;\",\"X .vertical [data-title]:before\":\"border:6px solid transparent;border-left-color:#69738a;margin-top:8px;margin-right:-30px;\",\"X .select-outline\":\"fill:none;stroke-width:1;shape-rendering:crispEdges;\",\"X .select-outline-1\":\"stroke:white;\",\"X .select-outline-2\":\"stroke:black;stroke-dasharray:2px 2px;\",Y:\"font-family:'Open Sans';position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;\",\"Y p\":\"margin:0;\",\"Y .notifier-note\":\"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,0.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;\",\"Y .notifier-close\":\"color:#fff;opacity:0.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;\",\"Y .notifier-close:hover\":\"color:#444;text-decoration:none;cursor:pointer;\"};for(var i in a){var o=i.replace(/^,/,\" ,\").replace(/X/g,\".js-plotly-plot .plotly\").replace(/Y/g,\".plotly-notifier\");n.addStyleRule(o,a[i])}},{\"../src/lib\":717}],2:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/aggregate\")},{\"../src/transforms/aggregate\":1297}],3:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/bar\")},{\"../src/traces/bar\":864}],4:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/barpolar\")},{\"../src/traces/barpolar\":877}],5:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/box\")},{\"../src/traces/box\":887}],6:[function(t,e,r){\"use strict\";e.exports=t(\"../src/components/calendars\")},{\"../src/components/calendars\":590}],7:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/candlestick\")},{\"../src/traces/candlestick\":896}],8:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/carpet\")},{\"../src/traces/carpet\":915}],9:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/choropleth\")},{\"../src/traces/choropleth\":929}],10:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/choroplethmapbox\")},{\"../src/traces/choroplethmapbox\":936}],11:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/cone\")},{\"../src/traces/cone\":942}],12:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/contour\")},{\"../src/traces/contour\":957}],13:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/contourcarpet\")},{\"../src/traces/contourcarpet\":968}],14:[function(t,e,r){\"use strict\";e.exports=t(\"../src/core\")},{\"../src/core\":695}],15:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/densitymapbox\")},{\"../src/traces/densitymapbox\":976}],16:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/filter\")},{\"../src/transforms/filter\":1298}],17:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/funnel\")},{\"../src/traces/funnel\":986}],18:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/funnelarea\")},{\"../src/traces/funnelarea\":995}],19:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/groupby\")},{\"../src/transforms/groupby\":1299}],20:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/heatmap\")},{\"../src/traces/heatmap\":1008}],21:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/heatmapgl\")},{\"../src/traces/heatmapgl\":1017}],22:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram\")},{\"../src/traces/histogram\":1029}],23:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram2d\")},{\"../src/traces/histogram2d\":1035}],24:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram2dcontour\")},{\"../src/traces/histogram2dcontour\":1039}],25:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/image\")},{\"../src/traces/image\":1046}],26:[function(t,e,r){\"use strict\";var n=t(\"./core\");n.register([t(\"./bar\"),t(\"./box\"),t(\"./heatmap\"),t(\"./histogram\"),t(\"./histogram2d\"),t(\"./histogram2dcontour\"),t(\"./contour\"),t(\"./scatterternary\"),t(\"./violin\"),t(\"./funnel\"),t(\"./waterfall\"),t(\"./image\"),t(\"./pie\"),t(\"./sunburst\"),t(\"./treemap\"),t(\"./funnelarea\"),t(\"./scatter3d\"),t(\"./surface\"),t(\"./isosurface\"),t(\"./volume\"),t(\"./mesh3d\"),t(\"./cone\"),t(\"./streamtube\"),t(\"./scattergeo\"),t(\"./choropleth\"),t(\"./scattergl\"),t(\"./splom\"),t(\"./pointcloud\"),t(\"./heatmapgl\"),t(\"./parcoords\"),t(\"./parcats\"),t(\"./scattermapbox\"),t(\"./choroplethmapbox\"),t(\"./densitymapbox\"),t(\"./sankey\"),t(\"./indicator\"),t(\"./table\"),t(\"./carpet\"),t(\"./scattercarpet\"),t(\"./contourcarpet\"),t(\"./ohlc\"),t(\"./candlestick\"),t(\"./scatterpolar\"),t(\"./scatterpolargl\"),t(\"./barpolar\")]),n.register([t(\"./aggregate\"),t(\"./filter\"),t(\"./groupby\"),t(\"./sort\")]),n.register([t(\"./calendars\")]),e.exports=n},{\"./aggregate\":2,\"./bar\":3,\"./barpolar\":4,\"./box\":5,\"./calendars\":6,\"./candlestick\":7,\"./carpet\":8,\"./choropleth\":9,\"./choroplethmapbox\":10,\"./cone\":11,\"./contour\":12,\"./contourcarpet\":13,\"./core\":14,\"./densitymapbox\":15,\"./filter\":16,\"./funnel\":17,\"./funnelarea\":18,\"./groupby\":19,\"./heatmap\":20,\"./heatmapgl\":21,\"./histogram\":22,\"./histogram2d\":23,\"./histogram2dcontour\":24,\"./image\":25,\"./indicator\":27,\"./isosurface\":28,\"./mesh3d\":29,\"./ohlc\":30,\"./parcats\":31,\"./parcoords\":32,\"./pie\":33,\"./pointcloud\":34,\"./sankey\":35,\"./scatter3d\":36,\"./scattercarpet\":37,\"./scattergeo\":38,\"./scattergl\":39,\"./scattermapbox\":40,\"./scatterpolar\":41,\"./scatterpolargl\":42,\"./scatterternary\":43,\"./sort\":44,\"./splom\":45,\"./streamtube\":46,\"./sunburst\":47,\"./surface\":48,\"./table\":49,\"./treemap\":50,\"./violin\":51,\"./volume\":52,\"./waterfall\":53}],27:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/indicator\")},{\"../src/traces/indicator\":1054}],28:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/isosurface\")},{\"../src/traces/isosurface\":1060}],29:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/mesh3d\")},{\"../src/traces/mesh3d\":1065}],30:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/ohlc\")},{\"../src/traces/ohlc\":1070}],31:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/parcats\")},{\"../src/traces/parcats\":1079}],32:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/parcoords\")},{\"../src/traces/parcoords\":1089}],33:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/pie\")},{\"../src/traces/pie\":1100}],34:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/pointcloud\")},{\"../src/traces/pointcloud\":1109}],35:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/sankey\")},{\"../src/traces/sankey\":1115}],36:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatter3d\")},{\"../src/traces/scatter3d\":1152}],37:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattercarpet\")},{\"../src/traces/scattercarpet\":1159}],38:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattergeo\")},{\"../src/traces/scattergeo\":1167}],39:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattergl\")},{\"../src/traces/scattergl\":1180}],40:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattermapbox\")},{\"../src/traces/scattermapbox\":1190}],41:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatterpolar\")},{\"../src/traces/scatterpolar\":1198}],42:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatterpolargl\")},{\"../src/traces/scatterpolargl\":1205}],43:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatterternary\")},{\"../src/traces/scatterternary\":1213}],44:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/sort\")},{\"../src/transforms/sort\":1301}],45:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/splom\")},{\"../src/traces/splom\":1222}],46:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/streamtube\")},{\"../src/traces/streamtube\":1230}],47:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/sunburst\")},{\"../src/traces/sunburst\":1238}],48:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/surface\")},{\"../src/traces/surface\":1247}],49:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/table\")},{\"../src/traces/table\":1255}],50:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/treemap\")},{\"../src/traces/treemap\":1264}],51:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/violin\")},{\"../src/traces/violin\":1276}],52:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/volume\")},{\"../src/traces/volume\":1284}],53:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/waterfall\")},{\"../src/traces/waterfall\":1292}],54:[function(t,e,r){\"use strict\";e.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],c=t.mode||\"turntable\",u=n(),h=a(),f=i();return u.setDistanceLimits(l[0],l[1]),u.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),new o({turntable:u,orbit:h,matrix:f},c)};var n=t(\"turntable-camera-controller\"),a=t(\"orbit-camera-controller\"),i=t(\"matrix-camera-controller\");function o(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map(function(e){return t[e]}),this._mode=e,this._active=t[e],this._active||(this._mode=\"turntable\",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;[[\"flush\",1],[\"idle\",1],[\"lookAt\",4],[\"rotate\",4],[\"pan\",4],[\"translate\",4],[\"setMatrix\",2],[\"setDistanceLimits\",2],[\"setDistance\",2]].forEach(function(t){for(var e=t[0],r=[],n=0;n<t[1];++n)r.push(\"a\"+n);var a=\"var cc=this._controllerList;for(var i=0;i<cc.length;++i){cc[i].\"+t[0]+\"(\"+r.join()+\")}\";s[e]=Function.apply(null,r.concat(a))}),s.recalcMatrix=function(t){this._active.recalcMatrix(t)},s.getDistance=function(t){return this._active.getDistance(t)},s.getDistanceLimits=function(t){return this._active.getDistanceLimits(t)},s.lastT=function(){return this._active.lastT()},s.setMode=function(t){if(t!==this._mode){var e=this._controllerNames.indexOf(t);if(!(e<0)){var r=this._active,n=this._controllerList[e],a=Math.max(r.lastT(),n.lastT());r.recalcMatrix(a),n.setMatrix(a,r.computedMatrix),this._active=n,this._mode=t,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}}},s.getMode=function(){return this._mode}},{\"matrix-camera-controller\":435,\"orbit-camera-controller\":458,\"turntable-camera-controller\":541}],55:[function(t,e,r){var n,a;n=this,a=function(t,e,r,n,a){\"use strict\";function i(t){return t.target.depth}function o(t,e){return t.sourceLinks.length?t.depth:e-1}function s(t){return function(){return t}}a=a&&a.hasOwnProperty(\"default\")?a.default:a;var l=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t};function c(t,e){return h(t.source,e.source)||t.index-e.index}function u(t,e){return h(t.target,e.target)||t.index-e.index}function h(t,e){return t.partOfCycle===e.partOfCycle?t.y0-e.y0:\"top\"===t.circularLinkType||\"bottom\"===e.circularLinkType?-1:1}function f(t){return t.value}function p(t){return(t.y0+t.y1)/2}function d(t){return p(t.source)}function g(t){return p(t.target)}function v(t){return t.index}function m(t){return t.nodes}function y(t){return t.links}function x(t,e){var r=t.get(e);if(!r)throw new Error(\"missing: \"+e);return r}function b(t,e){return e(t)}var _=25,w=10,k=.3;function T(t,e){var r=0,n=0;t.links.forEach(function(a){a.circular&&(a.source.circularLinkType||a.target.circularLinkType?a.circularLinkType=a.source.circularLinkType?a.source.circularLinkType:a.target.circularLinkType:a.circularLinkType=r<n?\"top\":\"bottom\",\"top\"==a.circularLinkType?r+=1:n+=1,t.nodes.forEach(function(t){b(t,e)!=b(a.source,e)&&b(t,e)!=b(a.target,e)||(t.circularLinkType=a.circularLinkType)}))}),t.links.forEach(function(t){t.circular&&(t.source.circularLinkType==t.target.circularLinkType&&(t.circularLinkType=t.source.circularLinkType),Y(t,e)&&(t.circularLinkType=t.source.circularLinkType))})}function M(t){var e=Math.abs(t.y1-t.y0),r=Math.abs(t.target.x0-t.source.x1);return Math.atan(r/e)}function A(t,e){var r=0;t.sourceLinks.forEach(function(t){r=t.circular&&!Y(t,e)?r+1:r});var n=0;return t.targetLinks.forEach(function(t){n=t.circular&&!Y(t,e)?n+1:n}),r+n}function S(t){var e=t.source.sourceLinks,r=0;e.forEach(function(t){r=t.circular?r+1:r});var n=t.target.targetLinks,a=0;return n.forEach(function(t){a=t.circular?a+1:a}),!(r>1||a>1)}function E(t,e,r){return t.sort(C),t.forEach(function(n,a){var i,o,s=0;if(Y(n,r)&&S(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;l<a;l++)if(i=t[a],o=t[l],!(i.source.column<o.target.column||i.target.column>o.source.column)){var c=t[l].circularPathData.verticalBuffer+t[l].width/2+e;s=c>s?c:s}n.circularPathData.verticalBuffer=s+n.width/2}}),t}function L(t,r,a,i){var o=e.min(t.links,function(t){return t.source.y0});t.links.forEach(function(t){t.circular&&(t.circularPathData={})}),E(t.links.filter(function(t){return\"top\"==t.circularLinkType}),r,i),E(t.links.filter(function(t){return\"bottom\"==t.circularLinkType}),r,i),t.links.forEach(function(e){if(e.circular){if(e.circularPathData.arcRadius=e.width+w,e.circularPathData.leftNodeBuffer=5,e.circularPathData.rightNodeBuffer=5,e.circularPathData.sourceWidth=e.source.x1-e.source.x0,e.circularPathData.sourceX=e.source.x0+e.circularPathData.sourceWidth,e.circularPathData.targetX=e.target.x0,e.circularPathData.sourceY=e.y0,e.circularPathData.targetY=e.y1,Y(e,i)&&S(e))e.circularPathData.leftSmallArcRadius=w+e.width/2,e.circularPathData.leftLargeArcRadius=w+e.width/2,e.circularPathData.rightSmallArcRadius=w+e.width/2,e.circularPathData.rightLargeArcRadius=w+e.width/2,\"bottom\"==e.circularLinkType?(e.circularPathData.verticalFullExtent=e.source.y1+_+e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius):(e.circularPathData.verticalFullExtent=e.source.y0-_-e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius);else{var s=e.source.column,l=e.circularLinkType,c=t.links.filter(function(t){return t.source.column==s&&t.circularLinkType==l});\"bottom\"==e.circularLinkType?c.sort(O):c.sort(P);var u=0;c.forEach(function(t,n){t.circularLinkID==e.circularLinkID&&(e.circularPathData.leftSmallArcRadius=w+e.width/2+u,e.circularPathData.leftLargeArcRadius=w+e.width/2+n*r+u),u+=t.width}),s=e.target.column,c=t.links.filter(function(t){return t.target.column==s&&t.circularLinkType==l}),\"bottom\"==e.circularLinkType?c.sort(I):c.sort(z),u=0,c.forEach(function(t,n){t.circularLinkID==e.circularLinkID&&(e.circularPathData.rightSmallArcRadius=w+e.width/2+u,e.circularPathData.rightLargeArcRadius=w+e.width/2+n*r+u),u+=t.width}),\"bottom\"==e.circularLinkType?(e.circularPathData.verticalFullExtent=Math.max(a,e.source.y1,e.target.y1)+_+e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius):(e.circularPathData.verticalFullExtent=o-_-e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius)}e.circularPathData.leftInnerExtent=e.circularPathData.sourceX+e.circularPathData.leftNodeBuffer,e.circularPathData.rightInnerExtent=e.circularPathData.targetX-e.circularPathData.rightNodeBuffer,e.circularPathData.leftFullExtent=e.circularPathData.sourceX+e.circularPathData.leftLargeArcRadius+e.circularPathData.leftNodeBuffer,e.circularPathData.rightFullExtent=e.circularPathData.targetX-e.circularPathData.rightLargeArcRadius-e.circularPathData.rightNodeBuffer}if(e.circular)e.path=function(t){var e=\"\";e=\"top\"==t.circularLinkType?\"M\"+t.circularPathData.sourceX+\" \"+t.circularPathData.sourceY+\" L\"+t.circularPathData.leftInnerExtent+\" \"+t.circularPathData.sourceY+\" A\"+t.circularPathData.leftLargeArcRadius+\" \"+t.circularPathData.leftSmallArcRadius+\" 0 0 0 \"+t.circularPathData.leftFullExtent+\" \"+(t.circularPathData.sourceY-t.circularPathData.leftSmallArcRadius)+\" L\"+t.circularPathData.leftFullExtent+\" \"+t.circularPathData.verticalLeftInnerExtent+\" A\"+t.circularPathData.leftLargeArcRadius+\" \"+t.circularPathData.leftLargeArcRadius+\" 0 0 0 \"+t.circularPathData.leftInnerExtent+\" \"+t.circularPathData.verticalFullExtent+\" L\"+t.circularPathData.rightInnerExtent+\" \"+t.circularPathData.verticalFullExtent+\" A\"+t.circularPathData.rightLargeArcRadius+\" \"+t.circularPathData.rightLargeArcRadius+\" 0 0 0 \"+t.circularPathData.rightFullExtent+\" \"+t.circularPathData.verticalRightInnerExtent+\" L\"+t.circularPathData.rightFullExtent+\" \"+(t.circularPathData.targetY-t.circularPathData.rightSmallArcRadius)+\" A\"+t.circularPathData.rightLargeArcRadius+\" \"+t.circularPathData.rightSmallArcRadius+\" 0 0 0 \"+t.circularPathData.rightInnerExtent+\" \"+t.circularPathData.targetY+\" L\"+t.circularPathData.targetX+\" \"+t.circularPathData.targetY:\"M\"+t.circularPathData.sourceX+\" \"+t.circularPathData.sourceY+\" L\"+t.circularPathData.leftInnerExtent+\" \"+t.circularPathData.sourceY+\" A\"+t.circularPathData.leftLargeArcRadius+\" \"+t.circularPathData.leftSmallArcRadius+\" 0 0 1 \"+t.circularPathData.leftFullExtent+\" \"+(t.circularPathData.sourceY+t.circularPathData.leftSmallArcRadius)+\" L\"+t.circularPathData.leftFullExtent+\" \"+t.circularPathData.verticalLeftInnerExtent+\" A\"+t.circularPathData.leftLargeArcRadius+\" \"+t.circularPathData.leftLargeArcRadius+\" 0 0 1 \"+t.circularPathData.leftInnerExtent+\" \"+t.circularPathData.verticalFullExtent+\" L\"+t.circularPathData.rightInnerExtent+\" \"+t.circularPathData.verticalFullExtent+\" A\"+t.circularPathData.rightLargeArcRadius+\" \"+t.circularPathData.rightLargeArcRadius+\" 0 0 1 \"+t.circularPathData.rightFullExtent+\" \"+t.circularPathData.verticalRightInnerExtent+\" L\"+t.circularPathData.rightFullExtent+\" \"+(t.circularPathData.targetY+t.circularPathData.rightSmallArcRadius)+\" A\"+t.circularPathData.rightLargeArcRadius+\" \"+t.circularPathData.rightSmallArcRadius+\" 0 0 1 \"+t.circularPathData.rightInnerExtent+\" \"+t.circularPathData.targetY+\" L\"+t.circularPathData.targetX+\" \"+t.circularPathData.targetY;return e}(e);else{var h=n.linkHorizontal().source(function(t){return[t.source.x0+(t.source.x1-t.source.x0),t.y0]}).target(function(t){return[t.target.x0,t.y1]});e.path=h(e)}})}function C(t,e){return D(t)==D(e)?\"bottom\"==t.circularLinkType?O(t,e):P(t,e):D(e)-D(t)}function P(t,e){return t.y0-e.y0}function O(t,e){return e.y0-t.y0}function z(t,e){return t.y1-e.y1}function I(t,e){return e.y1-t.y1}function D(t){return t.target.column-t.source.column}function R(t){return t.target.x0-t.source.x1}function F(t,e){var r=M(t),n=R(e)/Math.tan(r);return\"up\"==G(t)?t.y1+n:t.y1-n}function B(t,e){var r=M(t),n=R(e)/Math.tan(r);return\"up\"==G(t)?t.y1-n:t.y1+n}function N(t,e,r,n){t.links.forEach(function(a){if(!a.circular&&a.target.column-a.source.column>1){var i=a.source.column+1,o=a.target.column-1,s=1,l=o-i+1;for(s=1;i<=o;i++,s++)t.nodes.forEach(function(o){if(o.column==i){var c,u=s/(l+1),h=Math.pow(1-u,3),f=3*u*Math.pow(1-u,2),p=3*Math.pow(u,2)*(1-u),d=Math.pow(u,3),g=h*a.y0+f*a.y0+p*a.y1+d*a.y1,v=g-a.width/2,m=g+a.width/2;v>o.y0&&v<o.y1?(c=o.y1-v+10,c=\"bottom\"==o.circularLinkType?c:-c,o=V(o,c,e,r),t.nodes.forEach(function(t){b(t,n)!=b(o,n)&&t.column==o.column&&j(o,t)&&V(t,c,e,r)})):m>o.y0&&m<o.y1?(c=m-o.y0+10,o=V(o,c,e,r),t.nodes.forEach(function(t){b(t,n)!=b(o,n)&&t.column==o.column&&t.y0<o.y1&&t.y1>o.y1&&V(t,c,e,r)})):v<o.y0&&m>o.y1&&(c=m-o.y0+10,o=V(o,c,e,r),t.nodes.forEach(function(t){b(t,n)!=b(o,n)&&t.column==o.column&&t.y0<o.y1&&t.y1>o.y1&&V(t,c,e,r)}))}})}})}function j(t,e){return t.y0>e.y0&&t.y0<e.y1||(t.y1>e.y0&&t.y1<e.y1||t.y0<e.y0&&t.y1>e.y1)}function V(t,e,r,n){return t.y0+e>=r&&t.y1+e<=n&&(t.y0=t.y0+e,t.y1=t.y1+e,t.targetLinks.forEach(function(t){t.y1=t.y1+e}),t.sourceLinks.forEach(function(t){t.y0=t.y0+e})),t}function U(t,e,r,n){t.nodes.forEach(function(a){n&&a.y+(a.y1-a.y0)>e&&(a.y=a.y-(a.y+(a.y1-a.y0)-e));var i=t.links.filter(function(t){return b(t.source,r)==b(a,r)}),o=i.length;o>1&&i.sort(function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!H(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var r=B(e,t);return t.y1-r}if(e.target.column>t.target.column)return B(t,e)-e.y1}return t.circular&&!e.circular?\"top\"==t.circularLinkType?-1:1:e.circular&&!t.circular?\"top\"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&\"top\"==t.circularLinkType?t.target.column===e.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:t.circularLinkType===e.circularLinkType&&\"bottom\"==t.circularLinkType?t.target.column===e.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:\"top\"==t.circularLinkType?-1:1:void 0});var s=a.y0;i.forEach(function(t){t.y0=s+t.width/2,s+=t.width}),i.forEach(function(t,e){if(\"bottom\"==t.circularLinkType){for(var r=e+1,n=0;r<o;r++)n+=i[r].width;t.y0=a.y1-n-t.width/2}})})}function q(t,e,r){t.nodes.forEach(function(e){var n=t.links.filter(function(t){return b(t.target,r)==b(e,r)}),a=n.length;a>1&&n.sort(function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!H(t,e))return t.y0-e.y0;if(e.source.column<t.source.column){var r=F(e,t);return t.y0-r}if(t.source.column<e.source.column)return F(t,e)-e.y0}return t.circular&&!e.circular?\"top\"==t.circularLinkType?-1:1:e.circular&&!t.circular?\"top\"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&\"top\"==t.circularLinkType?t.source.column===e.source.column?t.source.y1-e.source.y1:t.source.column-e.source.column:t.circularLinkType===e.circularLinkType&&\"bottom\"==t.circularLinkType?t.source.column===e.source.column?t.source.y1-e.source.y1:e.source.column-t.source.column:\"top\"==t.circularLinkType?-1:1:void 0});var i=e.y0;n.forEach(function(t){t.y1=i+t.width/2,i+=t.width}),n.forEach(function(t,r){if(\"bottom\"==t.circularLinkType){for(var i=r+1,o=0;i<a;i++)o+=n[i].width;t.y1=e.y1-o-t.width/2}})})}function H(t,e){return G(t)==G(e)}function G(t){return t.y0-t.y1>0?\"up\":\"down\"}function Y(t,e){return b(t.source,e)==b(t.target,e)}t.sankeyCircular=function(){var t,n,i=0,b=0,M=1,S=1,E=24,C=v,P=o,O=m,z=y,I=32,D=2,R=null;function F(){var o={nodes:O.apply(null,arguments),links:z.apply(null,arguments)};!function(t){t.nodes.forEach(function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]});var e=r.map(t.nodes,C);t.links.forEach(function(t,r){t.index=r;var n=t.source,a=t.target;\"object\"!==(\"undefined\"==typeof n?\"undefined\":l(n))&&(n=t.source=x(e,n)),\"object\"!==(\"undefined\"==typeof a?\"undefined\":l(a))&&(a=t.target=x(e,a)),n.sourceLinks.push(t),a.targetLinks.push(t)})}(o),function(t,e,r){var n=0;if(null===r){for(var i=[],o=0;o<t.links.length;o++){var s=t.links[o],l=s.source.index,c=s.target.index;i[l]||(i[l]=[]),i[c]||(i[c]=[]),-1===i[l].indexOf(c)&&i[l].push(c)}var u=a(i);u.sort(function(t,e){return t.length-e.length});var h={};for(o=0;o<u.length;o++){var f=u[o],p=f.slice(-2);h[p[0]]||(h[p[0]]={}),h[p[0]][p[1]]=!0}t.links.forEach(function(t){var e=t.target.index,r=t.source.index;e===r||h[r]&&h[r][e]?(t.circular=!0,t.circularLinkID=n,n+=1):t.circular=!1})}else t.links.forEach(function(t){t.source[r]<t.target[r]?t.circular=!1:(t.circular=!0,t.circularLinkID=n,n+=1)})}(o,0,R),function(t){t.nodes.forEach(function(t){t.partOfCycle=!1,t.value=Math.max(e.sum(t.sourceLinks,f),e.sum(t.targetLinks,f)),t.sourceLinks.forEach(function(e){e.circular&&(t.partOfCycle=!0,t.circularLinkType=e.circularLinkType)}),t.targetLinks.forEach(function(e){e.circular&&(t.partOfCycle=!0,t.circularLinkType=e.circularLinkType)})})}(o),function(t){var e,r,n;for(e=t.nodes,r=[],n=0;e.length;++n,e=r,r=[])e.forEach(function(t){t.depth=n,t.sourceLinks.forEach(function(t){r.indexOf(t.target)<0&&!t.circular&&r.push(t.target)})});for(e=t.nodes,r=[],n=0;e.length;++n,e=r,r=[])e.forEach(function(t){t.height=n,t.targetLinks.forEach(function(t){r.indexOf(t.source)<0&&!t.circular&&r.push(t.source)})});t.nodes.forEach(function(t){t.column=Math.floor(P.call(null,t,n))})}(o),T(o,C),function(a,o,s){var l=r.nest().key(function(t){return t.column}).sortKeys(e.ascending).entries(a.nodes).map(function(t){return t.values});(function(r){if(n){var o=1/0;l.forEach(function(t){var e=S*n/(t.length+1);o=e<o?e:o}),t=o}var s=e.min(l,function(r){return(S-b-(r.length-1)*t)/e.sum(r,f)});s*=k,a.links.forEach(function(t){t.width=t.value*s});var c=function(t){var r=0,n=0,a=0,i=0,o=e.max(t.nodes,function(t){return t.column});return t.links.forEach(function(t){t.circular&&(\"top\"==t.circularLinkType?r+=t.width:n+=t.width,0==t.target.column&&(i+=t.width),t.source.column==o&&(a+=t.width))}),{top:r=r>0?r+_+w:r,bottom:n=n>0?n+_+w:n,left:i=i>0?i+_+w:i,right:a=a>0?a+_+w:a}}(a),u=function(t,r){var n=e.max(t.nodes,function(t){return t.column}),a=M-i,o=S-b,s=a+r.right+r.left,l=o+r.top+r.bottom,c=a/s,u=o/l;return i=i*c+r.left,M=0==r.right?M:M*c,b=b*u+r.top,S*=u,t.nodes.forEach(function(t){t.x0=i+t.column*((M-i-E)/n),t.x1=t.x0+E}),u}(a,c);s*=u,a.links.forEach(function(t){t.width=t.value*s}),l.forEach(function(t){var e=t.length;t.forEach(function(t,n){t.depth==l.length-1&&1==e?(t.y0=S/2-t.value*s,t.y1=t.y0+t.value*s):0==t.depth&&1==e?(t.y0=S/2-t.value*s,t.y1=t.y0+t.value*s):t.partOfCycle?0==A(t,r)?(t.y0=S/2+n,t.y1=t.y0+t.value*s):\"top\"==t.circularLinkType?(t.y0=b+n,t.y1=t.y0+t.value*s):(t.y0=S-t.value*s-n,t.y1=t.y0+t.value*s):0==c.top||0==c.bottom?(t.y0=(S-b)/e*n,t.y1=t.y0+t.value*s):(t.y0=(S-b)/2-e/2+n,t.y1=t.y0+t.value*s)})})})(s),m();for(var c=1,u=o;u>0;--u)v(c*=.99,s),m();function v(t,r){var n=l.length;l.forEach(function(a){var i=a.length,o=a[0].depth;a.forEach(function(a){var s;if(a.sourceLinks.length||a.targetLinks.length)if(a.partOfCycle&&A(a,r)>0);else if(0==o&&1==i)s=a.y1-a.y0,a.y0=S/2-s/2,a.y1=S/2+s/2;else if(o==n-1&&1==i)s=a.y1-a.y0,a.y0=S/2-s/2,a.y1=S/2+s/2;else{var l=e.mean(a.sourceLinks,g),c=e.mean(a.targetLinks,d),u=((l&&c?(l+c)/2:l||c)-p(a))*t;a.y0+=u,a.y1+=u}})})}function m(){l.forEach(function(e){var r,n,a,i=b,o=e.length;for(e.sort(h),a=0;a<o;++a)r=e[a],(n=i-r.y0)>0&&(r.y0+=n,r.y1+=n),i=r.y1+t;if((n=i-t-S)>0)for(i=r.y0-=n,r.y1-=n,a=o-2;a>=0;--a)r=e[a],(n=r.y1+t-i)>0&&(r.y0-=n,r.y1-=n),i=r.y0})}}(o,I,C),B(o);for(var s=0;s<4;s++)U(o,S,C),q(o,0,C),N(o,b,S,C),U(o,S,C),q(o,0,C);return function(t,r,n){var a=t.nodes,i=t.links,o=!1,s=!1;if(i.forEach(function(t){\"top\"==t.circularLinkType?o=!0:\"bottom\"==t.circularLinkType&&(s=!0)}),0==o||0==s){var l=e.min(a,function(t){return t.y0}),c=e.max(a,function(t){return t.y1}),u=c-l,h=n-r,f=h/u;a.forEach(function(t){var e=(t.y1-t.y0)*f;t.y0=(t.y0-l)*f,t.y1=t.y0+e}),i.forEach(function(t){t.y0=(t.y0-l)*f,t.y1=(t.y1-l)*f,t.width=t.width*f})}}(o,b,S),L(o,D,S,C),o}function B(t){t.nodes.forEach(function(t){t.sourceLinks.sort(u),t.targetLinks.sort(c)}),t.nodes.forEach(function(t){var e=t.y0,r=e,n=t.y1,a=n;t.sourceLinks.forEach(function(t){t.circular?(t.y0=n-t.width/2,n-=t.width):(t.y0=e+t.width/2,e+=t.width)}),t.targetLinks.forEach(function(t){t.circular?(t.y1=a-t.width/2,a-=t.width):(t.y1=r+t.width/2,r+=t.width)})})}return F.nodeId=function(t){return arguments.length?(C=\"function\"==typeof t?t:s(t),F):C},F.nodeAlign=function(t){return arguments.length?(P=\"function\"==typeof t?t:s(t),F):P},F.nodeWidth=function(t){return arguments.length?(E=+t,F):E},F.nodePadding=function(e){return arguments.length?(t=+e,F):t},F.nodes=function(t){return arguments.length?(O=\"function\"==typeof t?t:s(t),F):O},F.links=function(t){return arguments.length?(z=\"function\"==typeof t?t:s(t),F):z},F.size=function(t){return arguments.length?(i=b=0,M=+t[0],S=+t[1],F):[M-i,S-b]},F.extent=function(t){return arguments.length?(i=+t[0][0],M=+t[1][0],b=+t[0][1],S=+t[1][1],F):[[i,b],[M,S]]},F.iterations=function(t){return arguments.length?(I=+t,F):I},F.circularLinkGap=function(t){return arguments.length?(D=+t,F):D},F.nodePaddingRatio=function(t){return arguments.length?(n=+t,F):n},F.sortNodes=function(t){return arguments.length?(R=t,F):R},F.update=function(t){return T(t,C),B(t),t.links.forEach(function(t){t.circular&&(t.circularLinkType=t.y0+t.y1<S?\"top\":\"bottom\",t.source.circularLinkType=t.circularLinkType,t.target.circularLinkType=t.circularLinkType)}),U(t,S,C,!1),q(t,0,C),L(t,D,S,C),t},F},t.sankeyCenter=function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?e.min(t.sourceLinks,i)-1:0},t.sankeyLeft=function(t){return t.depth},t.sankeyRight=function(t,e){return e-1-t.height},t.sankeyJustify=o,Object.defineProperty(t,\"__esModule\",{value:!0})},\"object\"==typeof r&&\"undefined\"!=typeof e?a(r,t(\"d3-array\"),t(\"d3-collection\"),t(\"d3-shape\"),t(\"elementary-circuits-directed-graph\")):a(n.d3=n.d3||{},n.d3,n.d3,n.d3,null)},{\"d3-array\":154,\"d3-collection\":155,\"d3-shape\":163,\"elementary-circuits-directed-graph\":175}],56:[function(t,e,r){var n,a;n=this,a=function(t,e,r,n){\"use strict\";function a(t){return t.target.depth}function i(t,e){return t.sourceLinks.length?t.depth:e-1}function o(t){return function(){return t}}function s(t,e){return c(t.source,e.source)||t.index-e.index}function l(t,e){return c(t.target,e.target)||t.index-e.index}function c(t,e){return t.y0-e.y0}function u(t){return t.value}function h(t){return(t.y0+t.y1)/2}function f(t){return h(t.source)*t.value}function p(t){return h(t.target)*t.value}function d(t){return t.index}function g(t){return t.nodes}function v(t){return t.links}function m(t,e){var r=t.get(e);if(!r)throw new Error(\"missing: \"+e);return r}function y(t){return[t.source.x1,t.y0]}function x(t){return[t.target.x0,t.y1]}t.sankey=function(){var t=0,n=0,a=1,y=1,x=24,b=8,_=d,w=i,k=g,T=v,M=32,A=2/3;function S(){var i={nodes:k.apply(null,arguments),links:T.apply(null,arguments)};return function(t){t.nodes.forEach(function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]});var e=r.map(t.nodes,_);t.links.forEach(function(t,r){t.index=r;var n=t.source,a=t.target;\"object\"!=typeof n&&(n=t.source=m(e,n)),\"object\"!=typeof a&&(a=t.target=m(e,a)),n.sourceLinks.push(t),a.targetLinks.push(t)})}(i),function(t){t.nodes.forEach(function(t){t.value=Math.max(e.sum(t.sourceLinks,u),e.sum(t.targetLinks,u))})}(i),function(e){var r,n,i;for(r=e.nodes,n=[],i=0;r.length;++i,r=n,n=[])r.forEach(function(t){t.depth=i,t.sourceLinks.forEach(function(t){n.indexOf(t.target)<0&&n.push(t.target)})});for(r=e.nodes,n=[],i=0;r.length;++i,r=n,n=[])r.forEach(function(t){t.height=i,t.targetLinks.forEach(function(t){n.indexOf(t.source)<0&&n.push(t.source)})});var o=(a-t-x)/(i-1);e.nodes.forEach(function(e){e.x1=(e.x0=t+Math.max(0,Math.min(i-1,Math.floor(w.call(null,e,i))))*o)+x})}(i),function(t){var a=r.nest().key(function(t){return t.x0}).sortKeys(e.ascending).entries(t.nodes).map(function(t){return t.values});(function(){var r=e.max(a,function(t){return t.length}),i=A*(y-n)/(r-1);b>i&&(b=i);var o=e.min(a,function(t){return(y-n-(t.length-1)*b)/e.sum(t,u)});a.forEach(function(t){t.forEach(function(t,e){t.y1=(t.y0=e)+t.value*o})}),t.links.forEach(function(t){t.width=t.value*o})})(),d();for(var i=1,o=M;o>0;--o)l(i*=.99),d(),s(i),d();function s(t){a.forEach(function(r){r.forEach(function(r){if(r.targetLinks.length){var n=(e.sum(r.targetLinks,f)/e.sum(r.targetLinks,u)-h(r))*t;r.y0+=n,r.y1+=n}})})}function l(t){a.slice().reverse().forEach(function(r){r.forEach(function(r){if(r.sourceLinks.length){var n=(e.sum(r.sourceLinks,p)/e.sum(r.sourceLinks,u)-h(r))*t;r.y0+=n,r.y1+=n}})})}function d(){a.forEach(function(t){var e,r,a,i=n,o=t.length;for(t.sort(c),a=0;a<o;++a)e=t[a],(r=i-e.y0)>0&&(e.y0+=r,e.y1+=r),i=e.y1+b;if((r=i-b-y)>0)for(i=e.y0-=r,e.y1-=r,a=o-2;a>=0;--a)e=t[a],(r=e.y1+b-i)>0&&(e.y0-=r,e.y1-=r),i=e.y0})}}(i),E(i),i}function E(t){t.nodes.forEach(function(t){t.sourceLinks.sort(l),t.targetLinks.sort(s)}),t.nodes.forEach(function(t){var e=t.y0,r=e;t.sourceLinks.forEach(function(t){t.y0=e+t.width/2,e+=t.width}),t.targetLinks.forEach(function(t){t.y1=r+t.width/2,r+=t.width})})}return S.update=function(t){return E(t),t},S.nodeId=function(t){return arguments.length?(_=\"function\"==typeof t?t:o(t),S):_},S.nodeAlign=function(t){return arguments.length?(w=\"function\"==typeof t?t:o(t),S):w},S.nodeWidth=function(t){return arguments.length?(x=+t,S):x},S.nodePadding=function(t){return arguments.length?(b=+t,S):b},S.nodes=function(t){return arguments.length?(k=\"function\"==typeof t?t:o(t),S):k},S.links=function(t){return arguments.length?(T=\"function\"==typeof t?t:o(t),S):T},S.size=function(e){return arguments.length?(t=n=0,a=+e[0],y=+e[1],S):[a-t,y-n]},S.extent=function(e){return arguments.length?(t=+e[0][0],a=+e[1][0],n=+e[0][1],y=+e[1][1],S):[[t,n],[a,y]]},S.iterations=function(t){return arguments.length?(M=+t,S):M},S},t.sankeyCenter=function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?e.min(t.sourceLinks,a)-1:0},t.sankeyLeft=function(t){return t.depth},t.sankeyRight=function(t,e){return e-1-t.height},t.sankeyJustify=i,t.sankeyLinkHorizontal=function(){return n.linkHorizontal().source(y).target(x)},Object.defineProperty(t,\"__esModule\",{value:!0})},\"object\"==typeof r&&\"undefined\"!=typeof e?a(r,t(\"d3-array\"),t(\"d3-collection\"),t(\"d3-shape\")):a(n.d3=n.d3||{},n.d3,n.d3,n.d3)},{\"d3-array\":154,\"d3-collection\":155,\"d3-shape\":163}],57:[function(t,e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0});var n=t(\"@turf/meta\"),a=6378137;function i(t){var e=0;if(t&&t.length>0){e+=Math.abs(o(t[0]));for(var r=1;r<t.length;r++)e-=Math.abs(o(t[r]))}return e}function o(t){var e,r,n,i,o,l,c=0,u=t.length;if(u>2){for(l=0;l<u;l++)l===u-2?(n=u-2,i=u-1,o=0):l===u-1?(n=u-1,i=0,o=1):(n=l,i=l+1,o=l+2),e=t[n],r=t[i],c+=(s(t[o][0])-s(e[0]))*Math.sin(s(r[1]));c=c*a*a/2}return c}function s(t){return t*Math.PI/180}r.default=function(t){return n.geomReduce(t,function(t,e){return t+function(t){var e,r=0;switch(t.type){case\"Polygon\":return i(t.coordinates);case\"MultiPolygon\":for(e=0;e<t.coordinates.length;e++)r+=i(t.coordinates[e]);return r;case\"Point\":case\"MultiPoint\":case\"LineString\":case\"MultiLineString\":return 0}return 0}(e)},0)}},{\"@turf/meta\":61}],58:[function(t,e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0});var n=t(\"@turf/meta\");r.default=function(t){var e=[1/0,1/0,-1/0,-1/0];return n.coordEach(t,function(t){e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]<t[0]&&(e[2]=t[0]),e[3]<t[1]&&(e[3]=t[1])}),e}},{\"@turf/meta\":61}],59:[function(t,e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0});var n=t(\"@turf/meta\"),a=t(\"@turf/helpers\");r.default=function(t,e){void 0===e&&(e={});var r=0,i=0,o=0;return n.coordEach(t,function(t){r+=t[0],i+=t[1],o++}),a.point([r/o,i/o],e.properties)}},{\"@turf/helpers\":60,\"@turf/meta\":61}],60:[function(t,e,r){\"use strict\";function n(t,e,r){void 0===r&&(r={});var n={type:\"Feature\"};return(0===r.id||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=e||{},n.geometry=t,n}function a(t,e,r){return void 0===r&&(r={}),n({type:\"Point\",coordinates:t},e,r)}function i(t,e,r){void 0===r&&(r={});for(var a=0,i=t;a<i.length;a++){var o=i[a];if(o.length<4)throw new Error(\"Each LinearRing of a Polygon must have 4 or more Positions.\");for(var s=0;s<o[o.length-1].length;s++)if(o[o.length-1][s]!==o[0][s])throw new Error(\"First and last Position are not equivalent.\")}return n({type:\"Polygon\",coordinates:t},e,r)}function o(t,e,r){if(void 0===r&&(r={}),t.length<2)throw new Error(\"coordinates must be an array of two or more positions\");return n({type:\"LineString\",coordinates:t},e,r)}function s(t,e){void 0===e&&(e={});var r={type:\"FeatureCollection\"};return e.id&&(r.id=e.id),e.bbox&&(r.bbox=e.bbox),r.features=t,r}function l(t,e,r){return void 0===r&&(r={}),n({type:\"MultiLineString\",coordinates:t},e,r)}function c(t,e,r){return void 0===r&&(r={}),n({type:\"MultiPoint\",coordinates:t},e,r)}function u(t,e,r){return void 0===r&&(r={}),n({type:\"MultiPolygon\",coordinates:t},e,r)}function h(t,e){void 0===e&&(e=\"kilometers\");var n=r.factors[e];if(!n)throw new Error(e+\" units is invalid\");return t*n}function f(t,e){void 0===e&&(e=\"kilometers\");var n=r.factors[e];if(!n)throw new Error(e+\" units is invalid\");return t/n}function p(t){return 180*(t%(2*Math.PI))/Math.PI}function d(t){return!isNaN(t)&&null!==t&&!Array.isArray(t)&&!/^\\s*$/.test(t)}Object.defineProperty(r,\"__esModule\",{value:!0}),r.earthRadius=6371008.8,r.factors={centimeters:100*r.earthRadius,centimetres:100*r.earthRadius,degrees:r.earthRadius/111325,feet:3.28084*r.earthRadius,inches:39.37*r.earthRadius,kilometers:r.earthRadius/1e3,kilometres:r.earthRadius/1e3,meters:r.earthRadius,metres:r.earthRadius,miles:r.earthRadius/1609.344,millimeters:1e3*r.earthRadius,millimetres:1e3*r.earthRadius,nauticalmiles:r.earthRadius/1852,radians:1,yards:r.earthRadius/1.0936},r.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:.001,kilometres:.001,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/r.earthRadius,yards:1/1.0936},r.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:3.86e-7,millimeters:1e6,millimetres:1e6,yards:1.195990046},r.feature=n,r.geometry=function(t,e,r){switch(void 0===r&&(r={}),t){case\"Point\":return a(e).geometry;case\"LineString\":return o(e).geometry;case\"Polygon\":return i(e).geometry;case\"MultiPoint\":return c(e).geometry;case\"MultiLineString\":return l(e).geometry;case\"MultiPolygon\":return u(e).geometry;default:throw new Error(t+\" is invalid\")}},r.point=a,r.points=function(t,e,r){return void 0===r&&(r={}),s(t.map(function(t){return a(t,e)}),r)},r.polygon=i,r.polygons=function(t,e,r){return void 0===r&&(r={}),s(t.map(function(t){return i(t,e)}),r)},r.lineString=o,r.lineStrings=function(t,e,r){return void 0===r&&(r={}),s(t.map(function(t){return o(t,e)}),r)},r.featureCollection=s,r.multiLineString=l,r.multiPoint=c,r.multiPolygon=u,r.geometryCollection=function(t,e,r){return void 0===r&&(r={}),n({type:\"GeometryCollection\",geometries:t},e,r)},r.round=function(t,e){if(void 0===e&&(e=0),e&&!(e>=0))throw new Error(\"precision must be a positive number\");var r=Math.pow(10,e||0);return Math.round(t*r)/r},r.radiansToLength=h,r.lengthToRadians=f,r.lengthToDegrees=function(t,e){return p(f(t,e))},r.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},r.radiansToDegrees=p,r.degreesToRadians=function(t){return t%360*Math.PI/180},r.convertLength=function(t,e,r){if(void 0===e&&(e=\"kilometers\"),void 0===r&&(r=\"kilometers\"),!(t>=0))throw new Error(\"length must be a positive number\");return h(f(t,e),r)},r.convertArea=function(t,e,n){if(void 0===e&&(e=\"meters\"),void 0===n&&(n=\"kilometers\"),!(t>=0))throw new Error(\"area must be a positive number\");var a=r.areaFactors[e];if(!a)throw new Error(\"invalid original units\");var i=r.areaFactors[n];if(!i)throw new Error(\"invalid final units\");return t/a*i},r.isNumber=d,r.isObject=function(t){return!!t&&t.constructor===Object},r.validateBBox=function(t){if(!t)throw new Error(\"bbox is required\");if(!Array.isArray(t))throw new Error(\"bbox must be an Array\");if(4!==t.length&&6!==t.length)throw new Error(\"bbox must be an Array of 4 or 6 numbers\");t.forEach(function(t){if(!d(t))throw new Error(\"bbox must only contain numbers\")})},r.validateId=function(t){if(!t)throw new Error(\"id is required\");if(-1===[\"string\",\"number\"].indexOf(typeof t))throw new Error(\"id must be a number or a string\")},r.radians2degrees=function(){throw new Error(\"method has been renamed to `radiansToDegrees`\")},r.degrees2radians=function(){throw new Error(\"method has been renamed to `degreesToRadians`\")},r.distanceToDegrees=function(){throw new Error(\"method has been renamed to `lengthToDegrees`\")},r.distanceToRadians=function(){throw new Error(\"method has been renamed to `lengthToRadians`\")},r.radiansToDistance=function(){throw new Error(\"method has been renamed to `radiansToLength`\")},r.bearingToAngle=function(){throw new Error(\"method has been renamed to `bearingToAzimuth`\")},r.convertDistance=function(){throw new Error(\"method has been renamed to `convertLength`\")}},{}],61:[function(t,e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0});var n=t(\"@turf/helpers\");function a(t,e,r){if(null!==t)for(var n,i,o,s,l,c,u,h,f=0,p=0,d=t.type,g=\"FeatureCollection\"===d,v=\"Feature\"===d,m=g?t.features.length:1,y=0;y<m;y++){l=(h=!!(u=g?t.features[y].geometry:v?t.geometry:t)&&\"GeometryCollection\"===u.type)?u.geometries.length:1;for(var x=0;x<l;x++){var b=0,_=0;if(null!==(s=h?u.geometries[x]:u)){c=s.coordinates;var w=s.type;switch(f=!r||\"Polygon\"!==w&&\"MultiPolygon\"!==w?0:1,w){case null:break;case\"Point\":if(!1===e(c,p,y,b,_))return!1;p++,b++;break;case\"LineString\":case\"MultiPoint\":for(n=0;n<c.length;n++){if(!1===e(c[n],p,y,b,_))return!1;p++,\"MultiPoint\"===w&&b++}\"LineString\"===w&&b++;break;case\"Polygon\":case\"MultiLineString\":for(n=0;n<c.length;n++){for(i=0;i<c[n].length-f;i++){if(!1===e(c[n][i],p,y,b,_))return!1;p++}\"MultiLineString\"===w&&b++,\"Polygon\"===w&&_++}\"Polygon\"===w&&b++;break;case\"MultiPolygon\":for(n=0;n<c.length;n++){for(_=0,i=0;i<c[n].length;i++){for(o=0;o<c[n][i].length-f;o++){if(!1===e(c[n][i][o],p,y,b,_))return!1;p++}_++}b++}break;case\"GeometryCollection\":for(n=0;n<s.geometries.length;n++)if(!1===a(s.geometries[n],e,r))return!1;break;default:throw new Error(\"Unknown Geometry Type\")}}}}}function i(t,e){var r;switch(t.type){case\"FeatureCollection\":for(r=0;r<t.features.length&&!1!==e(t.features[r].properties,r);r++);break;case\"Feature\":e(t.properties,0)}}function o(t,e){if(\"Feature\"===t.type)e(t,0);else if(\"FeatureCollection\"===t.type)for(var r=0;r<t.features.length&&!1!==e(t.features[r],r);r++);}function s(t,e){var r,n,a,i,o,s,l,c,u,h,f=0,p=\"FeatureCollection\"===t.type,d=\"Feature\"===t.type,g=p?t.features.length:1;for(r=0;r<g;r++){for(s=p?t.features[r].geometry:d?t.geometry:t,c=p?t.features[r].properties:d?t.properties:{},u=p?t.features[r].bbox:d?t.bbox:void 0,h=p?t.features[r].id:d?t.id:void 0,o=(l=!!s&&\"GeometryCollection\"===s.type)?s.geometries.length:1,a=0;a<o;a++)if(null!==(i=l?s.geometries[a]:s))switch(i.type){case\"Point\":case\"LineString\":case\"MultiPoint\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":if(!1===e(i,f,c,u,h))return!1;break;case\"GeometryCollection\":for(n=0;n<i.geometries.length;n++)if(!1===e(i.geometries[n],f,c,u,h))return!1;break;default:throw new Error(\"Unknown Geometry Type\")}else if(!1===e(null,f,c,u,h))return!1;f++}}function l(t,e){s(t,function(t,r,a,i,o){var s,l=null===t?null:t.type;switch(l){case null:case\"Point\":case\"LineString\":case\"Polygon\":return!1!==e(n.feature(t,a,{bbox:i,id:o}),r,0)&&void 0}switch(l){case\"MultiPoint\":s=\"Point\";break;case\"MultiLineString\":s=\"LineString\";break;case\"MultiPolygon\":s=\"Polygon\"}for(var c=0;c<t.coordinates.length;c++){var u={type:s,coordinates:t.coordinates[c]};if(!1===e(n.feature(u,a),r,c))return!1}})}function c(t,e){l(t,function(t,r,i){var o=0;if(t.geometry){var s=t.geometry.type;if(\"Point\"!==s&&\"MultiPoint\"!==s){var l,c=0,u=0,h=0;return!1!==a(t,function(a,s,f,p,d){if(void 0===l||r>c||p>u||d>h)return l=a,c=r,u=p,h=d,void(o=0);var g=n.lineString([l,a],t.properties);if(!1===e(g,r,i,d,o))return!1;o++,l=a})&&void 0}}})}function u(t,e){if(!t)throw new Error(\"geojson is required\");l(t,function(t,r,a){if(null!==t.geometry){var i=t.geometry.type,o=t.geometry.coordinates;switch(i){case\"LineString\":if(!1===e(t,r,a,0,0))return!1;break;case\"Polygon\":for(var s=0;s<o.length;s++)if(!1===e(n.lineString(o[s],t.properties),r,a,s))return!1}}})}r.coordEach=a,r.coordReduce=function(t,e,r,n){var i=r;return a(t,function(t,n,a,o,s){i=0===n&&void 0===r?t:e(i,t,n,a,o,s)},n),i},r.propEach=i,r.propReduce=function(t,e,r){var n=r;return i(t,function(t,a){n=0===a&&void 0===r?t:e(n,t,a)}),n},r.featureEach=o,r.featureReduce=function(t,e,r){var n=r;return o(t,function(t,a){n=0===a&&void 0===r?t:e(n,t,a)}),n},r.coordAll=function(t){var e=[];return a(t,function(t){e.push(t)}),e},r.geomEach=s,r.geomReduce=function(t,e,r){var n=r;return s(t,function(t,a,i,o,s){n=0===a&&void 0===r?t:e(n,t,a,i,o,s)}),n},r.flattenEach=l,r.flattenReduce=function(t,e,r){var n=r;return l(t,function(t,a,i){n=0===a&&0===i&&void 0===r?t:e(n,t,a,i)}),n},r.segmentEach=c,r.segmentReduce=function(t,e,r){var n=r,a=!1;return c(t,function(t,i,o,s,l){n=!1===a&&void 0===r?t:e(n,t,i,o,s,l),a=!0}),n},r.lineEach=u,r.lineReduce=function(t,e,r){var n=r;return u(t,function(t,a,i,o){n=0===a&&void 0===r?t:e(n,t,a,i,o)}),n},r.findSegment=function(t,e){if(e=e||{},!n.isObject(e))throw new Error(\"options is invalid\");var r,a=e.featureIndex||0,i=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.segmentIndex||0,l=e.properties;switch(t.type){case\"FeatureCollection\":a<0&&(a=t.features.length+a),l=l||t.features[a].properties,r=t.features[a].geometry;break;case\"Feature\":l=l||t.properties,r=t.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":r=t;break;default:throw new Error(\"geojson is invalid\")}if(null===r)return null;var c=r.coordinates;switch(r.type){case\"Point\":case\"MultiPoint\":return null;case\"LineString\":return s<0&&(s=c.length+s-1),n.lineString([c[s],c[s+1]],l,e);case\"Polygon\":return o<0&&(o=c.length+o),s<0&&(s=c[o].length+s-1),n.lineString([c[o][s],c[o][s+1]],l,e);case\"MultiLineString\":return i<0&&(i=c.length+i),s<0&&(s=c[i].length+s-1),n.lineString([c[i][s],c[i][s+1]],l,e);case\"MultiPolygon\":return i<0&&(i=c.length+i),o<0&&(o=c[i].length+o),s<0&&(s=c[i][o].length-s-1),n.lineString([c[i][o][s],c[i][o][s+1]],l,e)}throw new Error(\"geojson is invalid\")},r.findPoint=function(t,e){if(e=e||{},!n.isObject(e))throw new Error(\"options is invalid\");var r,a=e.featureIndex||0,i=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.coordIndex||0,l=e.properties;switch(t.type){case\"FeatureCollection\":a<0&&(a=t.features.length+a),l=l||t.features[a].properties,r=t.features[a].geometry;break;case\"Feature\":l=l||t.properties,r=t.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":r=t;break;default:throw new Error(\"geojson is invalid\")}if(null===r)return null;var c=r.coordinates;switch(r.type){case\"Point\":return n.point(c,l,e);case\"MultiPoint\":return i<0&&(i=c.length+i),n.point(c[i],l,e);case\"LineString\":return s<0&&(s=c.length+s),n.point(c[s],l,e);case\"Polygon\":return o<0&&(o=c.length+o),s<0&&(s=c[o].length+s),n.point(c[o][s],l,e);case\"MultiLineString\":return i<0&&(i=c.length+i),s<0&&(s=c[i].length+s),n.point(c[i][s],l,e);case\"MultiPolygon\":return i<0&&(i=c.length+i),o<0&&(o=c[i].length+o),s<0&&(s=c[i][o].length-s),n.point(c[i][o][s],l,e)}throw new Error(\"geojson is invalid\")}},{\"@turf/helpers\":60}],62:[function(t,e,r){\"use strict\";var n=\"undefined\"==typeof WeakMap?t(\"weak-map\"):WeakMap,a=t(\"gl-buffer\"),i=t(\"gl-vao\"),o=new n;e.exports=function(t){var e=o.get(t),r=e&&(e._triangleBuffer.handle||e._triangleBuffer.buffer);if(!r||!t.isBuffer(r)){var n=a(t,new Float32Array([-1,-1,-1,4,4,-1]));(e=i(t,[{buffer:n,type:t.FLOAT,size:2}]))._triangleBuffer=n,o.set(t,e)}e.bind(),t.drawArrays(t.TRIANGLES,0,3),e.unbind()}},{\"gl-buffer\":244,\"gl-vao\":329,\"weak-map\":551}],63:[function(t,e,r){e.exports=function(t){var e=0,r=0,n=0,a=0;return t.map(function(t){var i=(t=t.slice())[0],o=i.toUpperCase();if(i!=o)switch(t[0]=o,i){case\"a\":t[6]+=n,t[7]+=a;break;case\"v\":t[1]+=a;break;case\"h\":t[1]+=n;break;default:for(var s=1;s<t.length;)t[s++]+=n,t[s++]+=a}switch(o){case\"Z\":n=e,a=r;break;case\"H\":n=t[1];break;case\"V\":a=t[1];break;case\"M\":n=e=t[1],a=r=t[2];break;default:n=t[t.length-2],a=t[t.length-1]}return t})}},{}],64:[function(t,e,r){var n=t(\"pad-left\");e.exports=function(t,e,r){e=\"number\"==typeof e?e:1,r=r||\": \";var a=t.split(/\\r?\\n/),i=String(a.length+e-1).length;return a.map(function(t,a){var o=a+e,s=String(o).length,l=n(o,i-s);return l+r+t}).join(\"\\n\")}},{\"pad-left\":459}],65:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[0];for(var r=t[0].length,n=[t[0]],i=[0],o=1;o<e;++o)if(n.push(t[o]),a(n,r)){if(i.push(o),i.length===r+1)return i}else n.pop();return i};var n=t(\"robust-orientation\");function a(t,e){for(var r=new Array(e+1),a=0;a<t.length;++a)r[a]=t[a];for(a=0;a<=t.length;++a){for(var i=t.length;i<=e;++i){for(var o=new Array(e),s=0;s<e;++s)o[s]=Math.pow(i+1-a,s);r[i]=o}if(n.apply(void 0,r))return!0}return!1}},{\"robust-orientation\":509}],66:[function(t,e,r){\"use strict\";e.exports=function(t,e){return n(e).filter(function(r){for(var n=new Array(r.length),i=0;i<r.length;++i)n[i]=e[r[i]];return a(n)*t<1})};var n=t(\"delaunay-triangulate\"),a=t(\"circumradius\")},{circumradius:116,\"delaunay-triangulate\":167}],67:[function(t,e,r){e.exports=function(t,e){return a(n(t,e))};var n=t(\"alpha-complex\"),a=t(\"simplicial-complex-boundary\")},{\"alpha-complex\":66,\"simplicial-complex-boundary\":516}],68:[function(t,e,r){\"use strict\";e.exports=function(t,e){if(!t||null==t.length)throw Error(\"Argument should be an array\");e=null==e?1:Math.floor(e);for(var r=Array(2*e),n=0;n<e;n++){for(var a=-1/0,i=1/0,o=n,s=t.length;o<s;o+=e)t[o]>a&&(a=t[o]),t[o]<i&&(i=t[o]);r[n]=i,r[e+n]=a}return r}},{}],69:[function(t,e,r){e.exports=function(t,e){var r=\"number\"==typeof t,n=\"number\"==typeof e;r&&!n?(e=t,t=0):r||n||(t=0,e=0);var a=(e|=0)-(t|=0);if(a<0)throw new Error(\"array length must be positive\");for(var i=new Array(a),o=0,s=t;o<a;o++,s++)i[o]=s;return i}},{}],70:[function(t,e,r){(function(r){\"use strict\";var n=t(\"object-assign\");function a(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,a=0,i=Math.min(r,n);a<i;++a)if(t[a]!==e[a]){r=t[a],n=e[a];break}return r<n?-1:n<r?1:0}function i(t){return r.Buffer&&\"function\"==typeof r.Buffer.isBuffer?r.Buffer.isBuffer(t):!(null==t||!t._isBuffer)}var o=t(\"util/\"),s=Object.prototype.hasOwnProperty,l=Array.prototype.slice,c=\"foo\"===function(){}.name;function u(t){return Object.prototype.toString.call(t)}function h(t){return!i(t)&&(\"function\"==typeof r.ArrayBuffer&&(\"function\"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):!!t&&(t instanceof DataView||!!(t.buffer&&t.buffer instanceof ArrayBuffer))))}var f=e.exports=y,p=/\\s*function\\s+([^\\(\\s]*)\\s*/;function d(t){if(o.isFunction(t)){if(c)return t.name;var e=t.toString().match(p);return e&&e[1]}}function g(t,e){return\"string\"==typeof t?t.length<e?t:t.slice(0,e):t}function v(t){if(c||!o.isFunction(t))return o.inspect(t);var e=d(t);return\"[Function\"+(e?\": \"+e:\"\")+\"]\"}function m(t,e,r,n,a){throw new f.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:a})}function y(t,e){t||m(t,!0,e,\"==\",f.ok)}function x(t,e,r,n){if(t===e)return!0;if(i(t)&&i(e))return 0===a(t,e);if(o.isDate(t)&&o.isDate(e))return t.getTime()===e.getTime();if(o.isRegExp(t)&&o.isRegExp(e))return t.source===e.source&&t.global===e.global&&t.multiline===e.multiline&&t.lastIndex===e.lastIndex&&t.ignoreCase===e.ignoreCase;if(null!==t&&\"object\"==typeof t||null!==e&&\"object\"==typeof e){if(h(t)&&h(e)&&u(t)===u(e)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===a(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(i(t)!==i(e))return!1;var s=(n=n||{actual:[],expected:[]}).actual.indexOf(t);return-1!==s&&s===n.expected.indexOf(e)||(n.actual.push(t),n.expected.push(e),function(t,e,r,n){if(null==t||null==e)return!1;if(o.isPrimitive(t)||o.isPrimitive(e))return t===e;if(r&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var a=b(t),i=b(e);if(a&&!i||!a&&i)return!1;if(a)return t=l.call(t),e=l.call(e),x(t,e,r);var s,c,u=k(t),h=k(e);if(u.length!==h.length)return!1;for(u.sort(),h.sort(),c=u.length-1;c>=0;c--)if(u[c]!==h[c])return!1;for(c=u.length-1;c>=0;c--)if(s=u[c],!x(t[s],e[s],r,n))return!1;return!0}(t,e,r,n))}return r?t===e:t==e}function b(t){return\"[object Arguments]\"==Object.prototype.toString.call(t)}function _(t,e){if(!t||!e)return!1;if(\"[object RegExp]\"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function w(t,e,r,n){var a;if(\"function\"!=typeof e)throw new TypeError('\"block\" argument must be a function');\"string\"==typeof r&&(n=r,r=null),a=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?\" (\"+r.name+\").\":\".\")+(n?\" \"+n:\".\"),t&&!a&&m(a,r,\"Missing expected exception\"+n);var i=\"string\"==typeof n,s=!t&&a&&!r;if((!t&&o.isError(a)&&i&&_(a,r)||s)&&m(a,r,\"Got unwanted exception\"+n),t&&a&&r&&!_(a,r)||!t&&a)throw a}f.AssertionError=function(t){var e;this.name=\"AssertionError\",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=g(v((e=this).actual),128)+\" \"+e.operator+\" \"+g(v(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||m;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var n=new Error;if(n.stack){var a=n.stack,i=d(r),o=a.indexOf(\"\\n\"+i);if(o>=0){var s=a.indexOf(\"\\n\",o+1);a=a.substring(s+1)}this.stack=a}}},o.inherits(f.AssertionError,Error),f.fail=m,f.ok=y,f.equal=function(t,e,r){t!=e&&m(t,e,r,\"==\",f.equal)},f.notEqual=function(t,e,r){t==e&&m(t,e,r,\"!=\",f.notEqual)},f.deepEqual=function(t,e,r){x(t,e,!1)||m(t,e,r,\"deepEqual\",f.deepEqual)},f.deepStrictEqual=function(t,e,r){x(t,e,!0)||m(t,e,r,\"deepStrictEqual\",f.deepStrictEqual)},f.notDeepEqual=function(t,e,r){x(t,e,!1)&&m(t,e,r,\"notDeepEqual\",f.notDeepEqual)},f.notDeepStrictEqual=function t(e,r,n){x(e,r,!0)&&m(e,r,n,\"notDeepStrictEqual\",t)},f.strictEqual=function(t,e,r){t!==e&&m(t,e,r,\"===\",f.strictEqual)},f.notStrictEqual=function(t,e,r){t===e&&m(t,e,r,\"!==\",f.notStrictEqual)},f.throws=function(t,e,r){w(!0,t,e,r)},f.doesNotThrow=function(t,e,r){w(!1,t,e,r)},f.ifError=function(t){if(t)throw t},f.strict=n(function t(e,r){e||m(e,!0,r,\"==\",t)},f,{equal:f.strictEqual,deepEqual:f.deepStrictEqual,notEqual:f.notStrictEqual,notDeepEqual:f.notDeepStrictEqual}),f.strict.strict=f.strict;var k=Object.keys||function(t){var e=[];for(var r in t)s.call(t,r)&&e.push(r);return e}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"object-assign\":456,\"util/\":73}],71:[function(t,e,r){\"function\"==typeof Object.create?e.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}},{}],72:[function(t,e,r){e.exports=function(t){return t&&\"object\"==typeof t&&\"function\"==typeof t.copy&&\"function\"==typeof t.fill&&\"function\"==typeof t.readUInt8}},{}],73:[function(t,e,r){(function(e,n){var a=/%[sdj%]/g;r.format=function(t){if(!m(t)){for(var e=[],r=0;r<arguments.length;r++)e.push(s(arguments[r]));return e.join(\" \")}r=1;for(var n=arguments,i=n.length,o=String(t).replace(a,function(t){if(\"%%\"===t)return\"%\";if(r>=i)return t;switch(t){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(t){return\"[Circular]\"}default:return t}}),l=n[r];r<i;l=n[++r])g(l)||!b(l)?o+=\" \"+l:o+=\" \"+s(l);return o},r.deprecate=function(t,a){if(y(n.process))return function(){return r.deprecate(t,a).apply(this,arguments)};if(!0===e.noDeprecation)return t;var i=!1;return function(){if(!i){if(e.throwDeprecation)throw new Error(a);e.traceDeprecation?console.trace(a):console.error(a),i=!0}return t.apply(this,arguments)}};var i,o={};function s(t,e){var n={seen:[],stylize:c};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(e)?n.showHidden=e:e&&r._extend(n,e),y(n.showHidden)&&(n.showHidden=!1),y(n.depth)&&(n.depth=2),y(n.colors)&&(n.colors=!1),y(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),u(n,t,n.depth)}function l(t,e){var r=s.styles[e];return r?\"\\x1b[\"+s.colors[r][0]+\"m\"+t+\"\\x1b[\"+s.colors[r][1]+\"m\":t}function c(t,e){return t}function u(t,e,n){if(t.customInspect&&e&&k(e.inspect)&&e.inspect!==r.inspect&&(!e.constructor||e.constructor.prototype!==e)){var a=e.inspect(n,t);return m(a)||(a=u(t,a,n)),a}var i=function(t,e){if(y(e))return t.stylize(\"undefined\",\"undefined\");if(m(e)){var r=\"'\"+JSON.stringify(e).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return t.stylize(r,\"string\")}if(v(e))return t.stylize(\"\"+e,\"number\");if(d(e))return t.stylize(\"\"+e,\"boolean\");if(g(e))return t.stylize(\"null\",\"null\")}(t,e);if(i)return i;var o=Object.keys(e),s=function(t){var e={};return t.forEach(function(t,r){e[t]=!0}),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(e)),w(e)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return h(e);if(0===o.length){if(k(e)){var l=e.name?\": \"+e.name:\"\";return t.stylize(\"[Function\"+l+\"]\",\"special\")}if(x(e))return t.stylize(RegExp.prototype.toString.call(e),\"regexp\");if(_(e))return t.stylize(Date.prototype.toString.call(e),\"date\");if(w(e))return h(e)}var c,b=\"\",T=!1,M=[\"{\",\"}\"];(p(e)&&(T=!0,M=[\"[\",\"]\"]),k(e))&&(b=\" [Function\"+(e.name?\": \"+e.name:\"\")+\"]\");return x(e)&&(b=\" \"+RegExp.prototype.toString.call(e)),_(e)&&(b=\" \"+Date.prototype.toUTCString.call(e)),w(e)&&(b=\" \"+h(e)),0!==o.length||T&&0!=e.length?n<0?x(e)?t.stylize(RegExp.prototype.toString.call(e),\"regexp\"):t.stylize(\"[Object]\",\"special\"):(t.seen.push(e),c=T?function(t,e,r,n,a){for(var i=[],o=0,s=e.length;o<s;++o)S(e,String(o))?i.push(f(t,e,r,n,String(o),!0)):i.push(\"\");return a.forEach(function(a){a.match(/^\\d+$/)||i.push(f(t,e,r,n,a,!0))}),i}(t,e,n,s,o):o.map(function(r){return f(t,e,n,s,r,T)}),t.seen.pop(),function(t,e,r){if(t.reduce(function(t,e){return 0,e.indexOf(\"\\n\")>=0&&0,t+e.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0)>60)return r[0]+(\"\"===e?\"\":e+\"\\n \")+\" \"+t.join(\",\\n \")+\" \"+r[1];return r[0]+e+\" \"+t.join(\", \")+\" \"+r[1]}(c,b,M)):M[0]+b+M[1]}function h(t){return\"[\"+Error.prototype.toString.call(t)+\"]\"}function f(t,e,r,n,a,i){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,a)||{value:e[a]}).get?s=l.set?t.stylize(\"[Getter/Setter]\",\"special\"):t.stylize(\"[Getter]\",\"special\"):l.set&&(s=t.stylize(\"[Setter]\",\"special\")),S(n,a)||(o=\"[\"+a+\"]\"),s||(t.seen.indexOf(l.value)<0?(s=g(r)?u(t,l.value,null):u(t,l.value,r-1)).indexOf(\"\\n\")>-1&&(s=i?s.split(\"\\n\").map(function(t){return\" \"+t}).join(\"\\n\").substr(2):\"\\n\"+s.split(\"\\n\").map(function(t){return\" \"+t}).join(\"\\n\")):s=t.stylize(\"[Circular]\",\"special\")),y(o)){if(i&&a.match(/^\\d+$/))return s;(o=JSON.stringify(\"\"+a)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,\"name\")):(o=o.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),o=t.stylize(o,\"string\"))}return o+\": \"+s}function p(t){return Array.isArray(t)}function d(t){return\"boolean\"==typeof t}function g(t){return null===t}function v(t){return\"number\"==typeof t}function m(t){return\"string\"==typeof t}function y(t){return void 0===t}function x(t){return b(t)&&\"[object RegExp]\"===T(t)}function b(t){return\"object\"==typeof t&&null!==t}function _(t){return b(t)&&\"[object Date]\"===T(t)}function w(t){return b(t)&&(\"[object Error]\"===T(t)||t instanceof Error)}function k(t){return\"function\"==typeof t}function T(t){return Object.prototype.toString.call(t)}function M(t){return t<10?\"0\"+t.toString(10):t.toString(10)}r.debuglog=function(t){if(y(i)&&(i=e.env.NODE_DEBUG||\"\"),t=t.toUpperCase(),!o[t])if(new RegExp(\"\\\\b\"+t+\"\\\\b\",\"i\").test(i)){var n=e.pid;o[t]=function(){var e=r.format.apply(r,arguments);console.error(\"%s %d: %s\",t,n,e)}}else o[t]=function(){};return o[t]},r.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},r.isArray=p,r.isBoolean=d,r.isNull=g,r.isNullOrUndefined=function(t){return null==t},r.isNumber=v,r.isString=m,r.isSymbol=function(t){return\"symbol\"==typeof t},r.isUndefined=y,r.isRegExp=x,r.isObject=b,r.isDate=_,r.isError=w,r.isFunction=k,r.isPrimitive=function(t){return null===t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||\"symbol\"==typeof t||\"undefined\"==typeof t},r.isBuffer=t(\"./support/isBuffer\");var A=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function S(t,e){return Object.prototype.hasOwnProperty.call(t,e)}r.log=function(){var t,e;console.log(\"%s - %s\",(t=new Date,e=[M(t.getHours()),M(t.getMinutes()),M(t.getSeconds())].join(\":\"),[t.getDate(),A[t.getMonth()],e].join(\" \")),r.format.apply(r,arguments))},r.inherits=t(\"inherits\"),r._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this,t(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"./support/isBuffer\":72,_process:484,inherits:71}],74:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],75:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=e.length,i=new Array(r+1),o=0;o<r;++o){for(var s=new Array(r+1),l=0;l<=r;++l)s[l]=t[l][o];i[o]=s}i[r]=new Array(r+1);for(var o=0;o<=r;++o)i[r][o]=1;for(var c=new Array(r+1),o=0;o<r;++o)c[o]=e[o];c[r]=1;var u=n(i,c),h=a(u[r+1]);0===h&&(h=1);for(var f=new Array(r+1),o=0;o<=r;++o)f[o]=a(u[o])/h;return f};var n=t(\"robust-linear-solve\");function a(t){for(var e=0,r=0;r<t.length;++r)e+=t[r];return e}},{\"robust-linear-solve\":508}],76:[function(t,e,r){\"use strict\";r.byteLength=function(t){var e=c(t),r=e[0],n=e[1];return 3*(r+n)/4-n},r.toByteArray=function(t){var e,r,n=c(t),o=n[0],s=n[1],l=new i(function(t,e,r){return 3*(e+r)/4-r}(0,o,s)),u=0,h=s>0?o-4:o;for(r=0;r<h;r+=4)e=a[t.charCodeAt(r)]<<18|a[t.charCodeAt(r+1)]<<12|a[t.charCodeAt(r+2)]<<6|a[t.charCodeAt(r+3)],l[u++]=e>>16&255,l[u++]=e>>8&255,l[u++]=255&e;2===s&&(e=a[t.charCodeAt(r)]<<2|a[t.charCodeAt(r+1)]>>4,l[u++]=255&e);1===s&&(e=a[t.charCodeAt(r)]<<10|a[t.charCodeAt(r+1)]<<4|a[t.charCodeAt(r+2)]>>2,l[u++]=e>>8&255,l[u++]=255&e);return l},r.fromByteArray=function(t){for(var e,r=t.length,a=r%3,i=[],o=0,s=r-a;o<s;o+=16383)i.push(u(t,o,o+16383>s?s:o+16383));1===a?(e=t[r-1],i.push(n[e>>2]+n[e<<4&63]+\"==\")):2===a&&(e=(t[r-2]<<8)+t[r-1],i.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+\"=\"));return i.join(\"\")};for(var n=[],a=[],i=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",s=0,l=o.length;s<l;++s)n[s]=o[s],a[o.charCodeAt(s)]=s;function c(t){var e=t.length;if(e%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var r=t.indexOf(\"=\");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function u(t,e,r){for(var a,i,o=[],s=e;s<r;s+=3)a=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),o.push(n[(i=a)>>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return o.join(\"\")}a[\"-\".charCodeAt(0)]=62,a[\"_\".charCodeAt(0)]=63},{}],77:[function(t,e,r){\"use strict\";var n=t(\"./lib/rationalize\");e.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},{\"./lib/rationalize\":87}],78:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},{}],79:[function(t,e,r){\"use strict\";var n=t(\"./lib/rationalize\");e.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},{\"./lib/rationalize\":87}],80:[function(t,e,r){\"use strict\";var n=t(\"./is-rat\"),a=t(\"./lib/is-bn\"),i=t(\"./lib/num-to-bn\"),o=t(\"./lib/str-to-bn\"),s=t(\"./lib/rationalize\"),l=t(\"./div\");e.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var c=0;var u,h;if(a(e))u=e.clone();else if(\"string\"==typeof e)u=o(e);else{if(0===e)return[i(0),i(1)];if(e===Math.floor(e))u=i(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),c-=256;u=i(e)}}if(n(r))u.mul(r[1]),h=r[0].clone();else if(a(r))h=r.clone();else if(\"string\"==typeof r)h=o(r);else if(r)if(r===Math.floor(r))h=i(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),c+=256;h=i(r)}else h=i(1);c>0?u=u.ushln(c):c<0&&(h=h.ushln(-c));return s(u,h)}},{\"./div\":79,\"./is-rat\":81,\"./lib/is-bn\":85,\"./lib/num-to-bn\":86,\"./lib/rationalize\":87,\"./lib/str-to-bn\":88}],81:[function(t,e,r){\"use strict\";var n=t(\"./lib/is-bn\");e.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},{\"./lib/is-bn\":85}],82:[function(t,e,r){\"use strict\";var n=t(\"bn.js\");e.exports=function(t){return t.cmp(new n(0))}},{\"bn.js\":96}],83:[function(t,e,r){\"use strict\";var n=t(\"./bn-sign\");e.exports=function(t){var e=t.length,r=t.words,a=0;if(1===e)a=r[0];else if(2===e)a=r[0]+67108864*r[1];else for(var i=0;i<e;i++){var o=r[i];a+=o*Math.pow(67108864,i)}return n(t)*a}},{\"./bn-sign\":82}],84:[function(t,e,r){\"use strict\";var n=t(\"double-bits\"),a=t(\"bit-twiddle\").countTrailingZeros;e.exports=function(t){var e=a(n.lo(t));if(e<32)return e;var r=a(n.hi(t));if(r>20)return 52;return r+32}},{\"bit-twiddle\":94,\"double-bits\":169}],85:[function(t,e,r){\"use strict\";t(\"bn.js\");e.exports=function(t){return t&&\"object\"==typeof t&&Boolean(t.words)}},{\"bn.js\":96}],86:[function(t,e,r){\"use strict\";var n=t(\"bn.js\"),a=t(\"double-bits\");e.exports=function(t){var e=a.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},{\"bn.js\":96,\"double-bits\":169}],87:[function(t,e,r){\"use strict\";var n=t(\"./num-to-bn\"),a=t(\"./bn-sign\");e.exports=function(t,e){var r=a(t),i=a(e);if(0===r)return[n(0),n(1)];if(0===i)return[n(0),n(0)];i<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);if(o.cmpn(1))return[t.div(o),e.div(o)];return[t,e]}},{\"./bn-sign\":82,\"./num-to-bn\":86}],88:[function(t,e,r){\"use strict\";var n=t(\"bn.js\");e.exports=function(t){return new n(t)}},{\"bn.js\":96}],89:[function(t,e,r){\"use strict\";var n=t(\"./lib/rationalize\");e.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},{\"./lib/rationalize\":87}],90:[function(t,e,r){\"use strict\";var n=t(\"./lib/bn-sign\");e.exports=function(t){return n(t[0])*n(t[1])}},{\"./lib/bn-sign\":82}],91:[function(t,e,r){\"use strict\";var n=t(\"./lib/rationalize\");e.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},{\"./lib/rationalize\":87}],92:[function(t,e,r){\"use strict\";var n=t(\"./lib/bn-to-num\"),a=t(\"./lib/ctz\");e.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var i=e.abs().divmod(r.abs()),o=i.div,s=n(o),l=i.mod,c=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return c*s;if(s){var u=a(s)+4,h=n(l.ushln(u).divRound(r));return c*(s+h*Math.pow(2,-u))}var f=r.bitLength()-l.bitLength()+53,h=n(l.ushln(f).divRound(r));return f<1023?c*h*Math.pow(2,-f):(h*=Math.pow(2,-1023),c*h*Math.pow(2,1023-f))}},{\"./lib/bn-to-num\":83,\"./lib/ctz\":84}],93:[function(t,e,r){\"use strict\";function n(t,e,r,n,a,i){var o=[\"function \",t,\"(a,l,h,\",n.join(\",\"),\"){\",i?\"\":\"var i=\",r?\"l-1\":\"h+1\",\";while(l<=h){var m=(l+h)>>>1,x=a\",a?\".get(m)\":\"[m]\"];return i?e.indexOf(\"c\")<0?o.push(\";if(x===y){return m}else if(x<=y){\"):o.push(\";var p=c(x,y);if(p===0){return m}else if(p<=0){\"):o.push(\";if(\",e,\"){i=m;\"),r?o.push(\"l=m+1}else{h=m-1}\"):o.push(\"h=m-1}else{l=m+1}\"),o.push(\"}\"),i?o.push(\"return -1};\"):o.push(\"return i};\"),o.join(\"\")}function a(t,e,r,a){return new Function([n(\"A\",\"x\"+t+\"y\",e,[\"y\"],!1,a),n(\"B\",\"x\"+t+\"y\",e,[\"y\"],!0,a),n(\"P\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],!1,a),n(\"Q\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],!0,a),\"function dispatchBsearch\",r,\"(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch\",r].join(\"\"))()}e.exports={ge:a(\">=\",!1,\"GE\"),gt:a(\">\",!1,\"GT\"),lt:a(\"<\",!0,\"LT\"),le:a(\"<=\",!0,\"LE\"),eq:a(\"-\",!0,\"EQ\",!0)}},{}],94:[function(t,e,r){\"use strict\";function n(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1<<31,r.sign=function(t){return(t>0)-(t<0)},r.abs=function(t){var e=t>>31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&-(t<e)},r.max=function(t,e){return t^(t^e)&-(t<e)},r.isPow2=function(t){return!(t&t-1||!t)},r.log2=function(t){var e,r;return e=(t>65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},r.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},r.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},r.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},r.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var a=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,a=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--a;t[e]=n<<a&255}}(a),r.reverse=function(t){return a[255&t]<<24|a[t>>>8&255]<<16|a[t>>>16&255]<<8|a[t>>>24&255]},r.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},r.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},r.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},r.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],95:[function(t,e,r){\"use strict\";var n=t(\"clamp\");e.exports=function(t,e){e||(e={});var r,o,s,l,c,u,h,f,p,d,g,v=null==e.cutoff?.25:e.cutoff,m=null==e.radius?8:e.radius,y=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error(\"For raw data width and height should be provided by options\");r=e.width,o=e.height,l=t,u=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(h=(f=t).getContext(\"2d\"),r=f.width,o=f.height,p=h.getImageData(0,0,r,o),l=p.data,u=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(f=t.canvas,h=t,r=f.width,o=f.height,p=h.getImageData(0,0,r,o),l=p.data,u=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,u=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(c=l,l=Array(r*o),d=0,g=c.length;d<g;d++)l[d]=c[d*u+y]/255;else if(1!==u)throw Error(\"Raw data can have only 1 value per pixel\");var x=Array(r*o),b=Array(r*o),_=Array(s),w=Array(s),k=Array(s+1),T=Array(s);for(d=0,g=r*o;d<g;d++){var M=l[d];x[d]=1===M?0:0===M?a:Math.pow(Math.max(0,.5-M),2),b[d]=1===M?a:0===M?0:Math.pow(Math.max(0,M-.5),2)}i(x,r,o,_,w,T,k),i(b,r,o,_,w,T,k);var A=window.Float32Array?new Float32Array(r*o):new Array(r*o);for(d=0,g=r*o;d<g;d++)A[d]=n(1-((x[d]-b[d])/m+v),0,1);return A};var a=1e20;function i(t,e,r,n,a,i,s){for(var l=0;l<e;l++){for(var c=0;c<r;c++)n[c]=t[c*e+l];for(o(n,a,i,s,r),c=0;c<r;c++)t[c*e+l]=a[c]}for(c=0;c<r;c++){for(l=0;l<e;l++)n[l]=t[c*e+l];for(o(n,a,i,s,e),l=0;l<e;l++)t[c*e+l]=Math.sqrt(a[l])}}function o(t,e,r,n,i){r[0]=0,n[0]=-a,n[1]=+a;for(var o=1,s=0;o<i;o++){for(var l=(t[o]+o*o-(t[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);l<=n[s];)s--,l=(t[o]+o*o-(t[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);r[++s]=o,n[s]=l,n[s+1]=+a}for(o=0,s=0;o<i;o++){for(;n[s+1]<o;)s++;e[o]=(o-r[s])*(o-r[s])+t[r[s]]}}},{clamp:117}],96:[function(t,e,r){!function(e,r){\"use strict\";function n(t,e){if(!t)throw new Error(e||\"Assertion failed\")}function a(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function i(t,e,r){if(i.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&(\"le\"!==e&&\"be\"!==e||(r=e,e=10),this._init(t||0,e||10,r||\"be\"))}var o;\"object\"==typeof e?e.exports=i:r.BN=i,i.BN=i,i.wordSize=26;try{o=t(\"buffer\").Buffer}catch(t){}function s(t,e,r){for(var n=0,a=Math.min(t.length,r),i=e;i<a;i++){var o=t.charCodeAt(i)-48;n<<=4,n|=o>=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return n}function l(t,e,r,n){for(var a=0,i=Math.min(t.length,r),o=e;o<i;o++){var s=t.charCodeAt(o)-48;a*=n,a+=s>=49?s-49+10:s>=17?s-17+10:s}return a}i.isBN=function(t){return t instanceof i||null!==t&&\"object\"==typeof t&&t.constructor.wordSize===i.wordSize&&Array.isArray(t.words)},i.max=function(t,e){return t.cmp(e)>0?t:e},i.min=function(t,e){return t.cmp(e)<0?t:e},i.prototype._init=function(t,e,r){if(\"number\"==typeof t)return this._initNumber(t,e,r);if(\"object\"==typeof t)return this._initArray(t,e,r);\"hex\"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var a=0;\"-\"===(t=t.toString().replace(/\\s+/g,\"\"))[0]&&a++,16===e?this._parseHex(t,a):this._parseBase(t,e,a),\"-\"===t[0]&&(this.negative=1),this.strip(),\"le\"===r&&this._initArray(this.toArray(),e,r)},i.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),\"le\"===r&&this._initArray(this.toArray(),e,r)},i.prototype._initArray=function(t,e,r){if(n(\"number\"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var a=0;a<this.length;a++)this.words[a]=0;var i,o,s=0;if(\"be\"===r)for(a=t.length-1,i=0;a>=0;a-=3)o=t[a]|t[a-1]<<8|t[a-2]<<16,this.words[i]|=o<<s&67108863,this.words[i+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);else if(\"le\"===r)for(a=0,i=0;a<t.length;a+=3)o=t[a]|t[a+1]<<8|t[a+2]<<16,this.words[i]|=o<<s&67108863,this.words[i+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);return this.strip()},i.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var n,a,i=0;for(r=t.length-6,n=0;r>=e;r-=6)a=s(t,r,r+6),this.words[n]|=a<<i&67108863,this.words[n+1]|=a>>>26-i&4194303,(i+=24)>=26&&(i-=26,n++);r+6!==e&&(a=s(t,e,r+6),this.words[n]|=a<<i&67108863,this.words[n+1]|=a>>>26-i&4194303),this.strip()},i.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,a=1;a<=67108863;a*=e)n++;n--,a=a/e|0;for(var i=t.length-r,o=i%n,s=Math.min(i,i-o)+r,c=0,u=r;u<s;u+=n)c=l(t,u,u+n,e),this.imuln(a),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(0!==o){var h=1;for(c=l(t,u,t.length,e),u=0;u<o;u++)h*=e;this.imuln(h),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}},i.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},i.prototype.clone=function(){var t=new i(null);return this.copy(t),t},i.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},i.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var c=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var a=0|t.words[0],i=0|e.words[0],o=a*i,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var c=1;c<n;c++){for(var u=l>>>26,h=67108863&l,f=Math.min(c,e.length-1),p=Math.max(0,c-t.length+1);p<=f;p++){var d=c-p|0;u+=(o=(a=0|t.words[d])*(i=0|e.words[p])+h)/67108864|0,h=67108863&o}r.words[c]=0|h,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}i.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||\"hex\"===t){r=\"\";for(var a=0,i=0,o=0;o<this.length;o++){var s=this.words[o],l=(16777215&(s<<a|i)).toString(16);r=0!==(i=s>>>24-a&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(a+=2)>=26&&(a-=26,o--)}for(0!==i&&(r=i.toString(16)+r);r.length%e!=0;)r=\"0\"+r;return 0!==this.negative&&(r=\"-\"+r),r}if(t===(0|t)&&t>=2&&t<=36){var f=u[t],p=h[t];r=\"\";var d=this.clone();for(d.negative=0;!d.isZero();){var g=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?g+r:c[f-g.length]+g+r}for(this.isZero()&&(r=\"0\"+r);r.length%e!=0;)r=\"0\"+r;return 0!==this.negative&&(r=\"-\"+r),r}n(!1,\"Base should be between 2 and 36\")},i.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,\"Number can only safely store up to 53 bits\"),0!==this.negative?-t:t},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(t,e){return n(\"undefined\"!=typeof o),this.toArrayLike(o,t,e)},i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},i.prototype.toArrayLike=function(t,e,r){var a=this.byteLength(),i=r||Math.max(1,a);n(a<=i,\"byte array longer than desired length\"),n(i>0,\"Requested array length <= 0\"),this.strip();var o,s,l=\"le\"===e,c=new t(i),u=this.clone();if(l){for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[s]=o;for(;s<i;s++)c[s]=0}else{for(s=0;s<i-a;s++)c[s]=0;for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[i-s-1]=o}return c},Math.clz32?i.prototype._countBits=function(t){return 32-Math.clz32(t)}:i.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},i.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},i.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},i.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},i.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},i.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},i.prototype.isNeg=function(){return 0!==this.negative},i.prototype.neg=function(){return this.clone().ineg()},i.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},i.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},i.prototype.ior=function(t){return n(0==(this.negative|t.negative)),this.iuor(t)},i.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},i.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},i.prototype.iand=function(t){return n(0==(this.negative|t.negative)),this.iuand(t)},i.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},i.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this.strip()},i.prototype.ixor=function(t){return n(0==(this.negative|t.negative)),this.iuxor(t)},i.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},i.prototype.inotn=function(t){n(\"number\"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var a=0;a<e;a++)this.words[a]=67108863&~this.words[a];return r>0&&(this.words[a]=~this.words[a]&67108863>>26-r),this.strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){n(\"number\"==typeof t&&t>=0);var r=t/26|0,a=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<a:this.words[r]&~(1<<a),this.strip()},i.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var a=0,i=0;i<n.length;i++)e=(0|r.words[i])+(0|n.words[i])+a,this.words[i]=67108863&e,a=e>>>26;for(;0!==a&&i<r.length;i++)e=(0|r.words[i])+a,this.words[i]=67108863&e,a=e>>>26;if(this.length=r.length,0!==a)this.words[this.length]=a,this.length++;else if(r!==this)for(;i<r.length;i++)this.words[i]=r.words[i];return this},i.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,a=this.cmp(t);if(0===a)return this.negative=0,this.length=1,this.words[0]=0,this;a>0?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o<n.length;o++)i=(e=(0|r.words[o])-(0|n.words[o])+i)>>26,this.words[o]=67108863&e;for(;0!==i&&o<r.length;o++)i=(e=(0|r.words[o])+i)>>26,this.words[o]=67108863&e;if(0===i&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this.strip()},i.prototype.sub=function(t){return this.clone().isub(t)};var p=function(t,e,r){var n,a,i,o=t.words,s=e.words,l=r.words,c=0,u=0|o[0],h=8191&u,f=u>>>13,p=0|o[1],d=8191&p,g=p>>>13,v=0|o[2],m=8191&v,y=v>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],k=8191&w,T=w>>>13,M=0|o[5],A=8191&M,S=M>>>13,E=0|o[6],L=8191&E,C=E>>>13,P=0|o[7],O=8191&P,z=P>>>13,I=0|o[8],D=8191&I,R=I>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],V=8191&j,U=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,Y=0|s[2],W=8191&Y,X=Y>>>13,Z=0|s[3],J=8191&Z,K=Z>>>13,Q=0|s[4],$=8191&Q,tt=Q>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,at=0|s[6],it=8191&at,ot=at>>>13,st=0|s[7],lt=8191&st,ct=st>>>13,ut=0|s[8],ht=8191&ut,ft=ut>>>13,pt=0|s[9],dt=8191&pt,gt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var vt=(c+(n=Math.imul(h,V))|0)+((8191&(a=(a=Math.imul(h,U))+Math.imul(f,V)|0))<<13)|0;c=((i=Math.imul(f,U))+(a>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(d,V),a=(a=Math.imul(d,U))+Math.imul(g,V)|0,i=Math.imul(g,U);var mt=(c+(n=n+Math.imul(h,H)|0)|0)+((8191&(a=(a=a+Math.imul(h,G)|0)+Math.imul(f,H)|0))<<13)|0;c=((i=i+Math.imul(f,G)|0)+(a>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,V),a=(a=Math.imul(m,U))+Math.imul(y,V)|0,i=Math.imul(y,U),n=n+Math.imul(d,H)|0,a=(a=a+Math.imul(d,G)|0)+Math.imul(g,H)|0,i=i+Math.imul(g,G)|0;var yt=(c+(n=n+Math.imul(h,W)|0)|0)+((8191&(a=(a=a+Math.imul(h,X)|0)+Math.imul(f,W)|0))<<13)|0;c=((i=i+Math.imul(f,X)|0)+(a>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,V),a=(a=Math.imul(b,U))+Math.imul(_,V)|0,i=Math.imul(_,U),n=n+Math.imul(m,H)|0,a=(a=a+Math.imul(m,G)|0)+Math.imul(y,H)|0,i=i+Math.imul(y,G)|0,n=n+Math.imul(d,W)|0,a=(a=a+Math.imul(d,X)|0)+Math.imul(g,W)|0,i=i+Math.imul(g,X)|0;var xt=(c+(n=n+Math.imul(h,J)|0)|0)+((8191&(a=(a=a+Math.imul(h,K)|0)+Math.imul(f,J)|0))<<13)|0;c=((i=i+Math.imul(f,K)|0)+(a>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(k,V),a=(a=Math.imul(k,U))+Math.imul(T,V)|0,i=Math.imul(T,U),n=n+Math.imul(b,H)|0,a=(a=a+Math.imul(b,G)|0)+Math.imul(_,H)|0,i=i+Math.imul(_,G)|0,n=n+Math.imul(m,W)|0,a=(a=a+Math.imul(m,X)|0)+Math.imul(y,W)|0,i=i+Math.imul(y,X)|0,n=n+Math.imul(d,J)|0,a=(a=a+Math.imul(d,K)|0)+Math.imul(g,J)|0,i=i+Math.imul(g,K)|0;var bt=(c+(n=n+Math.imul(h,$)|0)|0)+((8191&(a=(a=a+Math.imul(h,tt)|0)+Math.imul(f,$)|0))<<13)|0;c=((i=i+Math.imul(f,tt)|0)+(a>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(A,V),a=(a=Math.imul(A,U))+Math.imul(S,V)|0,i=Math.imul(S,U),n=n+Math.imul(k,H)|0,a=(a=a+Math.imul(k,G)|0)+Math.imul(T,H)|0,i=i+Math.imul(T,G)|0,n=n+Math.imul(b,W)|0,a=(a=a+Math.imul(b,X)|0)+Math.imul(_,W)|0,i=i+Math.imul(_,X)|0,n=n+Math.imul(m,J)|0,a=(a=a+Math.imul(m,K)|0)+Math.imul(y,J)|0,i=i+Math.imul(y,K)|0,n=n+Math.imul(d,$)|0,a=(a=a+Math.imul(d,tt)|0)+Math.imul(g,$)|0,i=i+Math.imul(g,tt)|0;var _t=(c+(n=n+Math.imul(h,rt)|0)|0)+((8191&(a=(a=a+Math.imul(h,nt)|0)+Math.imul(f,rt)|0))<<13)|0;c=((i=i+Math.imul(f,nt)|0)+(a>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(L,V),a=(a=Math.imul(L,U))+Math.imul(C,V)|0,i=Math.imul(C,U),n=n+Math.imul(A,H)|0,a=(a=a+Math.imul(A,G)|0)+Math.imul(S,H)|0,i=i+Math.imul(S,G)|0,n=n+Math.imul(k,W)|0,a=(a=a+Math.imul(k,X)|0)+Math.imul(T,W)|0,i=i+Math.imul(T,X)|0,n=n+Math.imul(b,J)|0,a=(a=a+Math.imul(b,K)|0)+Math.imul(_,J)|0,i=i+Math.imul(_,K)|0,n=n+Math.imul(m,$)|0,a=(a=a+Math.imul(m,tt)|0)+Math.imul(y,$)|0,i=i+Math.imul(y,tt)|0,n=n+Math.imul(d,rt)|0,a=(a=a+Math.imul(d,nt)|0)+Math.imul(g,rt)|0,i=i+Math.imul(g,nt)|0;var wt=(c+(n=n+Math.imul(h,it)|0)|0)+((8191&(a=(a=a+Math.imul(h,ot)|0)+Math.imul(f,it)|0))<<13)|0;c=((i=i+Math.imul(f,ot)|0)+(a>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(O,V),a=(a=Math.imul(O,U))+Math.imul(z,V)|0,i=Math.imul(z,U),n=n+Math.imul(L,H)|0,a=(a=a+Math.imul(L,G)|0)+Math.imul(C,H)|0,i=i+Math.imul(C,G)|0,n=n+Math.imul(A,W)|0,a=(a=a+Math.imul(A,X)|0)+Math.imul(S,W)|0,i=i+Math.imul(S,X)|0,n=n+Math.imul(k,J)|0,a=(a=a+Math.imul(k,K)|0)+Math.imul(T,J)|0,i=i+Math.imul(T,K)|0,n=n+Math.imul(b,$)|0,a=(a=a+Math.imul(b,tt)|0)+Math.imul(_,$)|0,i=i+Math.imul(_,tt)|0,n=n+Math.imul(m,rt)|0,a=(a=a+Math.imul(m,nt)|0)+Math.imul(y,rt)|0,i=i+Math.imul(y,nt)|0,n=n+Math.imul(d,it)|0,a=(a=a+Math.imul(d,ot)|0)+Math.imul(g,it)|0,i=i+Math.imul(g,ot)|0;var kt=(c+(n=n+Math.imul(h,lt)|0)|0)+((8191&(a=(a=a+Math.imul(h,ct)|0)+Math.imul(f,lt)|0))<<13)|0;c=((i=i+Math.imul(f,ct)|0)+(a>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(D,V),a=(a=Math.imul(D,U))+Math.imul(R,V)|0,i=Math.imul(R,U),n=n+Math.imul(O,H)|0,a=(a=a+Math.imul(O,G)|0)+Math.imul(z,H)|0,i=i+Math.imul(z,G)|0,n=n+Math.imul(L,W)|0,a=(a=a+Math.imul(L,X)|0)+Math.imul(C,W)|0,i=i+Math.imul(C,X)|0,n=n+Math.imul(A,J)|0,a=(a=a+Math.imul(A,K)|0)+Math.imul(S,J)|0,i=i+Math.imul(S,K)|0,n=n+Math.imul(k,$)|0,a=(a=a+Math.imul(k,tt)|0)+Math.imul(T,$)|0,i=i+Math.imul(T,tt)|0,n=n+Math.imul(b,rt)|0,a=(a=a+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,i=i+Math.imul(_,nt)|0,n=n+Math.imul(m,it)|0,a=(a=a+Math.imul(m,ot)|0)+Math.imul(y,it)|0,i=i+Math.imul(y,ot)|0,n=n+Math.imul(d,lt)|0,a=(a=a+Math.imul(d,ct)|0)+Math.imul(g,lt)|0,i=i+Math.imul(g,ct)|0;var Tt=(c+(n=n+Math.imul(h,ht)|0)|0)+((8191&(a=(a=a+Math.imul(h,ft)|0)+Math.imul(f,ht)|0))<<13)|0;c=((i=i+Math.imul(f,ft)|0)+(a>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(B,V),a=(a=Math.imul(B,U))+Math.imul(N,V)|0,i=Math.imul(N,U),n=n+Math.imul(D,H)|0,a=(a=a+Math.imul(D,G)|0)+Math.imul(R,H)|0,i=i+Math.imul(R,G)|0,n=n+Math.imul(O,W)|0,a=(a=a+Math.imul(O,X)|0)+Math.imul(z,W)|0,i=i+Math.imul(z,X)|0,n=n+Math.imul(L,J)|0,a=(a=a+Math.imul(L,K)|0)+Math.imul(C,J)|0,i=i+Math.imul(C,K)|0,n=n+Math.imul(A,$)|0,a=(a=a+Math.imul(A,tt)|0)+Math.imul(S,$)|0,i=i+Math.imul(S,tt)|0,n=n+Math.imul(k,rt)|0,a=(a=a+Math.imul(k,nt)|0)+Math.imul(T,rt)|0,i=i+Math.imul(T,nt)|0,n=n+Math.imul(b,it)|0,a=(a=a+Math.imul(b,ot)|0)+Math.imul(_,it)|0,i=i+Math.imul(_,ot)|0,n=n+Math.imul(m,lt)|0,a=(a=a+Math.imul(m,ct)|0)+Math.imul(y,lt)|0,i=i+Math.imul(y,ct)|0,n=n+Math.imul(d,ht)|0,a=(a=a+Math.imul(d,ft)|0)+Math.imul(g,ht)|0,i=i+Math.imul(g,ft)|0;var Mt=(c+(n=n+Math.imul(h,dt)|0)|0)+((8191&(a=(a=a+Math.imul(h,gt)|0)+Math.imul(f,dt)|0))<<13)|0;c=((i=i+Math.imul(f,gt)|0)+(a>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(B,H),a=(a=Math.imul(B,G))+Math.imul(N,H)|0,i=Math.imul(N,G),n=n+Math.imul(D,W)|0,a=(a=a+Math.imul(D,X)|0)+Math.imul(R,W)|0,i=i+Math.imul(R,X)|0,n=n+Math.imul(O,J)|0,a=(a=a+Math.imul(O,K)|0)+Math.imul(z,J)|0,i=i+Math.imul(z,K)|0,n=n+Math.imul(L,$)|0,a=(a=a+Math.imul(L,tt)|0)+Math.imul(C,$)|0,i=i+Math.imul(C,tt)|0,n=n+Math.imul(A,rt)|0,a=(a=a+Math.imul(A,nt)|0)+Math.imul(S,rt)|0,i=i+Math.imul(S,nt)|0,n=n+Math.imul(k,it)|0,a=(a=a+Math.imul(k,ot)|0)+Math.imul(T,it)|0,i=i+Math.imul(T,ot)|0,n=n+Math.imul(b,lt)|0,a=(a=a+Math.imul(b,ct)|0)+Math.imul(_,lt)|0,i=i+Math.imul(_,ct)|0,n=n+Math.imul(m,ht)|0,a=(a=a+Math.imul(m,ft)|0)+Math.imul(y,ht)|0,i=i+Math.imul(y,ft)|0;var At=(c+(n=n+Math.imul(d,dt)|0)|0)+((8191&(a=(a=a+Math.imul(d,gt)|0)+Math.imul(g,dt)|0))<<13)|0;c=((i=i+Math.imul(g,gt)|0)+(a>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,W),a=(a=Math.imul(B,X))+Math.imul(N,W)|0,i=Math.imul(N,X),n=n+Math.imul(D,J)|0,a=(a=a+Math.imul(D,K)|0)+Math.imul(R,J)|0,i=i+Math.imul(R,K)|0,n=n+Math.imul(O,$)|0,a=(a=a+Math.imul(O,tt)|0)+Math.imul(z,$)|0,i=i+Math.imul(z,tt)|0,n=n+Math.imul(L,rt)|0,a=(a=a+Math.imul(L,nt)|0)+Math.imul(C,rt)|0,i=i+Math.imul(C,nt)|0,n=n+Math.imul(A,it)|0,a=(a=a+Math.imul(A,ot)|0)+Math.imul(S,it)|0,i=i+Math.imul(S,ot)|0,n=n+Math.imul(k,lt)|0,a=(a=a+Math.imul(k,ct)|0)+Math.imul(T,lt)|0,i=i+Math.imul(T,ct)|0,n=n+Math.imul(b,ht)|0,a=(a=a+Math.imul(b,ft)|0)+Math.imul(_,ht)|0,i=i+Math.imul(_,ft)|0;var St=(c+(n=n+Math.imul(m,dt)|0)|0)+((8191&(a=(a=a+Math.imul(m,gt)|0)+Math.imul(y,dt)|0))<<13)|0;c=((i=i+Math.imul(y,gt)|0)+(a>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,J),a=(a=Math.imul(B,K))+Math.imul(N,J)|0,i=Math.imul(N,K),n=n+Math.imul(D,$)|0,a=(a=a+Math.imul(D,tt)|0)+Math.imul(R,$)|0,i=i+Math.imul(R,tt)|0,n=n+Math.imul(O,rt)|0,a=(a=a+Math.imul(O,nt)|0)+Math.imul(z,rt)|0,i=i+Math.imul(z,nt)|0,n=n+Math.imul(L,it)|0,a=(a=a+Math.imul(L,ot)|0)+Math.imul(C,it)|0,i=i+Math.imul(C,ot)|0,n=n+Math.imul(A,lt)|0,a=(a=a+Math.imul(A,ct)|0)+Math.imul(S,lt)|0,i=i+Math.imul(S,ct)|0,n=n+Math.imul(k,ht)|0,a=(a=a+Math.imul(k,ft)|0)+Math.imul(T,ht)|0,i=i+Math.imul(T,ft)|0;var Et=(c+(n=n+Math.imul(b,dt)|0)|0)+((8191&(a=(a=a+Math.imul(b,gt)|0)+Math.imul(_,dt)|0))<<13)|0;c=((i=i+Math.imul(_,gt)|0)+(a>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,$),a=(a=Math.imul(B,tt))+Math.imul(N,$)|0,i=Math.imul(N,tt),n=n+Math.imul(D,rt)|0,a=(a=a+Math.imul(D,nt)|0)+Math.imul(R,rt)|0,i=i+Math.imul(R,nt)|0,n=n+Math.imul(O,it)|0,a=(a=a+Math.imul(O,ot)|0)+Math.imul(z,it)|0,i=i+Math.imul(z,ot)|0,n=n+Math.imul(L,lt)|0,a=(a=a+Math.imul(L,ct)|0)+Math.imul(C,lt)|0,i=i+Math.imul(C,ct)|0,n=n+Math.imul(A,ht)|0,a=(a=a+Math.imul(A,ft)|0)+Math.imul(S,ht)|0,i=i+Math.imul(S,ft)|0;var Lt=(c+(n=n+Math.imul(k,dt)|0)|0)+((8191&(a=(a=a+Math.imul(k,gt)|0)+Math.imul(T,dt)|0))<<13)|0;c=((i=i+Math.imul(T,gt)|0)+(a>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,rt),a=(a=Math.imul(B,nt))+Math.imul(N,rt)|0,i=Math.imul(N,nt),n=n+Math.imul(D,it)|0,a=(a=a+Math.imul(D,ot)|0)+Math.imul(R,it)|0,i=i+Math.imul(R,ot)|0,n=n+Math.imul(O,lt)|0,a=(a=a+Math.imul(O,ct)|0)+Math.imul(z,lt)|0,i=i+Math.imul(z,ct)|0,n=n+Math.imul(L,ht)|0,a=(a=a+Math.imul(L,ft)|0)+Math.imul(C,ht)|0,i=i+Math.imul(C,ft)|0;var Ct=(c+(n=n+Math.imul(A,dt)|0)|0)+((8191&(a=(a=a+Math.imul(A,gt)|0)+Math.imul(S,dt)|0))<<13)|0;c=((i=i+Math.imul(S,gt)|0)+(a>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,it),a=(a=Math.imul(B,ot))+Math.imul(N,it)|0,i=Math.imul(N,ot),n=n+Math.imul(D,lt)|0,a=(a=a+Math.imul(D,ct)|0)+Math.imul(R,lt)|0,i=i+Math.imul(R,ct)|0,n=n+Math.imul(O,ht)|0,a=(a=a+Math.imul(O,ft)|0)+Math.imul(z,ht)|0,i=i+Math.imul(z,ft)|0;var Pt=(c+(n=n+Math.imul(L,dt)|0)|0)+((8191&(a=(a=a+Math.imul(L,gt)|0)+Math.imul(C,dt)|0))<<13)|0;c=((i=i+Math.imul(C,gt)|0)+(a>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,lt),a=(a=Math.imul(B,ct))+Math.imul(N,lt)|0,i=Math.imul(N,ct),n=n+Math.imul(D,ht)|0,a=(a=a+Math.imul(D,ft)|0)+Math.imul(R,ht)|0,i=i+Math.imul(R,ft)|0;var Ot=(c+(n=n+Math.imul(O,dt)|0)|0)+((8191&(a=(a=a+Math.imul(O,gt)|0)+Math.imul(z,dt)|0))<<13)|0;c=((i=i+Math.imul(z,gt)|0)+(a>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(B,ht),a=(a=Math.imul(B,ft))+Math.imul(N,ht)|0,i=Math.imul(N,ft);var zt=(c+(n=n+Math.imul(D,dt)|0)|0)+((8191&(a=(a=a+Math.imul(D,gt)|0)+Math.imul(R,dt)|0))<<13)|0;c=((i=i+Math.imul(R,gt)|0)+(a>>>13)|0)+(zt>>>26)|0,zt&=67108863;var It=(c+(n=Math.imul(B,dt))|0)+((8191&(a=(a=Math.imul(B,gt))+Math.imul(N,dt)|0))<<13)|0;return c=((i=Math.imul(N,gt))+(a>>>13)|0)+(It>>>26)|0,It&=67108863,l[0]=vt,l[1]=mt,l[2]=yt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=kt,l[8]=Tt,l[9]=Mt,l[10]=At,l[11]=St,l[12]=Et,l[13]=Lt,l[14]=Ct,l[15]=Pt,l[16]=Ot,l[17]=zt,l[18]=It,0!==c&&(l[19]=c,r.length++),r};function d(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=f),i.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?f(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,a=0,i=0;i<r.length-1;i++){var o=a;a=0;for(var s=67108863&n,l=Math.min(i,e.length-1),c=Math.max(0,i-t.length+1);c<=l;c++){var u=i-c,h=(0|t.words[u])*(0|e.words[c]),f=67108863&h;s=67108863&(f=f+s|0),a+=(o=(o=o+(h/67108864|0)|0)+(f>>>26)|0)>>>26,o&=67108863}r.words[i]=s,n=o,o=a}return 0!==n?r.words[i]=n:r.length--,r.strip()}(this,t,e):d(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=i.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},g.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,a=0;a<e;a++)n|=(1&t)<<e-a-1,t>>=1;return n},g.prototype.permute=function(t,e,r,n,a,i){for(var o=0;o<i;o++)n[o]=e[t[o]],a[o]=r[t[o]]},g.prototype.transform=function(t,e,r,n,a,i){this.permute(i,t,e,r,n,a);for(var o=1;o<a;o<<=1)for(var s=o<<1,l=Math.cos(2*Math.PI/s),c=Math.sin(2*Math.PI/s),u=0;u<a;u+=s)for(var h=l,f=c,p=0;p<o;p++){var d=r[u+p],g=n[u+p],v=r[u+p+o],m=n[u+p+o],y=h*v-f*m;m=h*m+f*v,v=y,r[u+p]=d+v,n[u+p]=g+m,r[u+p+o]=d-v,n[u+p+o]=g-m,p!==s&&(y=l*h-c*f,f=l*f+c*h,h=y)}},g.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,a=0;for(r=r/2|0;r;r>>>=1)a++;return 1<<a+1+n},g.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var a=t[n];t[n]=t[r-n-1],t[r-n-1]=a,a=e[n],e[n]=-e[r-n-1],e[r-n-1]=-a}},g.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var a=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&a,r=a<67108864?0:a/67108864|0}return t},g.prototype.convert13b=function(t,e,r,a){for(var i=0,o=0;o<e;o++)i+=0|t[o],r[2*o]=8191&i,i>>>=13,r[2*o+1]=8191&i,i>>>=13;for(o=2*e;o<a;++o)r[o]=0;n(0===i),n(0==(-8192&i))},g.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},g.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),a=this.makeRBT(n),i=this.stub(n),o=new Array(n),s=new Array(n),l=new Array(n),c=new Array(n),u=new Array(n),h=new Array(n),f=r.words;f.length=n,this.convert13b(t.words,t.length,o,n),this.convert13b(e.words,e.length,c,n),this.transform(o,i,s,l,n,a),this.transform(c,i,u,h,n,a);for(var p=0;p<n;p++){var d=s[p]*u[p]-l[p]*h[p];l[p]=s[p]*h[p]+l[p]*u[p],s[p]=d}return this.conjugate(s,l,n),this.transform(s,l,f,i,n,a),this.conjugate(f,i,n),this.normalize13b(f,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},i.prototype.mul=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},i.prototype.mulf=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),d(this,t,e)},i.prototype.imul=function(t){return this.clone().mulTo(t,this)},i.prototype.imuln=function(t){n(\"number\"==typeof t),n(t<67108864);for(var e=0,r=0;r<this.length;r++){var a=(0|this.words[r])*t,i=(67108863&a)+(67108863&e);e>>=26,e+=a/67108864|0,e+=i>>>26,this.words[r]=67108863&i}return 0!==e&&(this.words[r]=e,this.length++),this},i.prototype.muln=function(t){return this.clone().imuln(t)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,a=r%26;e[r]=(t.words[n]&1<<a)>>>a}return e}(t);if(0===e.length)return new i(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var a=r.sqr();n<e.length;n++,a=a.sqr())0!==e[n]&&(r=r.mul(a));return r},i.prototype.iushln=function(t){n(\"number\"==typeof t&&t>=0);var e,r=t%26,a=(t-r)/26,i=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e<this.length;e++){var s=this.words[e]&i,l=(0|this.words[e])-s<<r;this.words[e]=l|o,o=s>>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==a){for(e=this.length-1;e>=0;e--)this.words[e+a]=this.words[e];for(e=0;e<a;e++)this.words[e]=0;this.length+=a}return this.strip()},i.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},i.prototype.iushrn=function(t,e,r){var a;n(\"number\"==typeof t&&t>=0),a=e?(e-e%26)/26:0;var i=t%26,o=Math.min((t-i)/26,this.length),s=67108863^67108863>>>i<<i,l=r;if(a-=o,a=Math.max(0,a),l){for(var c=0;c<o;c++)l.words[c]=this.words[c];l.length=o}if(0===o);else if(this.length>o)for(this.length-=o,c=0;c<this.length;c++)this.words[c]=this.words[c+o];else this.words[0]=0,this.length=1;var u=0;for(c=this.length-1;c>=0&&(0!==u||c>=a);c--){var h=0|this.words[c];this.words[c]=u<<26-i|h>>>i,u=h&s}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.ushln=function(t){return this.clone().iushln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.ushrn=function(t){return this.clone().iushrn(t)},i.prototype.testn=function(t){n(\"number\"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,a=1<<e;return!(this.length<=r)&&!!(this.words[r]&a)},i.prototype.imaskn=function(t){n(\"number\"==typeof t&&t>=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,\"imaskn works only with positive numbers\"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var a=67108863^67108863>>>e<<e;this.words[this.length-1]&=a}return this.strip()},i.prototype.maskn=function(t){return this.clone().imaskn(t)},i.prototype.iaddn=function(t){return n(\"number\"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},i.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},i.prototype.isubn=function(t){if(n(\"number\"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},i.prototype.addn=function(t){return this.clone().iaddn(t)},i.prototype.subn=function(t){return this.clone().isubn(t)},i.prototype.iabs=function(){return this.negative=0,this},i.prototype.abs=function(){return this.clone().iabs()},i.prototype._ishlnsubmul=function(t,e,r){var a,i,o=t.length+r;this._expand(o);var s=0;for(a=0;a<t.length;a++){i=(0|this.words[a+r])+s;var l=(0|t.words[a])*e;s=((i-=67108863&l)>>26)-(l/67108864|0),this.words[a+r]=67108863&i}for(;a<this.length-r;a++)s=(i=(0|this.words[a+r])+s)>>26,this.words[a+r]=67108863&i;if(0===s)return this.strip();for(n(-1===s),s=0,a=0;a<this.length;a++)s=(i=-(0|this.words[a])+s)>>26,this.words[a]=67108863&i;return this.negative=1,this.strip()},i.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),a=t,o=0|a.words[a.length-1];0!==(r=26-this._countBits(o))&&(a=a.ushln(r),n.iushln(r),o=0|a.words[a.length-1]);var s,l=n.length-a.length;if(\"mod\"!==e){(s=new i(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c<s.length;c++)s.words[c]=0}var u=n.clone()._ishlnsubmul(a,1,l);0===u.negative&&(n=u,s&&(s.words[l]=1));for(var h=l-1;h>=0;h--){var f=67108864*(0|n.words[a.length+h])+(0|n.words[a.length+h-1]);for(f=Math.min(f/o|0,67108863),n._ishlnsubmul(a,f,h);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(a,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=f)}return s&&s.strip(),n.strip(),\"div\"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},i.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),\"mod\"!==e&&(a=s.div.neg()),\"div\"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:a,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),\"mod\"!==e&&(a=s.div.neg()),{div:a,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),\"div\"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new i(0),mod:this}:1===t.length?\"div\"===e?{div:this.divn(t.words[0]),mod:null}:\"mod\"===e?{div:null,mod:new i(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new i(this.modn(t.words[0]))}:this._wordDiv(t,e);var a,o,s},i.prototype.div=function(t){return this.divmod(t,\"div\",!1).div},i.prototype.mod=function(t){return this.divmod(t,\"mod\",!1).mod},i.prototype.umod=function(t){return this.divmod(t,\"mod\",!0).mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),a=t.andln(1),i=r.cmp(n);return i<0||1===a&&0===i?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,a=this.length-1;a>=0;a--)r=(e*r+(0|this.words[a]))%t;return r},i.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var a=(0|this.words[r])+67108864*e;this.words[r]=a/t|0,e=a%t}return this.strip()},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var a=new i(1),o=new i(0),s=new i(0),l=new i(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),h=e.clone();!e.isZero();){for(var f=0,p=1;0==(e.words[0]&p)&&f<26;++f,p<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(a.isOdd()||o.isOdd())&&(a.iadd(u),o.isub(h)),a.iushrn(1),o.iushrn(1);for(var d=0,g=1;0==(r.words[0]&g)&&d<26;++d,g<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(u),l.isub(h)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),a.isub(s),o.isub(l)):(r.isub(e),s.isub(a),l.isub(o))}return{a:s,b:l,gcd:r.iushln(c)}},i.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var a,o=new i(1),s=new i(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,u=1;0==(e.words[0]&u)&&c<26;++c,u<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var h=0,f=1;0==(r.words[0]&f)&&h<26;++h,f<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(a=0===e.cmpn(1)?o:s).cmpn(0)<0&&a.iadd(t),a},i.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var a=e.cmp(r);if(a<0){var i=e;e=r,r=i}else if(0===a||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},i.prototype.invm=function(t){return this.egcd(t).a.umod(t)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(t){return this.words[0]&t},i.prototype.bincn=function(t){n(\"number\"==typeof t);var e=t%26,r=(t-e)/26,a=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=a,this;for(var i=a,o=r;0!==i&&o<this.length;o++){var s=0|this.words[o];i=(s+=i)>>>26,s&=67108863,this.words[o]=s}return 0!==i&&(this.words[o]=i,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,\"Number is too big\");var a=0|this.words[0];e=a===t?0:a<t?-1:1}return 0!==this.negative?0|-e:e},i.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},i.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],a=0|t.words[r];if(n!==a){n<a?e=-1:n>a&&(e=1);break}}return e},i.prototype.gtn=function(t){return 1===this.cmpn(t)},i.prototype.gt=function(t){return 1===this.cmp(t)},i.prototype.gten=function(t){return this.cmpn(t)>=0},i.prototype.gte=function(t){return this.cmp(t)>=0},i.prototype.ltn=function(t){return-1===this.cmpn(t)},i.prototype.lt=function(t){return-1===this.cmp(t)},i.prototype.lten=function(t){return this.cmpn(t)<=0},i.prototype.lte=function(t){return this.cmp(t)<=0},i.prototype.eqn=function(t){return 0===this.cmpn(t)},i.prototype.eq=function(t){return 0===this.cmp(t)},i.red=function(t){return new w(t)},i.prototype.toRed=function(t){return n(!this.red,\"Already a number in reduction context\"),n(0===this.negative,\"red works only with positives\"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return n(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},i.prototype._forceRed=function(t){return this.red=t,this},i.prototype.forceRed=function(t){return n(!this.red,\"Already a number in reduction context\"),this._forceRed(t)},i.prototype.redAdd=function(t){return n(this.red,\"redAdd works only with red numbers\"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return n(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return n(this.red,\"redSub works only with red numbers\"),this.red.sub(this,t)},i.prototype.redISub=function(t){return n(this.red,\"redISub works only with red numbers\"),this.red.isub(this,t)},i.prototype.redShl=function(t){return n(this.red,\"redShl works only with red numbers\"),this.red.shl(this,t)},i.prototype.redMul=function(t){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return n(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return n(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return n(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return n(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return n(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return n(this.red&&!t.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};function m(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){m.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}function x(){m.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}function b(){m.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}function _(){m.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}function w(t){if(\"string\"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),\"modulus must be greater than 1\"),this.m=t,this.prime=null}function k(t){w.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}m.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},m.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):r.strip(),r},m.prototype.split=function(t,e){t.iushrn(this.n,0,e)},m.prototype.imulK=function(t){return t.imul(this.k)},a(y,m),y.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n<r;n++)e.words[n]=t.words[n];if(e.length=r,t.length<=9)return t.words[0]=0,void(t.length=1);var a=t.words[9];for(e.words[e.length++]=4194303&a,n=10;n<t.length;n++){var i=0|t.words[n];t.words[n-10]=(4194303&i)<<4|a>>>22,a=i}a>>>=22,t.words[n-10]=a,0===a&&t.length>10?t.length-=10:t.length-=9},y.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},a(x,m),a(b,m),a(_,m),_.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,a=67108863&n;n>>>=26,t.words[r]=a,e=n}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function(t){if(v[t])return v[t];var e;if(\"k256\"===t)e=new y;else if(\"p224\"===t)e=new x;else if(\"p192\"===t)e=new b;else{if(\"p25519\"!==t)throw new Error(\"Unknown prime \"+t);e=new _}return v[t]=e,e},w.prototype._verify1=function(t){n(0===t.negative,\"red works only with positives\"),n(t.red,\"red works only with red numbers\")},w.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),\"red works only with positives\"),n(t.red&&t.red===e.red,\"red works only with red numbers\")},w.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},w.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},w.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},w.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},w.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},w.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},w.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},w.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},w.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},w.prototype.isqr=function(t){return this.imul(t,t.clone())},w.prototype.sqr=function(t){return this.mul(t,t)},w.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new i(1)).iushrn(2);return this.pow(t,r)}for(var a=this.m.subn(1),o=0;!a.isZero()&&0===a.andln(1);)o++,a.iushrn(1);n(!a.isZero());var s=new i(1).toRed(this),l=s.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new i(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var h=this.pow(u,a),f=this.pow(t,a.addn(1).iushrn(1)),p=this.pow(t,a),d=o;0!==p.cmp(s);){for(var g=p,v=0;0!==g.cmp(s);v++)g=g.redSqr();n(v<d);var m=this.pow(h,new i(1).iushln(d-v-1));f=f.redMul(m),h=m.redSqr(),p=p.redMul(h),d=v}return f},w.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},w.prototype.pow=function(t,e){if(e.isZero())return new i(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new i(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var a=r[0],o=0,s=0,l=e.bitLength()%26;for(0===l&&(l=26),n=e.length-1;n>=0;n--){for(var c=e.words[n],u=l-1;u>=0;u--){var h=c>>u&1;a!==r[0]&&(a=this.sqr(a)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===u)&&(a=this.mul(a,r[o]),s=0,o=0)):s=0}l=26}return a},w.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},w.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new k(t)},a(k,w),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).iushrn(this.shift),i=a;return a.cmp(this.m)>=0?i=a.isub(this.m):a.cmpn(0)<0&&(i=a.iadd(this.m)),i._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new i(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).iushrn(this.shift),o=a;return a.cmp(this.m)>=0?o=a.isub(this.m):a.cmpn(0)<0&&(o=a.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(\"undefined\"==typeof e||e,this)},{buffer:105}],97:[function(t,e,r){\"use strict\";e.exports=function(t){var e,r,n,a=t.length,i=0;for(e=0;e<a;++e)i+=t[e].length;var o=new Array(i),s=0;for(e=0;e<a;++e){var l=t[e],c=l.length;for(r=0;r<c;++r){var u=o[s++]=new Array(c-1),h=0;for(n=0;n<c;++n)n!==r&&(u[h++]=l[n]);if(1&r){var f=u[1];u[1]=u[0],u[0]=f}}}return o}},{}],98:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){switch(arguments.length){case 1:return n=[],c(a=t,a,u,!0),n;case 2:return\"function\"==typeof e?c(t,t,e,!0):function(t,e){return n=[],c(t,e,u,!1),n}(t,e);case 3:return c(t,e,r,!1);default:throw new Error(\"box-intersect: Invalid arguments\")}var a};var n,a=t(\"typedarray-pool\"),i=t(\"./lib/sweep\"),o=t(\"./lib/intersect\");function s(t,e){for(var r=0;r<t;++r)if(!(e[r]<=e[r+t]))return!0;return!1}function l(t,e,r,n){for(var a=0,i=0,o=0,l=t.length;o<l;++o){var c=t[o];if(!s(e,c)){for(var u=0;u<2*e;++u)r[a++]=c[u];n[i++]=o}}return i}function c(t,e,r,n){var s=t.length,c=e.length;if(!(s<=0||c<=0)){var u=t[0].length>>>1;if(!(u<=0)){var h,f=a.mallocDouble(2*u*s),p=a.mallocInt32(s);if((s=l(t,u,f,p))>0){if(1===u&&n)i.init(s),h=i.sweepComplete(u,r,0,s,f,p,0,s,f,p);else{var d=a.mallocDouble(2*u*c),g=a.mallocInt32(c);(c=l(e,u,d,g))>0&&(i.init(s+c),h=1===u?i.sweepBipartite(u,r,0,s,f,p,0,c,d,g):o(u,r,n,s,f,p,c,d,g),a.free(d),a.free(g))}a.free(f),a.free(p)}return h}}}function u(t,e){n.push([t,e])}},{\"./lib/intersect\":100,\"./lib/sweep\":104,\"typedarray-pool\":544}],99:[function(t,e,r){\"use strict\";var n=\"d\",a=\"ax\",i=\"vv\",o=\"fp\",s=\"es\",l=\"rs\",c=\"re\",u=\"rb\",h=\"ri\",f=\"rp\",p=\"bs\",d=\"be\",g=\"bb\",v=\"bi\",m=\"bp\",y=\"rv\",x=\"Q\",b=[n,a,i,l,c,u,h,p,d,g,v];function _(t){var e=\"bruteForce\"+(t?\"Full\":\"Partial\"),r=[],_=b.slice();t||_.splice(3,0,o);var w=[\"function \"+e+\"(\"+_.join()+\"){\"];function k(e,o){var _=function(t,e,r){var o=\"bruteForce\"+(t?\"Red\":\"Blue\")+(e?\"Flip\":\"\")+(r?\"Full\":\"\"),_=[\"function \",o,\"(\",b.join(),\"){\",\"var \",s,\"=2*\",n,\";\"],w=\"for(var i=\"+l+\",\"+f+\"=\"+s+\"*\"+l+\";i<\"+c+\";++i,\"+f+\"+=\"+s+\"){var x0=\"+u+\"[\"+a+\"+\"+f+\"],x1=\"+u+\"[\"+a+\"+\"+f+\"+\"+n+\"],xi=\"+h+\"[i];\",k=\"for(var j=\"+p+\",\"+m+\"=\"+s+\"*\"+p+\";j<\"+d+\";++j,\"+m+\"+=\"+s+\"){var y0=\"+g+\"[\"+a+\"+\"+m+\"],\"+(r?\"y1=\"+g+\"[\"+a+\"+\"+m+\"+\"+n+\"],\":\"\")+\"yi=\"+v+\"[j];\";return t?_.push(w,x,\":\",k):_.push(k,x,\":\",w),r?_.push(\"if(y1<x0||x1<y0)continue;\"):e?_.push(\"if(y0<=x0||x1<y0)continue;\"):_.push(\"if(y0<x0||x1<y0)continue;\"),_.push(\"for(var k=\"+a+\"+1;k<\"+n+\";++k){var r0=\"+u+\"[k+\"+f+\"],r1=\"+u+\"[k+\"+n+\"+\"+f+\"],b0=\"+g+\"[k+\"+m+\"],b1=\"+g+\"[k+\"+n+\"+\"+m+\"];if(r1<b0||b1<r0)continue \"+x+\";}var \"+y+\"=\"+i+\"(\"),e?_.push(\"yi,xi\"):_.push(\"xi,yi\"),_.push(\");if(\"+y+\"!==void 0)return \"+y+\";}}}\"),{name:o,code:_.join(\"\")}}(e,o,t);r.push(_.code),w.push(\"return \"+_.name+\"(\"+b.join()+\");\")}w.push(\"if(\"+c+\"-\"+l+\">\"+d+\"-\"+p+\"){\"),t?(k(!0,!1),w.push(\"}else{\"),k(!1,!1)):(w.push(\"if(\"+o+\"){\"),k(!0,!0),w.push(\"}else{\"),k(!0,!1),w.push(\"}}else{if(\"+o+\"){\"),k(!1,!0),w.push(\"}else{\"),k(!1,!1),w.push(\"}\")),w.push(\"}}return \"+e);var T=r.join(\"\")+w.join(\"\");return new Function(T)()}r.partial=_(!1),r.full=_(!0)},{}],100:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,i,u,S,E,L,C){!function(t,e){var r=8*a.log2(e+1)*(t+1)|0,i=a.nextPow2(b*r);w.length<i&&(n.free(w),w=n.mallocInt32(i));var o=a.nextPow2(_*r);k<o&&(n.free(k),k=n.mallocDouble(o))}(t,i+E);var P,O=0,z=2*t;T(O++,0,0,i,0,E,r?16:0,-1/0,1/0),r||T(O++,0,0,E,0,i,1,-1/0,1/0);for(;O>0;){var I=(O-=1)*b,D=w[I],R=w[I+1],F=w[I+2],B=w[I+3],N=w[I+4],j=w[I+5],V=O*_,U=k[V],q=k[V+1],H=1&j,G=!!(16&j),Y=u,W=S,X=L,Z=C;if(H&&(Y=L,W=C,X=u,Z=S),!(2&j&&(F=v(t,D,R,F,Y,W,q),R>=F)||4&j&&(R=m(t,D,R,F,Y,W,U))>=F)){var J=F-R,K=N-B;if(G){if(t*J*(J+K)<p){if(void 0!==(P=l.scanComplete(t,D,e,R,F,Y,W,B,N,X,Z)))return P;continue}}else{if(t*Math.min(J,K)<h){if(void 0!==(P=o(t,D,e,H,R,F,Y,W,B,N,X,Z)))return P;continue}if(t*J*K<f){if(void 0!==(P=l.scanBipartite(t,D,e,H,R,F,Y,W,B,N,X,Z)))return P;continue}}var Q=d(t,D,R,F,Y,W,U,q);if(R<Q)if(t*(Q-R)<h){if(void 0!==(P=s(t,D+1,e,R,Q,Y,W,B,N,X,Z)))return P}else if(D===t-2){if(void 0!==(P=H?l.sweepBipartite(t,e,B,N,X,Z,R,Q,Y,W):l.sweepBipartite(t,e,R,Q,Y,W,B,N,X,Z)))return P}else T(O++,D+1,R,Q,B,N,H,-1/0,1/0),T(O++,D+1,B,N,R,Q,1^H,-1/0,1/0);if(Q<F){var $=c(t,D,B,N,X,Z),tt=X[z*$+D],et=g(t,D,$,N,X,Z,tt);if(et<N&&T(O++,D,Q,F,et,N,(4|H)+(G?16:0),tt,q),B<$&&T(O++,D,Q,F,B,$,(2|H)+(G?16:0),U,tt),$+1===et){if(void 0!==(P=G?A(t,D,e,Q,F,Y,W,$,X,Z[$]):M(t,D,e,H,Q,F,Y,W,$,X,Z[$])))return P}else if($<et){var rt;if(G){if(rt=y(t,D,Q,F,Y,W,tt),Q<rt){var nt=g(t,D,Q,rt,Y,W,tt);if(D===t-2){if(Q<nt&&void 0!==(P=l.sweepComplete(t,e,Q,nt,Y,W,$,et,X,Z)))return P;if(nt<rt&&void 0!==(P=l.sweepBipartite(t,e,nt,rt,Y,W,$,et,X,Z)))return P}else Q<nt&&T(O++,D+1,Q,nt,$,et,16,-1/0,1/0),nt<rt&&(T(O++,D+1,nt,rt,$,et,0,-1/0,1/0),T(O++,D+1,$,et,nt,rt,1,-1/0,1/0))}}else rt=H?x(t,D,Q,F,Y,W,tt):y(t,D,Q,F,Y,W,tt),Q<rt&&(D===t-2?P=H?l.sweepBipartite(t,e,$,et,X,Z,Q,rt,Y,W):l.sweepBipartite(t,e,Q,rt,Y,W,$,et,X,Z):(T(O++,D+1,Q,rt,$,et,H,-1/0,1/0),T(O++,D+1,$,et,Q,rt,1^H,-1/0,1/0)))}}}}};var n=t(\"typedarray-pool\"),a=t(\"bit-twiddle\"),i=t(\"./brute\"),o=i.partial,s=i.full,l=t(\"./sweep\"),c=t(\"./median\"),u=t(\"./partition\"),h=128,f=1<<22,p=1<<22,d=u(\"!(lo>=p0)&&!(p1>=hi)\",[\"p0\",\"p1\"]),g=u(\"lo===p0\",[\"p0\"]),v=u(\"lo<p0\",[\"p0\"]),m=u(\"hi<=p0\",[\"p0\"]),y=u(\"lo<=p0&&p0<=hi\",[\"p0\"]),x=u(\"lo<p0&&p0<=hi\",[\"p0\"]),b=6,_=2,w=n.mallocInt32(1024),k=n.mallocDouble(1024);function T(t,e,r,n,a,i,o,s,l){var c=b*t;w[c]=e,w[c+1]=r,w[c+2]=n,w[c+3]=a,w[c+4]=i,w[c+5]=o;var u=_*t;k[u]=s,k[u+1]=l}function M(t,e,r,n,a,i,o,s,l,c,u){var h=2*t,f=l*h,p=c[f+e];t:for(var d=a,g=a*h;d<i;++d,g+=h){var v=o[g+e],m=o[g+e+t];if(!(p<v||m<p)&&(!n||p!==v)){for(var y,x=s[d],b=e+1;b<t;++b){v=o[g+b],m=o[g+b+t];var _=c[f+b],w=c[f+b+t];if(m<_||w<v)continue t}if(void 0!==(y=n?r(u,x):r(x,u)))return y}}}function A(t,e,r,n,a,i,o,s,l,c){var u=2*t,h=s*u,f=l[h+e];t:for(var p=n,d=n*u;p<a;++p,d+=u){var g=o[p];if(g!==c){var v=i[d+e],m=i[d+e+t];if(!(f<v||m<f)){for(var y=e+1;y<t;++y){v=i[d+y],m=i[d+y+t];var x=l[h+y],b=l[h+y+t];if(m<x||b<v)continue t}var _=r(g,c);if(void 0!==_)return _}}}}},{\"./brute\":99,\"./median\":101,\"./partition\":102,\"./sweep\":104,\"bit-twiddle\":94,\"typedarray-pool\":544}],101:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,o,s,l){if(o<=r+1)return r;var c=r,u=o,h=o+r>>>1,f=2*t,p=h,d=s[f*h+e];for(;c<u;){if(u-c<a){i(t,e,c,u,s,l),d=s[f*h+e];break}var g=u-c,v=Math.random()*g+c|0,m=s[f*v+e],y=Math.random()*g+c|0,x=s[f*y+e],b=Math.random()*g+c|0,_=s[f*b+e];m<=x?_>=x?(p=y,d=x):m>=_?(p=v,d=m):(p=b,d=_):x>=_?(p=y,d=x):_>=m?(p=v,d=m):(p=b,d=_);for(var w=f*(u-1),k=f*p,T=0;T<f;++T,++w,++k){var M=s[w];s[w]=s[k],s[k]=M}var A=l[u-1];l[u-1]=l[p],l[p]=A,p=n(t,e,c,u-1,s,l,d);for(var w=f*(u-1),k=f*p,T=0;T<f;++T,++w,++k){var M=s[w];s[w]=s[k],s[k]=M}var A=l[u-1];if(l[u-1]=l[p],l[p]=A,h<p){for(u=p-1;c<u&&s[f*(u-1)+e]===d;)u-=1;u+=1}else{if(!(p<h))break;for(c=p+1;c<u&&s[f*c+e]===d;)c+=1}}return n(t,e,r,h,s,l,s[f*h+e])};var n=t(\"./partition\")(\"lo<p0\",[\"p0\"]),a=8;function i(t,e,r,n,a,i){for(var o=2*t,s=o*(r+1)+e,l=r+1;l<n;++l,s+=o)for(var c=a[s],u=l,h=o*(l-1);u>r&&a[h+e]>c;--u,h-=o){for(var f=h,p=h+o,d=0;d<o;++d,++f,++p){var g=a[f];a[f]=a[p],a[p]=g}var v=i[u];i[u]=i[u-1],i[u-1]=v}}},{\"./partition\":102}],102:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=\"abcdef\".split(\"\").concat(e),a=[];t.indexOf(\"lo\")>=0&&a.push(\"lo=e[k+n]\");t.indexOf(\"hi\")>=0&&a.push(\"hi=e[k+o]\");return r.push(n.replace(\"_\",a.join()).replace(\"$\",t)),Function.apply(void 0,r)};var n=\"for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m\"},{}],103:[function(t,e,r){\"use strict\";e.exports=function(t,e){e<=4*n?a(0,e-1,t):function t(e,r,h){var f=(r-e+1)/6|0,p=e+f,d=r-f,g=e+r>>1,v=g-f,m=g+f,y=p,x=v,b=g,_=m,w=d,k=e+1,T=r-1,M=0;c(y,x,h)&&(M=y,y=x,x=M);c(_,w,h)&&(M=_,_=w,w=M);c(y,b,h)&&(M=y,y=b,b=M);c(x,b,h)&&(M=x,x=b,b=M);c(y,_,h)&&(M=y,y=_,_=M);c(b,_,h)&&(M=b,b=_,_=M);c(x,w,h)&&(M=x,x=w,w=M);c(x,b,h)&&(M=x,x=b,b=M);c(_,w,h)&&(M=_,_=w,w=M);var A=h[2*x];var S=h[2*x+1];var E=h[2*_];var L=h[2*_+1];var C=2*y;var P=2*b;var O=2*w;var z=2*p;var I=2*g;var D=2*d;for(var R=0;R<2;++R){var F=h[C+R],B=h[P+R],N=h[O+R];h[z+R]=F,h[I+R]=B,h[D+R]=N}o(v,e,h);o(m,r,h);for(var j=k;j<=T;++j)if(u(j,A,S,h))j!==k&&i(j,k,h),++k;else if(!u(j,E,L,h))for(;;){if(u(T,E,L,h)){u(T,A,S,h)?(s(j,k,T,h),++k,--T):(i(j,T,h),--T);break}if(--T<j)break}l(e,k-1,A,S,h);l(r,T+1,E,L,h);k-2-e<=n?a(e,k-2,h):t(e,k-2,h);r-(T+2)<=n?a(T+2,r,h):t(T+2,r,h);T-k<=n?a(k,T,h):t(k,T,h)}(0,e-1,t)};var n=32;function a(t,e,r){for(var n=2*(t+1),a=t+1;a<=e;++a){for(var i=r[n++],o=r[n++],s=a,l=n-2;s-- >t;){var c=r[l-2],u=r[l-1];if(c<i)break;if(c===i&&u<o)break;r[l]=c,r[l+1]=u,l-=2}r[l]=i,r[l+1]=o}}function i(t,e,r){e*=2;var n=r[t*=2],a=r[t+1];r[t]=r[e],r[t+1]=r[e+1],r[e]=n,r[e+1]=a}function o(t,e,r){e*=2,r[t*=2]=r[e],r[t+1]=r[e+1]}function s(t,e,r,n){e*=2,r*=2;var a=n[t*=2],i=n[t+1];n[t]=n[e],n[t+1]=n[e+1],n[e]=n[r],n[e+1]=n[r+1],n[r]=a,n[r+1]=i}function l(t,e,r,n,a){e*=2,a[t*=2]=a[e],a[e]=r,a[t+1]=a[e+1],a[e+1]=n}function c(t,e,r){e*=2;var n=r[t*=2],a=r[e];return!(n<a)&&(n!==a||r[t+1]>r[e+1])}function u(t,e,r,n){var a=n[t*=2];return a<e||a===e&&n[t+1]<r}},{}],104:[function(t,e,r){\"use strict\";e.exports={init:function(t){var e=a.nextPow2(t);s.length<e&&(n.free(s),s=n.mallocInt32(e));l.length<e&&(n.free(l),l=n.mallocInt32(e));c.length<e&&(n.free(c),c=n.mallocInt32(e));u.length<e&&(n.free(u),u=n.mallocInt32(e));h.length<e&&(n.free(h),h=n.mallocInt32(e));f.length<e&&(n.free(f),f=n.mallocInt32(e));var r=8*e;p.length<r&&(n.free(p),p=n.mallocDouble(r))},sweepBipartite:function(t,e,r,n,a,h,f,v,m,y){for(var x=0,b=2*t,_=t-1,w=b-1,k=r;k<n;++k){var T=h[k],M=b*k;p[x++]=a[M+_],p[x++]=-(T+1),p[x++]=a[M+w],p[x++]=T}for(var k=f;k<v;++k){var T=y[k]+o,A=b*k;p[x++]=m[A+_],p[x++]=-T,p[x++]=m[A+w],p[x++]=T}var S=x>>>1;i(p,S);for(var E=0,L=0,k=0;k<S;++k){var C=0|p[2*k+1];if(C>=o)d(c,u,L--,C=C-o|0);else if(C>=0)d(s,l,E--,C);else if(C<=-o){C=-C-o|0;for(var P=0;P<E;++P){var O=e(s[P],C);if(void 0!==O)return O}g(c,u,L++,C)}else{C=-C-1|0;for(var P=0;P<L;++P){var O=e(C,c[P]);if(void 0!==O)return O}g(s,l,E++,C)}}},sweepComplete:function(t,e,r,n,a,o,v,m,y,x){for(var b=0,_=2*t,w=t-1,k=_-1,T=r;T<n;++T){var M=o[T]+1<<1,A=_*T;p[b++]=a[A+w],p[b++]=-M,p[b++]=a[A+k],p[b++]=M}for(var T=v;T<m;++T){var M=x[T]+1<<1,S=_*T;p[b++]=y[S+w],p[b++]=1|-M,p[b++]=y[S+k],p[b++]=1|M}var E=b>>>1;i(p,E);for(var L=0,C=0,P=0,T=0;T<E;++T){var O=0|p[2*T+1],z=1&O;if(T<E-1&&O>>1==p[2*T+3]>>1&&(z=2,T+=1),O<0){for(var I=-(O>>1)-1,D=0;D<P;++D){var R=e(h[D],I);if(void 0!==R)return R}if(0!==z)for(var D=0;D<L;++D){var R=e(s[D],I);if(void 0!==R)return R}if(1!==z)for(var D=0;D<C;++D){var R=e(c[D],I);if(void 0!==R)return R}0===z?g(s,l,L++,I):1===z?g(c,u,C++,I):2===z&&g(h,f,P++,I)}else{var I=(O>>1)-1;0===z?d(s,l,L--,I):1===z?d(c,u,C--,I):2===z&&d(h,f,P--,I)}}},scanBipartite:function(t,e,r,n,a,c,u,h,f,v,m,y){var x=0,b=2*t,_=e,w=e+t,k=1,T=1;n?T=o:k=o;for(var M=a;M<c;++M){var A=M+k,S=b*M;p[x++]=u[S+_],p[x++]=-A,p[x++]=u[S+w],p[x++]=A}for(var M=f;M<v;++M){var A=M+T,E=b*M;p[x++]=m[E+_],p[x++]=-A}var L=x>>>1;i(p,L);for(var C=0,M=0;M<L;++M){var P=0|p[2*M+1];if(P<0){var A=-P,O=!1;if(A>=o?(O=!n,A-=o):(O=!!n,A-=1),O)g(s,l,C++,A);else{var z=y[A],I=b*A,D=m[I+e+1],R=m[I+e+1+t];t:for(var F=0;F<C;++F){var B=s[F],N=b*B;if(!(R<u[N+e+1]||u[N+e+1+t]<D)){for(var j=e+2;j<t;++j)if(m[I+j+t]<u[N+j]||u[N+j+t]<m[I+j])continue t;var V,U=h[B];if(void 0!==(V=n?r(z,U):r(U,z)))return V}}}}else d(s,l,C--,P-k)}},scanComplete:function(t,e,r,n,a,l,c,u,h,f,d){for(var g=0,v=2*t,m=e,y=e+t,x=n;x<a;++x){var b=x+o,_=v*x;p[g++]=l[_+m],p[g++]=-b,p[g++]=l[_+y],p[g++]=b}for(var x=u;x<h;++x){var b=x+1,w=v*x;p[g++]=f[w+m],p[g++]=-b}var k=g>>>1;i(p,k);for(var T=0,x=0;x<k;++x){var M=0|p[2*x+1];if(M<0){var b=-M;if(b>=o)s[T++]=b-o;else{var A=d[b-=1],S=v*b,E=f[S+e+1],L=f[S+e+1+t];t:for(var C=0;C<T;++C){var P=s[C],O=c[P];if(O===A)break;var z=v*P;if(!(L<l[z+e+1]||l[z+e+1+t]<E)){for(var I=e+2;I<t;++I)if(f[S+I+t]<l[z+I]||l[z+I+t]<f[S+I])continue t;var D=r(O,A);if(void 0!==D)return D}}}}else{for(var b=M-o,C=T-1;C>=0;--C)if(s[C]===b){for(var I=C+1;I<T;++I)s[I-1]=s[I];break}--T}}}};var n=t(\"typedarray-pool\"),a=t(\"bit-twiddle\"),i=t(\"./sort\"),o=1<<28,s=n.mallocInt32(1024),l=n.mallocInt32(1024),c=n.mallocInt32(1024),u=n.mallocInt32(1024),h=n.mallocInt32(1024),f=n.mallocInt32(1024),p=n.mallocDouble(8192);function d(t,e,r,n){var a=e[n],i=t[r-1];t[a]=i,e[i]=a}function g(t,e,r,n){t[r]=n,e[n]=r}},{\"./sort\":103,\"bit-twiddle\":94,\"typedarray-pool\":544}],105:[function(t,e,r){},{}],106:[function(t,e,r){var n=Object.create||function(t){var e=function(){};return e.prototype=t,new e},a=Object.keys||function(t){var e=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.push(r);return r},i=Function.prototype.bind||function(t){var e=this;return function(){return e.apply(t,arguments)}};function o(){this._events&&Object.prototype.hasOwnProperty.call(this,\"_events\")||(this._events=n(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}e.exports=o,o.EventEmitter=o,o.prototype._events=void 0,o.prototype._maxListeners=void 0;var s,l=10;try{var c={};Object.defineProperty&&Object.defineProperty(c,\"x\",{value:0}),s=0===c.x}catch(t){s=!1}function u(t){return void 0===t._maxListeners?o.defaultMaxListeners:t._maxListeners}function h(t,e,r,a){var i,o,s;if(\"function\"!=typeof r)throw new TypeError('\"listener\" argument must be a function');if((o=t._events)?(o.newListener&&(t.emit(\"newListener\",e,r.listener?r.listener:r),o=t._events),s=o[e]):(o=t._events=n(null),t._eventsCount=0),s){if(\"function\"==typeof s?s=o[e]=a?[r,s]:[s,r]:a?s.unshift(r):s.push(r),!s.warned&&(i=u(t))&&i>0&&s.length>i){s.warned=!0;var l=new Error(\"Possible EventEmitter memory leak detected. \"+s.length+' \"'+String(e)+'\" listeners added. Use emitter.setMaxListeners() to increase limit.');l.name=\"MaxListenersExceededWarning\",l.emitter=t,l.type=e,l.count=s.length,\"object\"==typeof console&&console.warn&&console.warn(\"%s: %s\",l.name,l.message)}}else s=o[e]=r,++t._eventsCount;return t}function f(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var t=new Array(arguments.length),e=0;e<t.length;++e)t[e]=arguments[e];this.listener.apply(this.target,t)}}function p(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},a=i.call(f,n);return a.listener=r,n.wrapFn=a,a}function d(t,e,r){var n=t._events;if(!n)return[];var a=n[e];return a?\"function\"==typeof a?r?[a.listener||a]:[a]:r?function(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}(a):v(a,a.length):[]}function g(t){var e=this._events;if(e){var r=e[t];if(\"function\"==typeof r)return 1;if(r)return r.length}return 0}function v(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}s?Object.defineProperty(o,\"defaultMaxListeners\",{enumerable:!0,get:function(){return l},set:function(t){if(\"number\"!=typeof t||t<0||t!=t)throw new TypeError('\"defaultMaxListeners\" must be a positive number');l=t}}):o.defaultMaxListeners=l,o.prototype.setMaxListeners=function(t){if(\"number\"!=typeof t||t<0||isNaN(t))throw new TypeError('\"n\" argument must be a positive number');return this._maxListeners=t,this},o.prototype.getMaxListeners=function(){return u(this)},o.prototype.emit=function(t){var e,r,n,a,i,o,s=\"error\"===t;if(o=this._events)s=s&&null==o.error;else if(!s)return!1;if(s){if(arguments.length>1&&(e=arguments[1]),e instanceof Error)throw e;var l=new Error('Unhandled \"error\" event. ('+e+\")\");throw l.context=e,l}if(!(r=o[t]))return!1;var c=\"function\"==typeof r;switch(n=arguments.length){case 1:!function(t,e,r){if(e)t.call(r);else for(var n=t.length,a=v(t,n),i=0;i<n;++i)a[i].call(r)}(r,c,this);break;case 2:!function(t,e,r,n){if(e)t.call(r,n);else for(var a=t.length,i=v(t,a),o=0;o<a;++o)i[o].call(r,n)}(r,c,this,arguments[1]);break;case 3:!function(t,e,r,n,a){if(e)t.call(r,n,a);else for(var i=t.length,o=v(t,i),s=0;s<i;++s)o[s].call(r,n,a)}(r,c,this,arguments[1],arguments[2]);break;case 4:!function(t,e,r,n,a,i){if(e)t.call(r,n,a,i);else for(var o=t.length,s=v(t,o),l=0;l<o;++l)s[l].call(r,n,a,i)}(r,c,this,arguments[1],arguments[2],arguments[3]);break;default:for(a=new Array(n-1),i=1;i<n;i++)a[i-1]=arguments[i];!function(t,e,r,n){if(e)t.apply(r,n);else for(var a=t.length,i=v(t,a),o=0;o<a;++o)i[o].apply(r,n)}(r,c,this,a)}return!0},o.prototype.addListener=function(t,e){return h(this,t,e,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(t,e){return h(this,t,e,!0)},o.prototype.once=function(t,e){if(\"function\"!=typeof e)throw new TypeError('\"listener\" argument must be a function');return this.on(t,p(this,t,e)),this},o.prototype.prependOnceListener=function(t,e){if(\"function\"!=typeof e)throw new TypeError('\"listener\" argument must be a function');return this.prependListener(t,p(this,t,e)),this},o.prototype.removeListener=function(t,e){var r,a,i,o,s;if(\"function\"!=typeof e)throw new TypeError('\"listener\" argument must be a function');if(!(a=this._events))return this;if(!(r=a[t]))return this;if(r===e||r.listener===e)0==--this._eventsCount?this._events=n(null):(delete a[t],a.removeListener&&this.emit(\"removeListener\",t,r.listener||e));else if(\"function\"!=typeof r){for(i=-1,o=r.length-1;o>=0;o--)if(r[o]===e||r[o].listener===e){s=r[o].listener,i=o;break}if(i<0)return this;0===i?r.shift():function(t,e){for(var r=e,n=r+1,a=t.length;n<a;r+=1,n+=1)t[r]=t[n];t.pop()}(r,i),1===r.length&&(a[t]=r[0]),a.removeListener&&this.emit(\"removeListener\",t,s||e)}return this},o.prototype.removeAllListeners=function(t){var e,r,i;if(!(r=this._events))return this;if(!r.removeListener)return 0===arguments.length?(this._events=n(null),this._eventsCount=0):r[t]&&(0==--this._eventsCount?this._events=n(null):delete r[t]),this;if(0===arguments.length){var o,s=a(r);for(i=0;i<s.length;++i)\"removeListener\"!==(o=s[i])&&this.removeAllListeners(o);return this.removeAllListeners(\"removeListener\"),this._events=n(null),this._eventsCount=0,this}if(\"function\"==typeof(e=r[t]))this.removeListener(t,e);else if(e)for(i=e.length-1;i>=0;i--)this.removeListener(t,e[i]);return this},o.prototype.listeners=function(t){return d(this,t,!0)},o.prototype.rawListeners=function(t){return d(this,t,!1)},o.listenerCount=function(t,e){return\"function\"==typeof t.listenerCount?t.listenerCount(e):g.call(t,e)},o.prototype.listenerCount=g,o.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},{}],107:[function(t,e,r){(function(e){\"use strict\";var n=t(\"base64-js\"),a=t(\"ieee754\"),i=\"function\"==typeof Symbol&&\"function\"==typeof Symbol.for?Symbol.for(\"nodejs.util.inspect.custom\"):null;r.Buffer=e,r.SlowBuffer=function(t){+t!=t&&(t=0);return e.alloc(+t)},r.INSPECT_MAX_BYTES=50;var o=2147483647;function s(t){if(t>o)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"');var r=new Uint8Array(t);return Object.setPrototypeOf(r,e.prototype),r}function e(t,e,r){if(\"number\"==typeof t){if(\"string\"==typeof e)throw new TypeError('The \"string\" argument must be of type string. Received type number');return u(t)}return l(t,e,r)}function l(t,r,n){if(\"string\"==typeof t)return function(t,r){\"string\"==typeof r&&\"\"!==r||(r=\"utf8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment