Skip to content

Instantly share code, notes, and snippets.

@egy1st
Created February 23, 2022 22:41
Show Gist options
  • Save egy1st/460dc1404567297e432b33749c92f0eb to your computer and use it in GitHub Desktop.
Save egy1st/460dc1404567297e432b33749c92f0eb to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Data Prepration section"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### The Dataset:\n",
"As a data analyst I got New York data from NYU spatial data repository and find that it gas 5 boroughs:\n",
"\n",
"* Manhattan with 40 neighbors\n",
"* Bronx with 52 neighbors\n",
"* Staten with Island 63 neighbors\n",
"* Brooklyn with 70 neighbors\n",
"* Queens with 81 neighbors"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"# import pandas library to work with dataframe\n",
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib as mat"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# @hidden_cell\n",
"CLIENT_ID = '2UABPTQXVSFUWXVMSQYXON4FACFMLWPELLQFVBYK3S0TLBNV' # your Foursquare ID\n",
"CLIENT_SECRET = 'AFKQI22J5NIJ1JSMPU0ZJ2TGHMPAIT04BAPUUD1MOAOIYVLE' # your Foursquare Secret\n",
"VERSION = '20180604'"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: geopy in /home/jupyterlab/conda/lib/python3.6/site-packages (1.18.1)\n",
"Requirement already satisfied: geographiclib<2,>=1.49 in /home/jupyterlab/conda/lib/python3.6/site-packages (from geopy) (1.49)\n",
"Requirement already satisfied: folium in /home/jupyterlab/conda/lib/python3.6/site-packages (0.5.0)\n",
"Requirement already satisfied: branca in /home/jupyterlab/conda/lib/python3.6/site-packages (from folium) (0.3.1)\n",
"Requirement already satisfied: jinja2 in /home/jupyterlab/conda/lib/python3.6/site-packages (from folium) (2.10)\n",
"Requirement already satisfied: requests in /home/jupyterlab/conda/lib/python3.6/site-packages (from folium) (2.20.1)\n",
"Requirement already satisfied: six in /home/jupyterlab/conda/lib/python3.6/site-packages (from folium) (1.11.0)\n",
"Requirement already satisfied: MarkupSafe>=0.23 in /home/jupyterlab/conda/lib/python3.6/site-packages (from jinja2->folium) (1.1.0)\n",
"Requirement already satisfied: certifi>=2017.4.17 in /home/jupyterlab/conda/lib/python3.6/site-packages (from requests->folium) (2018.11.29)\n",
"Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /home/jupyterlab/conda/lib/python3.6/site-packages (from requests->folium) (3.0.4)\n",
"Requirement already satisfied: urllib3<1.25,>=1.21.1 in /home/jupyterlab/conda/lib/python3.6/site-packages (from requests->folium) (1.23)\n",
"Requirement already satisfied: idna<2.8,>=2.5 in /home/jupyterlab/conda/lib/python3.6/site-packages (from requests->folium) (2.7)\n",
"Folium installed\n",
"Libraries imported.\n"
]
}
],
"source": [
"#!conda install -c conda-forge geopy --yes \n",
"!pip install geopy \n",
"from geopy.geocoders import Nominatim # module to convert an address into latitude and longitude values\n",
"import requests # library to handle requests\n",
"\n",
"pd.set_option('display.max_columns', None)\n",
"pd.set_option('display.max_rows', None)\n",
"\n",
"import json # library to handle JSON files\n",
"\n",
"# libraries for displaying images\n",
"from IPython.display import Image \n",
"from IPython.core.display import HTML \n",
" \n",
"# tranforming json file into a pandas dataframe library\n",
"from pandas.io.json import json_normalize\n",
"\n",
"#!conda install -c conda-forge folium=0.5.0 --yes\n",
"!pip install folium\n",
"import folium # plotting library\n",
"\n",
"import matplotlib.pyplot as plt\n",
"import matplotlib.image as mpimg\n",
"\n",
"print('Folium installed')\n",
"print('Libraries imported.')"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"# Function for creating map of any borough using latitude and longitude values\n",
"def print_map (my_data, zoom=11):\n",
" my_map = folium.Map(location=[latitude, longitude], zoom_start=zoom)\n",
" for lat, lng, label in zip(my_data['Latitude'], my_data['Longitude'], my_data['Neighborhood']):\n",
" label = folium.Popup(label, parse_html=True)\n",
" folium.CircleMarker(\n",
" [lat, lng],\n",
" radius=5,\n",
" popup=label,\n",
" color='blue',\n",
" fill=True,\n",
" fill_color='#3186cc',\n",
" fill_opacity=0.7,\n",
" parse_html=False).add_to(my_map)\n",
" return my_map"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Data downloaded!\n"
]
}
],
"source": [
"!wget -q -O 'newyork_data.json' https://geo.nyu.edu/download/file/nyu-2451-34572-geojson.json\n",
"print('Data downloaded!')"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"with open('newyork_data.json') as json_data:\n",
" df_newyork = json.load(json_data)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"df_newyork = df_newyork['features']"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'type': 'Feature',\n",
" 'id': 'nyu_2451_34572.1',\n",
" 'geometry': {'type': 'Point',\n",
" 'coordinates': [-73.84720052054902, 40.89470517661]},\n",
" 'geometry_name': 'geom',\n",
" 'properties': {'name': 'Wakefield',\n",
" 'stacked': 1,\n",
" 'annoline1': 'Wakefield',\n",
" 'annoline2': None,\n",
" 'annoline3': None,\n",
" 'annoangle': 0.0,\n",
" 'borough': 'Bronx',\n",
" 'bbox': [-73.84720052054902,\n",
" 40.89470517661,\n",
" -73.84720052054902,\n",
" 40.89470517661]}}"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#let us have a look\n",
"df_newyork[0]"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"# define the dataframe columns\n",
"column_names = ['Borough', 'Neighborhood', 'Latitude', 'Longitude'] \n",
"\n",
"# instantiate the dataframe\n",
"newyork_data = pd.DataFrame(columns=column_names)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"306"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(df_newyork)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"# let us populate it\n",
"for data in df_newyork:\n",
" borough = neighborhood_name = data['properties']['borough'] \n",
" neighborhood_name = data['properties']['name']\n",
" \n",
" neighborhood_latlon = data['geometry']['coordinates']\n",
" neighborhood_lat = neighborhood_latlon[1]\n",
" neighborhood_lon = neighborhood_latlon[0]\n",
" \n",
" newyork_data = newyork_data.append({'Borough': borough,\n",
" 'Neighborhood': neighborhood_name,\n",
" 'Latitude': neighborhood_lat,\n",
" 'Longitude': neighborhood_lon}, ignore_index=True)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Borough</th>\n",
" <th>Neighborhood</th>\n",
" <th>Latitude</th>\n",
" <th>Longitude</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Bronx</td>\n",
" <td>Wakefield</td>\n",
" <td>40.894705</td>\n",
" <td>-73.847201</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Bronx</td>\n",
" <td>Co-op City</td>\n",
" <td>40.874294</td>\n",
" <td>-73.829939</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Bronx</td>\n",
" <td>Eastchester</td>\n",
" <td>40.887556</td>\n",
" <td>-73.827806</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Bronx</td>\n",
" <td>Fieldston</td>\n",
" <td>40.895437</td>\n",
" <td>-73.905643</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Bronx</td>\n",
" <td>Riverdale</td>\n",
" <td>40.890834</td>\n",
" <td>-73.912585</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Borough Neighborhood Latitude Longitude\n",
"0 Bronx Wakefield 40.894705 -73.847201\n",
"1 Bronx Co-op City 40.874294 -73.829939\n",
"2 Bronx Eastchester 40.887556 -73.827806\n",
"3 Bronx Fieldston 40.895437 -73.905643\n",
"4 Bronx Riverdale 40.890834 -73.912585"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"newyork_data.head()"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"slideshow": {
"slide_type": "-"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The dataframe has 5 boroughs and 306 neighborhoods.\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Neighborhood</th>\n",
" <th>Latitude</th>\n",
" <th>Longitude</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Borough</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Bronx</th>\n",
" <td>52</td>\n",
" <td>52</td>\n",
" <td>52</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Brooklyn</th>\n",
" <td>70</td>\n",
" <td>70</td>\n",
" <td>70</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Manhattan</th>\n",
" <td>40</td>\n",
" <td>40</td>\n",
" <td>40</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Queens</th>\n",
" <td>81</td>\n",
" <td>81</td>\n",
" <td>81</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Staten Island</th>\n",
" <td>63</td>\n",
" <td>63</td>\n",
" <td>63</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Neighborhood Latitude Longitude\n",
"Borough \n",
"Bronx 52 52 52\n",
"Brooklyn 70 70 70\n",
"Manhattan 40 40 40\n",
"Queens 81 81 81\n",
"Staten Island 63 63 63"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"print('The dataframe has {} boroughs and {} neighborhoods.'.format(\n",
" len(newyork_data['Borough'].unique()),\n",
" newyork_data.shape[0]\n",
" )\n",
")\n",
"\n",
"#how many neighborhood each borough has\n",
"df_groups = newyork_data.groupby (['Borough']).count()\n",
"df_groups"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The geograpical coordinate of New York City are 40.7308619, -73.9871558.\n"
]
}
],
"source": [
"# Use geopy library to get the latitude and longitude values of New York City.\n",
"address = 'New York City, NY'\n",
"geolocator = Nominatim()\n",
"location = geolocator.geocode(address)\n",
"latitude = location.latitude\n",
"longitude = location.longitude\n",
"print('The geograpical coordinate of New York City are {}, {}.'.format(latitude, longitude))\n"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgPHNjcmlwdD5MX1BSRUZFUl9DQU5WQVMgPSBmYWxzZTsgTF9OT19UT1VDSCA9IGZhbHNlOyBMX0RJU0FCTEVfM0QgPSBmYWxzZTs8L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS4yLjAvZGlzdC9sZWFmbGV0LmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVyeS8xLjExLjEvanF1ZXJ5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvTGVhZmxldC5hd2Vzb21lLW1hcmtlcnMvMi4wLjIvbGVhZmxldC5hd2Vzb21lLW1hcmtlcnMuanMiPjwvc2NyaXB0PgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS4yLjAvZGlzdC9sZWFmbGV0LmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvY3NzL2Jvb3RzdHJhcC10aGVtZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNi4zL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9yYXdnaXQuY29tL3B5dGhvbi12aXN1YWxpemF0aW9uL2ZvbGl1bS9tYXN0ZXIvZm9saXVtL3RlbXBsYXRlcy9sZWFmbGV0LmF3ZXNvbWUucm90YXRlLmNzcyIvPgogICAgPHN0eWxlPmh0bWwsIGJvZHkge3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTttYXJnaW46IDA7cGFkZGluZzogMDt9PC9zdHlsZT4KICAgIDxzdHlsZT4jbWFwIHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtyaWdodDowO2xlZnQ6MDt9PC9zdHlsZT4KICAgIAogICAgICAgICAgICA8c3R5bGU+ICNtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQgewogICAgICAgICAgICAgICAgcG9zaXRpb24gOiByZWxhdGl2ZTsKICAgICAgICAgICAgICAgIHdpZHRoIDogMTAwLjAlOwogICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICBsZWZ0OiAwLjAlOwogICAgICAgICAgICAgICAgdG9wOiAwLjAlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICA8L3N0eWxlPgogICAgICAgIAo8L2hlYWQ+Cjxib2R5PiAgICAKICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb2xpdW0tbWFwIiBpZD0ibWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkIiA+PC9kaXY+CiAgICAgICAgCjwvYm9keT4KPHNjcmlwdD4gICAgCiAgICAKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGJvdW5kcyA9IG51bGw7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgdmFyIG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCA9IEwubWFwKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2VudGVyOiBbNDAuNzMwODYxOSwtNzMuOTg3MTU1OF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6b29tOiAxMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heEJvdW5kczogYm91bmRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJzOiBbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmxkQ29weUp1bXA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JzOiBMLkNSUy5FUFNHMzg1NwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfOTMxMTliNzI4MGI5NDUxNGI0MDA0YWUyYjM2MzJmNWYgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICdodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZycsCiAgICAgICAgICAgICAgICB7CiAgImF0dHJpYnV0aW9uIjogbnVsbCwKICAiZGV0ZWN0UmV0aW5hIjogZmFsc2UsCiAgIm1heFpvb20iOiAxOCwKICAibWluWm9vbSI6IDEsCiAgIm5vV3JhcCI6IGZhbHNlLAogICJzdWJkb21haW5zIjogImFiYyIKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzc0NjhhNWNmNGYwYjQwNjZiMWE2MzY1YWViYTIwYTcyID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuODk0NzA1MTc2NjEsLTczLjg0NzIwMDUyMDU0OTAyXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2NjZjE0YzFiOWUyNjRmZmI5ZjAzMjkwMzRjYjZjYjc1ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2M2ZjVjNWE5ZTUzNDQ3MDJiNGMxNjJkZTQ2NWZmN2FmID0gJCgnPGRpdiBpZD0iaHRtbF9jNmY1YzVhOWU1MzQ0NzAyYjRjMTYyZGU0NjVmZjdhZiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+V2FrZWZpZWxkPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9jY2YxNGMxYjllMjY0ZmZiOWYwMzI5MDM0Y2I2Y2I3NS5zZXRDb250ZW50KGh0bWxfYzZmNWM1YTllNTM0NDcwMmI0YzE2MmRlNDY1ZmY3YWYpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfNzQ2OGE1Y2Y0ZjBiNDA2NmIxYTYzNjVhZWJhMjBhNzIuYmluZFBvcHVwKHBvcHVwX2NjZjE0YzFiOWUyNjRmZmI5ZjAzMjkwMzRjYjZjYjc1KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzZkOTkyMTI1NjNlMDQ0YzdhYzVjYzBlNmY1OWJlMmU1ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuODc0Mjk0MTkzMDMwMTIsLTczLjgyOTkzOTEwODEyMzk4XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzc5ODZlODlhOWE1YTQxMDdhNmExZTE1ZDE5OTcxMTg4ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzU1NDZhMDQ2MTk3NzRhODhiYTc4MDA4MDMzYzcyMWM4ID0gJCgnPGRpdiBpZD0iaHRtbF81NTQ2YTA0NjE5Nzc0YTg4YmE3ODAwODAzM2M3MjFjOCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Q28tb3AgQ2l0eTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNzk4NmU4OWE5YTVhNDEwN2E2YTFlMTVkMTk5NzExODguc2V0Q29udGVudChodG1sXzU1NDZhMDQ2MTk3NzRhODhiYTc4MDA4MDMzYzcyMWM4KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzZkOTkyMTI1NjNlMDQ0YzdhYzVjYzBlNmY1OWJlMmU1LmJpbmRQb3B1cChwb3B1cF83OTg2ZTg5YTlhNWE0MTA3YTZhMWUxNWQxOTk3MTE4OCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8zZDc4YmFkM2I1ZmE0Y2EzOTcyMTMyMGRjOTk1ZjllOCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjg4NzU1NTY3NzM1MDc3NSwtNzMuODI3ODA2NDQ3MTY0MTJdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNzkwMjkzM2Q4ZGMwNDQ2MTgxNzA1OWYwZmI1YWZlNWMgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfN2QxMGQ4ZGM2YjFkNDM1ODk1MTA0N2Y4OTgzMThjNWQgPSAkKCc8ZGl2IGlkPSJodG1sXzdkMTBkOGRjNmIxZDQzNTg5NTEwNDdmODk4MzE4YzVkIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5FYXN0Y2hlc3RlcjwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNzkwMjkzM2Q4ZGMwNDQ2MTgxNzA1OWYwZmI1YWZlNWMuc2V0Q29udGVudChodG1sXzdkMTBkOGRjNmIxZDQzNTg5NTEwNDdmODk4MzE4YzVkKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzNkNzhiYWQzYjVmYTRjYTM5NzIxMzIwZGM5OTVmOWU4LmJpbmRQb3B1cChwb3B1cF83OTAyOTMzZDhkYzA0NDYxODE3MDU5ZjBmYjVhZmU1Yyk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8xYWY3MzZmMjNmODM0N2MxOTJlNTRhYzgzNzY1NzA2MSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjg5NTQzNzQyNjkwMzgzLC03My45MDU2NDI1OTU5MTY4Ml0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9mNjcyMmQ2Mjg2Nzk0MzQ5ODMyMWNiMWY2YTZkNjBlNSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9lYzcyMTg1NjI1ZWU0MmVjOWIyNWI3OTBkMzRjMGM0NSA9ICQoJzxkaXYgaWQ9Imh0bWxfZWM3MjE4NTYyNWVlNDJlYzliMjViNzkwZDM0YzBjNDUiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkZpZWxkc3RvbjwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZjY3MjJkNjI4Njc5NDM0OTgzMjFjYjFmNmE2ZDYwZTUuc2V0Q29udGVudChodG1sX2VjNzIxODU2MjVlZTQyZWM5YjI1Yjc5MGQzNGMwYzQ1KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzFhZjczNmYyM2Y4MzQ3YzE5MmU1NGFjODM3NjU3MDYxLmJpbmRQb3B1cChwb3B1cF9mNjcyMmQ2Mjg2Nzk0MzQ5ODMyMWNiMWY2YTZkNjBlNSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl82NjRjZWQ3ZDg0MjE0NDQ1YThkYWY0ZTRlOTE5MTQyYSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjg5MDgzNDQ5Mzg5MTMwNSwtNzMuOTEyNTg1NDYxMDg1N10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF82ZTA3ZjAzOWZmOGE0MWUwOTkyZjdkODhmODU3MjdlNCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8zNzlkODQ2MWVkMDg0ZGM5ODgwM2YxZjg1ZmM0ZWNlOCA9ICQoJzxkaXYgaWQ9Imh0bWxfMzc5ZDg0NjFlZDA4NGRjOTg4MDNmMWY4NWZjNGVjZTgiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlJpdmVyZGFsZTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNmUwN2YwMzlmZjhhNDFlMDk5MmY3ZDg4Zjg1NzI3ZTQuc2V0Q29udGVudChodG1sXzM3OWQ4NDYxZWQwODRkYzk4ODAzZjFmODVmYzRlY2U4KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzY2NGNlZDdkODQyMTQ0NDVhOGRhZjRlNGU5MTkxNDJhLmJpbmRQb3B1cChwb3B1cF82ZTA3ZjAzOWZmOGE0MWUwOTkyZjdkODhmODU3MjdlNCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl84NDM3YzVjNDhhOTA0ZDIyODJiODEwYWQyZjg3MWExYSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjg4MTY4NzM3MTIwNTIxLC03My45MDI4MTc5ODcyNDYwNF0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9hOGVjMGVkMmJkMzI0OGI3YjI1ZjFkZjYxZDkzYTkxYSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9iNDdiNTMwOWE5YTU0NGQ5ODI4MzdhZGJhOGNhODdkMyA9ICQoJzxkaXYgaWQ9Imh0bWxfYjQ3YjUzMDlhOWE1NDRkOTgyODM3YWRiYThjYTg3ZDMiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPktpbmdzYnJpZGdlPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9hOGVjMGVkMmJkMzI0OGI3YjI1ZjFkZjYxZDkzYTkxYS5zZXRDb250ZW50KGh0bWxfYjQ3YjUzMDlhOWE1NDRkOTgyODM3YWRiYThjYTg3ZDMpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfODQzN2M1YzQ4YTkwNGQyMjgyYjgxMGFkMmY4NzFhMWEuYmluZFBvcHVwKHBvcHVwX2E4ZWMwZWQyYmQzMjQ4YjdiMjVmMWRmNjFkOTNhOTFhKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2QyZjU1NzI1MDNjZjQxNjg5MTlkYTY2YWQwNTE1ZTM5ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuODc2NTUwNzc4Nzk5NjQsLTczLjkxMDY1OTY1ODYyOTgxXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2IyYTA1OTYzODFmNzRlZDQ4ZjdkNDdlNzRjNjcyMTU2ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2E5MTJmOWI0ZTA0NDQ4NmU5YmIwZTRmZWJkOWI2ZTYxID0gJCgnPGRpdiBpZD0iaHRtbF9hOTEyZjliNGUwNDQ0ODZlOWJiMGU0ZmViZDliNmU2MSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+TWFyYmxlIEhpbGw8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2IyYTA1OTYzODFmNzRlZDQ4ZjdkNDdlNzRjNjcyMTU2LnNldENvbnRlbnQoaHRtbF9hOTEyZjliNGUwNDQ0ODZlOWJiMGU0ZmViZDliNmU2MSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9kMmY1NTcyNTAzY2Y0MTY4OTE5ZGE2NmFkMDUxNWUzOS5iaW5kUG9wdXAocG9wdXBfYjJhMDU5NjM4MWY3NGVkNDhmN2Q0N2U3NGM2NzIxNTYpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYTY3MjMwMGIzNWQ2NDhlMmJhYzIzYWU5NGYyMDJkMWQgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC44OTgyNzI2MTIxMzgwNSwtNzMuODY3MzE0OTY4MTQxNzZdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfOTk3NTBkYTM2MzNhNDI5M2E5YTAxMDVjMGQxNWJmYjAgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYzExNTE2MTA4NWVlNDZiMTkwZjE0MGRkYWY2Mjg4MmYgPSAkKCc8ZGl2IGlkPSJodG1sX2MxMTUxNjEwODVlZTQ2YjE5MGYxNDBkZGFmNjI4ODJmIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Xb29kbGF3bjwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfOTk3NTBkYTM2MzNhNDI5M2E5YTAxMDVjMGQxNWJmYjAuc2V0Q29udGVudChodG1sX2MxMTUxNjEwODVlZTQ2YjE5MGYxNDBkZGFmNjI4ODJmKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2E2NzIzMDBiMzVkNjQ4ZTJiYWMyM2FlOTRmMjAyZDFkLmJpbmRQb3B1cChwb3B1cF85OTc1MGRhMzYzM2E0MjkzYTlhMDEwNWMwZDE1YmZiMCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9jYmRhZTE3MjdmMDE0YjAwOTM4MWJhYjg5ZGQyNzdiNyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjg3NzIyNDE1NTk5NDQ2LC03My44NzkzOTA3Mzk1NjgxXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzYyYTFlODRmYmRkNTQ4YjZhYWVmMjgwYjNkOWM2MzQ3ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2JlZGFkNmQ4ZTgyYjQ4MDdhMzk3MjU3ZGViYWVjMTI2ID0gJCgnPGRpdiBpZD0iaHRtbF9iZWRhZDZkOGU4MmI0ODA3YTM5NzI1N2RlYmFlYzEyNiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Tm9yd29vZDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNjJhMWU4NGZiZGQ1NDhiNmFhZWYyODBiM2Q5YzYzNDcuc2V0Q29udGVudChodG1sX2JlZGFkNmQ4ZTgyYjQ4MDdhMzk3MjU3ZGViYWVjMTI2KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2NiZGFlMTcyN2YwMTRiMDA5MzgxYmFiODlkZDI3N2I3LmJpbmRQb3B1cChwb3B1cF82MmExZTg0ZmJkZDU0OGI2YWFlZjI4MGIzZDljNjM0Nyk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl85MjU0MjhlMDdjZTM0NWUyYTgwMTBkOTRhNTc5ZDFjZSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjg4MTAzODg3ODE5MjExLC03My44NTc0NDY0Mjk3NDIwN10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9lNGY0NjAxNDc4YWE0NjIwYWEyMDFiYjEzNjg2NjQ3MiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8wNDJmMzBhMzU2NzI0OGNlYTkyYTZiOTY4YzE1MmIwMiA9ICQoJzxkaXYgaWQ9Imh0bWxfMDQyZjMwYTM1NjcyNDhjZWE5MmE2Yjk2OGMxNTJiMDIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPldpbGxpYW1zYnJpZGdlPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9lNGY0NjAxNDc4YWE0NjIwYWEyMDFiYjEzNjg2NjQ3Mi5zZXRDb250ZW50KGh0bWxfMDQyZjMwYTM1NjcyNDhjZWE5MmE2Yjk2OGMxNTJiMDIpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfOTI1NDI4ZTA3Y2UzNDVlMmE4MDEwZDk0YTU3OWQxY2UuYmluZFBvcHVwKHBvcHVwX2U0ZjQ2MDE0NzhhYTQ2MjBhYTIwMWJiMTM2ODY2NDcyKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2ZkMTk5MWYwNGRkNDRiNWY4MTcyZGVjOTJlN2NmMzZmID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuODY2ODU4MTA3MjUyNjk2LC03My44MzU3OTc1OTgwODExN10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8xMGMyM2U0YmUwMjQ0MWQ4OTgyNjc0ZWMyZmQxMDJmOCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF82ODM4ZWI2NGViMjg0YWI4OTg3NjBlYjhiYzNkYmM3OCA9ICQoJzxkaXYgaWQ9Imh0bWxfNjgzOGViNjRlYjI4NGFiODk4NzYwZWI4YmMzZGJjNzgiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkJheWNoZXN0ZXI8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzEwYzIzZTRiZTAyNDQxZDg5ODI2NzRlYzJmZDEwMmY4LnNldENvbnRlbnQoaHRtbF82ODM4ZWI2NGViMjg0YWI4OTg3NjBlYjhiYzNkYmM3OCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9mZDE5OTFmMDRkZDQ0YjVmODE3MmRlYzkyZTdjZjM2Zi5iaW5kUG9wdXAocG9wdXBfMTBjMjNlNGJlMDI0NDFkODk4MjY3NGVjMmZkMTAyZjgpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYWQwMzBiMzRhOThlNDZjYzhhOTNkYmQ2ZDM5NDZhYzggPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC44NTc0MTM0OTgwODg2NSwtNzMuODU0NzU1NjQwMTc5OTldLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfYTk1MjZkZjY5NDMyNDA1MTkwOTVkYmI3OTE0YjlkOWUgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZTc0MDQ0MDdiNGM1NGUwYTg2ZDA1ZTQyYzgzMTI3NDMgPSAkKCc8ZGl2IGlkPSJodG1sX2U3NDA0NDA3YjRjNTRlMGE4NmQwNWU0MmM4MzEyNzQzIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5QZWxoYW0gUGFya3dheTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfYTk1MjZkZjY5NDMyNDA1MTkwOTVkYmI3OTE0YjlkOWUuc2V0Q29udGVudChodG1sX2U3NDA0NDA3YjRjNTRlMGE4NmQwNWU0MmM4MzEyNzQzKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2FkMDMwYjM0YTk4ZTQ2Y2M4YTkzZGJkNmQzOTQ2YWM4LmJpbmRQb3B1cChwb3B1cF9hOTUyNmRmNjk0MzI0MDUxOTA5NWRiYjc5MTRiOWQ5ZSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl82Y2RjNmZhY2M4OGI0YjAzYmI0YWRjNmIxZDljNDEyYSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjg0NzI0NjcwNDkxODEzLC03My43ODY0ODg0NTI2NzQxM10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF81YTIwMDA3YjQ1YTM0MTI2ODJiZThjMGUzM2VlMGQ4OCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF82MWU4NDM4MTFkM2E0ZTY1OWExYjg0YTA2YTdkMGI4YyA9ICQoJzxkaXYgaWQ9Imh0bWxfNjFlODQzODExZDNhNGU2NTlhMWI4NGEwNmE3ZDBiOGMiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkNpdHkgSXNsYW5kPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF81YTIwMDA3YjQ1YTM0MTI2ODJiZThjMGUzM2VlMGQ4OC5zZXRDb250ZW50KGh0bWxfNjFlODQzODExZDNhNGU2NTlhMWI4NGEwNmE3ZDBiOGMpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfNmNkYzZmYWNjODhiNGIwM2JiNGFkYzZiMWQ5YzQxMmEuYmluZFBvcHVwKHBvcHVwXzVhMjAwMDdiNDVhMzQxMjY4MmJlOGMwZTMzZWUwZDg4KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2ViZTk3Mjc2MzEzMTRmZGZhYTIyODQ3NjUzZGZhMmYxID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuODcwMTg1MTY0OTc1MzI1LC03My44ODU1MTIxODQxOTEzXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2NmMDY0NzU3MDY0NTRiMmZiNTA1OTM0ZTZjYzkzMjkyID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzMyODBjN2I4ZDY3NjRjZWNiNGQ5MjAwOTZjMzBiZDZiID0gJCgnPGRpdiBpZD0iaHRtbF8zMjgwYzdiOGQ2NzY0Y2VjYjRkOTIwMDk2YzMwYmQ2YiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+QmVkZm9yZCBQYXJrPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9jZjA2NDc1NzA2NDU0YjJmYjUwNTkzNGU2Y2M5MzI5Mi5zZXRDb250ZW50KGh0bWxfMzI4MGM3YjhkNjc2NGNlY2I0ZDkyMDA5NmMzMGJkNmIpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfZWJlOTcyNzYzMTMxNGZkZmFhMjI4NDc2NTNkZmEyZjEuYmluZFBvcHVwKHBvcHVwX2NmMDY0NzU3MDY0NTRiMmZiNTA1OTM0ZTZjYzkzMjkyKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2I3ZDg4ODg5YzZlZDRhMjdhZWVjOWMxMDU0OTI2NDYwID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuODU1NzI3MDc3MTk2NjQsLTczLjkxMDQxNTk2MTkxMzFdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZTEwNjFmY2FmNmJlNDJiZDk4ZmZiNzhhYjY2ODA4NjIgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNTJhOTM5ZGQ4ODJlNGM1MGI1NjUzOThhMTRlYzkzNWIgPSAkKCc8ZGl2IGlkPSJodG1sXzUyYTkzOWRkODgyZTRjNTBiNTY1Mzk4YTE0ZWM5MzViIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Vbml2ZXJzaXR5IEhlaWdodHM8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2UxMDYxZmNhZjZiZTQyYmQ5OGZmYjc4YWI2NjgwODYyLnNldENvbnRlbnQoaHRtbF81MmE5MzlkZDg4MmU0YzUwYjU2NTM5OGExNGVjOTM1Yik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9iN2Q4ODg4OWM2ZWQ0YTI3YWVlYzljMTA1NDkyNjQ2MC5iaW5kUG9wdXAocG9wdXBfZTEwNjFmY2FmNmJlNDJiZDk4ZmZiNzhhYjY2ODA4NjIpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZTAwOGM1ZDVmYzMxNDEwMGE1Zjg2MzkxOWVjNDIxNTIgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC44NDc4OTc5MjYwNjI3MSwtNzMuOTE5NjcxNTkxMTk1NjVdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMmM4NzFmOWU1OWMyNGJiZWEzMjg2MTVhZGEwNjMyY2QgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMGI4ZTk0MDEyMTQ3NGNhZmE0NzYzNmJmZTM3ZjVmZDIgPSAkKCc8ZGl2IGlkPSJodG1sXzBiOGU5NDAxMjE0NzRjYWZhNDc2MzZiZmUzN2Y1ZmQyIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Nb3JyaXMgSGVpZ2h0czwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMmM4NzFmOWU1OWMyNGJiZWEzMjg2MTVhZGEwNjMyY2Quc2V0Q29udGVudChodG1sXzBiOGU5NDAxMjE0NzRjYWZhNDc2MzZiZmUzN2Y1ZmQyKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2UwMDhjNWQ1ZmMzMTQxMDBhNWY4NjM5MTllYzQyMTUyLmJpbmRQb3B1cChwb3B1cF8yYzg3MWY5ZTU5YzI0YmJlYTMyODYxNWFkYTA2MzJjZCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8yNzNkNzRmM2FkMjg0YjVkYjM1NzdjOTM1MWU0MDllMiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjg2MDk5Njc5NjM4NjU0LC03My44OTY0MjY1NTk4MTYyM10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9lNGFmZDljNTgzNDM0OTUwOTk0NWEyNWRkMGEwZWFlOCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8wNWEwNTc4NmYzNDI0ZTlkOTMwMDUzNzk2NDc2Y2M3MSA9ICQoJzxkaXYgaWQ9Imh0bWxfMDVhMDU3ODZmMzQyNGU5ZDkzMDA1Mzc5NjQ3NmNjNzEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkZvcmRoYW08L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2U0YWZkOWM1ODM0MzQ5NTA5OTQ1YTI1ZGQwYTBlYWU4LnNldENvbnRlbnQoaHRtbF8wNWEwNTc4NmYzNDI0ZTlkOTMwMDUzNzk2NDc2Y2M3MSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8yNzNkNzRmM2FkMjg0YjVkYjM1NzdjOTM1MWU0MDllMi5iaW5kUG9wdXAocG9wdXBfZTRhZmQ5YzU4MzQzNDk1MDk5NDVhMjVkZDBhMGVhZTgpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZjhjZGY3MmNhYWIwNDZiZmE2ZDExMzU5NzQwNGNhN2EgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC44NDI2OTYxNTc4NjA1MywtNzMuODg3MzU2MTc1MzIzMzhdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZjVmZTI3NDMxMTViNDEzODk0YzAwMjBlM2I0NzhhNmEgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZGQzYjg1N2FhZTBlNDRkMDg5NTQ0ZjJlMjI1MTI4NzQgPSAkKCc8ZGl2IGlkPSJodG1sX2RkM2I4NTdhYWUwZTQ0ZDA4OTU0NGYyZTIyNTEyODc0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5FYXN0IFRyZW1vbnQ8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2Y1ZmUyNzQzMTE1YjQxMzg5NGMwMDIwZTNiNDc4YTZhLnNldENvbnRlbnQoaHRtbF9kZDNiODU3YWFlMGU0NGQwODk1NDRmMmUyMjUxMjg3NCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9mOGNkZjcyY2FhYjA0NmJmYTZkMTEzNTk3NDA0Y2E3YS5iaW5kUG9wdXAocG9wdXBfZjVmZTI3NDMxMTViNDEzODk0YzAwMjBlM2I0NzhhNmEpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYjM2ODI5ZTgwMDJhNGYzYWJjZDViZmQ2ZjBlNDRhMmEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC44Mzk0NzUwNTY3MjY1MywtNzMuODc3NzQ0NzQ5MTA1NDVdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZmRiNzg3ZTAyZDI2NDZmMmJiMTdmMWJiMjNlYjkzNjUgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNjU0ZDNjNThhMGY3NGJhYTllNWQ0NzZiZjJhN2YyYzYgPSAkKCc8ZGl2IGlkPSJodG1sXzY1NGQzYzU4YTBmNzRiYWE5ZTVkNDc2YmYyYTdmMmM2IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5XZXN0IEZhcm1zPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9mZGI3ODdlMDJkMjY0NmYyYmIxN2YxYmIyM2ViOTM2NS5zZXRDb250ZW50KGh0bWxfNjU0ZDNjNThhMGY3NGJhYTllNWQ0NzZiZjJhN2YyYzYpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYjM2ODI5ZTgwMDJhNGYzYWJjZDViZmQ2ZjBlNDRhMmEuYmluZFBvcHVwKHBvcHVwX2ZkYjc4N2UwMmQyNjQ2ZjJiYjE3ZjFiYjIzZWI5MzY1KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzU3OGUyNTFkNGM5YTRlNWFiNjBkOTI0NWM1NWQ5MmM3ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuODM2NjIzMDEwNzA2MDU2LC03My45MjYxMDIwOTM1ODEzXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2JjYmQwZmRhMDRhOTRkOWFiOGQxOTg4N2RiZTEwOTVkID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzc1OWU0YzI4M2QyMTRmNzA5MzJiNzY2ZTI3YjQyMDBhID0gJCgnPGRpdiBpZD0iaHRtbF83NTllNGMyODNkMjE0ZjcwOTMyYjc2NmUyN2I0MjAwYSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+SGlnaCAgQnJpZGdlPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9iY2JkMGZkYTA0YTk0ZDlhYjhkMTk4ODdkYmUxMDk1ZC5zZXRDb250ZW50KGh0bWxfNzU5ZTRjMjgzZDIxNGY3MDkzMmI3NjZlMjdiNDIwMGEpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfNTc4ZTI1MWQ0YzlhNGU1YWI2MGQ5MjQ1YzU1ZDkyYzcuYmluZFBvcHVwKHBvcHVwX2JjYmQwZmRhMDRhOTRkOWFiOGQxOTg4N2RiZTEwOTVkKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzc5N2Y2Y2ExYTMxMzQxZWZiNzIxNmVhZjA1YWExOTc4ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuODE5NzU0MzcwNTk0OTM2LC03My45MDk0MjE2MDc1NzQzNl0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF83NDY2ZjhmNDI0YjE0YzlmYjFlZGEyZWI1MTRjNzBmNSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF83ZThiODE5NGVmNTk0MDdjODUzOWFmY2M0NDllMzAzMyA9ICQoJzxkaXYgaWQ9Imh0bWxfN2U4YjgxOTRlZjU5NDA3Yzg1MzlhZmNjNDQ5ZTMwMzMiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPk1lbHJvc2U8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzc0NjZmOGY0MjRiMTRjOWZiMWVkYTJlYjUxNGM3MGY1LnNldENvbnRlbnQoaHRtbF83ZThiODE5NGVmNTk0MDdjODUzOWFmY2M0NDllMzAzMyk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl83OTdmNmNhMWEzMTM0MWVmYjcyMTZlYWYwNWFhMTk3OC5iaW5kUG9wdXAocG9wdXBfNzQ2NmY4ZjQyNGIxNGM5ZmIxZWRhMmViNTE0YzcwZjUpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYjlmY2I5YTI1YmY4NDJlYjhhZDY4OGY4YzFiMzI2ZjEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC44MDYyMzg3NDkzNTE3NywtNzMuOTE2MDk5ODc0ODc1NzVdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMGZiMDQyYjA4ZGRiNDRiODkwNjdiYmVkNmFjNTAwNTEgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfOTJiOGMwNTk1MmVhNDdhMmI5YzJmNzY4MWNlYmY5MDQgPSAkKCc8ZGl2IGlkPSJodG1sXzkyYjhjMDU5NTJlYTQ3YTJiOWMyZjc2ODFjZWJmOTA0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Nb3R0IEhhdmVuPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8wZmIwNDJiMDhkZGI0NGI4OTA2N2JiZWQ2YWM1MDA1MS5zZXRDb250ZW50KGh0bWxfOTJiOGMwNTk1MmVhNDdhMmI5YzJmNzY4MWNlYmY5MDQpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYjlmY2I5YTI1YmY4NDJlYjhhZDY4OGY4YzFiMzI2ZjEuYmluZFBvcHVwKHBvcHVwXzBmYjA0MmIwOGRkYjQ0Yjg5MDY3YmJlZDZhYzUwMDUxKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzY3M2UzZWI4YTIzNDQ2YjBhZjY3YTBkMDY5YmIxYTY1ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuODAxNjYzNjI3NzU2MjA2LC03My45MTMyMjEzOTM4NjEzNV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9kZGU4NTJjNjM3OTI0MTg5Yjk3MjdkMDk2Zjk0MzA0MCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9iNDYyZTM0ZGQxMzQ0MWE5OTIwYzlhZGJjYzljZTQ4MiA9ICQoJzxkaXYgaWQ9Imh0bWxfYjQ2MmUzNGRkMTM0NDFhOTkyMGM5YWRiY2M5Y2U0ODIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlBvcnQgTW9ycmlzPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9kZGU4NTJjNjM3OTI0MTg5Yjk3MjdkMDk2Zjk0MzA0MC5zZXRDb250ZW50KGh0bWxfYjQ2MmUzNGRkMTM0NDFhOTkyMGM5YWRiY2M5Y2U0ODIpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfNjczZTNlYjhhMjM0NDZiMGFmNjdhMGQwNjliYjFhNjUuYmluZFBvcHVwKHBvcHVwX2RkZTg1MmM2Mzc5MjQxODliOTcyN2QwOTZmOTQzMDQwKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzA4MjFkOWM5MDAxYTQ4YmNhMTI4YjMzZTczZTU2M2VjID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuODE1MDk5MDQ1NDU4MjIsLTczLjg5NTc4ODIwMDk0NDZdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfYjNkMWQ1Y2JjZmJhNGM2ZDhhYjliNTVjZDcxZDNmOGIgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNDQzZDRhZjlmNDVmNDA4M2IxZDc5N2I2NzRmYTgzZmYgPSAkKCc8ZGl2IGlkPSJodG1sXzQ0M2Q0YWY5ZjQ1ZjQwODNiMWQ3OTdiNjc0ZmE4M2ZmIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Mb25nd29vZDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfYjNkMWQ1Y2JjZmJhNGM2ZDhhYjliNTVjZDcxZDNmOGIuc2V0Q29udGVudChodG1sXzQ0M2Q0YWY5ZjQ1ZjQwODNiMWQ3OTdiNjc0ZmE4M2ZmKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzA4MjFkOWM5MDAxYTQ4YmNhMTI4YjMzZTczZTU2M2VjLmJpbmRQb3B1cChwb3B1cF9iM2QxZDVjYmNmYmE0YzZkOGFiOWI1NWNkNzFkM2Y4Yik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl85Nzk4NTg2MDg0ZTA0NWUyOGZhZTkzMDM2YTNiYTc4ZiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjgwOTcyOTg3OTM4NzA5LC03My44ODMzMTUwNTk1NTI5MV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF84OWZhNTU4OGM5NmU0YzVhOTQ4YmFjYmRiMTk4YWZjMSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9kMmEyOTI0ZjkyMzk0MWUzOGExNzg2Yzc0MDg1MjZiZCA9ICQoJzxkaXYgaWQ9Imh0bWxfZDJhMjkyNGY5MjM5NDFlMzhhMTc4NmM3NDA4NTI2YmQiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkh1bnRzIFBvaW50PC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF84OWZhNTU4OGM5NmU0YzVhOTQ4YmFjYmRiMTk4YWZjMS5zZXRDb250ZW50KGh0bWxfZDJhMjkyNGY5MjM5NDFlMzhhMTc4NmM3NDA4NTI2YmQpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfOTc5ODU4NjA4NGUwNDVlMjhmYWU5MzAzNmEzYmE3OGYuYmluZFBvcHVwKHBvcHVwXzg5ZmE1NTg4Yzk2ZTRjNWE5NDhiYWNiZGIxOThhZmMxKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2YwMzZlZTdjZjc2MTRjOTY4YTZiZmFlNmZjY2E3N2VhID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuODIzNTkxOTg1ODU1MzQsLTczLjkwMTUwNjQ4OTQzMDU5XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzhiMDVhYTBiNDBjOTQzNjc5NzM4ZmE0MGMzODMzN2M2ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzYwOWEzZmZkZjhlNTQzY2RhZmJkMjFlMjlkNTVkZTc4ID0gJCgnPGRpdiBpZD0iaHRtbF82MDlhM2ZmZGY4ZTU0M2NkYWZiZDIxZTI5ZDU1ZGU3OCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+TW9ycmlzYW5pYTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfOGIwNWFhMGI0MGM5NDM2Nzk3MzhmYTQwYzM4MzM3YzYuc2V0Q29udGVudChodG1sXzYwOWEzZmZkZjhlNTQzY2RhZmJkMjFlMjlkNTVkZTc4KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2YwMzZlZTdjZjc2MTRjOTY4YTZiZmFlNmZjY2E3N2VhLmJpbmRQb3B1cChwb3B1cF84YjA1YWEwYjQwYzk0MzY3OTczOGZhNDBjMzgzMzdjNik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl80MDBkNTQ5Mzc0NzM0MmUxOTIyM2Y5ZDg5ZGY3YmQ1NiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjgyMTAxMjE5NzkxNDAxNSwtNzMuODY1NzQ2MDk1NTQ5MjRdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMzI4YmViOGEwN2ZmNDUzYWE1NzI2MmJlZGZjZDYxZjIgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYjUyYjliZTQ0NzQzNDZmMGE4YThhOTg3NDFjZjRjMzAgPSAkKCc8ZGl2IGlkPSJodG1sX2I1MmI5YmU0NDc0MzQ2ZjBhOGE4YTk4NzQxY2Y0YzMwIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Tb3VuZHZpZXc8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzMyOGJlYjhhMDdmZjQ1M2FhNTcyNjJiZWRmY2Q2MWYyLnNldENvbnRlbnQoaHRtbF9iNTJiOWJlNDQ3NDM0NmYwYThhOGE5ODc0MWNmNGMzMCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl80MDBkNTQ5Mzc0NzM0MmUxOTIyM2Y5ZDg5ZGY3YmQ1Ni5iaW5kUG9wdXAocG9wdXBfMzI4YmViOGEwN2ZmNDUzYWE1NzI2MmJlZGZjZDYxZjIpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYzNiYzY5M2IyZGJmNGE0YTk3ZDk0ODZmZjE5MjQxMzcgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC44MDY1NTExMjAwMzU4OSwtNzMuODU0MTQ0MTYxODkyNjZdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfYzQ5NTBmZDhiYTNmNDNjMGIxZTk0OTY1YmVlZDAxOTggPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZTA4ZmY0MDFkYjg2NGRjMDkzMmUyN2E5YTI0ZGZhMzEgPSAkKCc8ZGl2IGlkPSJodG1sX2UwOGZmNDAxZGI4NjRkYzA5MzJlMjdhOWEyNGRmYTMxIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5DbGFzb24gUG9pbnQ8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2M0OTUwZmQ4YmEzZjQzYzBiMWU5NDk2NWJlZWQwMTk4LnNldENvbnRlbnQoaHRtbF9lMDhmZjQwMWRiODY0ZGMwOTMyZTI3YTlhMjRkZmEzMSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9jM2JjNjkzYjJkYmY0YTRhOTdkOTQ4NmZmMTkyNDEzNy5iaW5kUG9wdXAocG9wdXBfYzQ5NTBmZDhiYTNmNDNjMGIxZTk0OTY1YmVlZDAxOTgpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNWYwNzBlNjZmZGI3NDJhM2JhYjU0ZjFjZjBiOGEyNDcgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC44MTUxMDkyNTgwNDAwNSwtNzMuODE2MzUwMDIxNTg0NDFdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNDg0MmUxY2RhZmRmNDkyMWI4MTMyM2QyYjUzODhmNjIgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYjEzZDg5YTMwNGNjNDg3MmE4YmE2ZGRhZTI3ODdjMDIgPSAkKCc8ZGl2IGlkPSJodG1sX2IxM2Q4OWEzMDRjYzQ4NzJhOGJhNmRkYWUyNzg3YzAyIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5UaHJvZ3MgTmVjazwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNDg0MmUxY2RhZmRmNDkyMWI4MTMyM2QyYjUzODhmNjIuc2V0Q29udGVudChodG1sX2IxM2Q4OWEzMDRjYzQ4NzJhOGJhNmRkYWUyNzg3YzAyKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzVmMDcwZTY2ZmRiNzQyYTNiYWI1NGYxY2YwYjhhMjQ3LmJpbmRQb3B1cChwb3B1cF80ODQyZTFjZGFmZGY0OTIxYjgxMzIzZDJiNTM4OGY2Mik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8wNDJlMGUyNGExYzY0OTk4YTBiNDg3N2ZlMjY4NTNkZiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjg0NDI0NTkzNjk0NzM3NCwtNzMuODI0MDk5MjY3NTM4NV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9jNDZhNzgwZDhjY2E0M2Y3ODdiOTNkMDM5MWEwNTMxZiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8xYjVjMDE4OGMyMWI0MTMzYjJmMzlmZGViOGQ0NmU4YiA9ICQoJzxkaXYgaWQ9Imh0bWxfMWI1YzAxODhjMjFiNDEzM2IyZjM5ZmRlYjhkNDZlOGIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkNvdW50cnkgQ2x1YjwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfYzQ2YTc4MGQ4Y2NhNDNmNzg3YjkzZDAzOTFhMDUzMWYuc2V0Q29udGVudChodG1sXzFiNWMwMTg4YzIxYjQxMzNiMmYzOWZkZWI4ZDQ2ZThiKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzA0MmUwZTI0YTFjNjQ5OThhMGI0ODc3ZmUyNjg1M2RmLmJpbmRQb3B1cChwb3B1cF9jNDZhNzgwZDhjY2E0M2Y3ODdiOTNkMDM5MWEwNTMxZik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl82YjEyMTQwNDdkNzM0ZWQwYTY3OGUzZjA2Mjk4ZmQ5NiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjgzNzkzNzgyMjI2NzI4NiwtNzMuODU2MDAzMTA1MzU3ODNdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZWQ5ZTY0NjA0ZmMwNDQ4NmEzZDhmZjg5MTkxMWViZjAgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMzc1ZjNiYmQxMTc4NGZkNGFiZjkwMmYzMTE3MTM3NjUgPSAkKCc8ZGl2IGlkPSJodG1sXzM3NWYzYmJkMTE3ODRmZDRhYmY5MDJmMzExNzEzNzY1IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5QYXJrY2hlc3RlcjwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZWQ5ZTY0NjA0ZmMwNDQ4NmEzZDhmZjg5MTkxMWViZjAuc2V0Q29udGVudChodG1sXzM3NWYzYmJkMTE3ODRmZDRhYmY5MDJmMzExNzEzNzY1KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzZiMTIxNDA0N2Q3MzRlZDBhNjc4ZTNmMDYyOThmZDk2LmJpbmRQb3B1cChwb3B1cF9lZDllNjQ2MDRmYzA0NDg2YTNkOGZmODkxOTExZWJmMCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl81YmY4NjU3NDliZDg0ZDYyYjU1ZDYwYjc0NDNhZjUzNyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjg0MDYxOTQ5NjQzMjcsLTczLjg0MjE5NDA3NjA0NDQ0XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzhjMTMxZjVmNTZkYTQ3ZTBhYjhlNzQ1OTAwOGZiMWRkID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzA4MDhjZjAxZjdlOTQ1YmQ4ZDE2NDBiODI1YTk0ZWViID0gJCgnPGRpdiBpZD0iaHRtbF8wODA4Y2YwMWY3ZTk0NWJkOGQxNjQwYjgyNWE5NGVlYiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+V2VzdGNoZXN0ZXIgU3F1YXJlPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF84YzEzMWY1ZjU2ZGE0N2UwYWI4ZTc0NTkwMDhmYjFkZC5zZXRDb250ZW50KGh0bWxfMDgwOGNmMDFmN2U5NDViZDhkMTY0MGI4MjVhOTRlZWIpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfNWJmODY1NzQ5YmQ4NGQ2MmI1NWQ2MGI3NDQzYWY1MzcuYmluZFBvcHVwKHBvcHVwXzhjMTMxZjVmNTZkYTQ3ZTBhYjhlNzQ1OTAwOGZiMWRkKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzE0YjRkN2EyY2FkNDRhMzhiODYxN2Y2MzNmZTI0NDlhID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuODQzNjA4NDcxMjQ3MTgsLTczLjg2NjI5OTE4MDc1NjFdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMWYyMTQ2Mjg0MTQxNGNhMzlkZmI2MDVhYTMwMmJiMDAgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfODJkOWNlNDhlMjNmNDYxY2JlZjUwOWM2ZWY2MGQ5NTQgPSAkKCc8ZGl2IGlkPSJodG1sXzgyZDljZTQ4ZTIzZjQ2MWNiZWY1MDljNmVmNjBkOTU0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5WYW4gTmVzdDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMWYyMTQ2Mjg0MTQxNGNhMzlkZmI2MDVhYTMwMmJiMDAuc2V0Q29udGVudChodG1sXzgyZDljZTQ4ZTIzZjQ2MWNiZWY1MDljNmVmNjBkOTU0KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzE0YjRkN2EyY2FkNDRhMzhiODYxN2Y2MzNmZTI0NDlhLmJpbmRQb3B1cChwb3B1cF8xZjIxNDYyODQxNDE0Y2EzOWRmYjYwNWFhMzAyYmIwMCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl85YjFmNTA4ODNlNjY0ZGM5YWY1NTJkYmE3NTkwY2MwYyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjg0NzU0OTA2MzUzNjMzNCwtNzMuODUwNDAxNzgwMzA0MjFdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfOGFkMGQ3NGUwNGY0NDhmY2FlYjk2YWE1YjM4NDE2MTUgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNDllZmExYzM1MmEzNDhiZjllMzQyNmQzYzQ5ZmY3MDQgPSAkKCc8ZGl2IGlkPSJodG1sXzQ5ZWZhMWMzNTJhMzQ4YmY5ZTM0MjZkM2M0OWZmNzA0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Nb3JyaXMgUGFyazwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfOGFkMGQ3NGUwNGY0NDhmY2FlYjk2YWE1YjM4NDE2MTUuc2V0Q29udGVudChodG1sXzQ5ZWZhMWMzNTJhMzQ4YmY5ZTM0MjZkM2M0OWZmNzA0KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzliMWY1MDg4M2U2NjRkYzlhZjU1MmRiYTc1OTBjYzBjLmJpbmRQb3B1cChwb3B1cF84YWQwZDc0ZTA0ZjQ0OGZjYWViOTZhYTViMzg0MTYxNSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl80MTJjNzVmMzU5YWE0OWJhYWZmMjdjNTk0NWY0Zjk2YyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjg1NzI3NzEwMDczODk1LC03My44ODg0NTE5NjEzNDgwNF0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF85YjNkOGE5NjRlMzE0YzVmOGQwOTY0ZWM4Y2I3NTIwYiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF81YmJlN2MzMGNjN2E0MjY2OTA2ZGRhZTlhNTc3MTIwNCA9ICQoJzxkaXYgaWQ9Imh0bWxfNWJiZTdjMzBjYzdhNDI2NjkwNmRkYWU5YTU3NzEyMDQiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkJlbG1vbnQ8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzliM2Q4YTk2NGUzMTRjNWY4ZDA5NjRlYzhjYjc1MjBiLnNldENvbnRlbnQoaHRtbF81YmJlN2MzMGNjN2E0MjY2OTA2ZGRhZTlhNTc3MTIwNCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl80MTJjNzVmMzU5YWE0OWJhYWZmMjdjNTk0NWY0Zjk2Yy5iaW5kUG9wdXAocG9wdXBfOWIzZDhhOTY0ZTMxNGM1ZjhkMDk2NGVjOGNiNzUyMGIpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMGFmNDE5MGQyMzM2NDM3ZWE4Y2UyNzcyNmFhMGE2OWMgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC44ODEzOTQ5NzcyNzA4NiwtNzMuOTE3MTkwNDgyMTAzOTNdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMzQwZDY5Y2I1MGQ5NDJkOWFkMjhiNDNjMGI0N2Y5MzYgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMWZmYzljZmJkNzdhNGY0ZjhkMzgxNTVjYmY5NjZmYzIgPSAkKCc8ZGl2IGlkPSJodG1sXzFmZmM5Y2ZiZDc3YTRmNGY4ZDM4MTU1Y2JmOTY2ZmMyIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5TcHV5dGVuIER1eXZpbDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMzQwZDY5Y2I1MGQ5NDJkOWFkMjhiNDNjMGI0N2Y5MzYuc2V0Q29udGVudChodG1sXzFmZmM5Y2ZiZDc3YTRmNGY4ZDM4MTU1Y2JmOTY2ZmMyKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzBhZjQxOTBkMjMzNjQzN2VhOGNlMjc3MjZhYTBhNjljLmJpbmRQb3B1cChwb3B1cF8zNDBkNjljYjUwZDk0MmQ5YWQyOGI0M2MwYjQ3ZjkzNik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8wOTg0NGQ3OWI3MmM0N2M3YTQzNGQ5OTUyM2Q2MDZjNyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjkwODU0MjgyOTUwNjY2LC03My45MDQ1MzA1NDkwODkyN10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9mMjNhOTY1NzVkMTg0ZTJlYmQ1NTU2ZDQ5ZDJiMmIwYSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9lZGFhYTFiMjM1YTk0NThiYTZmNjg3NDdhOWE4ZWIyNyA9ICQoJzxkaXYgaWQ9Imh0bWxfZWRhYWExYjIzNWE5NDU4YmE2ZjY4NzQ3YTlhOGViMjciIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPk5vcnRoIFJpdmVyZGFsZTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZjIzYTk2NTc1ZDE4NGUyZWJkNTU1NmQ0OWQyYjJiMGEuc2V0Q29udGVudChodG1sX2VkYWFhMWIyMzVhOTQ1OGJhNmY2ODc0N2E5YThlYjI3KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzA5ODQ0ZDc5YjcyYzQ3YzdhNDM0ZDk5NTIzZDYwNmM3LmJpbmRQb3B1cChwb3B1cF9mMjNhOTY1NzVkMTg0ZTJlYmQ1NTU2ZDQ5ZDJiMmIwYSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl81ZTgxZmE4ZTQyNTk0ZWZkODYzYjIzODRmODFlNmRmMiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjg1MDY0MTQwOTQwMzM1LC03My44MzIwNzM3ODI0MDQ3XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzlkNjZkNDE5MjVkYzQ3NDdiMTYzMzk0M2YyMGE0ZjRhID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2I4OTc0MTQxYjIxNzRkNzc5NDc3MGI1ZTZhZGQ5NGEwID0gJCgnPGRpdiBpZD0iaHRtbF9iODk3NDE0MWIyMTc0ZDc3OTQ3NzBiNWU2YWRkOTRhMCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+UGVsaGFtIEJheTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfOWQ2NmQ0MTkyNWRjNDc0N2IxNjMzOTQzZjIwYTRmNGEuc2V0Q29udGVudChodG1sX2I4OTc0MTQxYjIxNzRkNzc5NDc3MGI1ZTZhZGQ5NGEwKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzVlODFmYThlNDI1OTRlZmQ4NjNiMjM4NGY4MWU2ZGYyLmJpbmRQb3B1cChwb3B1cF85ZDY2ZDQxOTI1ZGM0NzQ3YjE2MzM5NDNmMjBhNGY0YSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9jNmFlNzA3ODU0NjY0YzZhODBiNWU0N2IwOTE3NWEzMiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjgyNjU3OTUxNjg2OTIyLC03My44MjYyMDI3NTk5NDA3M10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF85YWFjNzM2MGYyMDU0YjI2OWQ3NTE5OGQyZjA2YjQ0ZiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF83NGJmNWQzM2UxYjM0YTg5YTViYTY4Mjc4MTU0MGQ1YSA9ICQoJzxkaXYgaWQ9Imh0bWxfNzRiZjVkMzNlMWIzNGE4OWE1YmE2ODI3ODE1NDBkNWEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlNjaHV5bGVydmlsbGU8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzlhYWM3MzYwZjIwNTRiMjY5ZDc1MTk4ZDJmMDZiNDRmLnNldENvbnRlbnQoaHRtbF83NGJmNWQzM2UxYjM0YTg5YTViYTY4Mjc4MTU0MGQ1YSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9jNmFlNzA3ODU0NjY0YzZhODBiNWU0N2IwOTE3NWEzMi5iaW5kUG9wdXAocG9wdXBfOWFhYzczNjBmMjA1NGIyNjlkNzUxOThkMmYwNmI0NGYpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNjk4ZTAxMGNjZWUwNGQzNTgwM2IyNTE2MjQ3NjZhNjMgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC44MjE5ODYxMTgxNjM0OTQsLTczLjgxMzg4NTE0NDI4NjE5XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzFjOTk0MDA2NmQ5MDQ0MGRhYjU4ZjgyOWI2OGE4MzdhID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzE0ZmFlZmYzYWM4MjRjNTg5Y2EzMGZhNjAyOWI1OTcyID0gJCgnPGRpdiBpZD0iaHRtbF8xNGZhZWZmM2FjODI0YzU4OWNhMzBmYTYwMjliNTk3MiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+RWRnZXdhdGVyIFBhcms8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzFjOTk0MDA2NmQ5MDQ0MGRhYjU4ZjgyOWI2OGE4MzdhLnNldENvbnRlbnQoaHRtbF8xNGZhZWZmM2FjODI0YzU4OWNhMzBmYTYwMjliNTk3Mik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl82OThlMDEwY2NlZTA0ZDM1ODAzYjI1MTYyNDc2NmE2My5iaW5kUG9wdXAocG9wdXBfMWM5OTQwMDY2ZDkwNDQwZGFiNThmODI5YjY4YTgzN2EpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZDRjMjg0ZGNkODUwNGE0MWE1MDgzNWM5OGFlNzdkMTcgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC44MTkwMTQzNzY5ODgzMTQsLTczLjg0ODAyNzI5NTgyNzM1XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzAyZTM0MGI4ZDVmMjQ5NjRiMTVjOTgyODcyMzlkNDYwID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzA1NTM2ZGNjYTc2ZTQyZTFhZGUxMDMxMjY5ZTZiMDAzID0gJCgnPGRpdiBpZD0iaHRtbF8wNTUzNmRjY2E3NmU0MmUxYWRlMTAzMTI2OWU2YjAwMyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Q2FzdGxlIEhpbGw8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzAyZTM0MGI4ZDVmMjQ5NjRiMTVjOTgyODcyMzlkNDYwLnNldENvbnRlbnQoaHRtbF8wNTUzNmRjY2E3NmU0MmUxYWRlMTAzMTI2OWU2YjAwMyk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9kNGMyODRkY2Q4NTA0YTQxYTUwODM1Yzk4YWU3N2QxNy5iaW5kUG9wdXAocG9wdXBfMDJlMzQwYjhkNWYyNDk2NGIxNWM5ODI4NzIzOWQ0NjApOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNzc1ODI4NjJlNWQ5NGNkYjhiNmQwZTJkNTg0Njk3ZDggPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC44NzEzNzA3ODE5MjM3MSwtNzMuODYzMzIzNjE2NTI3NzddLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMDM3NWJlY2MxZDJiNDgzN2EyODQzNjIzMTY3NGNmOTYgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNTAxZjA4ZWU1NGJhNDczNGEyZjNjZTVhMjdhZjNiZjYgPSAkKCc8ZGl2IGlkPSJodG1sXzUwMWYwOGVlNTRiYTQ3MzRhMmYzY2U1YTI3YWYzYmY2IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5PbGludmlsbGU8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzAzNzViZWNjMWQyYjQ4MzdhMjg0MzYyMzE2NzRjZjk2LnNldENvbnRlbnQoaHRtbF81MDFmMDhlZTU0YmE0NzM0YTJmM2NlNWEyN2FmM2JmNik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl83NzU4Mjg2MmU1ZDk0Y2RiOGI2ZDBlMmQ1ODQ2OTdkOC5iaW5kUG9wdXAocG9wdXBfMDM3NWJlY2MxZDJiNDgzN2EyODQzNjIzMTY3NGNmOTYpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYWY3Mzk3ZDQ2NjMxNDZkZmE5M2I0MWVjMGFiMDNiMzAgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC44NjI5NjU2MjQ3Nzk5OCwtNzMuODQxNjExOTQ4MzEyMjNdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfOGNhNzY5MmI1MmU1NDVkMWFiZGE1MmZlYjExOGE2OTMgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYWNlY2I0M2JlNTQwNDFjOWIzNmYxMWFhMjU1ZGRiOTggPSAkKCc8ZGl2IGlkPSJodG1sX2FjZWNiNDNiZTU0MDQxYzliMzZmMTFhYTI1NWRkYjk4IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5QZWxoYW0gR2FyZGVuczwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfOGNhNzY5MmI1MmU1NDVkMWFiZGE1MmZlYjExOGE2OTMuc2V0Q29udGVudChodG1sX2FjZWNiNDNiZTU0MDQxYzliMzZmMTFhYTI1NWRkYjk4KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2FmNzM5N2Q0NjYzMTQ2ZGZhOTNiNDFlYzBhYjAzYjMwLmJpbmRQb3B1cChwb3B1cF84Y2E3NjkyYjUyZTU0NWQxYWJkYTUyZmViMTE4YTY5Myk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl83NTgwOWQ0YTNlNmQ0MDUxYTE4MmQzOTY0YzgyNDI1ZSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjgzNDI4MzgwNzMzODUxLC03My45MTU1ODk0MTc3MzQ0NF0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9iMWM3NTk2NmU2OWU0MjE1YjdkZjJkZmM1MjljZGY0ZCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8yYmJmOTg3NzVmOWQ0ZWRmODIzMWU1OGIzY2JlNDllNiA9ICQoJzxkaXYgaWQ9Imh0bWxfMmJiZjk4Nzc1ZjlkNGVkZjgyMzFlNThiM2NiZTQ5ZTYiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkNvbmNvdXJzZTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfYjFjNzU5NjZlNjllNDIxNWI3ZGYyZGZjNTI5Y2RmNGQuc2V0Q29udGVudChodG1sXzJiYmY5ODc3NWY5ZDRlZGY4MjMxZTU4YjNjYmU0OWU2KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzc1ODA5ZDRhM2U2ZDQwNTFhMTgyZDM5NjRjODI0MjVlLmJpbmRQb3B1cChwb3B1cF9iMWM3NTk2NmU2OWU0MjE1YjdkZjJkZmM1MjljZGY0ZCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl85ZTVjOWY1OWE2M2U0MzM5YWQ0ZWIwMTM3NDMzMTFkMyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjgyOTc3NDI5Nzg3MTYxLC03My44NTA1MzUyNDQ1MTkzNV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF81YWE4MjUzNzZjYzE0OGRhODJkOGUzZjNiOGVkYzY0ZCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8wODM3NzMyMzdjZjI0ZWFiYTE1MjVmOTMyYmQzMjAzYiA9ICQoJzxkaXYgaWQ9Imh0bWxfMDgzNzczMjM3Y2YyNGVhYmExNTI1ZjkzMmJkMzIwM2IiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlVuaW9ucG9ydDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNWFhODI1Mzc2Y2MxNDhkYTgyZDhlM2YzYjhlZGM2NGQuc2V0Q29udGVudChodG1sXzA4Mzc3MzIzN2NmMjRlYWJhMTUyNWY5MzJiZDMyMDNiKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzllNWM5ZjU5YTYzZTQzMzlhZDRlYjAxMzc0MzMxMWQzLmJpbmRQb3B1cChwb3B1cF81YWE4MjUzNzZjYzE0OGRhODJkOGUzZjNiOGVkYzY0ZCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8xY2FlYTAwMTIzYTk0YzE0ODc3MTJiNzA0ZDQyM2E5YSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjg4NDU2MTMwMzAzNzMyLC03My44NDgwODI3MTg3NzE2OF0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9jZWVjMDE3YjFiNGU0OWE1YTAwN2I2ZGU3OGM2MGZmMyA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF80ZDc3OTVjZGQ1NGE0YThjOGEzODFjNDEwMWZkNWU5YyA9ICQoJzxkaXYgaWQ9Imh0bWxfNGQ3Nzk1Y2RkNTRhNGE4YzhhMzgxYzQxMDFmZDVlOWMiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkVkZW53YWxkPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9jZWVjMDE3YjFiNGU0OWE1YTAwN2I2ZGU3OGM2MGZmMy5zZXRDb250ZW50KGh0bWxfNGQ3Nzk1Y2RkNTRhNGE4YzhhMzgxYzQxMDFmZDVlOWMpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfMWNhZWEwMDEyM2E5NGMxNDg3NzEyYjcwNGQ0MjNhOWEuYmluZFBvcHVwKHBvcHVwX2NlZWMwMTdiMWI0ZTQ5YTVhMDA3YjZkZTc4YzYwZmYzKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzJiNTQ4YTZhZWExNDRkMzZhYTU3NGY1MTdmYTE3YTA3ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjI1ODAxMDY1MDEwNjU2LC03NC4wMzA2MjA2OTM1MzgxM10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9hMGZmYjcwYTdmYzc0M2JjOTA1ODc5MzZiZjc1YTc1NyA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8wNjk5NjVlMTRiYjY0ZTM5OTg1NjU1YjlkNTNjYTZhMiA9ICQoJzxkaXYgaWQ9Imh0bWxfMDY5OTY1ZTE0YmI2NGUzOTk4NTY1NWI5ZDUzY2E2YTIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkJheSBSaWRnZTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfYTBmZmI3MGE3ZmM3NDNiYzkwNTg3OTM2YmY3NWE3NTcuc2V0Q29udGVudChodG1sXzA2OTk2NWUxNGJiNjRlMzk5ODU2NTViOWQ1M2NhNmEyKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzJiNTQ4YTZhZWExNDRkMzZhYTU3NGY1MTdmYTE3YTA3LmJpbmRQb3B1cChwb3B1cF9hMGZmYjcwYTdmYzc0M2JjOTA1ODc5MzZiZjc1YTc1Nyk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9iYzc1MzBmZTg1ZDU0Y2QzODdkODRlMDlhNDNhYzYxOCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjYxMTAwODkwMjAyMDQ0LC03My45OTUxNzk5ODM4MDcyOV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9mNzBkOWVmMmEzMWQ0MjQ0OTdjOTA0NjViZGUzMzk0MSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9iZGQxZmQxNWQwODg0MmUwYjVkNWI5NjM5OWE3NzZjYiA9ICQoJzxkaXYgaWQ9Imh0bWxfYmRkMWZkMTVkMDg4NDJlMGI1ZDViOTYzOTlhNzc2Y2IiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkJlbnNvbmh1cnN0PC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9mNzBkOWVmMmEzMWQ0MjQ0OTdjOTA0NjViZGUzMzk0MS5zZXRDb250ZW50KGh0bWxfYmRkMWZkMTVkMDg4NDJlMGI1ZDViOTYzOTlhNzc2Y2IpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYmM3NTMwZmU4NWQ1NGNkMzg3ZDg0ZTA5YTQzYWM2MTguYmluZFBvcHVwKHBvcHVwX2Y3MGQ5ZWYyYTMxZDQyNDQ5N2M5MDQ2NWJkZTMzOTQxKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzJkY2QxMTcwOGUxMTRiMWE4NjQ0ZDc4ZTQ3ZDBhMGEzID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjQ1MTAyOTQ5MjU0MjksLTc0LjAxMDMxNjE4NTI3Nzg0XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzgzMWU5YTlhMjZhZjRlNGY5MzQ2ZWYzYzhiZTJhYzUwID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzk3NjViMzNhMzFmNzRjMzU5MjUyN2M2ZDQ4OGMyM2M2ID0gJCgnPGRpdiBpZD0iaHRtbF85NzY1YjMzYTMxZjc0YzM1OTI1MjdjNmQ0ODhjMjNjNiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+U3Vuc2V0IFBhcms8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzgzMWU5YTlhMjZhZjRlNGY5MzQ2ZWYzYzhiZTJhYzUwLnNldENvbnRlbnQoaHRtbF85NzY1YjMzYTMxZjc0YzM1OTI1MjdjNmQ0ODhjMjNjNik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8yZGNkMTE3MDhlMTE0YjFhODY0NGQ3OGU0N2QwYTBhMy5iaW5kUG9wdXAocG9wdXBfODMxZTlhOWEyNmFmNGU0ZjkzNDZlZjNjOGJlMmFjNTApOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMDI0MDMxODZkMWMzNDU3NzkxZTI3MTIzMGUyNjBhODEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43MzAyMDA5ODQ4NjQ3LC03My45NTQyNDA5MzEyNzM5M10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8xNzliZTRiZWI2OGE0NzQxOWQwY2U2NDVhMDVkNjQwNiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9iMmZlZGYzYjljMDQ0YzQ4YTJiZTdjNmRiMTgzNWQ5MyA9ICQoJzxkaXYgaWQ9Imh0bWxfYjJmZWRmM2I5YzA0NGM0OGEyYmU3YzZkYjE4MzVkOTMiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkdyZWVucG9pbnQ8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzE3OWJlNGJlYjY4YTQ3NDE5ZDBjZTY0NWEwNWQ2NDA2LnNldENvbnRlbnQoaHRtbF9iMmZlZGYzYjljMDQ0YzQ4YTJiZTdjNmRiMTgzNWQ5Myk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8wMjQwMzE4NmQxYzM0NTc3OTFlMjcxMjMwZTI2MGE4MS5iaW5kUG9wdXAocG9wdXBfMTc5YmU0YmViNjhhNDc0MTlkMGNlNjQ1YTA1ZDY0MDYpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNjY5NGFmMGViMDhmNDdkZjkxMWYyYjk5NDg2MDQ3MTAgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC41OTUyNjAwMTMwNjU5MywtNzMuOTczNDcwODc3MDg0NDVdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfYjUzNTk5YTk4ZjU3NDFjNTliOGNhN2Y3YjcxYzc5NTcgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMzEyOGVjYjFjMDRkNDA3N2E5N2ZmZDczMTllZTVkNmIgPSAkKCc8ZGl2IGlkPSJodG1sXzMxMjhlY2IxYzA0ZDQwNzdhOTdmZmQ3MzE5ZWU1ZDZiIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5HcmF2ZXNlbmQ8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2I1MzU5OWE5OGY1NzQxYzU5YjhjYTdmN2I3MWM3OTU3LnNldENvbnRlbnQoaHRtbF8zMTI4ZWNiMWMwNGQ0MDc3YTk3ZmZkNzMxOWVlNWQ2Yik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl82Njk0YWYwZWIwOGY0N2RmOTExZjJiOTk0ODYwNDcxMC5iaW5kUG9wdXAocG9wdXBfYjUzNTk5YTk4ZjU3NDFjNTliOGNhN2Y3YjcxYzc5NTcpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMTc4MmFkZDlhODE0NGM2YmFkN2RhOWEyYzZhM2E0YTMgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC41NzY4MjUwNjU2NjYwNCwtNzMuOTY1MDk0NDg3ODUzMzZdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZWRmOWQ1NzAxOWJkNDQxOGJjZDIxMjBlZDM5MmRmMTMgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYmU0YWFjNDk3MjA1NGFlYWIxM2NiZTk1M2Q5YmQ5ODcgPSAkKCc8ZGl2IGlkPSJodG1sX2JlNGFhYzQ5NzIwNTRhZWFiMTNjYmU5NTNkOWJkOTg3IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5CcmlnaHRvbiBCZWFjaDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZWRmOWQ1NzAxOWJkNDQxOGJjZDIxMjBlZDM5MmRmMTMuc2V0Q29udGVudChodG1sX2JlNGFhYzQ5NzIwNTRhZWFiMTNjYmU5NTNkOWJkOTg3KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzE3ODJhZGQ5YTgxNDRjNmJhZDdkYTlhMmM2YTNhNGEzLmJpbmRQb3B1cChwb3B1cF9lZGY5ZDU3MDE5YmQ0NDE4YmNkMjEyMGVkMzkyZGYxMyk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9jN2VkNWNhNjBkYmU0NWNlYWQxYmEzZWUxZWY2MjI2MyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjU4Njg5MDEyNjc4Mzg0LC03My45NDMxODY0MDQ4Mjk3OV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9mNTc3NWZjMmJiYzE0ZmU1YjBmZTRkYjJhMDk3MzQyYSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8yMjVhNDVlY2VlZWU0ZThhODRmMTRjYmMyYTUwNjJjZiA9ICQoJzxkaXYgaWQ9Imh0bWxfMjI1YTQ1ZWNlZWVlNGU4YTg0ZjE0Y2JjMmE1MDYyY2YiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlNoZWVwc2hlYWQgQmF5PC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9mNTc3NWZjMmJiYzE0ZmU1YjBmZTRkYjJhMDk3MzQyYS5zZXRDb250ZW50KGh0bWxfMjI1YTQ1ZWNlZWVlNGU4YTg0ZjE0Y2JjMmE1MDYyY2YpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYzdlZDVjYTYwZGJlNDVjZWFkMWJhM2VlMWVmNjIyNjMuYmluZFBvcHVwKHBvcHVwX2Y1Nzc1ZmMyYmJjMTRmZTViMGZlNGRiMmEwOTczNDJhKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzRmOTBjNzE2MTU1NTQ3MmM4MjI3Zjk0NDMxMThiNmRhID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjE0NDMyNTEzMzUwOTgsLTczLjk1NzQzODQwNTU5OTM5XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2NmM2U5ZDM3MjZjNTQwYWFhOTU5M2U4MzE3NDA1MTMxID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2FiYmU5NWQxMjg4NTQ1NWY4OGQzNGE0ZDRiYTkxY2U0ID0gJCgnPGRpdiBpZD0iaHRtbF9hYmJlOTVkMTI4ODU0NTVmODhkMzRhNGQ0YmE5MWNlNCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+TWFuaGF0dGFuIFRlcnJhY2U8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2NmM2U5ZDM3MjZjNTQwYWFhOTU5M2U4MzE3NDA1MTMxLnNldENvbnRlbnQoaHRtbF9hYmJlOTVkMTI4ODU0NTVmODhkMzRhNGQ0YmE5MWNlNCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl80ZjkwYzcxNjE1NTU0NzJjODIyN2Y5NDQzMTE4YjZkYS5iaW5kUG9wdXAocG9wdXBfY2YzZTlkMzcyNmM1NDBhYWE5NTkzZTgzMTc0MDUxMzEpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZmMwMGUwMjE2OTYyNDc0ODk1NTY0OTM4NzcyYzYwYjMgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42MzYzMjU4OTAyNjY3NywtNzMuOTU4NDAxMDY1MzM5MDNdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfYzI5N2EzZjAwN2FkNGNkNzgyZmZjOGI1N2NhY2UzMjYgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMWViZmM0OTE1ZWUxNDNjOWIxNjcyODg3MmJkY2Y5MzIgPSAkKCc8ZGl2IGlkPSJodG1sXzFlYmZjNDkxNWVlMTQzYzliMTY3Mjg4NzJiZGNmOTMyIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5GbGF0YnVzaDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfYzI5N2EzZjAwN2FkNGNkNzgyZmZjOGI1N2NhY2UzMjYuc2V0Q29udGVudChodG1sXzFlYmZjNDkxNWVlMTQzYzliMTY3Mjg4NzJiZGNmOTMyKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2ZjMDBlMDIxNjk2MjQ3NDg5NTU2NDkzODc3MmM2MGIzLmJpbmRQb3B1cChwb3B1cF9jMjk3YTNmMDA3YWQ0Y2Q3ODJmZmM4YjU3Y2FjZTMyNik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9jMDM0MmE0YTc5Mzg0ODQ2OTY3YzVkOTMwNTljYTNhZiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjY3MDgyOTE3Njk1Mjk0LC03My45NDMyOTExOTA3MzU4Ml0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF85YzljZTA0MGQ3OWI0YTllODM4ZWViNDk4ODlmNjQxYiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8yMzFjMDdkMGE5MGE0ZjI1OWU2OGFhZTg1ZDg2NGY3MSA9ICQoJzxkaXYgaWQ9Imh0bWxfMjMxYzA3ZDBhOTBhNGYyNTllNjhhYWU4NWQ4NjRmNzEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkNyb3duIEhlaWdodHM8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzljOWNlMDQwZDc5YjRhOWU4MzhlZWI0OTg4OWY2NDFiLnNldENvbnRlbnQoaHRtbF8yMzFjMDdkMGE5MGE0ZjI1OWU2OGFhZTg1ZDg2NGY3MSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9jMDM0MmE0YTc5Mzg0ODQ2OTY3YzVkOTMwNTljYTNhZi5iaW5kUG9wdXAocG9wdXBfOWM5Y2UwNDBkNzliNGE5ZTgzOGVlYjQ5ODg5ZjY0MWIpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNTlkNjVmNzBiOWE2NGU4MGJkMWRjODUyYzA3MjgzY2MgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42NDE3MTc3NjY2ODk2MSwtNzMuOTM2MTAyNTYxODU4MzZdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMjMzOThlYjg3YzgyNDMzNGJiZDkzNWVjYTAzNjRlNGMgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZGNmNTNhZjk3MGQxNDQxZWJlMTFlMzU1ZTE1MGQ0NDQgPSAkKCc8ZGl2IGlkPSJodG1sX2RjZjUzYWY5NzBkMTQ0MWViZTExZTM1NWUxNTBkNDQ0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5FYXN0IEZsYXRidXNoPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8yMzM5OGViODdjODI0MzM0YmJkOTM1ZWNhMDM2NGU0Yy5zZXRDb250ZW50KGh0bWxfZGNmNTNhZjk3MGQxNDQxZWJlMTFlMzU1ZTE1MGQ0NDQpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfNTlkNjVmNzBiOWE2NGU4MGJkMWRjODUyYzA3MjgzY2MuYmluZFBvcHVwKHBvcHVwXzIzMzk4ZWI4N2M4MjQzMzRiYmQ5MzVlY2EwMzY0ZTRjKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzY2M2I1MDFiZmQzZTQyOGNhZjVhZmVhNzJjMWUxZWEwID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjQyMzgxOTU4MDAzNTI2LC03My45ODA0MjExMDU1OTQ3NF0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF81MjY0ZTU4NTg5NTY0MTA4OWQxZGYwNWE1NjA5M2M5MSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF84ZjA2OTQyYjA2MzU0NDQ0YjRkZWFjMzc3Zjc1Y2JkZCA9ICQoJzxkaXYgaWQ9Imh0bWxfOGYwNjk0MmIwNjM1NDQ0NGI0ZGVhYzM3N2Y3NWNiZGQiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPktlbnNpbmd0b248L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzUyNjRlNTg1ODk1NjQxMDg5ZDFkZjA1YTU2MDkzYzkxLnNldENvbnRlbnQoaHRtbF84ZjA2OTQyYjA2MzU0NDQ0YjRkZWFjMzc3Zjc1Y2JkZCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl82NjNiNTAxYmZkM2U0MjhjYWY1YWZlYTcyYzFlMWVhMC5iaW5kUG9wdXAocG9wdXBfNTI2NGU1ODU4OTU2NDEwODlkMWRmMDVhNTYwOTNjOTEpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNjViOTNhYTU3MDJiNDM1MTliZjNjMmM0NDUyYTgwOTIgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42NTY5NDU4MzU3NTEwNCwtNzMuOTgwMDczNDA0MzAxNzJdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfYWQ4NzExNDE0NDVkNDlkNjgxNGE3YTE2OGI2Yzg5Y2YgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYzAxNjU0YjViZmFlNDU0NTkzYTM4NTBhZTk5YTM4MGMgPSAkKCc8ZGl2IGlkPSJodG1sX2MwMTY1NGI1YmZhZTQ1NDU5M2EzODUwYWU5OWEzODBjIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5XaW5kc29yIFRlcnJhY2U8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2FkODcxMTQxNDQ1ZDQ5ZDY4MTRhN2ExNjhiNmM4OWNmLnNldENvbnRlbnQoaHRtbF9jMDE2NTRiNWJmYWU0NTQ1OTNhMzg1MGFlOTlhMzgwYyk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl82NWI5M2FhNTcwMmI0MzUxOWJmM2MyYzQ0NTJhODA5Mi5iaW5kUG9wdXAocG9wdXBfYWQ4NzExNDE0NDVkNDlkNjgxNGE3YTE2OGI2Yzg5Y2YpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNGY0MTM3ZjdkYzgzNGE4OWEyMTQ0NjU3ODVmNmU0NjUgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42NzY4MjIyNjIyNTQ3MjQsLTczLjk2NDg1OTI0MjYyNjldLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNmVlZDBiYmRhNjUxNDg4Y2EwMTI5NzY3NjdkMDE5YTcgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMGI1NjU1MzYwMGQyNDBjYWE2NWI0MjUwNjJhZGE3NDggPSAkKCc8ZGl2IGlkPSJodG1sXzBiNTY1NTM2MDBkMjQwY2FhNjViNDI1MDYyYWRhNzQ4IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Qcm9zcGVjdCBIZWlnaHRzPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF82ZWVkMGJiZGE2NTE0ODhjYTAxMjk3Njc2N2QwMTlhNy5zZXRDb250ZW50KGh0bWxfMGI1NjU1MzYwMGQyNDBjYWE2NWI0MjUwNjJhZGE3NDgpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfNGY0MTM3ZjdkYzgzNGE4OWEyMTQ0NjU3ODVmNmU0NjUuYmluZFBvcHVwKHBvcHVwXzZlZWQwYmJkYTY1MTQ4OGNhMDEyOTc2NzY3ZDAxOWE3KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzAyOTFmMzc1ZjBiMzRiYzFiNDNiMDZmNDg5Zjg4N2VhID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjYzOTQ5OTQzMzk3NTUsLTczLjkxMDIzNTM2MTc2NjA3XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2QwODUzZmE0MDU0ZTQ2ZDlhNGU1MWI4YjNjZmJhYjU1ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2M4Mzc3ODcwMGY1NzQzZWU5MmJmYTA5OTc4ZjQ1YTM2ID0gJCgnPGRpdiBpZD0iaHRtbF9jODM3Nzg3MDBmNTc0M2VlOTJiZmEwOTk3OGY0NWEzNiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+QnJvd25zdmlsbGU8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2QwODUzZmE0MDU0ZTQ2ZDlhNGU1MWI4YjNjZmJhYjU1LnNldENvbnRlbnQoaHRtbF9jODM3Nzg3MDBmNTc0M2VlOTJiZmEwOTk3OGY0NWEzNik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8wMjkxZjM3NWYwYjM0YmMxYjQzYjA2ZjQ4OWY4ODdlYS5iaW5kUG9wdXAocG9wdXBfZDA4NTNmYTQwNTRlNDZkOWE0ZTUxYjhiM2NmYmFiNTUpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMDNkZDAxNDkyZjBhNDVkZjlmNjFjODNmOTM2YzViNjEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43MDcxNDQzOTM0NDI1MSwtNzMuOTU4MTE1MjkyMjA5MjddLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZmVkZTgzZjU4ZTM5NDg1YjgxMDFhYmIyZDUzZjk4N2EgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYTVkNjUwNDYxNjg3NGM2NmFkNGQyOGQ5YmMwNDJkNzEgPSAkKCc8ZGl2IGlkPSJodG1sX2E1ZDY1MDQ2MTY4NzRjNjZhZDRkMjhkOWJjMDQyZDcxIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5XaWxsaWFtc2J1cmc8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2ZlZGU4M2Y1OGUzOTQ4NWI4MTAxYWJiMmQ1M2Y5ODdhLnNldENvbnRlbnQoaHRtbF9hNWQ2NTA0NjE2ODc0YzY2YWQ0ZDI4ZDliYzA0MmQ3MSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8wM2RkMDE0OTJmMGE0NWRmOWY2MWM4M2Y5MzZjNWI2MS5iaW5kUG9wdXAocG9wdXBfZmVkZTgzZjU4ZTM5NDg1YjgxMDFhYmIyZDUzZjk4N2EpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMjEyNzE3ZjMzNzA0NGYyOWE3ZTRhNzU5MWU4ZDAyYzIgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42OTgxMTYxMTAxNzkwMSwtNzMuOTI1MjU3OTc0ODcwNDVdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZmFjZGQwNzhkZWU4NGY1NWExZGNlMWFlNTFhZTY5MDIgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNzA1ZDQwNzk4MzcyNDZkZmI5YWZkNjg5OWY4MTEwMWQgPSAkKCc8ZGl2IGlkPSJodG1sXzcwNWQ0MDc5ODM3MjQ2ZGZiOWFmZDY4OTlmODExMDFkIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5CdXNod2ljazwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZmFjZGQwNzhkZWU4NGY1NWExZGNlMWFlNTFhZTY5MDIuc2V0Q29udGVudChodG1sXzcwNWQ0MDc5ODM3MjQ2ZGZiOWFmZDY4OTlmODExMDFkKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzIxMjcxN2YzMzcwNDRmMjlhN2U0YTc1OTFlOGQwMmMyLmJpbmRQb3B1cChwb3B1cF9mYWNkZDA3OGRlZTg0ZjU1YTFkY2UxYWU1MWFlNjkwMik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl85ZTc4NzI5OGRlNWU0YmIwYmM4MzA2NzY2ZGUwZjZhNCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjY4NzIzMTYwNzcyMDQ1NiwtNzMuOTQxNzg0ODg2OTAyOTddLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNTliNDAyNWNmM2I4NDdhNzljMzVlMDY0ZTBkNTAzMjIgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNGE5MzEwNTFhYzE5NDRmNGI3OGEwNDY5MWQwNjFhMWEgPSAkKCc8ZGl2IGlkPSJodG1sXzRhOTMxMDUxYWMxOTQ0ZjRiNzhhMDQ2OTFkMDYxYTFhIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5CZWRmb3JkIFN0dXl2ZXNhbnQ8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzU5YjQwMjVjZjNiODQ3YTc5YzM1ZTA2NGUwZDUwMzIyLnNldENvbnRlbnQoaHRtbF80YTkzMTA1MWFjMTk0NGY0Yjc4YTA0NjkxZDA2MWExYSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl85ZTc4NzI5OGRlNWU0YmIwYmM4MzA2NzY2ZGUwZjZhNC5iaW5kUG9wdXAocG9wdXBfNTliNDAyNWNmM2I4NDdhNzljMzVlMDY0ZTBkNTAzMjIpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNGY0YWY5NjQ3NDBkNDBjYTg4ZGNmODIxZjBhMThjNzYgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42OTU4NjM3MjI3MjQwODQsLTczLjk5Mzc4MjI1NDk2NDI0XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2Y3NzZiY2YzMDU2MjQwNTJhYzc0OTczYzYwOTQ5YWFhID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzFhZWI2YWQyOTAxYTRkNzZhODZlNWE5NzQzZmIyYTg4ID0gJCgnPGRpdiBpZD0iaHRtbF8xYWViNmFkMjkwMWE0ZDc2YTg2ZTVhOTc0M2ZiMmE4OCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+QnJvb2tseW4gSGVpZ2h0czwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZjc3NmJjZjMwNTYyNDA1MmFjNzQ5NzNjNjA5NDlhYWEuc2V0Q29udGVudChodG1sXzFhZWI2YWQyOTAxYTRkNzZhODZlNWE5NzQzZmIyYTg4KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzRmNGFmOTY0NzQwZDQwY2E4OGRjZjgyMWYwYTE4Yzc2LmJpbmRQb3B1cChwb3B1cF9mNzc2YmNmMzA1NjI0MDUyYWM3NDk3M2M2MDk0OWFhYSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9hMWE0NTA3MTQ4MGI0MmQ5OTE1ZjA0YzhiMmM3OGQ0ZSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjY4NzkxOTcyMjQ4NTU3NCwtNzMuOTk4NTYxMzkyMTg0NjNdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZTU2MGU3YTgwMGEyNDQ4ZWEyY2FhNzZhNmU1MWVkODIgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNzcxMDlkYTg4ZTYzNDc5YmIyMWJiOTMwY2NhMmJkOTUgPSAkKCc8ZGl2IGlkPSJodG1sXzc3MTA5ZGE4OGU2MzQ3OWJiMjFiYjkzMGNjYTJiZDk1IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Db2JibGUgSGlsbDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZTU2MGU3YTgwMGEyNDQ4ZWEyY2FhNzZhNmU1MWVkODIuc2V0Q29udGVudChodG1sXzc3MTA5ZGE4OGU2MzQ3OWJiMjFiYjkzMGNjYTJiZDk1KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2ExYTQ1MDcxNDgwYjQyZDk5MTVmMDRjOGIyYzc4ZDRlLmJpbmRQb3B1cChwb3B1cF9lNTYwZTdhODAwYTI0NDhlYTJjYWE3NmE2ZTUxZWQ4Mik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8xYjVhOTI2Nzg3ZjA0MzdlOTVmODQ5NTlkZmRiY2I5NyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjY4MDU0MDIzMTA3NjQ4NSwtNzMuOTk0NjUzNzI4MjgwMDZdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfYTM1MzI3OGY2NWI2NDEyNmFhNTY2ZjJiYzNjMGQzZjEgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMjk3YWNkYjBiM2UyNDM5NWJlMWQ5ZTliMzliYWZjZGMgPSAkKCc8ZGl2IGlkPSJodG1sXzI5N2FjZGIwYjNlMjQzOTViZTFkOWU5YjM5YmFmY2RjIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5DYXJyb2xsIEdhcmRlbnM8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2EzNTMyNzhmNjViNjQxMjZhYTU2NmYyYmMzYzBkM2YxLnNldENvbnRlbnQoaHRtbF8yOTdhY2RiMGIzZTI0Mzk1YmUxZDllOWIzOWJhZmNkYyk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8xYjVhOTI2Nzg3ZjA0MzdlOTVmODQ5NTlkZmRiY2I5Ny5iaW5kUG9wdXAocG9wdXBfYTM1MzI3OGY2NWI2NDEyNmFhNTY2ZjJiYzNjMGQzZjEpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNDMxOTIyNjQ1ZjJmNGMwZjkzZTBmNjZkNWQ0NWYxZDMgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42NzYyNTMyMzAyNTA4ODYsLTc0LjAxMjc1ODk3NDczNTZdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfOTdhZDU1ZTRkMWIzNDBiM2IyNjljMjM0MzdkZDU3OTMgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNWQ3ZDIzNTA3YmRjNDE0N2E4MDIzZDUwZTI3MWE3YjYgPSAkKCc8ZGl2IGlkPSJodG1sXzVkN2QyMzUwN2JkYzQxNDdhODAyM2Q1MGUyNzFhN2I2IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5SZWQgSG9vazwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfOTdhZDU1ZTRkMWIzNDBiM2IyNjljMjM0MzdkZDU3OTMuc2V0Q29udGVudChodG1sXzVkN2QyMzUwN2JkYzQxNDdhODAyM2Q1MGUyNzFhN2I2KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzQzMTkyMjY0NWYyZjRjMGY5M2UwZjY2ZDVkNDVmMWQzLmJpbmRQb3B1cChwb3B1cF85N2FkNTVlNGQxYjM0MGIzYjI2OWMyMzQzN2RkNTc5Myk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9iNTkyODlkODk1ODA0ZTFhYTc2MDg0MGZiMDM3MDc3NiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjY3MzkzMTE0MzE4NzE1NCwtNzMuOTk0NDQwODcxNDUzMzldLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNTM0ZDE0NzJiNmEzNDJhOWE4NjA3OTJmMGVkOTJkMGQgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfODQxZTYyYjFmNTBhNGJiNDk4M2I2YjZhYjExMDQxMTEgPSAkKCc8ZGl2IGlkPSJodG1sXzg0MWU2MmIxZjUwYTRiYjQ5ODNiNmI2YWIxMTA0MTExIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Hb3dhbnVzPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF81MzRkMTQ3MmI2YTM0MmE5YTg2MDc5MmYwZWQ5MmQwZC5zZXRDb250ZW50KGh0bWxfODQxZTYyYjFmNTBhNGJiNDk4M2I2YjZhYjExMDQxMTEpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYjU5Mjg5ZDg5NTgwNGUxYWE3NjA4NDBmYjAzNzA3NzYuYmluZFBvcHVwKHBvcHVwXzUzNGQxNDcyYjZhMzQyYTlhODYwNzkyZjBlZDkyZDBkKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2ExMWUxYzBlZWQzNzQ1MDZhMDM2N2Q4M2Y3ZGZmZjEzID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjg4NTI3MjYwMTg5NzcsLTczLjk3MjkwNTc0MzY5MDkyXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2Q4NTliYmNlZDBlYzRhMzhiNWY3ODU1OTg3N2QwNTU2ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzEwOGZjOTE4NzM1NTRjYzk5YThhOWNlOGI2MWVmZjMxID0gJCgnPGRpdiBpZD0iaHRtbF8xMDhmYzkxODczNTU0Y2M5OWE4YTljZThiNjFlZmYzMSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Rm9ydCBHcmVlbmU8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2Q4NTliYmNlZDBlYzRhMzhiNWY3ODU1OTg3N2QwNTU2LnNldENvbnRlbnQoaHRtbF8xMDhmYzkxODczNTU0Y2M5OWE4YTljZThiNjFlZmYzMSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9hMTFlMWMwZWVkMzc0NTA2YTAzNjdkODNmN2RmZmYxMy5iaW5kUG9wdXAocG9wdXBfZDg1OWJiY2VkMGVjNGEzOGI1Zjc4NTU5ODc3ZDA1NTYpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNjEyN2NkZGFjZWUzNGE3N2EwMzFlYTI1M2FiMTM1ODUgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42NzIzMjA1MjI2ODE5NywtNzMuOTc3MDUwMzAxODM5MjRdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfOTFhMjBkYzg4NzVmNDg0N2EyNzRkYTJiOTZkOTMyNzEgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMzI1M2JiN2QzZjQxNDI5MWE2OGI4OWUwYWE2NzA4MjkgPSAkKCc8ZGl2IGlkPSJodG1sXzMyNTNiYjdkM2Y0MTQyOTFhNjhiODllMGFhNjcwODI5IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5QYXJrIFNsb3BlPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF85MWEyMGRjODg3NWY0ODQ3YTI3NGRhMmI5NmQ5MzI3MS5zZXRDb250ZW50KGh0bWxfMzI1M2JiN2QzZjQxNDI5MWE2OGI4OWUwYWE2NzA4MjkpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfNjEyN2NkZGFjZWUzNGE3N2EwMzFlYTI1M2FiMTM1ODUuYmluZFBvcHVwKHBvcHVwXzkxYTIwZGM4ODc1ZjQ4NDdhMjc0ZGEyYjk2ZDkzMjcxKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzkwZjA1ZmVhNzQxZTQ0N2FhOGYwZGI1M2IxODQ4NDdhID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjgyMzkxMDExNDQyMTEsLTczLjg3NjYxNTk2NDU3Mjk2XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzNhNGQ4MTY4MWQ3NDQzY2ViZDM0MmVmZjZmYTVmNTI4ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzc0NGI5NTBmMjY5YjQwYTU5MzdiZmFkY2Y5YzUxM2QwID0gJCgnPGRpdiBpZD0iaHRtbF83NDRiOTUwZjI2OWI0MGE1OTM3YmZhZGNmOWM1MTNkMCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Q3lwcmVzcyBIaWxsczwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfM2E0ZDgxNjgxZDc0NDNjZWJkMzQyZWZmNmZhNWY1Mjguc2V0Q29udGVudChodG1sXzc0NGI5NTBmMjY5YjQwYTU5MzdiZmFkY2Y5YzUxM2QwKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzkwZjA1ZmVhNzQxZTQ0N2FhOGYwZGI1M2IxODQ4NDdhLmJpbmRQb3B1cChwb3B1cF8zYTRkODE2ODFkNzQ0M2NlYmQzNDJlZmY2ZmE1ZjUyOCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8xMTQxM2Q4ZDg2MTg0MDEyYWI4M2UxOGUzNjkxMmM4MCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjY2OTkyNTcwMDg0NzA0NSwtNzMuODgwNjk4NjM5MTczNjZdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNWQ3ODllYTg3NDk5NDkxM2I3N2Q5ZWI5OWI5NDU2YmQgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfOGRlMjQyZjk0YWE5NDRmN2IxZjk4ZTdkZTk5ZWU0N2QgPSAkKCc8ZGl2IGlkPSJodG1sXzhkZTI0MmY5NGFhOTQ0ZjdiMWY5OGU3ZGU5OWVlNDdkIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5FYXN0IE5ldyBZb3JrPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF81ZDc4OWVhODc0OTk0OTEzYjc3ZDllYjk5Yjk0NTZiZC5zZXRDb250ZW50KGh0bWxfOGRlMjQyZjk0YWE5NDRmN2IxZjk4ZTdkZTk5ZWU0N2QpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfMTE0MTNkOGQ4NjE4NDAxMmFiODNlMThlMzY5MTJjODAuYmluZFBvcHVwKHBvcHVwXzVkNzg5ZWE4NzQ5OTQ5MTNiNzdkOWViOTliOTQ1NmJkKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzBkYjUyNjE3NTg3ZTQzNjQ5ODMwNGI3ZDUwM2M1ZDNmID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjQ3NTg5MDUyMzA4NzQsLTczLjg3OTM2OTcwMDQ1ODc1XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2VjMDMwNDUzMWJiODRiOTNhMmQ3MDQzZWY3NjcxMTRmID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2M2MjlhZGFkNTYzMDRhZDY5NzExYjc2Y2NiMDYxZGRlID0gJCgnPGRpdiBpZD0iaHRtbF9jNjI5YWRhZDU2MzA0YWQ2OTcxMWI3NmNjYjA2MWRkZSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+U3RhcnJldHQgQ2l0eTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZWMwMzA0NTMxYmI4NGI5M2EyZDcwNDNlZjc2NzExNGYuc2V0Q29udGVudChodG1sX2M2MjlhZGFkNTYzMDRhZDY5NzExYjc2Y2NiMDYxZGRlKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzBkYjUyNjE3NTg3ZTQzNjQ5ODMwNGI3ZDUwM2M1ZDNmLmJpbmRQb3B1cChwb3B1cF9lYzAzMDQ1MzFiYjg0YjkzYTJkNzA0M2VmNzY3MTE0Zik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9lMWI2MjMwMDRjYjI0NzU0ODE5YmI4NWY1NjRlZjQ5NSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjYzNTU2NDMyNzk3NDI4LC03My45MDIwOTI2OTc3ODk2Nl0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9kYzFhMzhmNzI3Njk0YmMxYTNkNDNkZDAyYmRiMGQyOSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9iNzA5NDU4MmNlNzI0NWYyYTUyNmYzMDgwNmRiZjRhYiA9ICQoJzxkaXYgaWQ9Imh0bWxfYjcwOTQ1ODJjZTcyNDVmMmE1MjZmMzA4MDZkYmY0YWIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkNhbmFyc2llPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9kYzFhMzhmNzI3Njk0YmMxYTNkNDNkZDAyYmRiMGQyOS5zZXRDb250ZW50KGh0bWxfYjcwOTQ1ODJjZTcyNDVmMmE1MjZmMzA4MDZkYmY0YWIpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfZTFiNjIzMDA0Y2IyNDc1NDgxOWJiODVmNTY0ZWY0OTUuYmluZFBvcHVwKHBvcHVwX2RjMWEzOGY3Mjc2OTRiYzFhM2Q0M2RkMDJiZGIwZDI5KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2MyMDE0YTAxYmFkMDQyMTBhZjY1N2Y2YjlhMzQyMTlhID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjMwNDQ2MDQzNzU3NDY2LC03My45MjkxMTMwMjY0NDY3NF0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8yNzI0N2ZkOTdjODg0N2QzOGYzY2JmYzBjNmI0N2E4NSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9jNDhlYWM0MzBiMjA0ODQ0YWZjYmM4MjU2MzY0NzY0NCA9ICQoJzxkaXYgaWQ9Imh0bWxfYzQ4ZWFjNDMwYjIwNDg0NGFmY2JjODI1NjM2NDc2NDQiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkZsYXRsYW5kczwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMjcyNDdmZDk3Yzg4NDdkMzhmM2NiZmMwYzZiNDdhODUuc2V0Q29udGVudChodG1sX2M0OGVhYzQzMGIyMDQ4NDRhZmNiYzgyNTYzNjQ3NjQ0KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2MyMDE0YTAxYmFkMDQyMTBhZjY1N2Y2YjlhMzQyMTlhLmJpbmRQb3B1cChwb3B1cF8yNzI0N2ZkOTdjODg0N2QzOGYzY2JmYzBjNmI0N2E4NSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl80MzAzMTkzMTE4YjI0Y2ExODUyNzg5MTg4M2JhYzUxMCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjYwNjMzNjQyMTY4NTYyNiwtNzMuOTA4MTg1NzE3Nzc0MjNdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNzc3M2M3Y2M2MGUxNDUzYWJmNjkzNDhjODhlMzdmZTIgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMjY3NWE4MWFkMDI5NDgwNjg2NjBlYmEyMGZlOGJmNjMgPSAkKCc8ZGl2IGlkPSJodG1sXzI2NzVhODFhZDAyOTQ4MDY4NjYwZWJhMjBmZThiZjYzIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5NaWxsIElzbGFuZDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNzc3M2M3Y2M2MGUxNDUzYWJmNjkzNDhjODhlMzdmZTIuc2V0Q29udGVudChodG1sXzI2NzVhODFhZDAyOTQ4MDY4NjYwZWJhMjBmZThiZjYzKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzQzMDMxOTMxMThiMjRjYTE4NTI3ODkxODgzYmFjNTEwLmJpbmRQb3B1cChwb3B1cF83NzczYzdjYzYwZTE0NTNhYmY2OTM0OGM4OGUzN2ZlMik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl83ODUwNGQyOGFlMDE0YjM1ODU2MDA1NzBmMGZiMGFkNyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjU3NzkxMzUwMzA4NjU3LC03My45NDM1MzcyMjg5MTg4Nl0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9lMWE4NGVlODlkYTI0N2QyYjllZGM5NzYwNDJhMWJjNyA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9iMGQwNDllNTNmMDg0YTdkOWI4ZjMyOWI3MDIzNDYxNCA9ICQoJzxkaXYgaWQ9Imh0bWxfYjBkMDQ5ZTUzZjA4NGE3ZDliOGYzMjliNzAyMzQ2MTQiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPk1hbmhhdHRhbiBCZWFjaDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZTFhODRlZTg5ZGEyNDdkMmI5ZWRjOTc2MDQyYTFiYzcuc2V0Q29udGVudChodG1sX2IwZDA0OWU1M2YwODRhN2Q5YjhmMzI5YjcwMjM0NjE0KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzc4NTA0ZDI4YWUwMTRiMzU4NTYwMDU3MGYwZmIwYWQ3LmJpbmRQb3B1cChwb3B1cF9lMWE4NGVlODlkYTI0N2QyYjllZGM5NzYwNDJhMWJjNyk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl81YzQ4YmMxNDQ5OTM0YjllOWU0NGMyOWUwM2M5Mzk4NyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjU3NDI5MjU2NDcxNjAxLC03My45ODg2ODI5NTgyMTYzN10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF81NjI2NWUzODVkMmU0ODc4OWU4NDU5NGE0ZGQzNDBlNiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9kNzQxYWJhNDYxYjE0ZTJlOWE5Y2Y2NTQ0YzNiNWJjMyA9ICQoJzxkaXYgaWQ9Imh0bWxfZDc0MWFiYTQ2MWIxNGUyZTlhOWNmNjU0NGMzYjViYzMiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkNvbmV5IElzbGFuZDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNTYyNjVlMzg1ZDJlNDg3ODllODQ1OTRhNGRkMzQwZTYuc2V0Q29udGVudChodG1sX2Q3NDFhYmE0NjFiMTRlMmU5YTljZjY1NDRjM2I1YmMzKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzVjNDhiYzE0NDk5MzRiOWU5ZTQ0YzI5ZTAzYzkzOTg3LmJpbmRQb3B1cChwb3B1cF81NjI2NWUzODVkMmU0ODc4OWU4NDU5NGE0ZGQzNDBlNik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl81NGY3NjgwMDIxMGQ0YWNkOTEyNjg0ZDZhNDY4Zjc2YyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjU5OTUxODcwMjgyMjM4LC03My45OTg3NTIyMTQ0MzUxOV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF80MmE3ZDYxZGU2YTA0ZGQ3ODIyNDBlY2E2NGM3NjVhMSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9hMDliMzMxZjU4YTI0YmI3YWRhMDMxYTkxYjc1NmRjMiA9ICQoJzxkaXYgaWQ9Imh0bWxfYTA5YjMzMWY1OGEyNGJiN2FkYTAzMWE5MWI3NTZkYzIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkJhdGggQmVhY2g8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzQyYTdkNjFkZTZhMDRkZDc4MjI0MGVjYTY0Yzc2NWExLnNldENvbnRlbnQoaHRtbF9hMDliMzMxZjU4YTI0YmI3YWRhMDMxYTkxYjc1NmRjMik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl81NGY3NjgwMDIxMGQ0YWNkOTEyNjg0ZDZhNDY4Zjc2Yy5iaW5kUG9wdXAocG9wdXBfNDJhN2Q2MWRlNmEwNGRkNzgyMjQwZWNhNjRjNzY1YTEpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNmQ0ZTAzYjFmZWNjNDVmZjk3OTQ1YzUyNDBmNjhjMTQgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42MzMxMzA1MTI3NTgwMTUsLTczLjk5MDQ5ODIzMDQ0ODExXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2E1ZWI2NGNhYmQyNzRkYWM4MTFjZmFkYjUyMmE2MmQ4ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzg3ZDA5ZGNmYTRiMDQ4YjhhY2YxMTYxMGEyZjAwYzUwID0gJCgnPGRpdiBpZD0iaHRtbF84N2QwOWRjZmE0YjA0OGI4YWNmMTE2MTBhMmYwMGM1MCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Qm9yb3VnaCBQYXJrPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9hNWViNjRjYWJkMjc0ZGFjODExY2ZhZGI1MjJhNjJkOC5zZXRDb250ZW50KGh0bWxfODdkMDlkY2ZhNGIwNDhiOGFjZjExNjEwYTJmMDBjNTApOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfNmQ0ZTAzYjFmZWNjNDVmZjk3OTQ1YzUyNDBmNjhjMTQuYmluZFBvcHVwKHBvcHVwX2E1ZWI2NGNhYmQyNzRkYWM4MTFjZmFkYjUyMmE2MmQ4KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzI2YTA2Y2M2MTAxMjQwYzg4YjdmNTYwODk4Mjg4M2YzID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjE5MjE5NDU3NzIyNjM2LC03NC4wMTkzMTM3NTYzNjAyMl0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF82NjQ3MWJhM2ZmMTM0NjNlYTM1ZGUyMTNhMjIyOGFkMSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9mMzNjYTRiNmVjN2E0N2IwOGRlNzBkYjIzOTY3OTQyNSA9ICQoJzxkaXYgaWQ9Imh0bWxfZjMzY2E0YjZlYzdhNDdiMDhkZTcwZGIyMzk2Nzk0MjUiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkR5a2VyIEhlaWdodHM8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzY2NDcxYmEzZmYxMzQ2M2VhMzVkZTIxM2EyMjI4YWQxLnNldENvbnRlbnQoaHRtbF9mMzNjYTRiNmVjN2E0N2IwOGRlNzBkYjIzOTY3OTQyNSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8yNmEwNmNjNjEwMTI0MGM4OGI3ZjU2MDg5ODI4ODNmMy5iaW5kUG9wdXAocG9wdXBfNjY0NzFiYTNmZjEzNDYzZWEzNWRlMjEzYTIyMjhhZDEpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYzllOTQyYjUwYTQ4NDVkYWFlNTZlN2I2OGVlMzYzNGYgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC41OTA4NDg0MzM5MDIwNDYsLTczLjkzMDEwMTcwNjkxMTk2XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2E4MDNkZWFmY2E4MjRmMjM5YmY1ZjU2ZWU4NDVhZTMyID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzc5MWNmYjBjMjhlODQ1NTFiM2Q1MzA1NjU1NjE4ZWNhID0gJCgnPGRpdiBpZD0iaHRtbF83OTFjZmIwYzI4ZTg0NTUxYjNkNTMwNTY1NTYxOGVjYSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+R2Vycml0c2VuIEJlYWNoPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9hODAzZGVhZmNhODI0ZjIzOWJmNWY1NmVlODQ1YWUzMi5zZXRDb250ZW50KGh0bWxfNzkxY2ZiMGMyOGU4NDU1MWIzZDUzMDU2NTU2MThlY2EpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYzllOTQyYjUwYTQ4NDVkYWFlNTZlN2I2OGVlMzYzNGYuYmluZFBvcHVwKHBvcHVwX2E4MDNkZWFmY2E4MjRmMjM5YmY1ZjU2ZWU4NDVhZTMyKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2I4NjEzZjJkMWY1MDQ3MDFhNjA2NzkwMzAwMzk2YjliID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjA5NzQ3Nzc5ODk0NjA0LC03My45MzEzNDQwNDEwODQ5N10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9hYjc5OWZlNWM1MDk0ZDRiYjkxNTU3YjY2ZGUwYjQwZCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF80ZDkyNWJhZDFlMTk0ODczYmJiZWQ0NGM4Y2JiMGJhZSA9ICQoJzxkaXYgaWQ9Imh0bWxfNGQ5MjViYWQxZTE5NDg3M2JiYmVkNDRjOGNiYjBiYWUiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPk1hcmluZSBQYXJrPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9hYjc5OWZlNWM1MDk0ZDRiYjkxNTU3YjY2ZGUwYjQwZC5zZXRDb250ZW50KGh0bWxfNGQ5MjViYWQxZTE5NDg3M2JiYmVkNDRjOGNiYjBiYWUpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYjg2MTNmMmQxZjUwNDcwMWE2MDY3OTAzMDAzOTZiOWIuYmluZFBvcHVwKHBvcHVwX2FiNzk5ZmU1YzUwOTRkNGJiOTE1NTdiNjZkZTBiNDBkKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzRiN2U4YjA0ZTg0NTRkZWY4ZjljODI1NDY5ZWQ5NGI1ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjkzMjI5NDIxODgxNTA0LC03My45Njc4NDMwNjIxNjM2N10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9mYTZmNDFhNzE5ZTk0ODEwOTViNjczZDljNWI1ZjU1YSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9kMDE4ZjdlNzVjNzU0NjljODkyZDE2YWM4ZThhNzYxZCA9ICQoJzxkaXYgaWQ9Imh0bWxfZDAxOGY3ZTc1Yzc1NDY5Yzg5MmQxNmFjOGU4YTc2MWQiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkNsaW50b24gSGlsbDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZmE2ZjQxYTcxOWU5NDgxMDk1YjY3M2Q5YzViNWY1NWEuc2V0Q29udGVudChodG1sX2QwMThmN2U3NWM3NTQ2OWM4OTJkMTZhYzhlOGE3NjFkKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzRiN2U4YjA0ZTg0NTRkZWY4ZjljODI1NDY5ZWQ5NGI1LmJpbmRQb3B1cChwb3B1cF9mYTZmNDFhNzE5ZTk0ODEwOTViNjczZDljNWI1ZjU1YSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl81NjliY2EzN2I4NTQ0ZjNhYTE0MjJhNzRmN2U4ZTc3MyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjU3NjM3NTM3ODkwMjI0LC03NC4wMDc4NzMxMTIwMDI0XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzEwMjY0MmU3YmRhMzRlNDU5NzY1YjJmMDY2OWExNDc3ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzE4NzNkM2YzNjI4MzQ0MTBiMDEwN2FmNjU2ODRiNTE5ID0gJCgnPGRpdiBpZD0iaHRtbF8xODczZDNmMzYyODM0NDEwYjAxMDdhZjY1Njg0YjUxOSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+U2VhIEdhdGU8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzEwMjY0MmU3YmRhMzRlNDU5NzY1YjJmMDY2OWExNDc3LnNldENvbnRlbnQoaHRtbF8xODczZDNmMzYyODM0NDEwYjAxMDdhZjY1Njg0YjUxOSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl81NjliY2EzN2I4NTQ0ZjNhYTE0MjJhNzRmN2U4ZTc3My5iaW5kUG9wdXAocG9wdXBfMTAyNjQyZTdiZGEzNGU0NTk3NjViMmYwNjY5YTE0NzcpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNDFlYWU0OGMwOTE2NGU5NGEyOWQzNjRmMGEyNWUxYTUgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42OTA4NDQwMjEwOTgwMiwtNzMuOTgzNDYzMzc0MzEwOTldLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMmVjODZkYTk5ZmNiNGViNDk5YmNiYTQzNDk1MmMzOGQgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYzM4YjY3MzA0NzE3NDZiZDljYmI1ZWYwMzViZGZjMjYgPSAkKCc8ZGl2IGlkPSJodG1sX2MzOGI2NzMwNDcxNzQ2YmQ5Y2JiNWVmMDM1YmRmYzI2IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Eb3dudG93bjwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMmVjODZkYTk5ZmNiNGViNDk5YmNiYTQzNDk1MmMzOGQuc2V0Q29udGVudChodG1sX2MzOGI2NzMwNDcxNzQ2YmQ5Y2JiNWVmMDM1YmRmYzI2KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzQxZWFlNDhjMDkxNjRlOTRhMjlkMzY0ZjBhMjVlMWE1LmJpbmRQb3B1cChwb3B1cF8yZWM4NmRhOTlmY2I0ZWI0OTliY2JhNDM0OTUyYzM4ZCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8wNDZiYzhjYjc3YzA0YTdmYTZkZjQ0YjAxMDdmNmQ2YiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjY4NTY4MjkxMjA5MTQ0NCwtNzMuOTgzNzQ4MjQxMTU3OThdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNGQ5NzI0ODJkYTkzNDRkNTkwM2Q2MWQ5ZjEzZDZkZjQgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZjdhOGY2ZThkNDA0NDQ5Yzg3NGMxMzc3NGM4YTRkNDIgPSAkKCc8ZGl2IGlkPSJodG1sX2Y3YThmNmU4ZDQwNDQ0OWM4NzRjMTM3NzRjOGE0ZDQyIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Cb2VydW0gSGlsbDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNGQ5NzI0ODJkYTkzNDRkNTkwM2Q2MWQ5ZjEzZDZkZjQuc2V0Q29udGVudChodG1sX2Y3YThmNmU4ZDQwNDQ0OWM4NzRjMTM3NzRjOGE0ZDQyKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzA0NmJjOGNiNzdjMDRhN2ZhNmRmNDRiMDEwN2Y2ZDZiLmJpbmRQb3B1cChwb3B1cF80ZDk3MjQ4MmRhOTM0NGQ1OTAzZDYxZDlmMTNkNmRmNCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8wZjExYWM3YmJmM2M0NDk1OTU1OTlmMjY1M2E1M2FmNyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjY1ODQyMDAxNzQ2OTgxNSwtNzMuOTU0ODk4NjcwNzc3MTNdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZTNlNmQ1NWY5NGZiNGE2Nzg1OTdkZjU4MmRkYzVkOTQgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNDQ1ZTMwMjU3ZDk0NDE4ZThlYzgyZDUzNDZlNmMzYTYgPSAkKCc8ZGl2IGlkPSJodG1sXzQ0NWUzMDI1N2Q5NDQxOGU4ZWM4MmQ1MzQ2ZTZjM2E2IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Qcm9zcGVjdCBMZWZmZXJ0cyBHYXJkZW5zPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9lM2U2ZDU1Zjk0ZmI0YTY3ODU5N2RmNTgyZGRjNWQ5NC5zZXRDb250ZW50KGh0bWxfNDQ1ZTMwMjU3ZDk0NDE4ZThlYzgyZDUzNDZlNmMzYTYpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfMGYxMWFjN2JiZjNjNDQ5NTk1NTk5ZjI2NTNhNTNhZjcuYmluZFBvcHVwKHBvcHVwX2UzZTZkNTVmOTRmYjRhNjc4NTk3ZGY1ODJkZGM1ZDk0KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2JjZWM5OWI1ZDAwNTRlMTFhMWUyMWQ3ZmJlMjc5MjU4ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjc4NDAyNTU0Nzk1MzU1LC03My45MTMwNjgzMTc4NzM5NV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF80OGRjN2M3NDQ5ZWQ0OThmYmMwYjA4YWU0MTdhNGVmZSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8yY2JhNDUyYTdhYzM0ODM4OTBiYWUxMTg3YjQ5MDJhNCA9ICQoJzxkaXYgaWQ9Imh0bWxfMmNiYTQ1MmE3YWMzNDgzODkwYmFlMTE4N2I0OTAyYTQiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPk9jZWFuIEhpbGw8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzQ4ZGM3Yzc0NDllZDQ5OGZiYzBiMDhhZTQxN2E0ZWZlLnNldENvbnRlbnQoaHRtbF8yY2JhNDUyYTdhYzM0ODM4OTBiYWUxMTg3YjQ5MDJhNCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9iY2VjOTliNWQwMDU0ZTExYTFlMjFkN2ZiZTI3OTI1OC5iaW5kUG9wdXAocG9wdXBfNDhkYzdjNzQ0OWVkNDk4ZmJjMGIwOGFlNDE3YTRlZmUpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMTVjNDRiNTYyZWJlNDJiMDk4MWYxZWZhNjk2NjgxMzcgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42Nzg1Njk5NTcyNzQ3OSwtNzMuODY3OTc1OTgwODEzMzRdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMDdkZWMyZjA1NmYzNGUzNTllYjc5NzMxYzViZWExMjIgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYWY1Y2YwYzdhMjM4NDQ5N2I5YWUwMjk1ZWIzMjBjNTUgPSAkKCc8ZGl2IGlkPSJodG1sX2FmNWNmMGM3YTIzODQ0OTdiOWFlMDI5NWViMzIwYzU1IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5DaXR5IExpbmU8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzA3ZGVjMmYwNTZmMzRlMzU5ZWI3OTczMWM1YmVhMTIyLnNldENvbnRlbnQoaHRtbF9hZjVjZjBjN2EyMzg0NDk3YjlhZTAyOTVlYjMyMGM1NSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8xNWM0NGI1NjJlYmU0MmIwOTgxZjFlZmE2OTY2ODEzNy5iaW5kUG9wdXAocG9wdXBfMDdkZWMyZjA1NmYzNGUzNTllYjc5NzMxYzViZWExMjIpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfOWE2MDQ5ZWY3NzQ3NDVjZTk0MzBlZjEwYzBkOWU0MzcgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42MTUxNDk1NTA0NTMwOCwtNzMuODk4NTU2MzM2MzAzMTddLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfOTU1Njk4NjNiYjdmNDcxMWFkYTc2Y2I2ZjA1Y2Q1MzkgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNTgxZTk2NTkzYmUwNGU3MGE2NTZhYmQwNmZlOWM5MWMgPSAkKCc8ZGl2IGlkPSJodG1sXzU4MWU5NjU5M2JlMDRlNzBhNjU2YWJkMDZmZTljOTFjIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5CZXJnZW4gQmVhY2g8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzk1NTY5ODYzYmI3ZjQ3MTFhZGE3NmNiNmYwNWNkNTM5LnNldENvbnRlbnQoaHRtbF81ODFlOTY1OTNiZTA0ZTcwYTY1NmFiZDA2ZmU5YzkxYyk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl85YTYwNDllZjc3NDc0NWNlOTQzMGVmMTBjMGQ5ZTQzNy5iaW5kUG9wdXAocG9wdXBfOTU1Njk4NjNiYjdmNDcxMWFkYTc2Y2I2ZjA1Y2Q1MzkpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYjNiYmYxZmJhYWJmNDU4ZmFlNTYzZTA3MTZhMmFlN2IgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42MjU1OTU4OTg2OTg0MywtNzMuOTU3NTk1MjM0ODk4MzhdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfN2YzYzU2MjAzMzdmNDg2Mjk1ZTRhZjJhNmM2Y2RhNTkgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMDE1Nzc3Mzg3ZGMxNDhhMjhlYWQxMmI4NzUxMjdjMDMgPSAkKCc8ZGl2IGlkPSJodG1sXzAxNTc3NzM4N2RjMTQ4YTI4ZWFkMTJiODc1MTI3YzAzIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5NaWR3b29kPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF83ZjNjNTYyMDMzN2Y0ODYyOTVlNGFmMmE2YzZjZGE1OS5zZXRDb250ZW50KGh0bWxfMDE1Nzc3Mzg3ZGMxNDhhMjhlYWQxMmI4NzUxMjdjMDMpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYjNiYmYxZmJhYWJmNDU4ZmFlNTYzZTA3MTZhMmFlN2IuYmluZFBvcHVwKHBvcHVwXzdmM2M1NjIwMzM3ZjQ4NjI5NWU0YWYyYTZjNmNkYTU5KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2ZjNzQ2YmQ4MTk4ZDQ4NzViZjg0M2RkYTc2N2I2MTdkID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjQ3MDA4NjAzMTg1MTg1LC03My45NjI2MTMxNjcxNjA0OF0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9jMTEwZDVjOGM0ODU0ZWQ4YTdkZmUxMDVlZjVhYzJiNSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF85ZjEzYWJjM2U2MjM0MzUxOTVmYjEwYjQ1MjJmZjNlYiA9ICQoJzxkaXYgaWQ9Imh0bWxfOWYxM2FiYzNlNjIzNDM1MTk1ZmIxMGI0NTIyZmYzZWIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlByb3NwZWN0IFBhcmsgU291dGg8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2MxMTBkNWM4YzQ4NTRlZDhhN2RmZTEwNWVmNWFjMmI1LnNldENvbnRlbnQoaHRtbF85ZjEzYWJjM2U2MjM0MzUxOTVmYjEwYjQ1MjJmZjNlYik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9mYzc0NmJkODE5OGQ0ODc1YmY4NDNkZGE3NjdiNjE3ZC5iaW5kUG9wdXAocG9wdXBfYzExMGQ1YzhjNDg1NGVkOGE3ZGZlMTA1ZWY1YWMyYjUpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYjU2ODdkNTE2Mjg1NDAzYmFlNmRlODk5OTgzMjUyZmMgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42MjM4NDUyNDQ3ODQxOSwtNzMuOTE2MDc0ODM5NTEzMjRdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZTY4NGI0ZTU2OTljNGFmNGJhZmRjMzNmMjU3NWYxMGMgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfY2NiMGNmZTY5NGUxNDEwZGE3NjM0ZjhiYTA2ZmFiMmIgPSAkKCc8ZGl2IGlkPSJodG1sX2NjYjBjZmU2OTRlMTQxMGRhNzYzNGY4YmEwNmZhYjJiIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5HZW9yZ2V0b3duPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9lNjg0YjRlNTY5OWM0YWY0YmFmZGMzM2YyNTc1ZjEwYy5zZXRDb250ZW50KGh0bWxfY2NiMGNmZTY5NGUxNDEwZGE3NjM0ZjhiYTA2ZmFiMmIpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYjU2ODdkNTE2Mjg1NDAzYmFlNmRlODk5OTgzMjUyZmMuYmluZFBvcHVwKHBvcHVwX2U2ODRiNGU1Njk5YzRhZjRiYWZkYzMzZjI1NzVmMTBjKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzBjMzE4ODlkOTcyMDQxYmVhYmU5YzI5YTYwMzg4MzMwID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzA4NDkyNDEwNDE1NDgsLTczLjkzODg1ODE1MjY5MTk1XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2Q1OThiMzE3YmE4YzQ4MDk4NmY0NzU3NDgyNWQ1YzM1ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzIwMWM1YTE0YjQxZjQxZmM5ZGJjYzQxZjEwZDU0M2RmID0gJCgnPGRpdiBpZD0iaHRtbF8yMDFjNWExNGI0MWY0MWZjOWRiY2M0MWYxMGQ1NDNkZiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+RWFzdCBXaWxsaWFtc2J1cmc8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2Q1OThiMzE3YmE4YzQ4MDk4NmY0NzU3NDgyNWQ1YzM1LnNldENvbnRlbnQoaHRtbF8yMDFjNWExNGI0MWY0MWZjOWRiY2M0MWYxMGQ1NDNkZik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8wYzMxODg5ZDk3MjA0MWJlYWJlOWMyOWE2MDM4ODMzMC5iaW5kUG9wdXAocG9wdXBfZDU5OGIzMTdiYThjNDgwOTg2ZjQ3NTc0ODI1ZDVjMzUpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNTJlNjQzZDQwMTEzNGE3OWFkZjY5MDJlOTM1N2ViMDQgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43MTQ4MjI5MDY1MzIwMTQsLTczLjk1ODgwODU3NTg3NTgyXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2E5ZjVhN2RlYmZkZjRhMTJiYjJmMmFmOWVkOTI1YmUxID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzkwNjU1MDQ3NjM3NDQ2MDVhY2Y4YTYwY2Q0M2JlOTIwID0gJCgnPGRpdiBpZD0iaHRtbF85MDY1NTA0NzYzNzQ0NjA1YWNmOGE2MGNkNDNiZTkyMCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Tm9ydGggU2lkZTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfYTlmNWE3ZGViZmRmNGExMmJiMmYyYWY5ZWQ5MjViZTEuc2V0Q29udGVudChodG1sXzkwNjU1MDQ3NjM3NDQ2MDVhY2Y4YTYwY2Q0M2JlOTIwKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzUyZTY0M2Q0MDExMzRhNzlhZGY2OTAyZTkzNTdlYjA0LmJpbmRQb3B1cChwb3B1cF9hOWY1YTdkZWJmZGY0YTEyYmIyZjJhZjllZDkyNWJlMSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl83MzhiNmJhODhhMWU0M2RjYjI2ZmRiMjg5ZjBhOWU5YiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjcxMDg2MTQ3MjY1MDY0LC03My45NTgwMDA5NTE1MzMzMV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8zYzk5YWFhODM5MjQ0MGQ4OTQ0OTkwNmJkMmYyYjkwMyA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9hNmI2NmM5NDBkYTI0YjQ5YmRhZDg5MjgyZTVlZmI0NiA9ICQoJzxkaXYgaWQ9Imh0bWxfYTZiNjZjOTQwZGEyNGI0OWJkYWQ4OTI4MmU1ZWZiNDYiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlNvdXRoIFNpZGU8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzNjOTlhYWE4MzkyNDQwZDg5NDQ5OTA2YmQyZjJiOTAzLnNldENvbnRlbnQoaHRtbF9hNmI2NmM5NDBkYTI0YjQ5YmRhZDg5MjgyZTVlZmI0Nik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl83MzhiNmJhODhhMWU0M2RjYjI2ZmRiMjg5ZjBhOWU5Yi5iaW5kUG9wdXAocG9wdXBfM2M5OWFhYTgzOTI0NDBkODk0NDk5MDZiZDJmMmI5MDMpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZjdjNDc5ZTU3NjcyNDkwNmJmMjBkMjFiMjg1ODZkYzQgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42MTMwNTk3NjY2Nzk0MiwtNzMuOTY4MzY2NzgwMzU1NDFdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMWMyOGE2MzgzNmE0NDYwNjk0Y2Y1MzRjN2NiNDU4NTAgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZGQxODUwMzE5MjQxNDUzMmE1OTAzNmU2Mjg3YWE2YmYgPSAkKCc8ZGl2IGlkPSJodG1sX2RkMTg1MDMxOTI0MTQ1MzJhNTkwMzZlNjI4N2FhNmJmIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5PY2VhbiBQYXJrd2F5PC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8xYzI4YTYzODM2YTQ0NjA2OTRjZjUzNGM3Y2I0NTg1MC5zZXRDb250ZW50KGh0bWxfZGQxODUwMzE5MjQxNDUzMmE1OTAzNmU2Mjg3YWE2YmYpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfZjdjNDc5ZTU3NjcyNDkwNmJmMjBkMjFiMjg1ODZkYzQuYmluZFBvcHVwKHBvcHVwXzFjMjhhNjM4MzZhNDQ2MDY5NGNmNTM0YzdjYjQ1ODUwKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2FiZmY5MzRmNmI0ZDQzMTI4ZjYxNGUyYWI4M2YzNDBlID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjE0NzY4MTI2OTQyMjYsLTc0LjAzMTk3OTE0NTM3OTg0XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzMxY2YyYmQ1N2M1ODRkYTJiZWZiZDAyOTNjMGM1M2M5ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzc0ZjU2MTliNTg0NzQzNTc4ZDg0ZWY0NGY4ODVjNGY4ID0gJCgnPGRpdiBpZD0iaHRtbF83NGY1NjE5YjU4NDc0MzU3OGQ4NGVmNDRmODg1YzRmOCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Rm9ydCBIYW1pbHRvbjwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMzFjZjJiZDU3YzU4NGRhMmJlZmJkMDI5M2MwYzUzYzkuc2V0Q29udGVudChodG1sXzc0ZjU2MTliNTg0NzQzNTc4ZDg0ZWY0NGY4ODVjNGY4KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2FiZmY5MzRmNmI0ZDQzMTI4ZjYxNGUyYWI4M2YzNDBlLmJpbmRQb3B1cChwb3B1cF8zMWNmMmJkNTdjNTg0ZGEyYmVmYmQwMjkzYzBjNTNjOSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9lNmFiOWMzNThmMDc0MTU2YmY5MzA0YjIzNDQ5ZDRjNiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjcxNTYxODQyMjMxNDMyLC03My45OTQyNzkzNjI1NTk3OF0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9kZmRhOTkzMzFlNGQ0ZDI3YTk0OTI0ZWMwYTgzNjkzMiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF83ZDkwNDUwNGI4M2I0MTBmOTBkZTkxNmE4MGZiZWFlZCA9ICQoJzxkaXYgaWQ9Imh0bWxfN2Q5MDQ1MDRiODNiNDEwZjkwZGU5MTZhODBmYmVhZWQiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkNoaW5hdG93bjwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZGZkYTk5MzMxZTRkNGQyN2E5NDkyNGVjMGE4MzY5MzIuc2V0Q29udGVudChodG1sXzdkOTA0NTA0YjgzYjQxMGY5MGRlOTE2YTgwZmJlYWVkKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2U2YWI5YzM1OGYwNzQxNTZiZjkzMDRiMjM0NDlkNGM2LmJpbmRQb3B1cChwb3B1cF9kZmRhOTkzMzFlNGQ0ZDI3YTk0OTI0ZWMwYTgzNjkzMik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8yNzM4NjIzZDkzZjQ0YTI5ODZlNTAxZjFhYzk1MmRmZiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjg1MTkwMjUyNTU1MzA1LC03My45MzY5MDAyNzk4NTIzNF0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF83OTYyNDY0MzlmNmE0MTQzOWQ4OThlYmJlYjhkNzg4NSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8yMmU4YTRlN2IyY2M0ZTc4ODNkNjJhYzc5NDNmY2E0ZSA9ICQoJzxkaXYgaWQ9Imh0bWxfMjJlOGE0ZTdiMmNjNGU3ODgzZDYyYWM3OTQzZmNhNGUiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPldhc2hpbmd0b24gSGVpZ2h0czwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNzk2MjQ2NDM5ZjZhNDE0MzlkODk4ZWJiZWI4ZDc4ODUuc2V0Q29udGVudChodG1sXzIyZThhNGU3YjJjYzRlNzg4M2Q2MmFjNzk0M2ZjYTRlKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzI3Mzg2MjNkOTNmNDRhMjk4NmU1MDFmMWFjOTUyZGZmLmJpbmRQb3B1cChwb3B1cF83OTYyNDY0MzlmNmE0MTQzOWQ4OThlYmJlYjhkNzg4NSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl82YTcyMmQxYTE3MGI0YTg4OTRmYzg5MmIwM2NiNzk0MyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjg2NzY4Mzk2NDQ5OTE1LC03My45MjEyMTA0MjIwMzg5N10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF80NzQ5Y2U2YWU5Y2U0MWMyYjdlYWJiMDg0ZWEyZGI5ZiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9iYWFmNzZjNmUxNDE0ZmJiOWY5MjMyYzU2YzVlOGE0MiA9ICQoJzxkaXYgaWQ9Imh0bWxfYmFhZjc2YzZlMTQxNGZiYjlmOTIzMmM1NmM1ZThhNDIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPklud29vZDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNDc0OWNlNmFlOWNlNDFjMmI3ZWFiYjA4NGVhMmRiOWYuc2V0Q29udGVudChodG1sX2JhYWY3NmM2ZTE0MTRmYmI5ZjkyMzJjNTZjNWU4YTQyKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzZhNzIyZDFhMTcwYjRhODg5NGZjODkyYjAzY2I3OTQzLmJpbmRQb3B1cChwb3B1cF80NzQ5Y2U2YWU5Y2U0MWMyYjdlYWJiMDg0ZWEyZGI5Zik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8xYzA5ZTVmMzcwZDI0MDYyOWUwYjA3MDNmODkyZWJlZiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjgyMzYwNDI4NDgxMTkzNSwtNzMuOTQ5Njg3OTE4ODMzNjZdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMjc3NTE5YjBlOTY4NDI0NTg2YjMxZmE1N2ZmNzkwZmUgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMzRhZWVmZjc3NmViNGU1N2IyMTNhMjQwNzBlZjgzMzEgPSAkKCc8ZGl2IGlkPSJodG1sXzM0YWVlZmY3NzZlYjRlNTdiMjEzYTI0MDcwZWY4MzMxIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5IYW1pbHRvbiBIZWlnaHRzPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8yNzc1MTliMGU5Njg0MjQ1ODZiMzFmYTU3ZmY3OTBmZS5zZXRDb250ZW50KGh0bWxfMzRhZWVmZjc3NmViNGU1N2IyMTNhMjQwNzBlZjgzMzEpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfMWMwOWU1ZjM3MGQyNDA2MjllMGIwNzAzZjg5MmViZWYuYmluZFBvcHVwKHBvcHVwXzI3NzUxOWIwZTk2ODQyNDU4NmIzMWZhNTdmZjc5MGZlKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2I1MmQxNmUwZDY4ZDQwYWU4YjhjYTM4NjczMzU4NGE1ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuODE2OTM0NDI5NDk3OCwtNzMuOTU3Mzg1MzkzNTE4OF0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8wYTg2N2UwOTA1M2M0Yjk5ODE0ZDg5ZDUyMmJlZTY1MCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF83YWRmYzFkODUyNzg0NGUwYTliYjM4ZTEyMjkxMTUwZSA9ICQoJzxkaXYgaWQ9Imh0bWxfN2FkZmMxZDg1Mjc4NDRlMGE5YmIzOGUxMjI5MTE1MGUiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPk1hbmhhdHRhbnZpbGxlPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8wYTg2N2UwOTA1M2M0Yjk5ODE0ZDg5ZDUyMmJlZTY1MC5zZXRDb250ZW50KGh0bWxfN2FkZmMxZDg1Mjc4NDRlMGE5YmIzOGUxMjI5MTE1MGUpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYjUyZDE2ZTBkNjhkNDBhZThiOGNhMzg2NzMzNTg0YTUuYmluZFBvcHVwKHBvcHVwXzBhODY3ZTA5MDUzYzRiOTk4MTRkODlkNTIyYmVlNjUwKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzcxNTAwNzdhZjk3MjRlYzU4NzRlYjcyOTdhZjNmMGQxID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuODE1OTc2MDY3NDI0MTQsLTczLjk0MzIxMTEyNjAzOTA1XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzc0NjRlNjkxN2QzMTQ2ZjhiNTQyMjM1NzkxOWJhMmFhID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzNlOTgzZDMzNTc1NTQ5OGFhOTBhZTY1MmY2NjNmMzU5ID0gJCgnPGRpdiBpZD0iaHRtbF8zZTk4M2QzMzU3NTU0OThhYTkwYWU2NTJmNjYzZjM1OSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Q2VudHJhbCBIYXJsZW08L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzc0NjRlNjkxN2QzMTQ2ZjhiNTQyMjM1NzkxOWJhMmFhLnNldENvbnRlbnQoaHRtbF8zZTk4M2QzMzU3NTU0OThhYTkwYWU2NTJmNjYzZjM1OSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl83MTUwMDc3YWY5NzI0ZWM1ODc0ZWI3Mjk3YWYzZjBkMS5iaW5kUG9wdXAocG9wdXBfNzQ2NGU2OTE3ZDMxNDZmOGI1NDIyMzU3OTE5YmEyYWEpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMTc3ZTA5MDkxNzEwNDdjZThlZGE2ODVjZTQ0MTM4YWUgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43OTIyNDk0NjY2MzAzMywtNzMuOTQ0MTgyMjMxNDg1MjRdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfY2NiN2Q2MzFlNDIwNGJkMzlmM2RhNmE2ZTg3M2E4NWYgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZWViZDlkYWZkY2ZmNDlhNzhjZjBhM2Y2ZDI2NDM5OWUgPSAkKCc8ZGl2IGlkPSJodG1sX2VlYmQ5ZGFmZGNmZjQ5YTc4Y2YwYTNmNmQyNjQzOTllIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5FYXN0IEhhcmxlbTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfY2NiN2Q2MzFlNDIwNGJkMzlmM2RhNmE2ZTg3M2E4NWYuc2V0Q29udGVudChodG1sX2VlYmQ5ZGFmZGNmZjQ5YTc4Y2YwYTNmNmQyNjQzOTllKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzE3N2UwOTA5MTcxMDQ3Y2U4ZWRhNjg1Y2U0NDEzOGFlLmJpbmRQb3B1cChwb3B1cF9jY2I3ZDYzMWU0MjA0YmQzOWYzZGE2YTZlODczYTg1Zik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8zYWRkZGZiZWZhYTU0ZTYzOWJkZmViODQ3ZjE1OTBiNSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjc3NTYzODU3MzMwMTgwNSwtNzMuOTYwNTA3NjMxMzVdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNGZiYzdlMDBhZGQ1NDg1NjliMjllZjc0ZTJjZWI4NDMgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMDJmNDVhZDdmNTcxNDUzMTliOWM5MTJiMjc4MmM1MDAgPSAkKCc8ZGl2IGlkPSJodG1sXzAyZjQ1YWQ3ZjU3MTQ1MzE5YjljOTEyYjI3ODJjNTAwIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5VcHBlciBFYXN0IFNpZGU8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzRmYmM3ZTAwYWRkNTQ4NTY5YjI5ZWY3NGUyY2ViODQzLnNldENvbnRlbnQoaHRtbF8wMmY0NWFkN2Y1NzE0NTMxOWI5YzkxMmIyNzgyYzUwMCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8zYWRkZGZiZWZhYTU0ZTYzOWJkZmViODQ3ZjE1OTBiNS5iaW5kUG9wdXAocG9wdXBfNGZiYzdlMDBhZGQ1NDg1NjliMjllZjc0ZTJjZWI4NDMpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYTk2OTgxMTJkNWIyNGQyN2JkNzQ2MjQ3MGFiZGYyNWYgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43NzU5Mjk4NDk4ODQ4NzUsLTczLjk0NzExNzg0NDcxODI2XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzQyNTdiZDIwNzczZDQyNmU5OTExZWJmNDg2ZTEzYjg3ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2RlOWNjYmI5N2U5MzQ4ZWE5YWNlMjUwMTVmNTg3MTdhID0gJCgnPGRpdiBpZD0iaHRtbF9kZTljY2JiOTdlOTM0OGVhOWFjZTI1MDE1ZjU4NzE3YSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+WW9ya3ZpbGxlPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF80MjU3YmQyMDc3M2Q0MjZlOTkxMWViZjQ4NmUxM2I4Ny5zZXRDb250ZW50KGh0bWxfZGU5Y2NiYjk3ZTkzNDhlYTlhY2UyNTAxNWY1ODcxN2EpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYTk2OTgxMTJkNWIyNGQyN2JkNzQ2MjQ3MGFiZGYyNWYuYmluZFBvcHVwKHBvcHVwXzQyNTdiZDIwNzczZDQyNmU5OTExZWJmNDg2ZTEzYjg3KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2RhYjYxM2UxNzJmNzRjNTc4NjM0MjVlODc4MDJkMmJjID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzY4MTEyNjU4Mjg3MzMsLTczLjk1ODg1OTY4ODEzNzZdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZDRkMzRkNTJkM2I1NGFkNWJmZWJkY2Q0NDZkZWNiOGMgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNjBkODc1OGEzYjMxNDBiNDkwMWViN2Y3MzVjY2QyMzEgPSAkKCc8ZGl2IGlkPSJodG1sXzYwZDg3NThhM2IzMTQwYjQ5MDFlYjdmNzM1Y2NkMjMxIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5MZW5veCBIaWxsPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9kNGQzNGQ1MmQzYjU0YWQ1YmZlYmRjZDQ0NmRlY2I4Yy5zZXRDb250ZW50KGh0bWxfNjBkODc1OGEzYjMxNDBiNDkwMWViN2Y3MzVjY2QyMzEpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfZGFiNjEzZTE3MmY3NGM1Nzg2MzQyNWU4NzgwMmQyYmMuYmluZFBvcHVwKHBvcHVwX2Q0ZDM0ZDUyZDNiNTRhZDViZmViZGNkNDQ2ZGVjYjhjKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2M1OWExMGQ2ZTFhMjQ2OTY5Y2UwNTY1ZmZjZDE3NWRkID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzYyMTU5NjA1NzYyODMsLTczLjk0OTE2NzY5MjI3OTUzXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzBhMzU0MTQ3N2RmMTRkZDM4OTBhZWUxZWRjMjBkNTVlID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzk1NWQyNjFhNTNmMjRiMTRiZGU0NWE5YzZlYzY5ZjRiID0gJCgnPGRpdiBpZD0iaHRtbF85NTVkMjYxYTUzZjI0YjE0YmRlNDVhOWM2ZWM2OWY0YiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Um9vc2V2ZWx0IElzbGFuZDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMGEzNTQxNDc3ZGYxNGRkMzg5MGFlZTFlZGMyMGQ1NWUuc2V0Q29udGVudChodG1sXzk1NWQyNjFhNTNmMjRiMTRiZGU0NWE5YzZlYzY5ZjRiKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2M1OWExMGQ2ZTFhMjQ2OTY5Y2UwNTY1ZmZjZDE3NWRkLmJpbmRQb3B1cChwb3B1cF8wYTM1NDE0NzdkZjE0ZGQzODkwYWVlMWVkYzIwZDU1ZSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9jYmIwOTAyYTAxM2M0ODViYTRmNjBhMjAyODU5YTE1YiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjc4NzY1Nzk5ODUzNDg1NCwtNzMuOTc3MDU5MjM2MzA2MDNdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMGM2NzFmN2ZjYTdhNDIxZWI4MDhkYTFjOWZiYWIwMGYgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZTVmNzdiNDY0MDY3NDA0ZGFmMjFhNGFkNzBmYjU1NzAgPSAkKCc8ZGl2IGlkPSJodG1sX2U1Zjc3YjQ2NDA2NzQwNGRhZjIxYTRhZDcwZmI1NTcwIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5VcHBlciBXZXN0IFNpZGU8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzBjNjcxZjdmY2E3YTQyMWViODA4ZGExYzlmYmFiMDBmLnNldENvbnRlbnQoaHRtbF9lNWY3N2I0NjQwNjc0MDRkYWYyMWE0YWQ3MGZiNTU3MCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9jYmIwOTAyYTAxM2M0ODViYTRmNjBhMjAyODU5YTE1Yi5iaW5kUG9wdXAocG9wdXBfMGM2NzFmN2ZjYTdhNDIxZWI4MDhkYTFjOWZiYWIwMGYpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfM2Q5NjAxZTliYzM5NGJmOWFlMGM2NTJlMDk3ODdkNTQgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43NzM1Mjg4ODk0MjE2NiwtNzMuOTg1MzM3NzcwMDEyNjJdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZmIxNzk2MjkxNTdjNDIyZDhiOWU0YWU5OTBlNDRjMzkgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZWFhMjZjY2IyOGJlNDIyZTlkNDdjMmJkMWZkNGE5MmUgPSAkKCc8ZGl2IGlkPSJodG1sX2VhYTI2Y2NiMjhiZTQyMmU5ZDQ3YzJiZDFmZDRhOTJlIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5MaW5jb2xuIFNxdWFyZTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZmIxNzk2MjkxNTdjNDIyZDhiOWU0YWU5OTBlNDRjMzkuc2V0Q29udGVudChodG1sX2VhYTI2Y2NiMjhiZTQyMmU5ZDQ3YzJiZDFmZDRhOTJlKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzNkOTYwMWU5YmMzOTRiZjlhZTBjNjUyZTA5Nzg3ZDU0LmJpbmRQb3B1cChwb3B1cF9mYjE3OTYyOTE1N2M0MjJkOGI5ZTRhZTk5MGU0NGMzOSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9iN2E5ZTk0MTdlMDU0NGMwOWM3OGExMzljZDZiMDkwMyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjc1OTEwMDg5MTQ2MjEyLC03My45OTYxMTkzNjMwOTQ3OV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF83Y2I1N2Y0NjZlYjM0NjI0YTI4YmM1NjZlYmI2MTkwZiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8wNDczOWZkMjI5Mzg0ZjY3Yjc5NGVmNGVhODQ2MjY1YSA9ICQoJzxkaXYgaWQ9Imh0bWxfMDQ3MzlmZDIyOTM4NGY2N2I3OTRlZjRlYTg0NjI2NWEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkNsaW50b248L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzdjYjU3ZjQ2NmViMzQ2MjRhMjhiYzU2NmViYjYxOTBmLnNldENvbnRlbnQoaHRtbF8wNDczOWZkMjI5Mzg0ZjY3Yjc5NGVmNGVhODQ2MjY1YSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9iN2E5ZTk0MTdlMDU0NGMwOWM3OGExMzljZDZiMDkwMy5iaW5kUG9wdXAocG9wdXBfN2NiNTdmNDY2ZWIzNDYyNGEyOGJjNTY2ZWJiNjE5MGYpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZGQ4NmE5MjZlMGY5NGQyMDliOTdlYWIxMjhhNzNlODkgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43NTQ2OTExMDI3MDYyMywtNzMuOTgxNjY4ODI3MzAzMDRdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMjAyMzdlMTU4ZTBmNDk0NmIwMGRhMjU5OGI4MmEyNDMgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfODVmOWRhNTJlN2VkNGE5YTk2YWNmNmYyNDcyZGQyMjAgPSAkKCc8ZGl2IGlkPSJodG1sXzg1ZjlkYTUyZTdlZDRhOWE5NmFjZjZmMjQ3MmRkMjIwIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5NaWR0b3duPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8yMDIzN2UxNThlMGY0OTQ2YjAwZGEyNTk4YjgyYTI0My5zZXRDb250ZW50KGh0bWxfODVmOWRhNTJlN2VkNGE5YTk2YWNmNmYyNDcyZGQyMjApOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfZGQ4NmE5MjZlMGY5NGQyMDliOTdlYWIxMjhhNzNlODkuYmluZFBvcHVwKHBvcHVwXzIwMjM3ZTE1OGUwZjQ5NDZiMDBkYTI1OThiODJhMjQzKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2E3NjE0MDZmODFlNTQzZjQ4Y2QzNmQ4NmViNTQyNGVlID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzQ4MzAzMDc3MjUyMTc0LC03My45NzgzMzIwNzkyNDEyN10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9hMTg2MTgyZTBkYjU0M2M5YmM0YjczMWJjNzA0ZjM5YSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF84ODYxNDc3MGI5YzQ0YzgwYjg5MDFjMzczZjE1NTEzMSA9ICQoJzxkaXYgaWQ9Imh0bWxfODg2MTQ3NzBiOWM0NGM4MGI4OTAxYzM3M2YxNTUxMzEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPk11cnJheSBIaWxsPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9hMTg2MTgyZTBkYjU0M2M5YmM0YjczMWJjNzA0ZjM5YS5zZXRDb250ZW50KGh0bWxfODg2MTQ3NzBiOWM0NGM4MGI4OTAxYzM3M2YxNTUxMzEpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYTc2MTQwNmY4MWU1NDNmNDhjZDM2ZDg2ZWI1NDI0ZWUuYmluZFBvcHVwKHBvcHVwX2ExODYxODJlMGRiNTQzYzliYzRiNzMxYmM3MDRmMzlhKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2U0MjZiYjYxY2VjYjRlNjlhZjEyMmViYzAzNjE2ZjQ5ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzQ0MDM0NzA2NzQ3OTc1LC03NC4wMDMxMTYzMzQ3MjgxM10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9iZTI2NDI2ZDI3YjA0MzQ1ODg1ZjlkNjE5OGQyYTM0YiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8wMjFmOTNmYTdmNzU0ZTZkYjZkMTczODg1MTNhZTMyNCA9ICQoJzxkaXYgaWQ9Imh0bWxfMDIxZjkzZmE3Zjc1NGU2ZGI2ZDE3Mzg4NTEzYWUzMjQiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkNoZWxzZWE8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2JlMjY0MjZkMjdiMDQzNDU4ODVmOWQ2MTk4ZDJhMzRiLnNldENvbnRlbnQoaHRtbF8wMjFmOTNmYTdmNzU0ZTZkYjZkMTczODg1MTNhZTMyNCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9lNDI2YmI2MWNlY2I0ZTY5YWYxMjJlYmMwMzYxNmY0OS5iaW5kUG9wdXAocG9wdXBfYmUyNjQyNmQyN2IwNDM0NTg4NWY5ZDYxOThkMmEzNGIpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNzM3YWY2MTJiN2ExNDA0YmJhNjBjMjBkNzJiZDMxNzIgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43MjY5MzI4ODUzNjEyOCwtNzMuOTk5OTE0MDI5NDU5MDJdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZjU3NmI3NTQyN2IxNDFmYThmNjVjNjAxODkyMTYyODMgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMDU3NGViNWIwZjg4NDA5Nzk4MmI3OWM3NDYwNjBiMDAgPSAkKCc8ZGl2IGlkPSJodG1sXzA1NzRlYjViMGY4ODQwOTc5ODJiNzljNzQ2MDYwYjAwIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5HcmVlbndpY2ggVmlsbGFnZTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZjU3NmI3NTQyN2IxNDFmYThmNjVjNjAxODkyMTYyODMuc2V0Q29udGVudChodG1sXzA1NzRlYjViMGY4ODQwOTc5ODJiNzljNzQ2MDYwYjAwKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzczN2FmNjEyYjdhMTQwNGJiYTYwYzIwZDcyYmQzMTcyLmJpbmRQb3B1cChwb3B1cF9mNTc2Yjc1NDI3YjE0MWZhOGY2NWM2MDE4OTIxNjI4Myk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8xMzlkNzM0NzVlMDI0NTA2YmU4ZWFhNTJjYzBiYjhjNyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjcyNzg0Njc3NzI3MDI0NCwtNzMuOTgyMjI2MTY1MDY0MTZdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZTc5OWU2NGQzZWFhNGI4ZGFmOWQxNzlmZmVjZWViNzMgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYmE1ZmYzNDczMTNlNDAyZWEzMTliZGM3YzUxOWM5ZTQgPSAkKCc8ZGl2IGlkPSJodG1sX2JhNWZmMzQ3MzEzZTQwMmVhMzE5YmRjN2M1MTljOWU0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5FYXN0IFZpbGxhZ2U8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2U3OTllNjRkM2VhYTRiOGRhZjlkMTc5ZmZlY2VlYjczLnNldENvbnRlbnQoaHRtbF9iYTVmZjM0NzMxM2U0MDJlYTMxOWJkYzdjNTE5YzllNCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8xMzlkNzM0NzVlMDI0NTA2YmU4ZWFhNTJjYzBiYjhjNy5iaW5kUG9wdXAocG9wdXBfZTc5OWU2NGQzZWFhNGI4ZGFmOWQxNzlmZmVjZWViNzMpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMGI2NzE4ZDUwNzJmNDkzNzgzYTVkZDBkNTIyNzdhNzAgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43MTc4MDY3NDg5Mjc2NSwtNzMuOTgwODkwMzE5OTkyOTFdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMzVjNGVjNmVlOTBjNGIzN2FlMjc5NjZiNjk4MjBhNGMgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfOTY3YmZkZjJlZmJjNGJmMTkzMjBkZTA3ZTUyZTY3NjIgPSAkKCc8ZGl2IGlkPSJodG1sXzk2N2JmZGYyZWZiYzRiZjE5MzIwZGUwN2U1MmU2NzYyIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Mb3dlciBFYXN0IFNpZGU8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzM1YzRlYzZlZTkwYzRiMzdhZTI3OTY2YjY5ODIwYTRjLnNldENvbnRlbnQoaHRtbF85NjdiZmRmMmVmYmM0YmYxOTMyMGRlMDdlNTJlNjc2Mik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8wYjY3MThkNTA3MmY0OTM3ODNhNWRkMGQ1MjI3N2E3MC5iaW5kUG9wdXAocG9wdXBfMzVjNGVjNmVlOTBjNGIzN2FlMjc5NjZiNjk4MjBhNGMpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMmE0NDQ2NGRmMTVlNDE4YWJiNjI1OTdiZjI2ZjRlYTEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43MjE1MjE5Njc0NDMyMTYsLTc0LjAxMDY4MzI4NTU5MDg3XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzI3NWRhODk0MGNmODQwZmU4YjE0Njk1MDI3YmM1ODRjID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2FlMWNiMDc3ZGU2ZDRmZGJhN2Y0ODFmODI2YzAwY2Y4ID0gJCgnPGRpdiBpZD0iaHRtbF9hZTFjYjA3N2RlNmQ0ZmRiYTdmNDgxZjgyNmMwMGNmOCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+VHJpYmVjYTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMjc1ZGE4OTQwY2Y4NDBmZThiMTQ2OTUwMjdiYzU4NGMuc2V0Q29udGVudChodG1sX2FlMWNiMDc3ZGU2ZDRmZGJhN2Y0ODFmODI2YzAwY2Y4KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzJhNDQ0NjRkZjE1ZTQxOGFiYjYyNTk3YmYyNmY0ZWExLmJpbmRQb3B1cChwb3B1cF8yNzVkYTg5NDBjZjg0MGZlOGIxNDY5NTAyN2JjNTg0Yyk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9kMTIzYmYzZTU1Y2Y0NzM2YjViOGIwMWE0NTQxODRlMSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjcxOTMyMzc5Mzk1OTA3LC03My45OTczMDQ2NzIwODA3M10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8zZGVkY2UzNzUzNWU0M2NlYmU5MTM0ZmE5YzQxNzYzYiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF85MmJjMjM2YjcxNzU0MmRjYjE5ZGE3OTVkMDhjODQ5NSA9ICQoJzxkaXYgaWQ9Imh0bWxfOTJiYzIzNmI3MTc1NDJkY2IxOWRhNzk1ZDA4Yzg0OTUiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkxpdHRsZSBJdGFseTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfM2RlZGNlMzc1MzVlNDNjZWJlOTEzNGZhOWM0MTc2M2Iuc2V0Q29udGVudChodG1sXzkyYmMyMzZiNzE3NTQyZGNiMTlkYTc5NWQwOGM4NDk1KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2QxMjNiZjNlNTVjZjQ3MzZiNWI4YjAxYTQ1NDE4NGUxLmJpbmRQb3B1cChwb3B1cF8zZGVkY2UzNzUzNWU0M2NlYmU5MTM0ZmE5YzQxNzYzYik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9iNzk0ZDVlYzQ5N2U0ZTQ4OWU4MTZiYTM4NmYxMGExOSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjcyMjE4Mzg0MTMxNzk0LC03NC4wMDA2NTY2Njk1OTc1OV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9jMmZiZDM1MjhkMjY0MWM0YmEwYTgzZTMwOGMxZWEwYSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF83YjhiZDA3ZDZlNzA0NjAyODVlZDNlODVkNDk3MzkxOSA9ICQoJzxkaXYgaWQ9Imh0bWxfN2I4YmQwN2Q2ZTcwNDYwMjg1ZWQzZTg1ZDQ5NzM5MTkiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlNvaG88L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2MyZmJkMzUyOGQyNjQxYzRiYTBhODNlMzA4YzFlYTBhLnNldENvbnRlbnQoaHRtbF83YjhiZDA3ZDZlNzA0NjAyODVlZDNlODVkNDk3MzkxOSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9iNzk0ZDVlYzQ5N2U0ZTQ4OWU4MTZiYTM4NmYxMGExOS5iaW5kUG9wdXAocG9wdXBfYzJmYmQzNTI4ZDI2NDFjNGJhMGE4M2UzMDhjMWVhMGEpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNzM0ZGM0Y2EwZTM5NDc5NDkxMGIyZWE4MDRjNjE5N2MgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43MzQ0MzM5MzU3MjQzNCwtNzQuMDA2MTc5OTgxMjY4MTJdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMTA0N2Q0NDY1ZDg4NDQ0N2JiM2EyMmY2NzQwNWE2MTMgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNjcxODQ5ZmVhOGY4NGY1ZWI5YTRmNzI2ZWM4OTVjOGUgPSAkKCc8ZGl2IGlkPSJodG1sXzY3MTg0OWZlYThmODRmNWViOWE0ZjcyNmVjODk1YzhlIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5XZXN0IFZpbGxhZ2U8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzEwNDdkNDQ2NWQ4ODQ0NDdiYjNhMjJmNjc0MDVhNjEzLnNldENvbnRlbnQoaHRtbF82NzE4NDlmZWE4Zjg0ZjVlYjlhNGY3MjZlYzg5NWM4ZSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl83MzRkYzRjYTBlMzk0Nzk0OTEwYjJlYTgwNGM2MTk3Yy5iaW5kUG9wdXAocG9wdXBfMTA0N2Q0NDY1ZDg4NDQ0N2JiM2EyMmY2NzQwNWE2MTMpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNDAyNWE3OTgxYjMzNGQ0NTkwZmRiNmM4NTNiNGRhNGMgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43OTczMDcwNDE3MDI4NjUsLTczLjk2NDI4NjE3NzQwNjU1XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2VmZjVjY2I0ZjYxZjQ4MTk4YzIwMjhkOGQ4ZDQ4YmZkID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2EyZmQyMmZlODM0NzQzYWFhMDE1M2IyNTk2OWEyYjc4ID0gJCgnPGRpdiBpZD0iaHRtbF9hMmZkMjJmZTgzNDc0M2FhYTAxNTNiMjU5NjlhMmI3OCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+TWFuaGF0dGFuIFZhbGxleTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZWZmNWNjYjRmNjFmNDgxOThjMjAyOGQ4ZDhkNDhiZmQuc2V0Q29udGVudChodG1sX2EyZmQyMmZlODM0NzQzYWFhMDE1M2IyNTk2OWEyYjc4KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzQwMjVhNzk4MWIzMzRkNDU5MGZkYjZjODUzYjRkYTRjLmJpbmRQb3B1cChwb3B1cF9lZmY1Y2NiNGY2MWY0ODE5OGMyMDI4ZDhkOGQ0OGJmZCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9iMDg2ZGQxMDEwNzQ0OTU5YTExN2Y1ZDI4MDU3MTZlMCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjgwNzk5OTczODE2NTgyNiwtNzMuOTYzODk2Mjc5MDUzMzJdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMzFlOWI5ODNhMjI5NDg2MDhlODZkNjY5OTI1NjVmYWMgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZGViNzdiYTBhNDhiNGU1ZWE0MWZlZmFkOTM3ZWYzMGYgPSAkKCc8ZGl2IGlkPSJodG1sX2RlYjc3YmEwYTQ4YjRlNWVhNDFmZWZhZDkzN2VmMzBmIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Nb3JuaW5nc2lkZSBIZWlnaHRzPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8zMWU5Yjk4M2EyMjk0ODYwOGU4NmQ2Njk5MjU2NWZhYy5zZXRDb250ZW50KGh0bWxfZGViNzdiYTBhNDhiNGU1ZWE0MWZlZmFkOTM3ZWYzMGYpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYjA4NmRkMTAxMDc0NDk1OWExMTdmNWQyODA1NzE2ZTAuYmluZFBvcHVwKHBvcHVwXzMxZTliOTgzYTIyOTQ4NjA4ZTg2ZDY2OTkyNTY1ZmFjKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzY2NzdmODJhZjg4MzQwOTk4Yzk2MGZiM2E5NmI5NGEwID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzM3MjA5ODMyNzE1LC03My45ODEzNzU5NDgzMzU0MV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF83NTQzMzA1MDMwNWY0ZjU1YWJiNTYzM2E0YTAzYjczYiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF84ZjAyMDQ5MzA5MGY0MzkzYWIwZmNiMWNlMDRlOWU0YyA9ICQoJzxkaXYgaWQ9Imh0bWxfOGYwMjA0OTMwOTBmNDM5M2FiMGZjYjFjZTA0ZTllNGMiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkdyYW1lcmN5PC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF83NTQzMzA1MDMwNWY0ZjU1YWJiNTYzM2E0YTAzYjczYi5zZXRDb250ZW50KGh0bWxfOGYwMjA0OTMwOTBmNDM5M2FiMGZjYjFjZTA0ZTllNGMpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfNjY3N2Y4MmFmODgzNDA5OThjOTYwZmIzYTk2Yjk0YTAuYmluZFBvcHVwKHBvcHVwXzc1NDMzMDUwMzA1ZjRmNTVhYmI1NjMzYTRhMDNiNzNiKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzlmODEyZTRiMjA5MDRkM2Y5NzEyNDY2OWI0ZTUzN2YyID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzExOTMxOTgzOTQ1NjUsLTc0LjAxNjg2OTMwNTA4NjE3XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzgxYmQ5MWQ3YjQ4ZDQ2ZTJhMTRlYmZlODg4Y2RlYWE2ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2Q2NjUxNzQ0NDQ5NjRiNjE5ZDViNTRjMDEwMjZhNmZmID0gJCgnPGRpdiBpZD0iaHRtbF9kNjY1MTc0NDQ0OTY0YjYxOWQ1YjU0YzAxMDI2YTZmZiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+QmF0dGVyeSBQYXJrIENpdHk8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzgxYmQ5MWQ3YjQ4ZDQ2ZTJhMTRlYmZlODg4Y2RlYWE2LnNldENvbnRlbnQoaHRtbF9kNjY1MTc0NDQ0OTY0YjYxOWQ1YjU0YzAxMDI2YTZmZik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl85ZjgxMmU0YjIwOTA0ZDNmOTcxMjQ2NjliNGU1MzdmMi5iaW5kUG9wdXAocG9wdXBfODFiZDkxZDdiNDhkNDZlMmExNGViZmU4ODhjZGVhYTYpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNjQxZmFiMDI5ZmI4NGM4YmJlNmM2M2NjMjhkNGMxYjUgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43MDcxMDcxMDcyNzA0OCwtNzQuMDEwNjY1NDQ1MjEyN10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF85NDM1NDU3MzY0MDI0YzRiYTIzNTRmNDU2NTUxMzMyNCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF80Y2E1YjEwMDAyZTE0YTRlODgxNTI3ODk5ZjlkM2MxYSA9ICQoJzxkaXYgaWQ9Imh0bWxfNGNhNWIxMDAwMmUxNGE0ZTg4MTUyNzg5OWY5ZDNjMWEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkZpbmFuY2lhbCBEaXN0cmljdDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfOTQzNTQ1NzM2NDAyNGM0YmEyMzU0ZjQ1NjU1MTMzMjQuc2V0Q29udGVudChodG1sXzRjYTViMTAwMDJlMTRhNGU4ODE1Mjc4OTlmOWQzYzFhKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzY0MWZhYjAyOWZiODRjOGJiZTZjNjNjYzI4ZDRjMWI1LmJpbmRQb3B1cChwb3B1cF85NDM1NDU3MzY0MDI0YzRiYTIzNTRmNDU2NTUxMzMyNCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl80YTQ2ODBjNjMyMjE0YTdlYWNjM2I3NTZhMTRiYjhlYyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjc2ODUwODU5MzM1NDkyLC03My45MTU2NTM3NDMwNDIzNF0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9jZTE5MTA3MDc5MzI0NmJmYjNjMWMwMWE3OTA2YTIyYiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8xOTNmZWFmMDk4MGU0MTQxYWViODI5Y2JhZGM2MjE5OSA9ICQoJzxkaXYgaWQ9Imh0bWxfMTkzZmVhZjA5ODBlNDE0MWFlYjgyOWNiYWRjNjIxOTkiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkFzdG9yaWE8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2NlMTkxMDcwNzkzMjQ2YmZiM2MxYzAxYTc5MDZhMjJiLnNldENvbnRlbnQoaHRtbF8xOTNmZWFmMDk4MGU0MTQxYWViODI5Y2JhZGM2MjE5OSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl80YTQ2ODBjNjMyMjE0YTdlYWNjM2I3NTZhMTRiYjhlYy5iaW5kUG9wdXAocG9wdXBfY2UxOTEwNzA3OTMyNDZiZmIzYzFjMDFhNzkwNmEyMmIpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMTEwZDM3M2EzOTA3NDU3NWFjODBjMjliY2JlZDM3ZWEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43NDYzNDkwODg2MDIyMiwtNzMuOTAxODQxNjY4MzgyODRdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMTQ2NjBhMTdkZTMzNGU3NmIyOTg5ZjZkOWMxMjFhYWYgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfOWQ1NWQzNTg4YWNmNDAwYWI0ODVkOThlZDI5N2FmNTIgPSAkKCc8ZGl2IGlkPSJodG1sXzlkNTVkMzU4OGFjZjQwMGFiNDg1ZDk4ZWQyOTdhZjUyIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Xb29kc2lkZTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMTQ2NjBhMTdkZTMzNGU3NmIyOTg5ZjZkOWMxMjFhYWYuc2V0Q29udGVudChodG1sXzlkNTVkMzU4OGFjZjQwMGFiNDg1ZDk4ZWQyOTdhZjUyKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzExMGQzNzNhMzkwNzQ1NzVhYzgwYzI5YmNiZWQzN2VhLmJpbmRQb3B1cChwb3B1cF8xNDY2MGExN2RlMzM0ZTc2YjI5ODlmNmQ5YzEyMWFhZik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8wYTljZmJkOGY3MzI0Y2ZlYTI3MmViZmIyZGNmNzI3ZCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjc1MTk4MTM4MDA3MzY3LC03My44ODI4MjEwOTE2NDM2NV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF80YjBiZTkxYjAyNzI0ZjNkODFiZTQ5M2JkMDA4YWNlNiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF81N2U5ODA5NDIxMTA0N2EwYThhYzgzZDE5MGNmNDM0ZiA9ICQoJzxkaXYgaWQ9Imh0bWxfNTdlOTgwOTQyMTEwNDdhMGE4YWM4M2QxOTBjZjQzNGYiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkphY2tzb24gSGVpZ2h0czwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNGIwYmU5MWIwMjcyNGYzZDgxYmU0OTNiZDAwOGFjZTYuc2V0Q29udGVudChodG1sXzU3ZTk4MDk0MjExMDQ3YTBhOGFjODNkMTkwY2Y0MzRmKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzBhOWNmYmQ4ZjczMjRjZmVhMjcyZWJmYjJkY2Y3MjdkLmJpbmRQb3B1cChwb3B1cF80YjBiZTkxYjAyNzI0ZjNkODFiZTQ5M2JkMDA4YWNlNik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8zNWYyMmZhN2VlNjk0ODU2OWYzMmU3OTFmMzFmNzQwOCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjc0NDA0ODUwNTEyMjAyNCwtNzMuODgxNjU2MjIyODgzODhdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZWFlNDdmMDRhMzA1NDZmMDk3NDA2ODhjYmZmMzRjNzYgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYWYyMmVjN2EyZmI0NDRmY2EwOGFkOTJjZjZjZjhlNDQgPSAkKCc8ZGl2IGlkPSJodG1sX2FmMjJlYzdhMmZiNDQ0ZmNhMDhhZDkyY2Y2Y2Y4ZTQ0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5FbG1odXJzdDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZWFlNDdmMDRhMzA1NDZmMDk3NDA2ODhjYmZmMzRjNzYuc2V0Q29udGVudChodG1sX2FmMjJlYzdhMmZiNDQ0ZmNhMDhhZDkyY2Y2Y2Y4ZTQ0KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzM1ZjIyZmE3ZWU2OTQ4NTY5ZjMyZTc5MWYzMWY3NDA4LmJpbmRQb3B1cChwb3B1cF9lYWU0N2YwNGEzMDU0NmYwOTc0MDY4OGNiZmYzNGM3Nik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9iZjY5NGY3MTJkMDY0NzRiYjkyYTM4MGM3ODQ1N2QyOCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjY1NDIyNTI3NzM4NDg3LC03My44MzgxMzc2NDYwMDI4XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2E5MjI1Y2YxOTZkNTRhYWRhZTZjYjBhNjhhNzE4ZThiID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzkwMjRjZmEwMWE3MjQ1MWM4NDQwYWYzZGE3ODE5MTk3ID0gJCgnPGRpdiBpZD0iaHRtbF85MDI0Y2ZhMDFhNzI0NTFjODQ0MGFmM2RhNzgxOTE5NyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+SG93YXJkIEJlYWNoPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9hOTIyNWNmMTk2ZDU0YWFkYWU2Y2IwYTY4YTcxOGU4Yi5zZXRDb250ZW50KGh0bWxfOTAyNGNmYTAxYTcyNDUxYzg0NDBhZjNkYTc4MTkxOTcpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYmY2OTRmNzEyZDA2NDc0YmI5MmEzODBjNzg0NTdkMjguYmluZFBvcHVwKHBvcHVwX2E5MjI1Y2YxOTZkNTRhYWRhZTZjYjBhNjhhNzE4ZThiKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzA1YTg2ZDJjNWJmNDQ0NDI5YjY5ZDkwYzc4OWUwMWI1ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzQyMzgxNzUwMTU2NjcsLTczLjg1NjgyNDk3MzQ1MjU4XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzgxZGU1Y2Q1YTY5NjQ2ZGM4ZDIzYmYxM2M4NTAwMTFkID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzVjOWE1OTc4OGIwYjQ5NmNhZTMxNDFiOTY4OWVjYzQ1ID0gJCgnPGRpdiBpZD0iaHRtbF81YzlhNTk3ODhiMGI0OTZjYWUzMTQxYjk2ODllY2M0NSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Q29yb25hPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF84MWRlNWNkNWE2OTY0NmRjOGQyM2JmMTNjODUwMDExZC5zZXRDb250ZW50KGh0bWxfNWM5YTU5Nzg4YjBiNDk2Y2FlMzE0MWI5Njg5ZWNjNDUpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfMDVhODZkMmM1YmY0NDQ0MjliNjlkOTBjNzg5ZTAxYjUuYmluZFBvcHVwKHBvcHVwXzgxZGU1Y2Q1YTY5NjQ2ZGM4ZDIzYmYxM2M4NTAwMTFkKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzhhNjEzOTkyYWU3MzRkMjhiN2E5N2JhOWQ1N2ZiMzNkID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzI1MjYzNzgyMTY1MDMsLTczLjg0NDQ3NTAwNzg4OTgzXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2NjNjgwODZhNmI4OTQ4YzY4ZTJmMDNkOTVmM2VjZDRlID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2Y1MmZlNzUxYzFmZTQ2ZDNhZWM2MjM4ZWU1ZGQ0MGJkID0gJCgnPGRpdiBpZD0iaHRtbF9mNTJmZTc1MWMxZmU0NmQzYWVjNjIzOGVlNWRkNDBiZCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Rm9yZXN0IEhpbGxzPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9jYzY4MDg2YTZiODk0OGM2OGUyZjAzZDk1ZjNlY2Q0ZS5zZXRDb250ZW50KGh0bWxfZjUyZmU3NTFjMWZlNDZkM2FlYzYyMzhlZTVkZDQwYmQpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfOGE2MTM5OTJhZTczNGQyOGI3YTk3YmE5ZDU3ZmIzM2QuYmluZFBvcHVwKHBvcHVwX2NjNjgwODZhNmI4OTQ4YzY4ZTJmMDNkOTVmM2VjZDRlKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzNjOWY1Zjk5MGUxYTQ1NTFiYzY4ZDI1YjBmNTcyZjFlID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzA1MTc5MDM1NDE0OCwtNzMuODI5ODE5MDU4MjU3MDNdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMDU2NzYwNjM2NmE0NGM5YmI4YTM1NmIzN2EzNGQ4OWMgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZmU2ZmQyOTBiNzcwNGQ1ZjhiOTQyNjkyMWU1MTY2ZDEgPSAkKCc8ZGl2IGlkPSJodG1sX2ZlNmZkMjkwYjc3MDRkNWY4Yjk0MjY5MjFlNTE2NmQxIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5LZXcgR2FyZGVuczwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMDU2NzYwNjM2NmE0NGM5YmI4YTM1NmIzN2EzNGQ4OWMuc2V0Q29udGVudChodG1sX2ZlNmZkMjkwYjc3MDRkNWY4Yjk0MjY5MjFlNTE2NmQxKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzNjOWY1Zjk5MGUxYTQ1NTFiYzY4ZDI1YjBmNTcyZjFlLmJpbmRQb3B1cChwb3B1cF8wNTY3NjA2MzY2YTQ0YzliYjhhMzU2YjM3YTM0ZDg5Yyk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8wOTg3NTJkM2YxMTA0OTcxYTc0NjFhYzExODFmNGZiNCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjY5Nzk0NzMxNDcxNzYzLC03My44MzE4MzMyMTQ0Njg4N10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF80YmRhZGE3Mzc2MGQ0MGRkYWYyODI0MjY3NTQwMDYyZiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8xNmUzNzhjZTFjMjI0ODU1YWQ2NTBhMjg3N2NjNDZmYSA9ICQoJzxkaXYgaWQ9Imh0bWxfMTZlMzc4Y2UxYzIyNDg1NWFkNjUwYTI4NzdjYzQ2ZmEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlJpY2htb25kIEhpbGw8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzRiZGFkYTczNzYwZDQwZGRhZjI4MjQyNjc1NDAwNjJmLnNldENvbnRlbnQoaHRtbF8xNmUzNzhjZTFjMjI0ODU1YWQ2NTBhMjg3N2NjNDZmYSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8wOTg3NTJkM2YxMTA0OTcxYTc0NjFhYzExODFmNGZiNC5iaW5kUG9wdXAocG9wdXBfNGJkYWRhNzM3NjBkNDBkZGFmMjgyNDI2NzU0MDA2MmYpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMWEyMjAwNTI3MDhjNGQ5MmEyMDlmYWJiZmQ4ZTlhMDIgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43NjQ0NTQxOTY5Nzg0NiwtNzMuODMxNzczMDAzMjk1ODJdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMWE5NmRhZTBkNmU4NDQ5Njk4ZTNhNGU3YzY4YjEyNzcgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZDk0YjJkZjY1YzUyNDVhODgwYWEwYWU0ZjcxNzdlYjcgPSAkKCc8ZGl2IGlkPSJodG1sX2Q5NGIyZGY2NWM1MjQ1YTg4MGFhMGFlNGY3MTc3ZWI3IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5GbHVzaGluZzwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMWE5NmRhZTBkNmU4NDQ5Njk4ZTNhNGU3YzY4YjEyNzcuc2V0Q29udGVudChodG1sX2Q5NGIyZGY2NWM1MjQ1YTg4MGFhMGFlNGY3MTc3ZWI3KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzFhMjIwMDUyNzA4YzRkOTJhMjA5ZmFiYmZkOGU5YTAyLmJpbmRQb3B1cChwb3B1cF8xYTk2ZGFlMGQ2ZTg0NDk2OThlM2E0ZTdjNjhiMTI3Nyk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl81OTRiNzdhYTFiODM0NTVhYmU3OGRmODUxNzRiODA3MCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjc1MDIxNzM0NjEwNTI4LC03My45MzkyMDIyMzkxNTUwNV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9jZDNkZmRiZjdmNzc0NDI4YTgxMWY5NTE1MGU1YjJkZiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9jZjk5MmVjYzYzMzQ0MTUyYjFjNTQ5NmJjNjkwMjIzNSA9ICQoJzxkaXYgaWQ9Imh0bWxfY2Y5OTJlY2M2MzM0NDE1MmIxYzU0OTZiYzY5MDIyMzUiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkxvbmcgSXNsYW5kIENpdHk8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2NkM2RmZGJmN2Y3NzQ0MjhhODExZjk1MTUwZTViMmRmLnNldENvbnRlbnQoaHRtbF9jZjk5MmVjYzYzMzQ0MTUyYjFjNTQ5NmJjNjkwMjIzNSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl81OTRiNzdhYTFiODM0NTVhYmU3OGRmODUxNzRiODA3MC5iaW5kUG9wdXAocG9wdXBfY2QzZGZkYmY3Zjc3NDQyOGE4MTFmOTUxNTBlNWIyZGYpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMTg4ZGE5YzM5Y2NlNDIzYjljZGVhZDI5MTI3MzM2YWIgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43NDAxNzYyODM1MTkyNCwtNzMuOTI2OTE2MTc1NjE1NzddLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZGY5OGU5NjA4MmI1NGM0YmI2ZWEwZGU4MjAyMzM0YmUgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNjNjNThiMGYwMGM0NDUzY2FiNDEzOTI3MWU5M2VhMWIgPSAkKCc8ZGl2IGlkPSJodG1sXzYzYzU4YjBmMDBjNDQ1M2NhYjQxMzkyNzFlOTNlYTFiIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5TdW5ueXNpZGU8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2RmOThlOTYwODJiNTRjNGJiNmVhMGRlODIwMjMzNGJlLnNldENvbnRlbnQoaHRtbF82M2M1OGIwZjAwYzQ0NTNjYWI0MTM5MjcxZTkzZWExYik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8xODhkYTljMzljY2U0MjNiOWNkZWFkMjkxMjczMzZhYi5iaW5kUG9wdXAocG9wdXBfZGY5OGU5NjA4MmI1NGM0YmI2ZWEwZGU4MjAyMzM0YmUpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZDVmZWQ4MTYyY2ViNGM5YTkwMDA1NTk1ODFlMDhmZDkgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43NjQwNzMyMzg4MzA5MSwtNzMuODY3MDQxNDc2NTg3NzJdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMzZkYWMyNjc3YjE3NGYzOGE1ZDU0YjA4MGM3MTkzODEgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYjYyMjJjYmE1MDdlNDc3MWE5OTdmNTY3ZDUxZDkwNzQgPSAkKCc8ZGl2IGlkPSJodG1sX2I2MjIyY2JhNTA3ZTQ3NzFhOTk3ZjU2N2Q1MWQ5MDc0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5FYXN0IEVsbWh1cnN0PC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8zNmRhYzI2NzdiMTc0ZjM4YTVkNTRiMDgwYzcxOTM4MS5zZXRDb250ZW50KGh0bWxfYjYyMjJjYmE1MDdlNDc3MWE5OTdmNTY3ZDUxZDkwNzQpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfZDVmZWQ4MTYyY2ViNGM5YTkwMDA1NTk1ODFlMDhmZDkuYmluZFBvcHVwKHBvcHVwXzM2ZGFjMjY3N2IxNzRmMzhhNWQ1NGIwODBjNzE5MzgxKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2YwNDUxMTdhZmRkNTQ0NjE4ZGZjZTg2ZjFhMGRhOTA0ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzI1NDI3Mzc0MDkzNjA2LC03My44OTYyMTcxMzYyNjg1OV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9iNGU4YzE3ODI1N2U0ZmQ2YWY2NjNlYzA0ZTU2MDk5MCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9kNjM5NDllZjBmMTQ0NTNlOThmM2UxODc4Y2Y0NTViNyA9ICQoJzxkaXYgaWQ9Imh0bWxfZDYzOTQ5ZWYwZjE0NDUzZTk4ZjNlMTg3OGNmNDU1YjciIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPk1hc3BldGg8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2I0ZThjMTc4MjU3ZTRmZDZhZjY2M2VjMDRlNTYwOTkwLnNldENvbnRlbnQoaHRtbF9kNjM5NDllZjBmMTQ0NTNlOThmM2UxODc4Y2Y0NTViNyk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9mMDQ1MTE3YWZkZDU0NDYxOGRmY2U4NmYxYTBkYTkwNC5iaW5kUG9wdXAocG9wdXBfYjRlOGMxNzgyNTdlNGZkNmFmNjYzZWMwNGU1NjA5OTApOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYjY2NWE3OGRmNGIwNGMwMjhiNzY2YjU1MTc5NDgzM2EgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43MDgzMjMxNTYxMzg1OCwtNzMuOTAxNDM1MTc1NTk1ODldLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNTJmYTc4ZmNiODFkNDFlN2FhZTQwNDkwYjVlOGJjNDggPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZTZjZmZmYjAzMTY0NGZkZGIxY2Q3NGY2MDNjODg0NDIgPSAkKCc8ZGl2IGlkPSJodG1sX2U2Y2ZmZmIwMzE2NDRmZGRiMWNkNzRmNjAzYzg4NDQyIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5SaWRnZXdvb2Q8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzUyZmE3OGZjYjgxZDQxZTdhYWU0MDQ5MGI1ZThiYzQ4LnNldENvbnRlbnQoaHRtbF9lNmNmZmZiMDMxNjQ0ZmRkYjFjZDc0ZjYwM2M4ODQ0Mik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9iNjY1YTc4ZGY0YjA0YzAyOGI3NjZiNTUxNzk0ODMzYS5iaW5kUG9wdXAocG9wdXBfNTJmYTc4ZmNiODFkNDFlN2FhZTQwNDkwYjVlOGJjNDgpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMDAzNWRhNzI3ZTU5NGY0ZGE1MzExN2YwNGZjODNhOWIgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43MDI3NjI0Mjk2NzgzOCwtNzMuODcwNzQxNjc0MzU2MDVdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNGQ2MmMxMDBiMjA5NDIxYjg3MjMyMmJmZWY2MTE2NTAgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfY2ZkMDM4NGM0Y2FhNGJiMzg3N2MyODA4YjczNWE0NDkgPSAkKCc8ZGl2IGlkPSJodG1sX2NmZDAzODRjNGNhYTRiYjM4NzdjMjgwOGI3MzVhNDQ5IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5HbGVuZGFsZTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNGQ2MmMxMDBiMjA5NDIxYjg3MjMyMmJmZWY2MTE2NTAuc2V0Q29udGVudChodG1sX2NmZDAzODRjNGNhYTRiYjM4NzdjMjgwOGI3MzVhNDQ5KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzAwMzVkYTcyN2U1OTRmNGRhNTMxMTdmMDRmYzgzYTliLmJpbmRQb3B1cChwb3B1cF80ZDYyYzEwMGIyMDk0MjFiODcyMzIyYmZlZjYxMTY1MCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8yNWUzYjM4ZjM0ZDA0MmQ4OGZmMmNjM2FjYjg5ZDUyMyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjcyODk3NDA5NDgwNzM1LC03My44NTc4MjY4NjkwNTM3XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzQ3ZDE4NGJkNTNjMjQ5YjE4NDZlZDRlNTAzODQzNzY5ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzhhNDgyMjM4OWJmMTQ1YTQ5MGMwOTVmN2U2OWYwNzc4ID0gJCgnPGRpdiBpZD0iaHRtbF84YTQ4MjIzODliZjE0NWE0OTBjMDk1ZjdlNjlmMDc3OCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+UmVnbyBQYXJrPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF80N2QxODRiZDUzYzI0OWIxODQ2ZWQ0ZTUwMzg0Mzc2OS5zZXRDb250ZW50KGh0bWxfOGE0ODIyMzg5YmYxNDVhNDkwYzA5NWY3ZTY5ZjA3NzgpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfMjVlM2IzOGYzNGQwNDJkODhmZjJjYzNhY2I4OWQ1MjMuYmluZFBvcHVwKHBvcHVwXzQ3ZDE4NGJkNTNjMjQ5YjE4NDZlZDRlNTAzODQzNzY5KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzJmOTQyYTllZWEzNTRmNTlhZmRhYmNlYWY4MjFmOTE4ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjg5ODg2ODc5MTU3ODksLTczLjg1ODExMDQ2NTU0MzJdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfN2Y4MzMwMDM4OGRkNDdlODk3Mjk0YWNkZTUyNjFlZjkgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMWVhZTNmNzc2MDlmNDVjMGI3M2JmMDlhNmYwMWQ5ZjUgPSAkKCc8ZGl2IGlkPSJodG1sXzFlYWUzZjc3NjA5ZjQ1YzBiNzNiZjA5YTZmMDFkOWY1IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Xb29kaGF2ZW48L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzdmODMzMDAzODhkZDQ3ZTg5NzI5NGFjZGU1MjYxZWY5LnNldENvbnRlbnQoaHRtbF8xZWFlM2Y3NzYwOWY0NWMwYjczYmYwOWE2ZjAxZDlmNSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8yZjk0MmE5ZWVhMzU0ZjU5YWZkYWJjZWFmODIxZjkxOC5iaW5kUG9wdXAocG9wdXBfN2Y4MzMwMDM4OGRkNDdlODk3Mjk0YWNkZTUyNjFlZjkpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYmYwMDdkODA4MGUzNGM2ZjlhYWE1MTAyZDMzYmNlYjEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42ODA3MDg0NjgyNjU0MTUsLTczLjg0MzIwMjY2MTczNDQ3XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2M0MDJlMmM4MmY5NzRhNGU5YjE0MWRjNjZiMWIyYjllID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzc1ZmYxZTViZmYxMjQ1OGViODBiNjNhZGRlYTg2NTcwID0gJCgnPGRpdiBpZD0iaHRtbF83NWZmMWU1YmZmMTI0NThlYjgwYjYzYWRkZWE4NjU3MCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+T3pvbmUgUGFyazwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfYzQwMmUyYzgyZjk3NGE0ZTliMTQxZGM2NmIxYjJiOWUuc2V0Q29udGVudChodG1sXzc1ZmYxZTViZmYxMjQ1OGViODBiNjNhZGRlYTg2NTcwKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2JmMDA3ZDgwODBlMzRjNmY5YWFhNTEwMmQzM2JjZWIxLmJpbmRQb3B1cChwb3B1cF9jNDAyZTJjODJmOTc0YTRlOWIxNDFkYzY2YjFiMmI5ZSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl85MGIyNzgwZDE0YWI0YzI1ODY0ZjUyYjMzM2NkZmFlNCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjY2ODU0OTU3NzY3MTk1LC03My44MDk4NjQ3ODY0OTA0MV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8yNTIzOWYzNzJmZTI0ZTdlODdmNGY3YjEzZjljYzZjMyA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF82OTQ5NWIzM2U5OGU0YTExYWM5Y2MzMDczZmE3ZDI2NiA9ICQoJzxkaXYgaWQ9Imh0bWxfNjk0OTViMzNlOThlNGExMWFjOWNjMzA3M2ZhN2QyNjYiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlNvdXRoIE96b25lIFBhcms8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzI1MjM5ZjM3MmZlMjRlN2U4N2Y0ZjdiMTNmOWNjNmMzLnNldENvbnRlbnQoaHRtbF82OTQ5NWIzM2U5OGU0YTExYWM5Y2MzMDczZmE3ZDI2Nik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl85MGIyNzgwZDE0YWI0YzI1ODY0ZjUyYjMzM2NkZmFlNC5iaW5kUG9wdXAocG9wdXBfMjUyMzlmMzcyZmUyNGU3ZTg3ZjRmN2IxM2Y5Y2M2YzMpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNTJkOTBhYzFkYTUyNDI4ZDg5NTZmYjcxY2MxYmIzNjUgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43ODQ5MDI3NDkyNjAyMDUsLTczLjg0MzA0NTI4ODk2MTI1XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzYxMTVlZmVhMTgxYzRlNjE4YjVhMGJiMWE5YWVkYWIxID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzBjYzQ0M2JjNGNiZjQyYTRiNTA5YWZhMDFkZmIyYmZiID0gJCgnPGRpdiBpZD0iaHRtbF8wY2M0NDNiYzRjYmY0MmE0YjUwOWFmYTAxZGZiMmJmYiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Q29sbGVnZSBQb2ludDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNjExNWVmZWExODFjNGU2MThiNWEwYmIxYTlhZWRhYjEuc2V0Q29udGVudChodG1sXzBjYzQ0M2JjNGNiZjQyYTRiNTA5YWZhMDFkZmIyYmZiKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzUyZDkwYWMxZGE1MjQyOGQ4OTU2ZmI3MWNjMWJiMzY1LmJpbmRQb3B1cChwb3B1cF82MTE1ZWZlYTE4MWM0ZTYxOGI1YTBiYjFhOWFlZGFiMSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9jZGQ1MDUzYWJlNzM0OWFjOTM1OWM2ODI4YTZkZWQ2MyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjc4MTI5MDc2NjAyNjk0LC03My44MTQyMDIxNjYxMDg2M10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9lNzNhZWU1MDhkNzg0YmU0OTg4Zjk5NzQ4MzAxNWEyNyA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9hZDE4MDMyZTlmNjM0NDVjYTdmNDg4NzJkNDgzMDQ2YyA9ICQoJzxkaXYgaWQ9Imh0bWxfYWQxODAzMmU5ZjYzNDQ1Y2E3ZjQ4ODcyZDQ4MzA0NmMiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPldoaXRlc3RvbmU8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2U3M2FlZTUwOGQ3ODRiZTQ5ODhmOTk3NDgzMDE1YTI3LnNldENvbnRlbnQoaHRtbF9hZDE4MDMyZTlmNjM0NDVjYTdmNDg4NzJkNDgzMDQ2Yyk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9jZGQ1MDUzYWJlNzM0OWFjOTM1OWM2ODI4YTZkZWQ2My5iaW5kUG9wdXAocG9wdXBfZTczYWVlNTA4ZDc4NGJlNDk4OGY5OTc0ODMwMTVhMjcpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZWM3ZmQ1ZjQ2ZjZhNGUzZmJhM2VmMzc0ZTAwYzVkMDUgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43NjYwNDA2MzI4MTA2NCwtNzMuNzc0MjczNjMwNjg2N10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF85YTAyMDdjNmQ0Y2Y0NzFlOTVhMmRkYjQ3OTViM2ExMyA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9lMmJjZWVmYWM0ZTU0NzA2YmZiMDI1NWNlNzY0MGNlNSA9ICQoJzxkaXYgaWQ9Imh0bWxfZTJiY2VlZmFjNGU1NDcwNmJmYjAyNTVjZTc2NDBjZTUiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkJheXNpZGU8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzlhMDIwN2M2ZDRjZjQ3MWU5NWEyZGRiNDc5NWIzYTEzLnNldENvbnRlbnQoaHRtbF9lMmJjZWVmYWM0ZTU0NzA2YmZiMDI1NWNlNzY0MGNlNSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9lYzdmZDVmNDZmNmE0ZTNmYmEzZWYzNzRlMDBjNWQwNS5iaW5kUG9wdXAocG9wdXBfOWEwMjA3YzZkNGNmNDcxZTk1YTJkZGI0Nzk1YjNhMTMpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYjU4N2IxNmUzNDAwNGEyN2JlNjgyMzNhNjIwMzU1OTEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43NjE3Mjk1NDkwMzI2MiwtNzMuNzkxNzYyNDM3MjgwNjFdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMDQ0MWJlMzU5MTgzNDE1NDg0MzZkNWE0MDEwYTk4YzUgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfOTZhMDA2Zjk2NGQ0NGZmYjhhZGJjYWY5N2ExMjA4YzYgPSAkKCc8ZGl2IGlkPSJodG1sXzk2YTAwNmY5NjRkNDRmZmI4YWRiY2FmOTdhMTIwOGM2IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5BdWJ1cm5kYWxlPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8wNDQxYmUzNTkxODM0MTU0ODQzNmQ1YTQwMTBhOThjNS5zZXRDb250ZW50KGh0bWxfOTZhMDA2Zjk2NGQ0NGZmYjhhZGJjYWY5N2ExMjA4YzYpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYjU4N2IxNmUzNDAwNGEyN2JlNjgyMzNhNjIwMzU1OTEuYmluZFBvcHVwKHBvcHVwXzA0NDFiZTM1OTE4MzQxNTQ4NDM2ZDVhNDAxMGE5OGM1KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzIzNTM2MjJiZjM4MTQwODhiYmZlZjI2MTg4NThkNmE2ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzcwODI2MTkyODI2NywtNzMuNzM4ODk3NzU1ODA3NF0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9hOTg3MDZmNGI4Mzg0NmYzOGFmYmMwYmFmM2M0OWViNyA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF85NDExZjA2ZGI4ODY0ZDk1YjMwY2NiZmExZTM2ZDUyYyA9ICQoJzxkaXYgaWQ9Imh0bWxfOTQxMWYwNmRiODg2NGQ5NWIzMGNjYmZhMWUzNmQ1MmMiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkxpdHRsZSBOZWNrPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9hOTg3MDZmNGI4Mzg0NmYzOGFmYmMwYmFmM2M0OWViNy5zZXRDb250ZW50KGh0bWxfOTQxMWYwNmRiODg2NGQ5NWIzMGNjYmZhMWUzNmQ1MmMpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfMjM1MzYyMmJmMzgxNDA4OGJiZmVmMjYxODg1OGQ2YTYuYmluZFBvcHVwKHBvcHVwX2E5ODcwNmY0YjgzODQ2ZjM4YWZiYzBiYWYzYzQ5ZWI3KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2JhYTNlOTFmNDUyZDRlYjVhOTBhNGY2MjExOGQxNGQyID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzY2ODQ2MDk3OTA3NjMsLTczLjc0MjQ5ODIwNzI3MzNdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZDllYzg2Yzk1OTQxNGQ5N2FhZTViMjNkY2FmMTRiZWIgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfODA2Nzc4NDIwOWNiNDFjODg0NGRkZmRlMmFkZWEwMTUgPSAkKCc8ZGl2IGlkPSJodG1sXzgwNjc3ODQyMDljYjQxYzg4NDRkZGZkZTJhZGVhMDE1IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Eb3VnbGFzdG9uPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9kOWVjODZjOTU5NDE0ZDk3YWFlNWIyM2RjYWYxNGJlYi5zZXRDb250ZW50KGh0bWxfODA2Nzc4NDIwOWNiNDFjODg0NGRkZmRlMmFkZWEwMTUpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYmFhM2U5MWY0NTJkNGViNWE5MGE0ZjYyMTE4ZDE0ZDIuYmluZFBvcHVwKHBvcHVwX2Q5ZWM4NmM5NTk0MTRkOTdhYWU1YjIzZGNhZjE0YmViKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzBhZjdmOTRkMjM2NDRkMjBiYTZkY2I3MzA1MDM1MWE4ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzQ5NDQwNzk5NzQzMzIsLTczLjcxNTQ4MTE4OTk5MTQ1XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzcwMzQwMWRiMTY2YTQ2NmFhMWJkNWEyYzRlOGY2ODFhID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2RiNjhlNjkyMGFiODQ3MWJiY2ZjMTY4ZjJlOGVmNGU5ID0gJCgnPGRpdiBpZD0iaHRtbF9kYjY4ZTY5MjBhYjg0NzFiYmNmYzE2OGYyZThlZjRlOSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+R2xlbiBPYWtzPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF83MDM0MDFkYjE2NmE0NjZhYTFiZDVhMmM0ZThmNjgxYS5zZXRDb250ZW50KGh0bWxfZGI2OGU2OTIwYWI4NDcxYmJjZmMxNjhmMmU4ZWY0ZTkpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfMGFmN2Y5NGQyMzY0NGQyMGJhNmRjYjczMDUwMzUxYTguYmluZFBvcHVwKHBvcHVwXzcwMzQwMWRiMTY2YTQ2NmFhMWJkNWEyYzRlOGY2ODFhKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzc2ZDI0N2ZiYWQyYjQ4YjFiOWM0MTRiNjk3YmJjYzg5ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzI4NTczMTgxNzY2NzUsLTczLjcyMDEyODE0ODI2OTAzXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2VlMDNkODNmOWY0YTQ4ZmJiYjQ2YmFmNWZkZDllM2Q0ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2YyOWE3YzczOTM0MzQ2Y2NiMTQ0Y2QwNTI5Mjk0NTcxID0gJCgnPGRpdiBpZD0iaHRtbF9mMjlhN2M3MzkzNDM0NmNjYjE0NGNkMDUyOTI5NDU3MSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+QmVsbGVyb3NlPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9lZTAzZDgzZjlmNGE0OGZiYmI0NmJhZjVmZGQ5ZTNkNC5zZXRDb250ZW50KGh0bWxfZjI5YTdjNzM5MzQzNDZjY2IxNDRjZDA1MjkyOTQ1NzEpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfNzZkMjQ3ZmJhZDJiNDhiMWI5YzQxNGI2OTdiYmNjODkuYmluZFBvcHVwKHBvcHVwX2VlMDNkODNmOWY0YTQ4ZmJiYjQ2YmFmNWZkZDllM2Q0KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2YwOTE2MjMzYjkyZTRjODc5MDA5NjVkMzhhMTgyMmUzID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzIyNTc4MjQ0MjI4MDQ2LC03My44MjA4Nzc2NDkzMzU2Nl0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF82Y2E5NzE2Nzk3ZWU0NjZkYTBmOTFkYzdhODFiZWQwYiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF84NmUxMzRkNDIwOTY0NDNlYTMxNjhjNTY4YTg2NDEzMCA9ICQoJzxkaXYgaWQ9Imh0bWxfODZlMTM0ZDQyMDk2NDQzZWEzMTY4YzU2OGE4NjQxMzAiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPktldyBHYXJkZW5zIEhpbGxzPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF82Y2E5NzE2Nzk3ZWU0NjZkYTBmOTFkYzdhODFiZWQwYi5zZXRDb250ZW50KGh0bWxfODZlMTM0ZDQyMDk2NDQzZWEzMTY4YzU2OGE4NjQxMzApOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfZjA5MTYyMzNiOTJlNGM4NzkwMDk2NWQzOGExODIyZTMuYmluZFBvcHVwKHBvcHVwXzZjYTk3MTY3OTdlZTQ2NmRhMGY5MWRjN2E4MWJlZDBiKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzVjNTRlNTY4ODE0ZDQ1NzNhYWE3NzNjNGQxODBiMmUwID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzM0Mzk0NDY1MzMxMywtNzMuNzgyNzEzMzcwMDMyNjRdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZThmNTAxNGFhMTk0NGI0Njg2NzZkN2IyZWRlZGU2YjYgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNmVhODdhMmUyMTkzNGUwMTg2YTY3OTliYzVmYzA1NzQgPSAkKCc8ZGl2IGlkPSJodG1sXzZlYTg3YTJlMjE5MzRlMDE4NmE2Nzk5YmM1ZmMwNTc0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5GcmVzaCBNZWFkb3dzPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9lOGY1MDE0YWExOTQ0YjQ2ODY3NmQ3YjJlZGVkZTZiNi5zZXRDb250ZW50KGh0bWxfNmVhODdhMmUyMTkzNGUwMTg2YTY3OTliYzVmYzA1NzQpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfNWM1NGU1Njg4MTRkNDU3M2FhYTc3M2M0ZDE4MGIyZTAuYmluZFBvcHVwKHBvcHVwX2U4ZjUwMTRhYTE5NDRiNDY4Njc2ZDdiMmVkZWRlNmI2KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzA2N2NjODI1NTU0ZDQ1Zjk5ZWRjNmM2OGYwYmQxZTc1ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzEwOTM1NDcyNTIyNzEsLTczLjgxMTc0ODIyNDU4NjM0XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzNlOWFhMTdiNDRlNTQ3YTBiOTBkMzY5M2I3N2JjYmMwID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2MwNDdjYTU1N2Y3MDRmOTY4OGY4MDBiNTMzZTM3ZjFiID0gJCgnPGRpdiBpZD0iaHRtbF9jMDQ3Y2E1NTdmNzA0Zjk2ODhmODAwYjUzM2UzN2YxYiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+QnJpYXJ3b29kPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8zZTlhYTE3YjQ0ZTU0N2EwYjkwZDM2OTNiNzdiY2JjMC5zZXRDb250ZW50KGh0bWxfYzA0N2NhNTU3ZjcwNGY5Njg4ZjgwMGI1MzNlMzdmMWIpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfMDY3Y2M4MjU1NTRkNDVmOTllZGM2YzY4ZjBiZDFlNzUuYmluZFBvcHVwKHBvcHVwXzNlOWFhMTdiNDRlNTQ3YTBiOTBkMzY5M2I3N2JjYmMwKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzIxYmE1M2Y1NDllYzQ1MTliZjIzMTQ3NGE2YzNhZGFlID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzA0NjU3MzYwNjg3MTcsLTczLjc5NjkwMTY1ODg4Mjg5XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2RjYmU0OTU1MDdmNzRhMDg4ZTViOGEwZTQ3M2JlZmI2ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzlhNTQxNjc2OGE2NjRkODZiZTJkYWYzMjA5ZDliOWViID0gJCgnPGRpdiBpZD0iaHRtbF85YTU0MTY3NjhhNjY0ZDg2YmUyZGFmMzIwOWQ5YjllYiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+SmFtYWljYSBDZW50ZXI8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2RjYmU0OTU1MDdmNzRhMDg4ZTViOGEwZTQ3M2JlZmI2LnNldENvbnRlbnQoaHRtbF85YTU0MTY3NjhhNjY0ZDg2YmUyZGFmMzIwOWQ5YjllYik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8yMWJhNTNmNTQ5ZWM0NTE5YmYyMzE0NzRhNmMzYWRhZS5iaW5kUG9wdXAocG9wdXBfZGNiZTQ5NTUwN2Y3NGEwODhlNWI4YTBlNDczYmVmYjYpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYTU5YWEwN2UxMTg4NGM5YTk2ZjI2ZWM5MWU1MGRjOTYgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43NDU2MTg1NzE0MTg1NSwtNzMuNzU0OTQ5NzYyMzQzMzJdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNWU3NzEwYWU1ZGFkNGFmNjk2NjViODM4MTY0ZjU0OWYgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMzMyNTVkMjMwMDFjNDEwNWI5ODdkZWRjYWE5ZTFlMzggPSAkKCc8ZGl2IGlkPSJodG1sXzMzMjU1ZDIzMDAxYzQxMDViOTg3ZGVkY2FhOWUxZTM4IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5PYWtsYW5kIEdhcmRlbnM8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzVlNzcxMGFlNWRhZDRhZjY5NjY1YjgzODE2NGY1NDlmLnNldENvbnRlbnQoaHRtbF8zMzI1NWQyMzAwMWM0MTA1Yjk4N2RlZGNhYTllMWUzOCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9hNTlhYTA3ZTExODg0YzlhOTZmMjZlYzkxZTUwZGM5Ni5iaW5kUG9wdXAocG9wdXBfNWU3NzEwYWU1ZGFkNGFmNjk2NjViODM4MTY0ZjU0OWYpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfY2Y2NjhmNGZjMzU2NDI2YThmOGY5MWM1NjJjYjM1ZDcgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43MTg4OTMwOTIxNjczNTYsLTczLjczODcxNDg0NTc4NDI0XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzY4MDEwMmFiM2FiZDRjYzU4Y2JjNTUyOTg3NjMwYTU0ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzdkZjg1NjEzNTk0ODRmYzBhMmJlYmRiMjk4NGE4YjE1ID0gJCgnPGRpdiBpZD0iaHRtbF83ZGY4NTYxMzU5NDg0ZmMwYTJiZWJkYjI5ODRhOGIxNSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+UXVlZW5zIFZpbGxhZ2U8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzY4MDEwMmFiM2FiZDRjYzU4Y2JjNTUyOTg3NjMwYTU0LnNldENvbnRlbnQoaHRtbF83ZGY4NTYxMzU5NDg0ZmMwYTJiZWJkYjI5ODRhOGIxNSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9jZjY2OGY0ZmMzNTY0MjZhOGY4ZjkxYzU2MmNiMzVkNy5iaW5kUG9wdXAocG9wdXBfNjgwMTAyYWIzYWJkNGNjNThjYmM1NTI5ODc2MzBhNTQpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZjI2ZTg4YTY3ZjJlNDBkYmJmMzI4ZGIyZmE4ZjhkYzUgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43MTEyNDM0NDE5MTkwNCwtNzMuNzU5MjUwMDkzMzU1OTRdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMTVmNGI4MWI2Yzg5NGY4ZDk2ZGE2Y2MwNDM3N2EzZjYgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNTVkN2FhZDlkZDg0NDdlNjgyNGZmOTliMWQyODBkMTMgPSAkKCc8ZGl2IGlkPSJodG1sXzU1ZDdhYWQ5ZGQ4NDQ3ZTY4MjRmZjk5YjFkMjgwZDEzIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Ib2xsaXM8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzE1ZjRiODFiNmM4OTRmOGQ5NmRhNmNjMDQzNzdhM2Y2LnNldENvbnRlbnQoaHRtbF81NWQ3YWFkOWRkODQ0N2U2ODI0ZmY5OWIxZDI4MGQxMyk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9mMjZlODhhNjdmMmU0MGRiYmYzMjhkYjJmYThmOGRjNS5iaW5kUG9wdXAocG9wdXBfMTVmNGI4MWI2Yzg5NGY4ZDk2ZGE2Y2MwNDM3N2EzZjYpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfOTRmMzBlNTA5MWFlNDc4MzgyOTk2NTYwYzkzZGZmOWUgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42OTY5MTEyNTM3ODk4ODUsLTczLjc5MDQyNjEzMTM1NTRdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfYjAzNWIwYmE4YTJkNGZlNDk5NzIzNmNjYjZiNmY4ZmMgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYjQxNTc3ODUzZTU0NGExMzhiMjBmMTM2YjVjYTkyMWIgPSAkKCc8ZGl2IGlkPSJodG1sX2I0MTU3Nzg1M2U1NDRhMTM4YjIwZjEzNmI1Y2E5MjFiIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Tb3V0aCBKYW1haWNhPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9iMDM1YjBiYThhMmQ0ZmU0OTk3MjM2Y2NiNmI2ZjhmYy5zZXRDb250ZW50KGh0bWxfYjQxNTc3ODUzZTU0NGExMzhiMjBmMTM2YjVjYTkyMWIpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfOTRmMzBlNTA5MWFlNDc4MzgyOTk2NTYwYzkzZGZmOWUuYmluZFBvcHVwKHBvcHVwX2IwMzViMGJhOGEyZDRmZTQ5OTcyMzZjY2I2YjZmOGZjKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2ZjZWFmYTliNTA3YTQxOGViMjMyNDczMzY4MDM4MzBkID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjk0NDQ1Mzg1MjIzNTksLTczLjc1ODY3NjAzNzI3NzE3XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzJiZTlkNmQyM2IxNDQ3NTRhYzYzNWIwMTY4ZTk2MDQyID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzlmMGFjNTk3Mzk5YjQ1YjliZDE2ZjFjM2IwZTJmZWIyID0gJCgnPGRpdiBpZD0iaHRtbF85ZjBhYzU5NzM5OWI0NWI5YmQxNmYxYzNiMGUyZmViMiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+U3QuIEFsYmFuczwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMmJlOWQ2ZDIzYjE0NDc1NGFjNjM1YjAxNjhlOTYwNDIuc2V0Q29udGVudChodG1sXzlmMGFjNTk3Mzk5YjQ1YjliZDE2ZjFjM2IwZTJmZWIyKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2ZjZWFmYTliNTA3YTQxOGViMjMyNDczMzY4MDM4MzBkLmJpbmRQb3B1cChwb3B1cF8yYmU5ZDZkMjNiMTQ0NzU0YWM2MzViMDE2OGU5NjA0Mik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8yYTNmNDE3NmMwYjk0ODMxOGZlOWM1MzEwMTA4YWEwNyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjY3NTIxMTM5NTkxNzMzLC03My43NzI1ODc4NzYyMDkwNl0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF82Y2JkNjJlNGU5NGM0NjhlODM5MDdhNjNmM2VkNGQ1MCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9kMmQ4ZGNmY2VhMGE0NGIyYjk5ODdhMjE1MTYxMmRlYSA9ICQoJzxkaXYgaWQ9Imh0bWxfZDJkOGRjZmNlYTBhNDRiMmI5OTg3YTIxNTE2MTJkZWEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlJvY2hkYWxlPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF82Y2JkNjJlNGU5NGM0NjhlODM5MDdhNjNmM2VkNGQ1MC5zZXRDb250ZW50KGh0bWxfZDJkOGRjZmNlYTBhNDRiMmI5OTg3YTIxNTE2MTJkZWEpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfMmEzZjQxNzZjMGI5NDgzMThmZTljNTMxMDEwOGFhMDcuYmluZFBvcHVwKHBvcHVwXzZjYmQ2MmU0ZTk0YzQ2OGU4MzkwN2E2M2YzZWQ0ZDUwKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2Y1MDM5ODUzZTk5ODQyNDA5MTUyYmYzNjZiZTJiZWJhID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjY2MjMwNDkwMzY4NTg0LC03My43NjA0MjA5MjY4MjI4N10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8yMGU3OWIwMGYwYjI0NWNiOThhZTc5OTczMmI1M2Y5OSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8zMWY2MGRmZDJiYTU0YTA4YjkzODg1NDAzMThmZDMyMSA9ICQoJzxkaXYgaWQ9Imh0bWxfMzFmNjBkZmQyYmE1NGEwOGI5Mzg4NTQwMzE4ZmQzMjEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlNwcmluZ2ZpZWxkIEdhcmRlbnM8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzIwZTc5YjAwZjBiMjQ1Y2I5OGFlNzk5NzMyYjUzZjk5LnNldENvbnRlbnQoaHRtbF8zMWY2MGRmZDJiYTU0YTA4YjkzODg1NDAzMThmZDMyMSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9mNTAzOTg1M2U5OTg0MjQwOTE1MmJmMzY2YmUyYmViYS5iaW5kUG9wdXAocG9wdXBfMjBlNzliMDBmMGIyNDVjYjk4YWU3OTk3MzJiNTNmOTkpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMjE0ODZhYjY2N2Y1NDFhMzk5ZWNjZDYzZmEwOWE3M2IgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42OTI3NzQ2MzkxNjA4NDUsLTczLjczNTI2ODczNzA4MDI2XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2Y5MTI0MjQ0NDM4NzQ0YWViNTMwYWJmMTk0OGExMGYxID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzA1NjBjYjU4MDI0MzRiNDhhNGNjMjM2YzBmZTg3M2UwID0gJCgnPGRpdiBpZD0iaHRtbF8wNTYwY2I1ODAyNDM0YjQ4YTRjYzIzNmMwZmU4NzNlMCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Q2FtYnJpYSBIZWlnaHRzPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9mOTEyNDI0NDQzODc0NGFlYjUzMGFiZjE5NDhhMTBmMS5zZXRDb250ZW50KGh0bWxfMDU2MGNiNTgwMjQzNGI0OGE0Y2MyMzZjMGZlODczZTApOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfMjE0ODZhYjY2N2Y1NDFhMzk5ZWNjZDYzZmEwOWE3M2IuYmluZFBvcHVwKHBvcHVwX2Y5MTI0MjQ0NDM4NzQ0YWViNTMwYWJmMTk0OGExMGYxKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzY1ZTIyNjBmNzMyMjQ5N2M4ZmM2NDc5YzhlMTJiOTA3ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjU5ODE2NDMzNDI4MDg0LC03My43MzUyNjA3OTQyODI3OF0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9lNTU5MDAwMDFiMTA0NTkyOTUxMGU2ZTViMWJkMmFlOCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF83NTU4OGJlZWVkNjU0OWMyYjYzMjc4YWRmNTIyZTBiMyA9ICQoJzxkaXYgaWQ9Imh0bWxfNzU1ODhiZWVlZDY1NDljMmI2MzI3OGFkZjUyMmUwYjMiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlJvc2VkYWxlPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9lNTU5MDAwMDFiMTA0NTkyOTUxMGU2ZTViMWJkMmFlOC5zZXRDb250ZW50KGh0bWxfNzU1ODhiZWVlZDY1NDljMmI2MzI3OGFkZjUyMmUwYjMpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfNjVlMjI2MGY3MzIyNDk3YzhmYzY0NzljOGUxMmI5MDcuYmluZFBvcHVwKHBvcHVwX2U1NTkwMDAwMWIxMDQ1OTI5NTEwZTZlNWIxYmQyYWU4KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzE0NGYwNDI4OTNjZjQxMWQ5OTkyZDdlYmFiNGQ5MmFjID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjAzMTM0NDMyNTAwODk0LC03My43NTQ5Nzk2ODA0Mzg3Ml0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9kYmEzZjlhN2QzZWY0Y2M4OTRjNTFlNjc2ZjQ1OGJhZSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9kMjNmZDU2NWEyNTc0YTkxODIxZDE5Y2YyMGE2NTU3MCA9ICQoJzxkaXYgaWQ9Imh0bWxfZDIzZmQ1NjVhMjU3NGE5MTgyMWQxOWNmMjBhNjU1NzAiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkZhciBSb2NrYXdheTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZGJhM2Y5YTdkM2VmNGNjODk0YzUxZTY3NmY0NThiYWUuc2V0Q29udGVudChodG1sX2QyM2ZkNTY1YTI1NzRhOTE4MjFkMTljZjIwYTY1NTcwKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzE0NGYwNDI4OTNjZjQxMWQ5OTkyZDdlYmFiNGQ5MmFjLmJpbmRQb3B1cChwb3B1cF9kYmEzZjlhN2QzZWY0Y2M4OTRjNTFlNjc2ZjQ1OGJhZSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9hYmMzOTNhMDM1N2U0YjIwODE0NmUyYmNmN2Q1ZTI5ZiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjYwMzAyNjU4MzUxMjM4LC03My44MjAwNTQ4OTExMDMyXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzAyYzVmMGU3YmE2ODQ5ZGNiMzIyODU2YjBkNDdhZjJmID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzFjMzRlN2U5YWIyMTQ5ZmNhNjkxMDgyMTQxMGM0MDNhID0gJCgnPGRpdiBpZD0iaHRtbF8xYzM0ZTdlOWFiMjE0OWZjYTY5MTA4MjE0MTBjNDAzYSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+QnJvYWQgQ2hhbm5lbDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMDJjNWYwZTdiYTY4NDlkY2IzMjI4NTZiMGQ0N2FmMmYuc2V0Q29udGVudChodG1sXzFjMzRlN2U5YWIyMTQ5ZmNhNjkxMDgyMTQxMGM0MDNhKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2FiYzM5M2EwMzU3ZTRiMjA4MTQ2ZTJiY2Y3ZDVlMjlmLmJpbmRQb3B1cChwb3B1cF8wMmM1ZjBlN2JhNjg0OWRjYjMyMjg1NmIwZDQ3YWYyZik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8wNGEwODI2YzZjNTc0ZmQ0YTc4YTFjMTQxNDRmYjdiOSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjU1NzQwMTI4ODQ1NDUyLC03My45MjU1MTE5Njk5NDE2OF0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF85ZTc3MjZkZTEwZDE0NjMxYjRhZjg1MWY5YmYzODRkMCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9jNGM2YmVjZTdhMGQ0YjBiYTU5NmQ5OTI4NjA2NTIwMSA9ICQoJzxkaXYgaWQ9Imh0bWxfYzRjNmJlY2U3YTBkNGIwYmE1OTZkOTkyODYwNjUyMDEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkJyZWV6eSBQb2ludDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfOWU3NzI2ZGUxMGQxNDYzMWI0YWY4NTFmOWJmMzg0ZDAuc2V0Q29udGVudChodG1sX2M0YzZiZWNlN2EwZDRiMGJhNTk2ZDk5Mjg2MDY1MjAxKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzA0YTA4MjZjNmM1NzRmZDRhNzhhMWMxNDE0NGZiN2I5LmJpbmRQb3B1cChwb3B1cF85ZTc3MjZkZTEwZDE0NjMxYjRhZjg1MWY5YmYzODRkMCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9kYjVlNjk1ZTViN2M0NjQ5YTEwY2M0ZWZhNWMwNjcyOSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjc3NTkyMzAxNTY0Mjg5NiwtNzMuOTAyMjg5NjAzOTE2NzNdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMDBiMDBkZTNjNmQ3NDE3MGFkZmRhYzEyODU4ZmM2NDkgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMWNkMGI0YTlkYTMwNDY1ZDhkYzViNThkZjkwYzA0OWIgPSAkKCc8ZGl2IGlkPSJodG1sXzFjZDBiNGE5ZGEzMDQ2NWQ4ZGM1YjU4ZGY5MGMwNDliIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5TdGVpbndheTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMDBiMDBkZTNjNmQ3NDE3MGFkZmRhYzEyODU4ZmM2NDkuc2V0Q29udGVudChodG1sXzFjZDBiNGE5ZGEzMDQ2NWQ4ZGM1YjU4ZGY5MGMwNDliKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2RiNWU2OTVlNWI3YzQ2NDlhMTBjYzRlZmE1YzA2NzI5LmJpbmRQb3B1cChwb3B1cF8wMGIwMGRlM2M2ZDc0MTcwYWRmZGFjMTI4NThmYzY0OSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8zYmE0OGI0Mjc1OTQ0ZGFmODZmMTAyMTFlODRiYzQ1YSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjc5Mjc4MTQwMzYwMDQ4LC03My44MDQzNjQ1MTcyMDk4OF0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF81MmJjZjZlOWQwYTA0ODNiYmExMGM5YzcxOWJkMTliYSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9kM2FjYjkyOWMwNjM0NGM0OGQyZjcyZGYzYzcxNTRlMCA9ICQoJzxkaXYgaWQ9Imh0bWxfZDNhY2I5MjljMDYzNDRjNDhkMmY3MmRmM2M3MTU0ZTAiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkJlZWNoaHVyc3Q8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzUyYmNmNmU5ZDBhMDQ4M2JiYTEwYzljNzE5YmQxOWJhLnNldENvbnRlbnQoaHRtbF9kM2FjYjkyOWMwNjM0NGM0OGQyZjcyZGYzYzcxNTRlMCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8zYmE0OGI0Mjc1OTQ0ZGFmODZmMTAyMTFlODRiYzQ1YS5iaW5kUG9wdXAocG9wdXBfNTJiY2Y2ZTlkMGEwNDgzYmJhMTBjOWM3MTliZDE5YmEpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNjgwZTZiYzdkNWNjNGU2MGI1NzU0MzYxM2VmZGNiMjkgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43ODI4NDI4MDYyNDU1NTQsLTczLjc3NjgwMjIyNjIxNThdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfYTA4MjEzNjE5MTg0NDhhOWI3N2U5OWM1YTA1YmYxNTkgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNjU1OWEzNWY1MGVkNDEzNmEwYzJiM2Q5MDJjNWZhNTggPSAkKCc8ZGl2IGlkPSJodG1sXzY1NTlhMzVmNTBlZDQxMzZhMGMyYjNkOTAyYzVmYTU4IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5CYXkgVGVycmFjZTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfYTA4MjEzNjE5MTg0NDhhOWI3N2U5OWM1YTA1YmYxNTkuc2V0Q29udGVudChodG1sXzY1NTlhMzVmNTBlZDQxMzZhMGMyYjNkOTAyYzVmYTU4KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzY4MGU2YmM3ZDVjYzRlNjBiNTc1NDM2MTNlZmRjYjI5LmJpbmRQb3B1cChwb3B1cF9hMDgyMTM2MTkxODQ0OGE5Yjc3ZTk5YzVhMDViZjE1OSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8wNTYwOTg0ZDFjOGI0MmU3OTU2NDUxMWY2NWQ0Y2U0OSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjU5NTY0MTgwNzM2ODQ5NCwtNzMuNzc2MTMyODIzOTE3MDVdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNzkyMTg0NDkxNzBmNGJmMzk3NjgxNTQ3YjIwY2Q2ZTYgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMTIwMTA1YmQ1MDBjNGM2OGJiMWZhZDc2ODMwMjI2YzggPSAkKCc8ZGl2IGlkPSJodG1sXzEyMDEwNWJkNTAwYzRjNjhiYjFmYWQ3NjgzMDIyNmM4IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5FZGdlbWVyZTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNzkyMTg0NDkxNzBmNGJmMzk3NjgxNTQ3YjIwY2Q2ZTYuc2V0Q29udGVudChodG1sXzEyMDEwNWJkNTAwYzRjNjhiYjFmYWQ3NjgzMDIyNmM4KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzA1NjA5ODRkMWM4YjQyZTc5NTY0NTExZjY1ZDRjZTQ5LmJpbmRQb3B1cChwb3B1cF83OTIxODQ0OTE3MGY0YmYzOTc2ODE1NDdiMjBjZDZlNik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl83MGQ2NTFhNzFiMGM0NWQ4ODI2OGFjZWMzMzg2MDczZSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjU4OTE0Mzk0MzcyOTcxLC03My43OTE5OTIzMzEzNjk0M10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8zN2Q2NmZhNTUyNzU0N2Y1OTllOTQxNDYzYzQwZDVmOCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9lYTExMWFjNTQ4MTA0YTBhYmFkNjcwMGY0OWM0MzdiZSA9ICQoJzxkaXYgaWQ9Imh0bWxfZWExMTFhYzU0ODEwNGEwYWJhZDY3MDBmNDljNDM3YmUiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkFydmVybmU8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzM3ZDY2ZmE1NTI3NTQ3ZjU5OWU5NDE0NjNjNDBkNWY4LnNldENvbnRlbnQoaHRtbF9lYTExMWFjNTQ4MTA0YTBhYmFkNjcwMGY0OWM0MzdiZSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl83MGQ2NTFhNzFiMGM0NWQ4ODI2OGFjZWMzMzg2MDczZS5iaW5kUG9wdXAocG9wdXBfMzdkNjZmYTU1Mjc1NDdmNTk5ZTk0MTQ2M2M0MGQ1ZjgpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMzAzNTRjZGNjNGY3NDA1NTk2YzUwYWY2ZTI1ZTBmMDEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC41ODI4MDE2OTY4NDU1ODYsLTczLjgyMjM2MTIxMDg4NzUxXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzdmZDBhMTY0Y2QyMzQzNTRiZTU5NDkzZDBlMmU0MDg2ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzhiZWVkMjk5ODBmMzQyNTNiNTY3ZWQ5NWFjMjI0NjI2ID0gJCgnPGRpdiBpZD0iaHRtbF84YmVlZDI5OTgwZjM0MjUzYjU2N2VkOTVhYzIyNDYyNiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Um9ja2F3YXkgQmVhY2g8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzdmZDBhMTY0Y2QyMzQzNTRiZTU5NDkzZDBlMmU0MDg2LnNldENvbnRlbnQoaHRtbF84YmVlZDI5OTgwZjM0MjUzYjU2N2VkOTVhYzIyNDYyNik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8zMDM1NGNkY2M0Zjc0MDU1OTZjNTBhZjZlMjVlMGYwMS5iaW5kUG9wdXAocG9wdXBfN2ZkMGExNjRjZDIzNDM1NGJlNTk0OTNkMGUyZTQwODYpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNTQyNmE4ZjhlMjUyNGRkZmEyZWNjNjgyM2Q4Y2YwMjQgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC41NzIwMzY3MzAyMTcwMTUsLTczLjg1NzU0NjcyNDEwODI3XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2MxY2U1MTAzNTUwZjQ4OTZhZmMzMzlkOWRhM2IzOGNjID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzA1N2U2ZmNhM2MwZTQ0N2Y4Zjg1NTE2NGY4M2VmNjliID0gJCgnPGRpdiBpZD0iaHRtbF8wNTdlNmZjYTNjMGU0NDdmOGY4NTUxNjRmODNlZjY5YiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+TmVwb25zaXQ8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2MxY2U1MTAzNTUwZjQ4OTZhZmMzMzlkOWRhM2IzOGNjLnNldENvbnRlbnQoaHRtbF8wNTdlNmZjYTNjMGU0NDdmOGY4NTUxNjRmODNlZjY5Yik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl81NDI2YThmOGUyNTI0ZGRmYTJlY2M2ODIzZDhjZjAyNC5iaW5kUG9wdXAocG9wdXBfYzFjZTUxMDM1NTBmNDg5NmFmYzMzOWQ5ZGEzYjM4Y2MpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYWFkMjk2Y2U4Nzk2NDZjY2I5ZTI3ZGVjNjBmNWE1ZDYgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43NjQxMjYxMjI2MTQwNjYsLTczLjgxMjc2MjY5MTM1ODY2XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzA1ZTRhNGZhOWQzMTQ0ODg4NjdkOGE4YjZjMjRiZmM2ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2U2NjVlNjM3YjFmMzQ4YWNiZWRkZTYxZmY3MTk2Y2VlID0gJCgnPGRpdiBpZD0iaHRtbF9lNjY1ZTYzN2IxZjM0OGFjYmVkZGU2MWZmNzE5NmNlZSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+TXVycmF5IEhpbGw8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzA1ZTRhNGZhOWQzMTQ0ODg4NjdkOGE4YjZjMjRiZmM2LnNldENvbnRlbnQoaHRtbF9lNjY1ZTYzN2IxZjM0OGFjYmVkZGU2MWZmNzE5NmNlZSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9hYWQyOTZjZTg3OTY0NmNjYjllMjdkZWM2MGY1YTVkNi5iaW5kUG9wdXAocG9wdXBfMDVlNGE0ZmE5ZDMxNDQ4ODg2N2Q4YThiNmMyNGJmYzYpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYTA5NDQwMjRlMWUzNDdiNGE1YzcyOWU1YzE3OGMwMTcgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43NDEzNzg0MjE5NDU0MzQsLTczLjcwODg0NzA1ODg5MjQ2XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2IxMjZlNTc2NmY2ZDQ2YzY5YTA4MmEzNmQ5N2I2NzFiID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzFlN2UzNjgxZGFlMTQyZjFiMDU4Yjc2MjlhZjA2Y2Q0ID0gJCgnPGRpdiBpZD0iaHRtbF8xZTdlMzY4MWRhZTE0MmYxYjA1OGI3NjI5YWYwNmNkNCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+RmxvcmFsIFBhcms8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2IxMjZlNTc2NmY2ZDQ2YzY5YTA4MmEzNmQ5N2I2NzFiLnNldENvbnRlbnQoaHRtbF8xZTdlMzY4MWRhZTE0MmYxYjA1OGI3NjI5YWYwNmNkNCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9hMDk0NDAyNGUxZTM0N2I0YTVjNzI5ZTVjMTc4YzAxNy5iaW5kUG9wdXAocG9wdXBfYjEyNmU1NzY2ZjZkNDZjNjlhMDgyYTM2ZDk3YjY3MWIpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNjY2NWVkZjE2ZjZiNDY0OTkxNmIyMGQ4YmQzMDA1ODQgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43MjA5NTcyMDc2NDQ0LC03My43NjcxNDE2NjcxNDcyOV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF80YzVkMWJlYWQ5OTk0NjhhODFlZDRjZjcwZjdhNTNhYyA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8xMDI3YjI1ZmExMDU0OTg4YTBmZWRmY2YwNzQ0MzlhOCA9ICQoJzxkaXYgaWQ9Imh0bWxfMTAyN2IyNWZhMTA1NDk4OGEwZmVkZmNmMDc0NDM5YTgiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkhvbGxpc3dvb2Q8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzRjNWQxYmVhZDk5OTQ2OGE4MWVkNGNmNzBmN2E1M2FjLnNldENvbnRlbnQoaHRtbF8xMDI3YjI1ZmExMDU0OTg4YTBmZWRmY2YwNzQ0MzlhOCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl82NjY1ZWRmMTZmNmI0NjQ5OTE2YjIwZDhiZDMwMDU4NC5iaW5kUG9wdXAocG9wdXBfNGM1ZDFiZWFkOTk5NDY4YTgxZWQ0Y2Y3MGY3YTUzYWMpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNTA0NmQ5ZDkyNzNkNGNiZTkxYjAyNzBlOWExYzMyY2UgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43MTY4MDQ4MzAxNDYxMywtNzMuNzg3MjI2OTY5MzY2Nl0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF82ZTgxOTk4ZmJkMzA0ZWUxOTYyMjZkMmIyOWU4MGU1YiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF83ODcyMGMyNzIzNDE0Y2IzOGUxZmE3Mjk0MDUzNmU1MiA9ICQoJzxkaXYgaWQ9Imh0bWxfNzg3MjBjMjcyMzQxNGNiMzhlMWZhNzI5NDA1MzZlNTIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkphbWFpY2EgRXN0YXRlczwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNmU4MTk5OGZiZDMwNGVlMTk2MjI2ZDJiMjllODBlNWIuc2V0Q29udGVudChodG1sXzc4NzIwYzI3MjM0MTRjYjM4ZTFmYTcyOTQwNTM2ZTUyKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzUwNDZkOWQ5MjczZDRjYmU5MWIwMjcwZTlhMWMzMmNlLmJpbmRQb3B1cChwb3B1cF82ZTgxOTk4ZmJkMzA0ZWUxOTYyMjZkMmIyOWU4MGU1Yik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9iY2M0YjlmOTc5ZWI0YjIzYTljNzM5NTQ3NDVkNDQ1NCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjc0NDU3MjMwOTI4NjcsLTczLjgyNTgwOTE1MTEwNTU5XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzFiOWIzZWU4MmMyYzQ5ZDdiNWQ5YTg1N2JkZjM5ZDMwID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzVjZWU1N2Y1ZjZkMDQzYjM5YzQzZDA1NDZiNGQ2OGI4ID0gJCgnPGRpdiBpZD0iaHRtbF81Y2VlNTdmNWY2ZDA0M2IzOWM0M2QwNTQ2YjRkNjhiOCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+UXVlZW5zYm9ybyBIaWxsPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8xYjliM2VlODJjMmM0OWQ3YjVkOWE4NTdiZGYzOWQzMC5zZXRDb250ZW50KGh0bWxfNWNlZTU3ZjVmNmQwNDNiMzljNDNkMDU0NmI0ZDY4YjgpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYmNjNGI5Zjk3OWViNGIyM2E5YzczOTU0NzQ1ZDQ0NTQuYmluZFBvcHVwKHBvcHVwXzFiOWIzZWU4MmMyYzQ5ZDdiNWQ5YTg1N2JkZjM5ZDMwKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2M2NDEwMTg1ZGFkYjRjY2NiNjRkNDFjNTY4MGZkMDhhID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzIzODI0OTAxODI5MjA0LC03My43OTc2MDMwMDkxMjY3Ml0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9lMmZiNzc0MmZiMGY0OTQ0YTAwMGU5ZTNhMmVjYmRkZCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF80N2NhY2I4OWNhYmI0OWYzYTM5OTI0NjkzNmMyMWU4NCA9ICQoJzxkaXYgaWQ9Imh0bWxfNDdjYWNiODljYWJiNDlmM2EzOTkyNDY5MzZjMjFlODQiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkhpbGxjcmVzdDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZTJmYjc3NDJmYjBmNDk0NGEwMDBlOWUzYTJlY2JkZGQuc2V0Q29udGVudChodG1sXzQ3Y2FjYjg5Y2FiYjQ5ZjNhMzk5MjQ2OTM2YzIxZTg0KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2M2NDEwMTg1ZGFkYjRjY2NiNjRkNDFjNTY4MGZkMDhhLmJpbmRQb3B1cChwb3B1cF9lMmZiNzc0MmZiMGY0OTQ0YTAwMGU5ZTNhMmVjYmRkZCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9jZTYwOTFjNjM4ZmQ0ZjE1OTQyYzc2ODc5NDA5ZDRkMiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjc2MTcwNDUyNjA1NDE0NiwtNzMuOTMxNTc1MDYwNzI4NzhdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfYWNjMzQxMDRlNWY5NGY1M2E1YzI1MTI0NTNkMjJjMTYgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMjA2NGI3N2M5OWNiNGIzODgxNWJhMWU4NDBkZTc2ZTQgPSAkKCc8ZGl2IGlkPSJodG1sXzIwNjRiNzdjOTljYjRiMzg4MTViYTFlODQwZGU3NmU0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5SYXZlbnN3b29kPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9hY2MzNDEwNGU1Zjk0ZjUzYTVjMjUxMjQ1M2QyMmMxNi5zZXRDb250ZW50KGh0bWxfMjA2NGI3N2M5OWNiNGIzODgxNWJhMWU4NDBkZTc2ZTQpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfY2U2MDkxYzYzOGZkNGYxNTk0MmM3Njg3OTQwOWQ0ZDIuYmluZFBvcHVwKHBvcHVwX2FjYzM0MTA0ZTVmOTRmNTNhNWMyNTEyNDUzZDIyYzE2KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2JmYjc5M2ExZWJmODQ3MjM5N2I5NTJhNTE1NmJkYTJjID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjYzOTE4NDE5MjUxMzksLTczLjg0OTYzNzgyNDAyNDQxXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzYxYzc3MGYxMTgyZjRlNWY5N2FkNjlhZDE4MTcxOWU0ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2VhZmI0M2EyYWIyMDRiZTY4OWU3MjFjZGQ5Y2Y0YzA4ID0gJCgnPGRpdiBpZD0iaHRtbF9lYWZiNDNhMmFiMjA0YmU2ODllNzIxY2RkOWNmNGMwOCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+TGluZGVud29vZDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNjFjNzcwZjExODJmNGU1Zjk3YWQ2OWFkMTgxNzE5ZTQuc2V0Q29udGVudChodG1sX2VhZmI0M2EyYWIyMDRiZTY4OWU3MjFjZGQ5Y2Y0YzA4KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2JmYjc5M2ExZWJmODQ3MjM5N2I5NTJhNTE1NmJkYTJjLmJpbmRQb3B1cChwb3B1cF82MWM3NzBmMTE4MmY0ZTVmOTdhZDY5YWQxODE3MTllNCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl80YjkwYzkzOTdhNWQ0M2NjYTFmN2I1NThkMmQ0ZWJlOCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjY2Nzg4Mzg5NjYwMjQ3LC03My43NDAyNTYwNzk4OTgyMl0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF84ZTRlN2U3MmU4YzU0M2IyYmY2MGNhN2E3MTAzMmZmMyA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8xZDA3ZWEzODA1YzQ0ODFiYWVhNDIxYmM5ZDhkMmYxZiA9ICQoJzxkaXYgaWQ9Imh0bWxfMWQwN2VhMzgwNWM0NDgxYmFlYTQyMWJjOWQ4ZDJmMWYiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkxhdXJlbHRvbjwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfOGU0ZTdlNzJlOGM1NDNiMmJmNjBjYTdhNzEwMzJmZjMuc2V0Q29udGVudChodG1sXzFkMDdlYTM4MDVjNDQ4MWJhZWE0MjFiYzlkOGQyZjFmKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzRiOTBjOTM5N2E1ZDQzY2NhMWY3YjU1OGQyZDRlYmU4LmJpbmRQb3B1cChwb3B1cF84ZTRlN2U3MmU4YzU0M2IyYmY2MGNhN2E3MTAzMmZmMyk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8zMmE2MGM0NDhlNDY0ZTMwYTBlYzA4M2M5NWE2Yjc3YSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjczNjA3NDU3MDgzMDc5NSwtNzMuODYyNTI0NzE0MTM3NF0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9kNGU0NTY3MDY4NDI0N2MyYTY1ZjcwODE4YjhmN2Y0YSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9iMmNhNzVmOTA0ZGQ0N2UyYjI0MzI4YmQ1ZmM3ODkxNCA9ICQoJzxkaXYgaWQ9Imh0bWxfYjJjYTc1ZjkwNGRkNDdlMmIyNDMyOGJkNWZjNzg5MTQiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkxlZnJhayBDaXR5PC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9kNGU0NTY3MDY4NDI0N2MyYTY1ZjcwODE4YjhmN2Y0YS5zZXRDb250ZW50KGh0bWxfYjJjYTc1ZjkwNGRkNDdlMmIyNDMyOGJkNWZjNzg5MTQpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfMzJhNjBjNDQ4ZTQ2NGUzMGEwZWMwODNjOTVhNmI3N2EuYmluZFBvcHVwKHBvcHVwX2Q0ZTQ1NjcwNjg0MjQ3YzJhNjVmNzA4MThiOGY3ZjRhKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2Q0ODk2YzdhM2NkZTQyYjViZWJkYjc0ZTc3ZGEyMmU2ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNTc2MTU1NTY1NDMxMDksLTczLjg1NDAxNzUwMzkyNTJdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMjFlOTc4ZDdiZTUyNDhmNDhkNzk1YTM3MTY0OGQzNjkgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMjIzODY0MWUwN2M5NDM0NDk0ZDFmMWEyZTRkZWVhY2MgPSAkKCc8ZGl2IGlkPSJodG1sXzIyMzg2NDFlMDdjOTQzNDQ5NGQxZjFhMmU0ZGVlYWNjIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5CZWxsZSBIYXJib3I8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzIxZTk3OGQ3YmU1MjQ4ZjQ4ZDc5NWEzNzE2NDhkMzY5LnNldENvbnRlbnQoaHRtbF8yMjM4NjQxZTA3Yzk0MzQ0OTRkMWYxYTJlNGRlZWFjYyk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9kNDg5NmM3YTNjZGU0MmI1YmViZGI3NGU3N2RhMjJlNi5iaW5kUG9wdXAocG9wdXBfMjFlOTc4ZDdiZTUyNDhmNDhkNzk1YTM3MTY0OGQzNjkpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMDE4Nzc0MDQxZTIyNGE1ODhmNThiYzQ2ZmJmZTcyNWUgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC41ODAzNDI5NTY0NjEzMSwtNzMuODQxNTMzNzAyMjYxODZdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNGM4NDZjNTBmMjBjNDk0NGJjODc3MDA0MjFmNDBhZTUgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMjgwNzI5MTYwYzY5NDA4NWE3N2U5NzkyMjQ4NjUzMzEgPSAkKCc8ZGl2IGlkPSJodG1sXzI4MDcyOTE2MGM2OTQwODVhNzdlOTc5MjI0ODY1MzMxIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Sb2NrYXdheSBQYXJrPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF80Yzg0NmM1MGYyMGM0OTQ0YmM4NzcwMDQyMWY0MGFlNS5zZXRDb250ZW50KGh0bWxfMjgwNzI5MTYwYzY5NDA4NWE3N2U5NzkyMjQ4NjUzMzEpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfMDE4Nzc0MDQxZTIyNGE1ODhmNThiYzQ2ZmJmZTcyNWUuYmluZFBvcHVwKHBvcHVwXzRjODQ2YzUwZjIwYzQ5NDRiYzg3NzAwNDIxZjQwYWU1KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2FiZDIwNWE5M2M0OTQwMjY5ODYxYmUwNmI4MmU4MGZiID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNTk3NzEwNjE1NjU3NjgsLTczLjc5NjY0NzUwODQ0MDQ3XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2U4Yjk3MWI1ZGI2NzQwN2NhYTg3ZjY3MTQyYzZlZGJlID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2JjZjRiYjAyOTQ1NjQ2M2M4MmFlYTUwNWY3MWViYzBkID0gJCgnPGRpdiBpZD0iaHRtbF9iY2Y0YmIwMjk0NTY0NjNjODJhZWE1MDVmNzFlYmMwZCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+U29tZXJ2aWxsZTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZThiOTcxYjVkYjY3NDA3Y2FhODdmNjcxNDJjNmVkYmUuc2V0Q29udGVudChodG1sX2JjZjRiYjAyOTQ1NjQ2M2M4MmFlYTUwNWY3MWViYzBkKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2FiZDIwNWE5M2M0OTQwMjY5ODYxYmUwNmI4MmU4MGZiLmJpbmRQb3B1cChwb3B1cF9lOGI5NzFiNWRiNjc0MDdjYWE4N2Y2NzE0MmM2ZWRiZSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl82ZTE2NzVhZTVkNGM0YjAxYjEyOTg3YWVkZTFiZGM4OSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjY2MDAwMzIyNzMzNjEzLC03My43NTE3NTMxMDczMTE1M10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8zYTFlYjRhMDRmMDY0YjM2OWJlNmNhODBkODJlMGE1OSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9iZDVmY2Y5YTM1NmY0ZDExYjMzMDRlZWU5YTMyY2E5YiA9ICQoJzxkaXYgaWQ9Imh0bWxfYmQ1ZmNmOWEzNTZmNGQxMWIzMzA0ZWVlOWEzMmNhOWIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkJyb29rdmlsbGU8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzNhMWViNGEwNGYwNjRiMzY5YmU2Y2E4MGQ4MmUwYTU5LnNldENvbnRlbnQoaHRtbF9iZDVmY2Y5YTM1NmY0ZDExYjMzMDRlZWU5YTMyY2E5Yik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl82ZTE2NzVhZTVkNGM0YjAxYjEyOTg3YWVkZTFiZGM4OS5iaW5kUG9wdXAocG9wdXBfM2ExZWI0YTA0ZjA2NGIzNjliZTZjYTgwZDgyZTBhNTkpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZTA5ZTA2OTFmM2RhNGZjNTljYjAxZGNhY2Y5MzM4MGMgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43MzMwMTQwNDAyNzgzNCwtNzMuNzM4ODkxOTg5MTI0ODFdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNmQ0YTA1Y2Q4MjcyNDViN2E4NWU2YjU5ZDZkNGI3NTMgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZjM1Y2Y1MjVhNTIyNDVhM2FhMTQzODVjMDY2NTIxNTQgPSAkKCc8ZGl2IGlkPSJodG1sX2YzNWNmNTI1YTUyMjQ1YTNhYTE0Mzg1YzA2NjUyMTU0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5CZWxsYWlyZTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNmQ0YTA1Y2Q4MjcyNDViN2E4NWU2YjU5ZDZkNGI3NTMuc2V0Q29udGVudChodG1sX2YzNWNmNTI1YTUyMjQ1YTNhYTE0Mzg1YzA2NjUyMTU0KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2UwOWUwNjkxZjNkYTRmYzU5Y2IwMWRjYWNmOTMzODBjLmJpbmRQb3B1cChwb3B1cF82ZDRhMDVjZDgyNzI0NWI3YTg1ZTZiNTlkNmQ0Yjc1Myk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9kOWNkZGY1NjVjNmI0OTQzODg5MjQwYzhmYTZlZjg5MCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjc1NDA3MDk5OTA0ODksLTczLjg1NzUxNzkwNjc2NDQ3XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzc0YmRiOTg3OTlmZDRmM2NiZTI2YzI0OTNmZjY1OTczID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzk1M2IyYWM5NmIxYzQwODE5MjQzNDgwYWE0YmYzZTk2ID0gJCgnPGRpdiBpZD0iaHRtbF85NTNiMmFjOTZiMWM0MDgxOTI0MzQ4MGFhNGJmM2U5NiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Tm9ydGggQ29yb25hPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF83NGJkYjk4Nzk5ZmQ0ZjNjYmUyNmMyNDkzZmY2NTk3My5zZXRDb250ZW50KGh0bWxfOTUzYjJhYzk2YjFjNDA4MTkyNDM0ODBhYTRiZjNlOTYpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfZDljZGRmNTY1YzZiNDk0Mzg4OTI0MGM4ZmE2ZWY4OTAuYmluZFBvcHVwKHBvcHVwXzc0YmRiOTg3OTlmZDRmM2NiZTI2YzI0OTNmZjY1OTczKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzE4ZGYyMDg2ZTI1MTQxNDg4YWNkYjdmYTRiZjIzYjBlID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzE0NjExMDgxNTExNywtNzMuODQxMDIyMTEyMzQwMV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9mZDAxMTMwMTA1NjQ0OTQzOGVjZTFmM2Q4NmQ1ODE2MSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8yYTkxNDg1YzYwYTU0YTQ2YmY1MTA5N2ZmZWIyODJlYSA9ICQoJzxkaXYgaWQ9Imh0bWxfMmE5MTQ4NWM2MGE1NGE0NmJmNTEwOTdmZmViMjgyZWEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkZvcmVzdCBIaWxscyBHYXJkZW5zPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9mZDAxMTMwMTA1NjQ0OTQzOGVjZTFmM2Q4NmQ1ODE2MS5zZXRDb250ZW50KGh0bWxfMmE5MTQ4NWM2MGE1NGE0NmJmNTEwOTdmZmViMjgyZWEpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfMThkZjIwODZlMjUxNDE0ODhhY2RiN2ZhNGJmMjNiMGUuYmluZFBvcHVwKHBvcHVwX2ZkMDExMzAxMDU2NDQ5NDM4ZWNlMWYzZDg2ZDU4MTYxKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2NmNmZmMGUxOWUxYTQ4NDA5NmNmZjdjNWYzZDkzOWYyID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjQ0OTgxNTcxMDA0NCwtNzQuMDc5MzUzMTI1MTI3OTddLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZGFmNDc1YmM5NTFhNDhmMDhkMDA0NzkwZDE4YjQ0YzQgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMWY2NDIyZmFjZWFjNDU3NWE4NDE5NjU4ZjMwY2VmYjQgPSAkKCc8ZGl2IGlkPSJodG1sXzFmNjQyMmZhY2VhYzQ1NzVhODQxOTY1OGYzMGNlZmI0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5TdC4gR2VvcmdlPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9kYWY0NzViYzk1MWE0OGYwOGQwMDQ3OTBkMThiNDRjNC5zZXRDb250ZW50KGh0bWxfMWY2NDIyZmFjZWFjNDU3NWE4NDE5NjU4ZjMwY2VmYjQpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfY2Y2ZmYwZTE5ZTFhNDg0MDk2Y2ZmN2M1ZjNkOTM5ZjIuYmluZFBvcHVwKHBvcHVwX2RhZjQ3NWJjOTUxYTQ4ZjA4ZDAwNDc5MGQxOGI0NGM0KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2I0NjQzNjhjOThiYTQ5MjNiODk4YjMxNjY5OWNhNTM3ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjQwNjE0NTU5MTM1MTEsLTc0LjA4NzAxNjUwNTE2NjI1XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzBjNjczN2UwYTViZTRhNTg5N2NhY2UzODRlMGQyODM3ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2I5N2IzNjY1MGM4NjRhM2E5MTBhOWE3YTZhNDkzNTdmID0gJCgnPGRpdiBpZD0iaHRtbF9iOTdiMzY2NTBjODY0YTNhOTEwYTlhN2E2YTQ5MzU3ZiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+TmV3IEJyaWdodG9uPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8wYzY3MzdlMGE1YmU0YTU4OTdjYWNlMzg0ZTBkMjgzNy5zZXRDb250ZW50KGh0bWxfYjk3YjM2NjUwYzg2NGEzYTkxMGE5YTdhNmE0OTM1N2YpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYjQ2NDM2OGM5OGJhNDkyM2I4OThiMzE2Njk5Y2E1MzcuYmluZFBvcHVwKHBvcHVwXzBjNjczN2UwYTViZTRhNTg5N2NhY2UzODRlMGQyODM3KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2JlMTgxZmIyNmNjMzQ2NTA5NGE5YTk5N2Q1NTU2YmUxID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjI2OTI3NjI1MzgxNzYsLTc0LjA3NzkwMTkyNjYwMDY2XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzAwMWJhZTNmNmI3NzQ1MzBiNDVlYmVlOGY2YTI2MmE4ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2UzYzQ1OTMzYTRhODQ4MWVhYjViMDMzYjg3MjkwZTY2ID0gJCgnPGRpdiBpZD0iaHRtbF9lM2M0NTkzM2E0YTg0ODFlYWI1YjAzM2I4NzI5MGU2NiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+U3RhcGxldG9uPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8wMDFiYWUzZjZiNzc0NTMwYjQ1ZWJlZThmNmEyNjJhOC5zZXRDb250ZW50KGh0bWxfZTNjNDU5MzNhNGE4NDgxZWFiNWIwMzNiODcyOTBlNjYpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYmUxODFmYjI2Y2MzNDY1MDk0YTlhOTk3ZDU1NTZiZTEuYmluZFBvcHVwKHBvcHVwXzAwMWJhZTNmNmI3NzQ1MzBiNDVlYmVlOGY2YTI2MmE4KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzdkYWQ1NTZkMWFmNDQ3MjM5NWM5YTI1NWJmNDMyOTJjID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjE1MzA0OTQ2NTI3NjEsLTc0LjA2OTgwNTI2NzE2MTQxXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2MzYzQwMGRlY2NlMDQ5YjI5NjUxNThiNzM4NTQ4Yzc4ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzY5MjlkNDk5MjY1YjRlZDhhMTQ0ZDVlMmJkNzBiNDYwID0gJCgnPGRpdiBpZD0iaHRtbF82OTI5ZDQ5OTI2NWI0ZWQ4YTE0NGQ1ZTJiZDcwYjQ2MCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Um9zZWJhbms8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2MzYzQwMGRlY2NlMDQ5YjI5NjUxNThiNzM4NTQ4Yzc4LnNldENvbnRlbnQoaHRtbF82OTI5ZDQ5OTI2NWI0ZWQ4YTE0NGQ1ZTJiZDcwYjQ2MCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl83ZGFkNTU2ZDFhZjQ0NzIzOTVjOWEyNTViZjQzMjkyYy5iaW5kUG9wdXAocG9wdXBfYzNjNDAwZGVjY2UwNDliMjk2NTE1OGI3Mzg1NDhjNzgpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfY2Q4ODNhNzk0YTJlNGNhNDkzODg4NDFmZmE3YTgwMzkgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42MzE4Nzg5MjY1NDYwNywtNzQuMTA3MTgxNzgyNjU2MV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8yOGMwZTgyNjA0MDQ0YTBlOGJmY2Y2MGUwZTFkMGMzYSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9jNDJhYWM0MjZjZDU0MDhiOGU5MGEyNDE1ZDM4ODUwMiA9ICQoJzxkaXYgaWQ9Imh0bWxfYzQyYWFjNDI2Y2Q1NDA4YjhlOTBhMjQxNWQzODg1MDIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPldlc3QgQnJpZ2h0b248L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzI4YzBlODI2MDQwNDRhMGU4YmZjZjYwZTBlMWQwYzNhLnNldENvbnRlbnQoaHRtbF9jNDJhYWM0MjZjZDU0MDhiOGU5MGEyNDE1ZDM4ODUwMik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9jZDg4M2E3OTRhMmU0Y2E0OTM4ODg0MWZmYTdhODAzOS5iaW5kUG9wdXAocG9wdXBfMjhjMGU4MjYwNDA0NGEwZThiZmNmNjBlMGUxZDBjM2EpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYjU3ZjJiNTg3MDM0NGVlNzlhYTY5NmViZTYzNzg0MmQgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42MjQxODQ3OTEzMTMwMDYsLTc0LjA4NzI0ODE5OTgzNzI5XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzIyMjU4YjcwOGE0YjQ5NTk4Mzk4OTVkNThiNDgzNWNlID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2I5ODljMGIyMTEzYTQzZjQ5NzVjYWM4NzJmMTBiMjIxID0gJCgnPGRpdiBpZD0iaHRtbF9iOTg5YzBiMjExM2E0M2Y0OTc1Y2FjODcyZjEwYjIyMSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+R3J5bWVzIEhpbGw8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzIyMjU4YjcwOGE0YjQ5NTk4Mzk4OTVkNThiNDgzNWNlLnNldENvbnRlbnQoaHRtbF9iOTg5YzBiMjExM2E0M2Y0OTc1Y2FjODcyZjEwYjIyMSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9iNTdmMmI1ODcwMzQ0ZWU3OWFhNjk2ZWJlNjM3ODQyZC5iaW5kUG9wdXAocG9wdXBfMjIyNThiNzA4YTRiNDk1OTgzOTg5NWQ1OGI0ODM1Y2UpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNDRjMDJmMTZjMDM0NGQzOTg1N2Q1ZDU2NjI2YmY5OTEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC41OTcwNjg1MTgxNDY3MywtNzQuMTExMzI4ODE4MDA4OF0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8wYWU2MWI5NjMxNWU0ZTBkOTdiMGI3OTc5YWUwZjY0OCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9lOTkxNjViYzcwNWM0N2NlOTlhZTIwODI4NmI3NTVlZSA9ICQoJzxkaXYgaWQ9Imh0bWxfZTk5MTY1YmM3MDVjNDdjZTk5YWUyMDgyODZiNzU1ZWUiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlRvZHQgSGlsbDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMGFlNjFiOTYzMTVlNGUwZDk3YjBiNzk3OWFlMGY2NDguc2V0Q29udGVudChodG1sX2U5OTE2NWJjNzA1YzQ3Y2U5OWFlMjA4Mjg2Yjc1NWVlKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzQ0YzAyZjE2YzAzNDRkMzk4NTdkNWQ1NjYyNmJmOTkxLmJpbmRQb3B1cChwb3B1cF8wYWU2MWI5NjMxNWU0ZTBkOTdiMGI3OTc5YWUwZjY0OCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8zN2IxZTE1MzJjNTY0YTUyYTZhMzg3MzgxOWY0Zjk3NSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjU4MDI0NzQxMzUwOTU2LC03NC4wNzk1NTI5MjUzOTgyXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2ZmZDMxODg1NTg4NjQwODhiYTkyNTk0OTE5NjAzZTE2ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzcwNzgxN2VhNjY3MDQ5ZjNiMjc0MTE4MDA4OWIzNmMwID0gJCgnPGRpdiBpZD0iaHRtbF83MDc4MTdlYTY2NzA0OWYzYjI3NDExODAwODliMzZjMCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+U291dGggQmVhY2g8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2ZmZDMxODg1NTg4NjQwODhiYTkyNTk0OTE5NjAzZTE2LnNldENvbnRlbnQoaHRtbF83MDc4MTdlYTY2NzA0OWYzYjI3NDExODAwODliMzZjMCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8zN2IxZTE1MzJjNTY0YTUyYTZhMzg3MzgxOWY0Zjk3NS5iaW5kUG9wdXAocG9wdXBfZmZkMzE4ODU1ODg2NDA4OGJhOTI1OTQ5MTk2MDNlMTYpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMzBkN2ZiMWRiNWY1NDY0OGE1NDEzZTc1MThmMjlmNjEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42MzM2NjkzMDU1NDM2NSwtNzQuMTI5NDM0MjY3OTcwMDhdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMTZiOWM3Y2YyNDU4NGEyNDliMjRjZDAxNTY0YTY2ZDggPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZDBkNGQzOWJiMjE0NDVkZmFkNjJjNDU2MGVkMjIwNzcgPSAkKCc8ZGl2IGlkPSJodG1sX2QwZDRkMzliYjIxNDQ1ZGZhZDYyYzQ1NjBlZDIyMDc3IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Qb3J0IFJpY2htb25kPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8xNmI5YzdjZjI0NTg0YTI0OWIyNGNkMDE1NjRhNjZkOC5zZXRDb250ZW50KGh0bWxfZDBkNGQzOWJiMjE0NDVkZmFkNjJjNDU2MGVkMjIwNzcpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfMzBkN2ZiMWRiNWY1NDY0OGE1NDEzZTc1MThmMjlmNjEuYmluZFBvcHVwKHBvcHVwXzE2YjljN2NmMjQ1ODRhMjQ5YjI0Y2QwMTU2NGE2NmQ4KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzIxMmE4YWZhYmUyNDQwNWE5NTRkM2Q4MGZkYjUyNzkyID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjMyNTQ2MzkwNDgxMTI0LC03NC4xNTAwODUzNzA0Njk4MV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF82MjNiMmNkYjA0NzE0ZmE5OWRiNzM1Y2UxM2U0OWRkMCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF85ODQ1ZmQ4NGI1Mjg0Y2Y4YjQ2YTVhNDU2ODI0M2VjNCA9ICQoJzxkaXYgaWQ9Imh0bWxfOTg0NWZkODRiNTI4NGNmOGI0NmE1YTQ1NjgyNDNlYzQiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPk1hcmluZXImIzM5O3MgSGFyYm9yPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF82MjNiMmNkYjA0NzE0ZmE5OWRiNzM1Y2UxM2U0OWRkMC5zZXRDb250ZW50KGh0bWxfOTg0NWZkODRiNTI4NGNmOGI0NmE1YTQ1NjgyNDNlYzQpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfMjEyYThhZmFiZTI0NDA1YTk1NGQzZDgwZmRiNTI3OTIuYmluZFBvcHVwKHBvcHVwXzYyM2IyY2RiMDQ3MTRmYTk5ZGI3MzVjZTEzZTQ5ZGQwKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzVhZTQwZTIwNmY5ODQ4NzViYjZjMTgwYWFhZWNlMTkxID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjM5NjgyOTc4NDU1NDIsLTc0LjE3NDY0NTMyOTkzNTQyXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2FlNmVjNmJiYzJmZjQ3OGFiMmI1MzhjNDY5ZTg2MzJlID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2I3ODI4NmYyOTVjYjRmODM4YzU4MmZmMDAwNGNiNTEyID0gJCgnPGRpdiBpZD0iaHRtbF9iNzgyODZmMjk1Y2I0ZjgzOGM1ODJmZjAwMDRjYjUxMiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+UG9ydCBJdm9yeTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfYWU2ZWM2YmJjMmZmNDc4YWIyYjUzOGM0NjllODYzMmUuc2V0Q29udGVudChodG1sX2I3ODI4NmYyOTVjYjRmODM4YzU4MmZmMDAwNGNiNTEyKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzVhZTQwZTIwNmY5ODQ4NzViYjZjMTgwYWFhZWNlMTkxLmJpbmRQb3B1cChwb3B1cF9hZTZlYzZiYmMyZmY0NzhhYjJiNTM4YzQ2OWU4NjMyZSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9iNzlhYWQ1MDVmMGU0N2RkYmJhNTBlYTdlMGRiNzFhZiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjYxMzMzNTkzNzY2NzQyLC03NC4xMTkxODA1ODUzNDg0Ml0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9mYWZjMmI4OWVlYTM0OTU5ODQ3NWZkYjg1NjQ1YTM2NyA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8zMjdmZGZlZmM0ZTM0MDQ2YmY2MmU1MmNkM2NiNWY0MSA9ICQoJzxkaXYgaWQ9Imh0bWxfMzI3ZmRmZWZjNGUzNDA0NmJmNjJlNTJjZDNjYjVmNDEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkNhc3RsZXRvbiBDb3JuZXJzPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9mYWZjMmI4OWVlYTM0OTU5ODQ3NWZkYjg1NjQ1YTM2Ny5zZXRDb250ZW50KGh0bWxfMzI3ZmRmZWZjNGUzNDA0NmJmNjJlNTJjZDNjYjVmNDEpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYjc5YWFkNTA1ZjBlNDdkZGJiYTUwZWE3ZTBkYjcxYWYuYmluZFBvcHVwKHBvcHVwX2ZhZmMyYjg5ZWVhMzQ5NTk4NDc1ZmRiODU2NDVhMzY3KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2RlNWFhNTdiNmU0YzQwOGRhNDJmZjg1YjRiYTJlZjlkID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNTk0MjUyMzc5MTYxNjk1LC03NC4xNjQ5NjAzMTMyOTgyN10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF84Y2FlZTRmYzcxZDA0ZGRkOTRmNTFhYjRhNTdlZDBlNSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9kMTRhZjZkNTIxN2Y0ZjBkOGEyNzE4MmVjMjVjNDM4MiA9ICQoJzxkaXYgaWQ9Imh0bWxfZDE0YWY2ZDUyMTdmNGYwZDhhMjcxODJlYzI1YzQzODIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPk5ldyBTcHJpbmd2aWxsZTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfOGNhZWU0ZmM3MWQwNGRkZDk0ZjUxYWI0YTU3ZWQwZTUuc2V0Q29udGVudChodG1sX2QxNGFmNmQ1MjE3ZjRmMGQ4YTI3MTgyZWMyNWM0MzgyKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2RlNWFhNTdiNmU0YzQwOGRhNDJmZjg1YjRiYTJlZjlkLmJpbmRQb3B1cChwb3B1cF84Y2FlZTRmYzcxZDA0ZGRkOTRmNTFhYjRhNTdlZDBlNSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8yOGNlOTVjNDE2N2Y0YThkYWFiZGY1YjViYWE1NjNmMCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjU4NjMxMzc1MTAzMjgxLC03NC4xOTA3MzcxNzUzODExNl0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF83ZmY5YjAwZTZhNmI0NDkzOTUyZTgzZWQzY2VmYzk4MCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF82YWEyY2NlNDAzNjM0ODEwYjU4YTNjZTZkYzA5OWZmYiA9ICQoJzxkaXYgaWQ9Imh0bWxfNmFhMmNjZTQwMzYzNDgxMGI1OGEzY2U2ZGMwOTlmZmIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlRyYXZpczwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfN2ZmOWIwMGU2YTZiNDQ5Mzk1MmU4M2VkM2NlZmM5ODAuc2V0Q29udGVudChodG1sXzZhYTJjY2U0MDM2MzQ4MTBiNThhM2NlNmRjMDk5ZmZiKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzI4Y2U5NWM0MTY3ZjRhOGRhYWJkZjViNWJhYTU2M2YwLmJpbmRQb3B1cChwb3B1cF83ZmY5YjAwZTZhNmI0NDkzOTUyZTgzZWQzY2VmYzk4MCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9jN2Y4YTBlYTQ5YzI0NWZmYjlkMDU4Zjg5MjBmOTZmMSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjU3MjU3MjMxODIwNjMyLC03NC4xMTY0Nzk0MzYwNjM4XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2E0N2Y3MTllODJmOTQzMzliZGNkZWZjOGNmMDVlNWY3ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzM5MWY3YmQ4YzE1YTQ0ZDBhYjE2MmM4YTM3MzlmNzY5ID0gJCgnPGRpdiBpZD0iaHRtbF8zOTFmN2JkOGMxNWE0NGQwYWIxNjJjOGEzNzM5Zjc2OSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+TmV3IERvcnA8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2E0N2Y3MTllODJmOTQzMzliZGNkZWZjOGNmMDVlNWY3LnNldENvbnRlbnQoaHRtbF8zOTFmN2JkOGMxNWE0NGQwYWIxNjJjOGEzNzM5Zjc2OSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9jN2Y4YTBlYTQ5YzI0NWZmYjlkMDU4Zjg5MjBmOTZmMS5iaW5kUG9wdXAocG9wdXBfYTQ3ZjcxOWU4MmY5NDMzOWJkY2RlZmM4Y2YwNWU1ZjcpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNzZiOTU0NGQ5ZmM5NDFiMmFmNGFlZDhiYTYwNGIzMzUgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC41NTg0NjIyNDMyODg4LC03NC4xMjE1NjU5Mzc3MTg5Nl0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF82NmYzOTE3ZjU5OGU0MjBhODY2NGJiMGZmODZiMjg4ZiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9lYzdkYWI3MDI2MzA0YjI1OWZiYjgwNzAxNjM0OWYzOSA9ICQoJzxkaXYgaWQ9Imh0bWxfZWM3ZGFiNzAyNjMwNGIyNTlmYmI4MDcwMTYzNDlmMzkiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPk9ha3dvb2Q8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzY2ZjM5MTdmNTk4ZTQyMGE4NjY0YmIwZmY4NmIyODhmLnNldENvbnRlbnQoaHRtbF9lYzdkYWI3MDI2MzA0YjI1OWZiYjgwNzAxNjM0OWYzOSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl83NmI5NTQ0ZDlmYzk0MWIyYWY0YWVkOGJhNjA0YjMzNS5iaW5kUG9wdXAocG9wdXBfNjZmMzkxN2Y1OThlNDIwYTg2NjRiYjBmZjg2YjI4OGYpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNDAzZThmN2IwYTRlNDhkNzk1NjRhODQ2NzdiMjMyNTIgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC41NDk0ODAyMjg3MTM2MDUsLTc0LjE0OTMyMzgxNDkwOTkyXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2RhNDJkNTY0NTRjMTQ3NDY5Y2U5YzE4YjJkOGM0ZDg4ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzUwNTI3YThhZjU4ZjQwZjY4ZDljMzM5MGZiNDEzODZhID0gJCgnPGRpdiBpZD0iaHRtbF81MDUyN2E4YWY1OGY0MGY2OGQ5YzMzOTBmYjQxMzg2YSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+R3JlYXQgS2lsbHM8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2RhNDJkNTY0NTRjMTQ3NDY5Y2U5YzE4YjJkOGM0ZDg4LnNldENvbnRlbnQoaHRtbF81MDUyN2E4YWY1OGY0MGY2OGQ5YzMzOTBmYjQxMzg2YSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl80MDNlOGY3YjBhNGU0OGQ3OTU2NGE4NDY3N2IyMzI1Mi5iaW5kUG9wdXAocG9wdXBfZGE0MmQ1NjQ1NGMxNDc0NjljZTljMThiMmQ4YzRkODgpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNzg5MDBhYTVmMzcwNDliY2ExZWRlMjY2ZWI3OGVjNTMgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC41NDIyMzA3NDc0NTA3NDUsLTc0LjE2NDMzMDgwNDE5MzZdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfOTFlNzBhNDA5N2RkNDE5ZjlmYjA1MGNkNWI5OThkNTYgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMzQzZDQ5OWU2NjkyNDkxNDkzYmNlMWJhYmY3ZjVjNzkgPSAkKCc8ZGl2IGlkPSJodG1sXzM0M2Q0OTllNjY5MjQ5MTQ5M2JjZTFiYWJmN2Y1Yzc5IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5FbHRpbmd2aWxsZTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfOTFlNzBhNDA5N2RkNDE5ZjlmYjA1MGNkNWI5OThkNTYuc2V0Q29udGVudChodG1sXzM0M2Q0OTllNjY5MjQ5MTQ5M2JjZTFiYWJmN2Y1Yzc5KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzc4OTAwYWE1ZjM3MDQ5YmNhMWVkZTI2NmViNzhlYzUzLmJpbmRQb3B1cChwb3B1cF85MWU3MGE0MDk3ZGQ0MTlmOWZiMDUwY2Q1Yjk5OGQ1Nik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl83OWJkZmIzYzZmMmI0NzhhODYwODFkOTdiZDUyNjRiOCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjUzODExNDE3NDc0NTA3LC03NC4xNzg1NDg2NjE2NTg3OF0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF81ODEwY2YwZmM5NjE0ZDJmYjA4MDAwNThkMmE0N2I5MiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9hOWYzMDA4ZDk1ZDE0YWI4YTc2ZjU3MjY4YjBlYzg4MyA9ICQoJzxkaXYgaWQ9Imh0bWxfYTlmMzAwOGQ5NWQxNGFiOGE3NmY1NzI2OGIwZWM4ODMiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkFubmFkYWxlPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF81ODEwY2YwZmM5NjE0ZDJmYjA4MDAwNThkMmE0N2I5Mi5zZXRDb250ZW50KGh0bWxfYTlmMzAwOGQ5NWQxNGFiOGE3NmY1NzI2OGIwZWM4ODMpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfNzliZGZiM2M2ZjJiNDc4YTg2MDgxZDk3YmQ1MjY0YjguYmluZFBvcHVwKHBvcHVwXzU4MTBjZjBmYzk2MTRkMmZiMDgwMDA1OGQyYTQ3YjkyKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzFmM2JhYzc3ZjQwZTQ3MWFiMTQwMDQzNmUyMmEyMjhiID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNTQxOTY3NjIyODg4NzU1LC03NC4yMDUyNDU4MjQ4MDMyNl0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF83Yzc4YzkyM2NiMmQ0ZGZmYTNmYjM2ODdmZWNhNzllNSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8xNTY5MGIzNDk2YTg0ZDdmYThlZjJiNGY1YzBiYTU0YyA9ICQoJzxkaXYgaWQ9Imh0bWxfMTU2OTBiMzQ5NmE4NGQ3ZmE4ZWYyYjRmNWMwYmE1NGMiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPldvb2Ryb3c8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzdjNzhjOTIzY2IyZDRkZmZhM2ZiMzY4N2ZlY2E3OWU1LnNldENvbnRlbnQoaHRtbF8xNTY5MGIzNDk2YTg0ZDdmYThlZjJiNGY1YzBiYTU0Yyk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8xZjNiYWM3N2Y0MGU0NzFhYjE0MDA0MzZlMjJhMjI4Yi5iaW5kUG9wdXAocG9wdXBfN2M3OGM5MjNjYjJkNGRmZmEzZmIzNjg3ZmVjYTc5ZTUpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNTMyODk3YzI4OGRlNGMxZDlmNTc4OWQxZTE3OTYxM2MgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC41MDUzMzM3NjExNTY0MiwtNzQuMjQ2NTY5MzQyMzUyODNdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMGMwYjVmZTQ3ZGRiNGIxZDhmNjZlYzU0YmNjMmNmOGEgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYmYzOWNkODM1ZTc0NGI5Y2JlNzU4ZGM0YWJjZWIzYmUgPSAkKCc8ZGl2IGlkPSJodG1sX2JmMzljZDgzNWU3NDRiOWNiZTc1OGRjNGFiY2ViM2JlIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Ub3R0ZW52aWxsZTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMGMwYjVmZTQ3ZGRiNGIxZDhmNjZlYzU0YmNjMmNmOGEuc2V0Q29udGVudChodG1sX2JmMzljZDgzNWU3NDRiOWNiZTc1OGRjNGFiY2ViM2JlKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzUzMjg5N2MyODhkZTRjMWQ5ZjU3ODlkMWUxNzk2MTNjLmJpbmRQb3B1cChwb3B1cF8wYzBiNWZlNDdkZGI0YjFkOGY2NmVjNTRiY2MyY2Y4YSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl85Zjg0ZDgwMzBhMTI0MmI0OWU4NzEwMTdmZjgyZWQ0MiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjYzNzMxNjA2NzExMDMyNiwtNzQuMDgwNTUzNTE3OTAxMTVdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNDM0Y2E4MDkwNzNkNDNlZmE1NGYwY2E0OWI5ZTNmNTQgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNmZlMzI1YmU2NzQwNGM0NGE3Nzg1NDlhOTIwMDljZDYgPSAkKCc8ZGl2IGlkPSJodG1sXzZmZTMyNWJlNjc0MDRjNDRhNzc4NTQ5YTkyMDA5Y2Q2IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Ub21wa2luc3ZpbGxlPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF80MzRjYTgwOTA3M2Q0M2VmYTU0ZjBjYTQ5YjllM2Y1NC5zZXRDb250ZW50KGh0bWxfNmZlMzI1YmU2NzQwNGM0NGE3Nzg1NDlhOTIwMDljZDYpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfOWY4NGQ4MDMwYTEyNDJiNDllODcxMDE3ZmY4MmVkNDIuYmluZFBvcHVwKHBvcHVwXzQzNGNhODA5MDczZDQzZWZhNTRmMGNhNDliOWUzZjU0KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2ZiNjdmNjJjYTY2NDQ3ZDc4MGI3MDQxN2E1OTI4MDNjID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjE5MTkzMTA3OTI2NzYsLTc0LjA5NjI5MDI5MjM1NDU4XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2FhMmRjOGYwNzc3ZTQ5NjM5ZTU0NmRhN2YzOGU2ZGQyID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzJjYmRjNDZlZDE1ZTQxMmFhM2UzYjNlZTliZGI0YzI3ID0gJCgnPGRpdiBpZD0iaHRtbF8yY2JkYzQ2ZWQxNWU0MTJhYTNlM2IzZWU5YmRiNGMyNyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+U2lsdmVyIExha2U8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2FhMmRjOGYwNzc3ZTQ5NjM5ZTU0NmRhN2YzOGU2ZGQyLnNldENvbnRlbnQoaHRtbF8yY2JkYzQ2ZWQxNWU0MTJhYTNlM2IzZWU5YmRiNGMyNyk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9mYjY3ZjYyY2E2NjQ0N2Q3ODBiNzA0MTdhNTkyODAzYy5iaW5kUG9wdXAocG9wdXBfYWEyZGM4ZjA3NzdlNDk2MzllNTQ2ZGE3ZjM4ZTZkZDIpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfOTA2ZDQ1ZGQ3NzEzNDA5NDk5MGRhMTY4OWZiMTgxMjIgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42MTI3NjAxNTc1NjQ4OSwtNzQuMDk3MTI1NTIxNzg1M10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF83YzFjMjdkY2ZjOWE0NTU3YTcxNDVkNjU3NmIwMzUzZiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8zODllMmRlMzQzMjM0MzY1OWMyMDA4NWM4NjdjNDkxMiA9ICQoJzxkaXYgaWQ9Imh0bWxfMzg5ZTJkZTM0MzIzNDM2NTljMjAwODVjODY3YzQ5MTIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlN1bm55c2lkZTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfN2MxYzI3ZGNmYzlhNDU1N2E3MTQ1ZDY1NzZiMDM1M2Yuc2V0Q29udGVudChodG1sXzM4OWUyZGUzNDMyMzQzNjU5YzIwMDg1Yzg2N2M0OTEyKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzkwNmQ0NWRkNzcxMzQwOTQ5OTBkYTE2ODlmYjE4MTIyLmJpbmRQb3B1cChwb3B1cF83YzFjMjdkY2ZjOWE0NTU3YTcxNDVkNjU3NmIwMzUzZik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8zZGI3NDEzMjlmNTU0ZTUyYjg2ODc1M2MyZmI3NmRlZCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjY0MzY3NTE4MzM0MDk3NCwtNzMuOTYxMDEzMTI0NjY3NzldLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNjUyMDY1NGU3MzA0NDE3Y2JhZDg4ZWIwYjIyNDQ4MDUgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYzEyMzg1ZjVhYTBkNDc0ZGJhYTRiMzU3YWQxNDYzNWIgPSAkKCc8ZGl2IGlkPSJodG1sX2MxMjM4NWY1YWEwZDQ3NGRiYWE0YjM1N2FkMTQ2MzViIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5EaXRtYXMgUGFyazwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNjUyMDY1NGU3MzA0NDE3Y2JhZDg4ZWIwYjIyNDQ4MDUuc2V0Q29udGVudChodG1sX2MxMjM4NWY1YWEwZDQ3NGRiYWE0YjM1N2FkMTQ2MzViKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzNkYjc0MTMyOWY1NTRlNTJiODY4NzUzYzJmYjc2ZGVkLmJpbmRQb3B1cChwb3B1cF82NTIwNjU0ZTczMDQ0MTdjYmFkODhlYjBiMjI0NDgwNSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9hM2MwMTE3Y2ZiOWI0NGY5OTA2YjgxM2UyZDY3ZDc4YiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjY2MDk0NjU2MTg4MTExLC03My45MzcxODY4MDU1OTMxNF0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8xMjlhNGFmNGQxNWU0NmMzYjBjZThlMDk4ZTE4OTliNCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9mZDIyNDE1YTZiNDY0NGJlYTA1MDNhNzhkZDZmMjBlOCA9ICQoJzxkaXYgaWQ9Imh0bWxfZmQyMjQxNWE2YjQ2NDRiZWEwNTAzYTc4ZGQ2ZjIwZTgiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPldpbmdhdGU8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzEyOWE0YWY0ZDE1ZTQ2YzNiMGNlOGUwOThlMTg5OWI0LnNldENvbnRlbnQoaHRtbF9mZDIyNDE1YTZiNDY0NGJlYTA1MDNhNzhkZDZmMjBlOCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9hM2MwMTE3Y2ZiOWI0NGY5OTA2YjgxM2UyZDY3ZDc4Yi5iaW5kUG9wdXAocG9wdXBfMTI5YTRhZjRkMTVlNDZjM2IwY2U4ZTA5OGUxODk5YjQpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMDQ5ZTkyOWZmYTE4NGUzOGE5NzQxZmQ5Zjc4YTEwZWIgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42NTU1NzIzMTMyODA3NjQsLTczLjkyNjg4MjEyNjE2OTU1XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzAxY2JlOWEwNTk1OTRiZWY5ZjVhNjA5OWM5NDUzZTY1ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzlhOGVjMmYyZTViYTRjMGRiZjY1ZDI0NjNkNzkxMTM0ID0gJCgnPGRpdiBpZD0iaHRtbF85YThlYzJmMmU1YmE0YzBkYmY2NWQyNDYzZDc5MTEzNCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+UnVnYnk8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzAxY2JlOWEwNTk1OTRiZWY5ZjVhNjA5OWM5NDUzZTY1LnNldENvbnRlbnQoaHRtbF85YThlYzJmMmU1YmE0YzBkYmY2NWQyNDYzZDc5MTEzNCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8wNDllOTI5ZmZhMTg0ZTM4YTk3NDFmZDlmNzhhMTBlYi5iaW5kUG9wdXAocG9wdXBfMDFjYmU5YTA1OTU5NGJlZjlmNWE2MDk5Yzk0NTNlNjUpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfY2ZlM2IwMDU2YjMwNDg0ZTk4YjY5MjY2NDkwZDIxYWIgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42MDkxOTA0NDQzNDU1OCwtNzQuMDgwMTU3MzQ5MzYyOTZdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMmZlMmZkODc5NjNiNGVlMWEyOWMxN2ZjMDhjZjhmZGIgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfM2E5MDdhNzY4NTc3NGQwMWFiNTA1ZDI1YzE2OGNjYTMgPSAkKCc8ZGl2IGlkPSJodG1sXzNhOTA3YTc2ODU3NzRkMDFhYjUwNWQyNWMxNjhjY2EzIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5QYXJrIEhpbGw8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzJmZTJmZDg3OTYzYjRlZTFhMjljMTdmYzA4Y2Y4ZmRiLnNldENvbnRlbnQoaHRtbF8zYTkwN2E3Njg1Nzc0ZDAxYWI1MDVkMjVjMTY4Y2NhMyk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9jZmUzYjAwNTZiMzA0ODRlOThiNjkyNjY0OTBkMjFhYi5iaW5kUG9wdXAocG9wdXBfMmZlMmZkODc5NjNiNGVlMWEyOWMxN2ZjMDhjZjhmZGIpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYjM1NTI5MmJiNTk5NDYzOTg5MzNhMzY1YWY0OWFkYWYgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42MjEwOTA0NzI3NTQwOSwtNzQuMTMzMDQxNDM5NTE3MDRdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfOWU5ZDY2MGFlZTJjNDhmYWJjMzE5MTZlMDQ1Y2YzNjIgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNTVmMTFhYzQ3MDcyNDVlNjk1YzRmNzE2NDg4YWQ1NmUgPSAkKCc8ZGl2IGlkPSJodG1sXzU1ZjExYWM0NzA3MjQ1ZTY5NWM0ZjcxNjQ4OGFkNTZlIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5XZXN0ZXJsZWlnaDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfOWU5ZDY2MGFlZTJjNDhmYWJjMzE5MTZlMDQ1Y2YzNjIuc2V0Q29udGVudChodG1sXzU1ZjExYWM0NzA3MjQ1ZTY5NWM0ZjcxNjQ4OGFkNTZlKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2IzNTUyOTJiYjU5OTQ2Mzk4OTMzYTM2NWFmNDlhZGFmLmJpbmRQb3B1cChwb3B1cF85ZTlkNjYwYWVlMmM0OGZhYmMzMTkxNmUwNDVjZjM2Mik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9hNzc5MGIzZTI5ZDA0NzE4OTAxNjIxNGZkNDVmYjA1YiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjYyMDE3MTUxMjIzMTg4NCwtNzQuMTUzMTUyNDYzODc3NjJdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMjFkYzU1NmZlNDRjNGE4ZDkzYzY2MjUyZGJlOTBiYTggPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfY2QxZDA0MmEwYWExNDQ0N2JmNzIwYjZkNjgyZWRjMzMgPSAkKCc8ZGl2IGlkPSJodG1sX2NkMWQwNDJhMGFhMTQ0NDdiZjcyMGI2ZDY4MmVkYzMzIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5HcmFuaXRldmlsbGU8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzIxZGM1NTZmZTQ0YzRhOGQ5M2M2NjI1MmRiZTkwYmE4LnNldENvbnRlbnQoaHRtbF9jZDFkMDQyYTBhYTE0NDQ3YmY3MjBiNmQ2ODJlZGMzMyk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9hNzc5MGIzZTI5ZDA0NzE4OTAxNjIxNGZkNDVmYjA1Yi5iaW5kUG9wdXAocG9wdXBfMjFkYzU1NmZlNDRjNGE4ZDkzYzY2MjUyZGJlOTBiYTgpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZmFkYjQ3YTI5MzE5NGIyYmIwMzM3MGRkYTdiOTNmN2YgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42MzUzMjUwOTkxMTQ5MiwtNzQuMTY1MTA0MjAyNDExMjRdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNWI2MTJhZWUyODQ4NDEyODk1ZDUwN2Y5Y2Y1OWE1YWMgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNjFjYjJhYmM1ZDhhNGRmY2EyMWUzNDNiM2NkYjNlNTQgPSAkKCc8ZGl2IGlkPSJodG1sXzYxY2IyYWJjNWQ4YTRkZmNhMjFlMzQzYjNjZGIzZTU0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Bcmxpbmd0b248L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzViNjEyYWVlMjg0ODQxMjg5NWQ1MDdmOWNmNTlhNWFjLnNldENvbnRlbnQoaHRtbF82MWNiMmFiYzVkOGE0ZGZjYTIxZTM0M2IzY2RiM2U1NCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9mYWRiNDdhMjkzMTk0YjJiYjAzMzcwZGRhN2I5M2Y3Zi5iaW5kUG9wdXAocG9wdXBfNWI2MTJhZWUyODQ4NDEyODk1ZDUwN2Y5Y2Y1OWE1YWMpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMDFiY2ExOTVjOTNkNGM5YmE3MDgyYTFiYjNjNzI3NTAgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC41OTYzMTI1NzEyNzY3MzQsLTc0LjA2NzEyMzYzMjI1NTc0XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzIwNzNiODk3N2MxYTQxOWFhMGI5OWQ0MjM4NzE0MGI3ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzI2NWI3MDQ1NzA2ZDQ4M2ViN2Y3MDE1NDEwNjc5MTU5ID0gJCgnPGRpdiBpZD0iaHRtbF8yNjViNzA0NTcwNmQ0ODNlYjdmNzAxNTQxMDY3OTE1OSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+QXJyb2NoYXI8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzIwNzNiODk3N2MxYTQxOWFhMGI5OWQ0MjM4NzE0MGI3LnNldENvbnRlbnQoaHRtbF8yNjViNzA0NTcwNmQ0ODNlYjdmNzAxNTQxMDY3OTE1OSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8wMWJjYTE5NWM5M2Q0YzliYTcwODJhMWJiM2M3Mjc1MC5iaW5kUG9wdXAocG9wdXBfMjA3M2I4OTc3YzFhNDE5YWEwYjk5ZDQyMzg3MTQwYjcpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYzlkMDA1N2Q2NjQzNDVhYzk5MDNkNzBmNzQ3NzA0YWEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC41OTgyNjgzNTk1OTk5MSwtNzQuMDc2Njc0MzYyNzkwNV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF82YjM1MmJjMTE4YWU0NWQwYTE0ZGM5YzIyYTY5N2IyYiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9iYjNlM2U0Y2RhOTc0YzYzOTQ4OWMxZmJmNzNkMjhkMSA9ICQoJzxkaXYgaWQ9Imh0bWxfYmIzZTNlNGNkYTk3NGM2Mzk0ODljMWZiZjczZDI4ZDEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkdyYXNtZXJlPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF82YjM1MmJjMTE4YWU0NWQwYTE0ZGM5YzIyYTY5N2IyYi5zZXRDb250ZW50KGh0bWxfYmIzZTNlNGNkYTk3NGM2Mzk0ODljMWZiZjczZDI4ZDEpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYzlkMDA1N2Q2NjQzNDVhYzk5MDNkNzBmNzQ3NzA0YWEuYmluZFBvcHVwKHBvcHVwXzZiMzUyYmMxMThhZTQ1ZDBhMTRkYzljMjJhNjk3YjJiKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzI4N2MxNDJmOTM4NzQzODVhMDAzZmFiNzVmM2Y4MzQzID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNTk2MzI4OTEzNzk1MTMsLTc0LjA4NzUxMTE4MDA1NTc4XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzgzZDVjZjY3YzkyMDRkZTU4ODFiMTZjZDkyZGQyZTYxID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2RlMWVjMjMxZDAxZDQxMGRiNTliMTc5Yjk3NjQwOTRmID0gJCgnPGRpdiBpZD0iaHRtbF9kZTFlYzIzMWQwMWQ0MTBkYjU5YjE3OWI5NzY0MDk0ZiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+T2xkIFRvd248L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzgzZDVjZjY3YzkyMDRkZTU4ODFiMTZjZDkyZGQyZTYxLnNldENvbnRlbnQoaHRtbF9kZTFlYzIzMWQwMWQ0MTBkYjU5YjE3OWI5NzY0MDk0Zik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8yODdjMTQyZjkzODc0Mzg1YTAwM2ZhYjc1ZjNmODM0My5iaW5kUG9wdXAocG9wdXBfODNkNWNmNjdjOTIwNGRlNTg4MWIxNmNkOTJkZDJlNjEpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYjZiMGQ0NGQ0ZTg4NDQ2ZDllYzcyYzE1ZDZlMWM2ZDQgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC41ODg2NzI5NDgxOTkyNzUsLTc0LjA5NjM5OTA1MzEyNTIxXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzFmMjNhYmQxMzVkMzQ2ZGE4NWI3ODYzZjVhNjcwZTJhID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2YyNGRjNjQ4ZDFmMDQyYzFhMTk3ZmM4NGUxZjBmYjQ1ID0gJCgnPGRpdiBpZD0iaHRtbF9mMjRkYzY0OGQxZjA0MmMxYTE5N2ZjODRlMWYwZmI0NSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+RG9uZ2FuIEhpbGxzPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8xZjIzYWJkMTM1ZDM0NmRhODViNzg2M2Y1YTY3MGUyYS5zZXRDb250ZW50KGh0bWxfZjI0ZGM2NDhkMWYwNDJjMWExOTdmYzg0ZTFmMGZiNDUpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYjZiMGQ0NGQ0ZTg4NDQ2ZDllYzcyYzE1ZDZlMWM2ZDQuYmluZFBvcHVwKHBvcHVwXzFmMjNhYmQxMzVkMzQ2ZGE4NWI3ODYzZjVhNjcwZTJhKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzIxY2QzMjExNGRiZjQ0MTE5NjIwYTc1YWEyNjZkMmI3ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNTczNTI2OTA1NzQyODMsLTc0LjA5MzQ4MjY2MzAzNTkxXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzRmMGU5NmU0NWU4ODQ4OTBiNTdiZGE4YThiM2ZhZmIwID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzQ0ZTQ1MjJmNzMxYTQyNTc4MzNjNDEwMzUyYWUzNmMyID0gJCgnPGRpdiBpZD0iaHRtbF80NGU0NTIyZjczMWE0MjU3ODMzYzQxMDM1MmFlMzZjMiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+TWlkbGFuZCBCZWFjaDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNGYwZTk2ZTQ1ZTg4NDg5MGI1N2JkYThhOGIzZmFmYjAuc2V0Q29udGVudChodG1sXzQ0ZTQ1MjJmNzMxYTQyNTc4MzNjNDEwMzUyYWUzNmMyKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzIxY2QzMjExNGRiZjQ0MTE5NjIwYTc1YWEyNjZkMmI3LmJpbmRQb3B1cChwb3B1cF80ZjBlOTZlNDVlODg0ODkwYjU3YmRhOGE4YjNmYWZiMCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9hMjRkNTJhN2U5ZjU0NTY0YjIyZjFlOGJkNzViOTc0NCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjU3NjIxNTU4NzExNzg4LC03NC4xMDU4NTU5ODU0NTQzNF0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF84ZGI5Y2E1NDgxNGQ0YmFlYTY4MWI0OTM4YzNhYzI1YiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF84YjY5ZWVjMTg5ZTM0ODBlOGIzYjU1ZjgwY2EzZDg5YSA9ICQoJzxkaXYgaWQ9Imh0bWxfOGI2OWVlYzE4OWUzNDgwZThiM2I1NWY4MGNhM2Q4OWEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkdyYW50IENpdHk8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzhkYjljYTU0ODE0ZDRiYWVhNjgxYjQ5MzhjM2FjMjViLnNldENvbnRlbnQoaHRtbF84YjY5ZWVjMTg5ZTM0ODBlOGIzYjU1ZjgwY2EzZDg5YSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9hMjRkNTJhN2U5ZjU0NTY0YjIyZjFlOGJkNzViOTc0NC5iaW5kUG9wdXAocG9wdXBfOGRiOWNhNTQ4MTRkNGJhZWE2ODFiNDkzOGMzYWMyNWIpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMzY2OGY3ZDllNjA5NDUxMDgzYjJkNTgxM2FkZTZlNzEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC41NjQyNTU0OTMwNzMzNSwtNzQuMTA0MzI3MDc0NjkxMjRdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMWY0NTg2MmRkYzI3NDI3NThmNjhiYmQ5YmEyZTE3MGYgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMTI5M2ZlMDIyYmQ4NGU3YWE1ZTIzMDJiN2QxZTVhYTMgPSAkKCc8ZGl2IGlkPSJodG1sXzEyOTNmZTAyMmJkODRlN2FhNWUyMzAyYjdkMWU1YWEzIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5OZXcgRG9ycCBCZWFjaDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMWY0NTg2MmRkYzI3NDI3NThmNjhiYmQ5YmEyZTE3MGYuc2V0Q29udGVudChodG1sXzEyOTNmZTAyMmJkODRlN2FhNWUyMzAyYjdkMWU1YWEzKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzM2NjhmN2Q5ZTYwOTQ1MTA4M2IyZDU4MTNhZGU2ZTcxLmJpbmRQb3B1cChwb3B1cF8xZjQ1ODYyZGRjMjc0Mjc1OGY2OGJiZDliYTJlMTcwZik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8zY2Y0ZGY0YzgzMmM0YjlhYjkwMTI5NDk4YTMyNjZiMCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjU1Mzk4ODAwODU4NDYyLC03NC4xMzkxNjYyMjE3NTc2OF0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF81ZWQ3MGQ0YTI4YjM0YzEzOTRkNzMyNWM1YzhjZTY0NiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8yODJiMDI5NmVmOTk0N2QyYmIxNWI1OTQ0NmE1ZmEyZCA9ICQoJzxkaXYgaWQ9Imh0bWxfMjgyYjAyOTZlZjk5NDdkMmJiMTViNTk0NDZhNWZhMmQiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkJheSBUZXJyYWNlPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF81ZWQ3MGQ0YTI4YjM0YzEzOTRkNzMyNWM1YzhjZTY0Ni5zZXRDb250ZW50KGh0bWxfMjgyYjAyOTZlZjk5NDdkMmJiMTViNTk0NDZhNWZhMmQpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfM2NmNGRmNGM4MzJjNGI5YWI5MDEyOTQ5OGEzMjY2YjAuYmluZFBvcHVwKHBvcHVwXzVlZDcwZDRhMjhiMzRjMTM5NGQ3MzI1YzVjOGNlNjQ2KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzBjMmE2ZjI0YWM0ZTQ0ZTI5NjkxYzgwYzkwYmNlNmZjID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNTMxOTExOTIwNDg5NjA1LC03NC4xOTE3NDEwNTc0NzgxNF0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9mN2ZlZDBlOWIxYWE0ZTQzOThiMDdhODkxZDc5YTI3NyA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8xNGM3ZGFhNDBjMDc0N2M1YTQwMDA1ZjA2Njk1ZThmYyA9ICQoJzxkaXYgaWQ9Imh0bWxfMTRjN2RhYTQwYzA3NDdjNWE0MDAwNWYwNjY5NWU4ZmMiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkh1Z3Vlbm90PC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9mN2ZlZDBlOWIxYWE0ZTQzOThiMDdhODkxZDc5YTI3Ny5zZXRDb250ZW50KGh0bWxfMTRjN2RhYTQwYzA3NDdjNWE0MDAwNWYwNjY5NWU4ZmMpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfMGMyYTZmMjRhYzRlNDRlMjk2OTFjODBjOTBiY2U2ZmMuYmluZFBvcHVwKHBvcHVwX2Y3ZmVkMGU5YjFhYTRlNDM5OGIwN2E4OTFkNzlhMjc3KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzUwZWZlZjU3NGRiOTQ5MTA5MzhkMWI3MDRlNDk0YWFmID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNTI0Njk5Mzc2MTE4MTM2LC03NC4yMTk4MzEwNjYxNjc3N10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF85NDkyNTgxMjc1ZGI0MDA4OWIxMTFhYmQ5ZDUzMjU3ZiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9mZjhmNzY3YzA2NzM0YzQyYmQ1M2U4ZjVlZjc4ZDJkYSA9ICQoJzxkaXYgaWQ9Imh0bWxfZmY4Zjc2N2MwNjczNGM0MmJkNTNlOGY1ZWY3OGQyZGEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlBsZWFzYW50IFBsYWluczwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfOTQ5MjU4MTI3NWRiNDAwODliMTExYWJkOWQ1MzI1N2Yuc2V0Q29udGVudChodG1sX2ZmOGY3NjdjMDY3MzRjNDJiZDUzZThmNWVmNzhkMmRhKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzUwZWZlZjU3NGRiOTQ5MTA5MzhkMWI3MDRlNDk0YWFmLmJpbmRQb3B1cChwb3B1cF85NDkyNTgxMjc1ZGI0MDA4OWIxMTFhYmQ5ZDUzMjU3Zik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl82NDQ2ZWQ1ZmZlZDQ0MTM3YjBjOWNkNTUyMjkzOGNlZSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjUwNjA4MTY1MzQ2MzA1LC03NC4yMjk1MDM1MDI2MDAyN10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF83ZTBlOWI2MDVmYzU0YmQ1OTA2NGE5NTNhOTkwY2JhMCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF80Njc1NDc1MDYxNzA0MzEyODYxM2Y2ZmQxOGI0YTU1YyA9ICQoJzxkaXYgaWQ9Imh0bWxfNDY3NTQ3NTA2MTcwNDMxMjg2MTNmNmZkMThiNGE1NWMiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkJ1dGxlciBNYW5vcjwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfN2UwZTliNjA1ZmM1NGJkNTkwNjRhOTUzYTk5MGNiYTAuc2V0Q29udGVudChodG1sXzQ2NzU0NzUwNjE3MDQzMTI4NjEzZjZmZDE4YjRhNTVjKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzY0NDZlZDVmZmVkNDQxMzdiMGM5Y2Q1NTIyOTM4Y2VlLmJpbmRQb3B1cChwb3B1cF83ZTBlOWI2MDVmYzU0YmQ1OTA2NGE5NTNhOTkwY2JhMCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl84YTE5ZGI5ZTNiMGQ0MzM3YjA2ODNjZTYyN2JmMjNjMiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjUzMDUzMTQ4MjgzMzE0LC03NC4yMzIxNTc3NTg5NjUyNl0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8zMDBmNzlhYTU5YmY0MGRkYWQ0ZDE3YTRkNTI2MjI1YyA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9mYjBkOTI5NTk4MTQ0MTcyOTI0NTQ3MzE4MjZjYWYyOSA9ICQoJzxkaXYgaWQ9Imh0bWxfZmIwZDkyOTU5ODE0NDE3MjkyNDU0NzMxODI2Y2FmMjkiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkNoYXJsZXN0b248L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzMwMGY3OWFhNTliZjQwZGRhZDRkMTdhNGQ1MjYyMjVjLnNldENvbnRlbnQoaHRtbF9mYjBkOTI5NTk4MTQ0MTcyOTI0NTQ3MzE4MjZjYWYyOSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl84YTE5ZGI5ZTNiMGQ0MzM3YjA2ODNjZTYyN2JmMjNjMi5iaW5kUG9wdXAocG9wdXBfMzAwZjc5YWE1OWJmNDBkZGFkNGQxN2E0ZDUyNjIyNWMpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfOGU4ODViNzNiOTEwNGQ5NzhiNDI2YjE5M2UwNjIxNDcgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC41NDk0MDQwMDY1MDA3MiwtNzQuMjE1NzI4NTExMTM5NTJdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMDMxZjFjZDc2NjFhNDNmNjlhNjNjNmU0NWUzMmUzYWIgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZGU5NmI4MDBiMzljNGEzZWJkM2QxZTZhNTI5YjRkYjQgPSAkKCc8ZGl2IGlkPSJodG1sX2RlOTZiODAwYjM5YzRhM2ViZDNkMWU2YTUyOWI0ZGI0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Sb3NzdmlsbGU8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzAzMWYxY2Q3NjYxYTQzZjY5YTYzYzZlNDVlMzJlM2FiLnNldENvbnRlbnQoaHRtbF9kZTk2YjgwMGIzOWM0YTNlYmQzZDFlNmE1MjliNGRiNCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl84ZTg4NWI3M2I5MTA0ZDk3OGI0MjZiMTkzZTA2MjE0Ny5iaW5kUG9wdXAocG9wdXBfMDMxZjFjZDc2NjFhNDNmNjlhNjNjNmU0NWUzMmUzYWIpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMjhiNGJlNzIyYjFmNGZlNjk2MDc1OWE5NzA1NGRjZjcgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC41NDkyODU4MjI3ODMyMSwtNzQuMTg1ODg2NzQ1ODM4OTNdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZDk4NGRlYjNjZmIyNDY5YzkwMGM0NDM3YWZiNzhmMTkgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNThmNTViNTVhYmZkNGNkOTkyOWQwMDQ4YjkzODdjMDYgPSAkKCc8ZGl2IGlkPSJodG1sXzU4ZjU1YjU1YWJmZDRjZDk5MjlkMDA0OGI5Mzg3YzA2IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5BcmRlbiBIZWlnaHRzPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9kOTg0ZGViM2NmYjI0NjljOTAwYzQ0MzdhZmI3OGYxOS5zZXRDb250ZW50KGh0bWxfNThmNTViNTVhYmZkNGNkOTkyOWQwMDQ4YjkzODdjMDYpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfMjhiNGJlNzIyYjFmNGZlNjk2MDc1OWE5NzA1NGRjZjcuYmluZFBvcHVwKHBvcHVwX2Q5ODRkZWIzY2ZiMjQ2OWM5MDBjNDQzN2FmYjc4ZjE5KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2YyMTFkYjJlODkxNDRiMTVhYjRhNjczYTI0ODM3ZjljID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNTU1Mjk1MjM2MTczMTk0LC03NC4xNzA3OTQxNDc4NjA5Ml0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8yODZkNWYxZjU5N2E0MGQxOWFmMDBjOGNjODdjZGRlMSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8wMmZkZGE5MTg0MDY0OWE2OTdlYTQxZTkyZTU3MjFkMyA9ICQoJzxkaXYgaWQ9Imh0bWxfMDJmZGRhOTE4NDA2NDlhNjk3ZWE0MWU5MmU1NzIxZDMiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkdyZWVucmlkZ2U8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzI4NmQ1ZjFmNTk3YTQwZDE5YWYwMGM4Y2M4N2NkZGUxLnNldENvbnRlbnQoaHRtbF8wMmZkZGE5MTg0MDY0OWE2OTdlYTQxZTkyZTU3MjFkMyk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9mMjExZGIyZTg5MTQ0YjE1YWI0YTY3M2EyNDgzN2Y5Yy5iaW5kUG9wdXAocG9wdXBfMjg2ZDVmMWY1OTdhNDBkMTlhZjAwYzhjYzg3Y2RkZTEpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZjJhMzI2YTNhNzUwNDdlZGI5MmM2YmQ2MjllZjAwYjUgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC41ODkxMzg5NDg3NTI4MSwtNzQuMTU5MDIyMDgxNTY2MDFdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZjM2ZjczMzExMjQ2NDYwY2IxZGQ0YWVkOTNhNGI1YjAgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYzQxOGQwOThjZjIzNDhlMGI4YmUxOTI2M2Q5OTQwZDUgPSAkKCc8ZGl2IGlkPSJodG1sX2M0MThkMDk4Y2YyMzQ4ZTBiOGJlMTkyNjNkOTk0MGQ1IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5IZWFydGxhbmQgVmlsbGFnZTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZjM2ZjczMzExMjQ2NDYwY2IxZGQ0YWVkOTNhNGI1YjAuc2V0Q29udGVudChodG1sX2M0MThkMDk4Y2YyMzQ4ZTBiOGJlMTkyNjNkOTk0MGQ1KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2YyYTMyNmEzYTc1MDQ3ZWRiOTJjNmJkNjI5ZWYwMGI1LmJpbmRQb3B1cChwb3B1cF9mMzZmNzMzMTEyNDY0NjBjYjFkZDRhZWQ5M2E0YjViMCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl85MjYyMjMyZmFhOTE0MTU5OTk5ZWMyNGRjNmQyMjhhYSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjU5NDcyNjAyNzQ2Mjk1LC03NC4xODk1NjA0NTUxOTY5XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2RkNjllYTBlN2Q1NzQzYmY5MmM1MTU3ZjY5MDM5YmY4ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2QzYjIzYTZmYjM3ZTRlZTA4ZDMwYzlhYTIwNDZlODQ1ID0gJCgnPGRpdiBpZD0iaHRtbF9kM2IyM2E2ZmIzN2U0ZWUwOGQzMGM5YWEyMDQ2ZTg0NSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Q2hlbHNlYTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZGQ2OWVhMGU3ZDU3NDNiZjkyYzUxNTdmNjkwMzliZjguc2V0Q29udGVudChodG1sX2QzYjIzYTZmYjM3ZTRlZTA4ZDMwYzlhYTIwNDZlODQ1KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzkyNjIyMzJmYWE5MTQxNTk5OTllYzI0ZGM2ZDIyOGFhLmJpbmRQb3B1cChwb3B1cF9kZDY5ZWEwZTdkNTc0M2JmOTJjNTE1N2Y2OTAzOWJmOCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl83MWQyNzhhMjI1ZDU0MTM3YTZhYzg3YzJlMjQ5NzBmMSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjYwNTc3ODY4NDUyMzU4LC03NC4xODcyNTYzODM4MTU2N10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF84ODYyZTIxNTBkMDQ0YWU0OTJkNjUxMDEyZDMyMjdhOCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8wZmFjNjI5NWIwYmI0NWM4OWVmZjRmNTRlMjk3NTFkZSA9ICQoJzxkaXYgaWQ9Imh0bWxfMGZhYzYyOTViMGJiNDVjODllZmY0ZjU0ZTI5NzUxZGUiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkJsb29tZmllbGQ8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzg4NjJlMjE1MGQwNDRhZTQ5MmQ2NTEwMTJkMzIyN2E4LnNldENvbnRlbnQoaHRtbF8wZmFjNjI5NWIwYmI0NWM4OWVmZjRmNTRlMjk3NTFkZSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl83MWQyNzhhMjI1ZDU0MTM3YTZhYzg3YzJlMjQ5NzBmMS5iaW5kUG9wdXAocG9wdXBfODg2MmUyMTUwZDA0NGFlNDkyZDY1MTAxMmQzMjI3YTgpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNzIyNjJkNjNlZmU0NGQ1Mzk2MGFjNTNhZmFmYzUwODUgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42MDk1OTE4MDA0MjAzLC03NC4xNTk0MDk0ODY1NzEyMl0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9kYjkxZTU2ODViZTk0MDQ5OGJjMzAxNTA1YTBjZTJkYiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9mOTdmNGMyYWVkNzk0YjU3YWRlNDY0OWQ5NzM0ZmRmYSA9ICQoJzxkaXYgaWQ9Imh0bWxfZjk3ZjRjMmFlZDc5NGI1N2FkZTQ2NDlkOTczNGZkZmEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkJ1bGxzIEhlYWQ8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2RiOTFlNTY4NWJlOTQwNDk4YmMzMDE1MDVhMGNlMmRiLnNldENvbnRlbnQoaHRtbF9mOTdmNGMyYWVkNzk0YjU3YWRlNDY0OWQ5NzM0ZmRmYSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl83MjI2MmQ2M2VmZTQ0ZDUzOTYwYWM1M2FmYWZjNTA4NS5iaW5kUG9wdXAocG9wdXBfZGI5MWU1Njg1YmU5NDA0OThiYzMwMTUwNWEwY2UyZGIpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZDY2M2U1NjM2MmIzNDZlNTlkMmRjZDBjODM2ZjkyZDggPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43ODI2ODI1NjcxMjU3LC03My45NTMyNTY0NjgzNzExMl0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF84NjQzNjk5OTRjZmE0N2U4YjQ0NGQxZTc1OTA5OTdjOCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF84YmYzZDBjN2U0ZTQ0NjM2OWNiYmZjMzM5OTA2ODc5YiA9ICQoJzxkaXYgaWQ9Imh0bWxfOGJmM2QwYzdlNGU0NDYzNjljYmJmYzMzOTkwNjg3OWIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkNhcm5lZ2llIEhpbGw8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzg2NDM2OTk5NGNmYTQ3ZThiNDQ0ZDFlNzU5MDk5N2M4LnNldENvbnRlbnQoaHRtbF84YmYzZDBjN2U0ZTQ0NjM2OWNiYmZjMzM5OTA2ODc5Yik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9kNjYzZTU2MzYyYjM0NmU1OWQyZGNkMGM4MzZmOTJkOC5iaW5kUG9wdXAocG9wdXBfODY0MzY5OTk0Y2ZhNDdlOGI0NDRkMWU3NTkwOTk3YzgpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZWE1ZWZjOTBhZWEzNGNmMDgzZmI5MWZmOTBhYTU4NTcgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43MjMyNTkwMTg4NTc2OCwtNzMuOTg4NDMzNjgwMjM1OTddLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZWMyZjdjZDdhNDdkNDU5NTkwNmNmN2ZkNzI0NmY0MzIgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMWM4MzMxNjQ2NGU0NDk5MzljODI3NGQ5MGUzZGJlYzUgPSAkKCc8ZGl2IGlkPSJodG1sXzFjODMzMTY0NjRlNDQ5OTM5YzgyNzRkOTBlM2RiZWM1IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Ob2hvPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9lYzJmN2NkN2E0N2Q0NTk1OTA2Y2Y3ZmQ3MjQ2ZjQzMi5zZXRDb250ZW50KGh0bWxfMWM4MzMxNjQ2NGU0NDk5MzljODI3NGQ5MGUzZGJlYzUpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfZWE1ZWZjOTBhZWEzNGNmMDgzZmI5MWZmOTBhYTU4NTcuYmluZFBvcHVwKHBvcHVwX2VjMmY3Y2Q3YTQ3ZDQ1OTU5MDZjZjdmZDcyNDZmNDMyKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2FmOWQ1MzY0ZGYyOTQ1MzM4ODhlYmIxYjEwZGVmYTQ2ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzE1MjI4OTIwNDYyODIsLTc0LjAwNTQxNTI5ODczMzU1XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzNjODllYmUwOWM5ODQxZGM4ZjBmYjdlYmUzZTNkMjJmID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzRlMWUzNjU2YTY3YzQ1ZjhiZjRmNGRiOGVkOGNlMGY0ID0gJCgnPGRpdiBpZD0iaHRtbF80ZTFlMzY1NmE2N2M0NWY4YmY0ZjRkYjhlZDhjZTBmNCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Q2l2aWMgQ2VudGVyPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8zYzg5ZWJlMDljOTg0MWRjOGYwZmI3ZWJlM2UzZDIyZi5zZXRDb250ZW50KGh0bWxfNGUxZTM2NTZhNjdjNDVmOGJmNGY0ZGI4ZWQ4Y2UwZjQpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYWY5ZDUzNjRkZjI5NDUzMzg4OGViYjFiMTBkZWZhNDYuYmluZFBvcHVwKHBvcHVwXzNjODllYmUwOWM5ODQxZGM4ZjBmYjdlYmUzZTNkMjJmKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2IzNDUxMDJhMmEwNzQ0OTM4NDc0ZTY4MTNiMTUyMTVlID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzQ4NTA5NjY0MzEyMiwtNzMuOTg4NzEzMTMyODUyNDddLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZWViNDA4NDNhZGE0NGQzYzkyMzNjOTQxOGFhZThhMWYgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfN2U5ZDA0MDQ5ZGVlNGRmMTgzYjMzYzQwZDgwYjJlNmUgPSAkKCc8ZGl2IGlkPSJodG1sXzdlOWQwNDA0OWRlZTRkZjE4M2IzM2M0MGQ4MGIyZTZlIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5NaWR0b3duIFNvdXRoPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9lZWI0MDg0M2FkYTQ0ZDNjOTIzM2M5NDE4YWFlOGExZi5zZXRDb250ZW50KGh0bWxfN2U5ZDA0MDQ5ZGVlNGRmMTgzYjMzYzQwZDgwYjJlNmUpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYjM0NTEwMmEyYTA3NDQ5Mzg0NzRlNjgxM2IxNTIxNWUuYmluZFBvcHVwKHBvcHVwX2VlYjQwODQzYWRhNDRkM2M5MjMzYzk0MThhYWU4YTFmKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzUwZDkzYmE3MjM0MzQyNWE5ZTMzNTNlZGY3ZGJhYThmID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNTY5NjA1OTQyNzU1MDUsLTc0LjEzNDA1NzI5ODYyNTddLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNThiYTVkOTM4Nzg4NDUzYmI5ZWE3ZjdjOTU4N2IwNmQgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfODFjZTZjMTAzOGY3NDdlOTgwNWM0ZmM2MjUwMjliZGYgPSAkKCc8ZGl2IGlkPSJodG1sXzgxY2U2YzEwMzhmNzQ3ZTk4MDVjNGZjNjI1MDI5YmRmIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5SaWNobW9uZCBUb3duPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF81OGJhNWQ5Mzg3ODg0NTNiYjllYTdmN2M5NTg3YjA2ZC5zZXRDb250ZW50KGh0bWxfODFjZTZjMTAzOGY3NDdlOTgwNWM0ZmM2MjUwMjliZGYpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfNTBkOTNiYTcyMzQzNDI1YTllMzM1M2VkZjdkYmFhOGYuYmluZFBvcHVwKHBvcHVwXzU4YmE1ZDkzODc4ODQ1M2JiOWVhN2Y3Yzk1ODdiMDZkKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzI4ZmU2MzJmMThlZTRiOTY4ZmEwOWZhMjEwYTRmYWFmID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjA5NzE5MzQwNzkyODQsLTc0LjA2NjY3NzY2MDYxNzcxXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2RiNDQ1ZmIzYzA3YTQ0MjhiMjRiODRjMGM0Y2EwMDM3ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzRiMzA1NTM1ZWRmMzQ4NGU5YWMyZmRiZTA2YjgzMzU3ID0gJCgnPGRpdiBpZD0iaHRtbF80YjMwNTUzNWVkZjM0ODRlOWFjMmZkYmUwNmI4MzM1NyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+U2hvcmUgQWNyZXM8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2RiNDQ1ZmIzYzA3YTQ0MjhiMjRiODRjMGM0Y2EwMDM3LnNldENvbnRlbnQoaHRtbF80YjMwNTUzNWVkZjM0ODRlOWFjMmZkYmUwNmI4MzM1Nyk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8yOGZlNjMyZjE4ZWU0Yjk2OGZhMDlmYTIxMGE0ZmFhZi5iaW5kUG9wdXAocG9wdXBfZGI0NDVmYjNjMDdhNDQyOGIyNGI4NGMwYzRjYTAwMzcpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfN2JmZTQyZjRjY2UzNGYyNjg4YTQ0NmFmZjhmOTQwOGQgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42MTkxNzg0NTIwMjg0MywtNzQuMDcyNjQyNDQ1NDg0XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzA0ZDMzZTI1ZTVhZTRkMTU4NGQ0MzZlOGEyNDIzYWFhID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2NjMzRkZTY0MGM4NDQ1OTU5ZGI5ZDQ1YzdiN2JkMDE2ID0gJCgnPGRpdiBpZD0iaHRtbF9jYzM0ZGU2NDBjODQ0NTk1OWRiOWQ0NWM3YjdiZDAxNiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Q2xpZnRvbjwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMDRkMzNlMjVlNWFlNGQxNTg0ZDQzNmU4YTI0MjNhYWEuc2V0Q29udGVudChodG1sX2NjMzRkZTY0MGM4NDQ1OTU5ZGI5ZDQ1YzdiN2JkMDE2KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzdiZmU0MmY0Y2NlMzRmMjY4OGE0NDZhZmY4Zjk0MDhkLmJpbmRQb3B1cChwb3B1cF8wNGQzM2UyNWU1YWU0ZDE1ODRkNDM2ZThhMjQyM2FhYSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9iZDRlOTdiNTI2ODY0MjlkYWNkYTNjNzNiMDJiZjU0OSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjYwNDQ3MzE4OTY4NzksLTc0LjA4NDAyMzY0NzQwMzU4XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzkzYjU2YTAzNDY4ODQyN2RhMzVmNGUwNjczNjliM2EwID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzU5N2NhYTM5MDMzNjRjYzdiYjFjMmY2YTg2ODA0NjVkID0gJCgnPGRpdiBpZD0iaHRtbF81OTdjYWEzOTAzMzY0Y2M3YmIxYzJmNmE4NjgwNDY1ZCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Q29uY29yZDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfOTNiNTZhMDM0Njg4NDI3ZGEzNWY0ZTA2NzM2OWIzYTAuc2V0Q29udGVudChodG1sXzU5N2NhYTM5MDMzNjRjYzdiYjFjMmY2YTg2ODA0NjVkKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2JkNGU5N2I1MjY4NjQyOWRhY2RhM2M3M2IwMmJmNTQ5LmJpbmRQb3B1cChwb3B1cF85M2I1NmEwMzQ2ODg0MjdkYTM1ZjRlMDY3MzY5YjNhMCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl80Yjc1OTAxN2VlMDE0Nzk2YWI4MTBkNzJmODdjNDJhMyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjYwNjc5NDM5NDgwMSwtNzQuMDk3NzYyMDY5NzI1MjJdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNzVhZTYyNzEyYTVmNDhhZTljMjU1MDVjZTI4M2E2NzUgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZTYyZmM1NWZmZGZmNGIyN2I5ZDViMmIwMjA5Y2U0ZDEgPSAkKCc8ZGl2IGlkPSJodG1sX2U2MmZjNTVmZmRmZjRiMjdiOWQ1YjJiMDIwOWNlNGQxIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5FbWVyc29uIEhpbGw8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzc1YWU2MjcxMmE1ZjQ4YWU5YzI1NTA1Y2UyODNhNjc1LnNldENvbnRlbnQoaHRtbF9lNjJmYzU1ZmZkZmY0YjI3YjlkNWIyYjAyMDljZTRkMSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl80Yjc1OTAxN2VlMDE0Nzk2YWI4MTBkNzJmODdjNDJhMy5iaW5kUG9wdXAocG9wdXBfNzVhZTYyNzEyYTVmNDhhZTljMjU1MDVjZTI4M2E2NzUpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfOTIxZGM0OWNiODA0NGUzNzhkZWI2MjUyMTUxM2ZkYWYgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42MzU2MzAwMDY4MTE1MSwtNzQuMDk4MDUwNjIzNzM4ODddLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfYzc1MjZkNThhYzZkNDZiMGEwNjE3NmZiOTkxNDhjOTcgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNGRiNmU3MzFhNjkzNGE3ZDk5NWJlYmVjNWNjNjA0ZTAgPSAkKCc8ZGl2IGlkPSJodG1sXzRkYjZlNzMxYTY5MzRhN2Q5OTViZWJlYzVjYzYwNGUwIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5SYW5kYWxsIE1hbm9yPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9jNzUyNmQ1OGFjNmQ0NmIwYTA2MTc2ZmI5OTE0OGM5Ny5zZXRDb250ZW50KGh0bWxfNGRiNmU3MzFhNjkzNGE3ZDk5NWJlYmVjNWNjNjA0ZTApOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfOTIxZGM0OWNiODA0NGUzNzhkZWI2MjUyMTUxM2ZkYWYuYmluZFBvcHVwKHBvcHVwX2M3NTI2ZDU4YWM2ZDQ2YjBhMDYxNzZmYjk5MTQ4Yzk3KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2RjNzljOWNhNjE0NjRiNjA4ODQzMjUzMjZjZWFmODlmID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjM4NDMyODM3OTQ3OTUsLTc0LjE4NjIyMzMxNzQ5ODIzXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzdiZGViYTNhZTY2OTRhZTg5YTE5YjNmMzUyMDg3ZjZlID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzM5OGMxNTBlMWRlMTRhZjliOWE3MDk3NTE2ZWVjMTc3ID0gJCgnPGRpdiBpZD0iaHRtbF8zOThjMTUwZTFkZTE0YWY5YjlhNzA5NzUxNmVlYzE3NyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+SG93bGFuZCBIb29rPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF83YmRlYmEzYWU2Njk0YWU4OWExOWIzZjM1MjA4N2Y2ZS5zZXRDb250ZW50KGh0bWxfMzk4YzE1MGUxZGUxNGFmOWI5YTcwOTc1MTZlZWMxNzcpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfZGM3OWM5Y2E2MTQ2NGI2MDg4NDMyNTMyNmNlYWY4OWYuYmluZFBvcHVwKHBvcHVwXzdiZGViYTNhZTY2OTRhZTg5YTE5YjNmMzUyMDg3ZjZlKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzliNmEwZjI2OTMwYzRlNzVhMTYzZDIwNzQ2MTlkMzQ5ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjMwMTQ2NzQxMTkzODI2LC03NC4xNDE4MTY3ODk2ODg5XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzA3MjIxYjM1NGE3NzQ4NjViNmFiMDdlZDEwMmIzZDc1ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzI0NWE1MmM1MzgyYTQ3Y2ZhMjg5MGQzMzRjNGIwNzA4ID0gJCgnPGRpdiBpZD0iaHRtbF8yNDVhNTJjNTM4MmE0N2NmYTI4OTBkMzM0YzRiMDcwOCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+RWxtIFBhcms8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzA3MjIxYjM1NGE3NzQ4NjViNmFiMDdlZDEwMmIzZDc1LnNldENvbnRlbnQoaHRtbF8yNDVhNTJjNTM4MmE0N2NmYTI4OTBkMzM0YzRiMDcwOCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl85YjZhMGYyNjkzMGM0ZTc1YTE2M2QyMDc0NjE5ZDM0OS5iaW5kUG9wdXAocG9wdXBfMDcyMjFiMzU0YTc3NDg2NWI2YWIwN2VkMTAyYjNkNzUpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNjQ5MDM0ZDgxMWIyNGI1NTg4MDk2NTI4Y2JlNTU2ZWQgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42NTIxMTc0NTE3OTM0OTQsLTczLjkxNjY1MzMxOTc4MDQ4XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzhhM2QxZTI2ODI5MTQ4OGQ4MGYxMDk1ZDU5ZDQ3MjQ5ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzU2NDQwZmQxMzYxYTRiZWI4ZDk2MDUxOWRmMTEyZDcyID0gJCgnPGRpdiBpZD0iaHRtbF81NjQ0MGZkMTM2MWE0YmViOGQ5NjA1MTlkZjExMmQ3MiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+UmVtc2VuIFZpbGxhZ2U8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzhhM2QxZTI2ODI5MTQ4OGQ4MGYxMDk1ZDU5ZDQ3MjQ5LnNldENvbnRlbnQoaHRtbF81NjQ0MGZkMTM2MWE0YmViOGQ5NjA1MTlkZjExMmQ3Mik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl82NDkwMzRkODExYjI0YjU1ODgwOTY1MjhjYmU1NTZlZC5iaW5kUG9wdXAocG9wdXBfOGEzZDFlMjY4MjkxNDg4ZDgwZjEwOTVkNTlkNDcyNDkpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNzVlMGUxNzgxMzM1NDZkYWI2Nzg2YmE1MWM5OGJhYmEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42NjI3NDQyNzk2OTY2LC03My44ODUxMTc3NjM3OTI5Ml0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF85ZjM1ZmU5NDY3MGY0ZTBmYTM4YzQzOGM1MzBiOTJmZCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9jZTc2MDNkZjdmZmI0NzRlYTQyYTMyNTI1ZWFjMTFkNSA9ICQoJzxkaXYgaWQ9Imh0bWxfY2U3NjAzZGY3ZmZiNDc0ZWE0MmEzMjUyNWVhYzExZDUiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPk5ldyBMb3RzPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF85ZjM1ZmU5NDY3MGY0ZTBmYTM4YzQzOGM1MzBiOTJmZC5zZXRDb250ZW50KGh0bWxfY2U3NjAzZGY3ZmZiNDc0ZWE0MmEzMjUyNWVhYzExZDUpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfNzVlMGUxNzgxMzM1NDZkYWI2Nzg2YmE1MWM5OGJhYmEuYmluZFBvcHVwKHBvcHVwXzlmMzVmZTk0NjcwZjRlMGZhMzhjNDM4YzUzMGI5MmZkKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2YxNmU3ZDc1MTBlNDQ5YmViYmY2MWUxMDBkMzg2MGY3ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjMxMzE3NTUwMzk2NjcsLTczLjkwMjMzNDc0Mjk1ODM2XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzA2MzA2NWFhZTBiMTRhMzg5YTcyZWViZDE3MWI0NzRiID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzU1MTA2NGQxYTU1NTQwOTViMTkyMGIzNmRkMTk4MWE4ID0gJCgnPGRpdiBpZD0iaHRtbF81NTEwNjRkMWE1NTU0MDk1YjE5MjBiMzZkZDE5ODFhOCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+UGFlcmRlZ2F0IEJhc2luPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8wNjMwNjVhYWUwYjE0YTM4OWE3MmVlYmQxNzFiNDc0Yi5zZXRDb250ZW50KGh0bWxfNTUxMDY0ZDFhNTU1NDA5NWIxOTIwYjM2ZGQxOTgxYTgpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfZjE2ZTdkNzUxMGU0NDliZWJiZjYxZTEwMGQzODYwZjcuYmluZFBvcHVwKHBvcHVwXzA2MzA2NWFhZTBiMTRhMzg5YTcyZWViZDE3MWI0NzRiKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2VlMzYyNzk3NTRmMzQwM2I4YmRhMjhkM2NjNDdlYmI0ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjE1OTc0MjM5NjIzMzYsLTczLjkxNTE1MzkxNTUwNDA0XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzIxMWNjNGJiNWM0ZjQyNDZiNzIxN2Y3ODkxOWUwMzE3ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2E4Mzk5YmQxNDU1ODQ4YzBhNmVmY2FmM2NkMjViN2ZkID0gJCgnPGRpdiBpZD0iaHRtbF9hODM5OWJkMTQ1NTg0OGMwYTZlZmNhZjNjZDI1YjdmZCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+TWlsbCBCYXNpbjwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMjExY2M0YmI1YzRmNDI0NmI3MjE3Zjc4OTE5ZTAzMTcuc2V0Q29udGVudChodG1sX2E4Mzk5YmQxNDU1ODQ4YzBhNmVmY2FmM2NkMjViN2ZkKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2VlMzYyNzk3NTRmMzQwM2I4YmRhMjhkM2NjNDdlYmI0LmJpbmRQb3B1cChwb3B1cF8yMTFjYzRiYjVjNGY0MjQ2YjcyMTdmNzg5MTllMDMxNyk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl85ZDNjZGVmZmRkNjE0YzMzOWNmZmFkM2IxMjZiMDI5OSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjcxMTQ1OTY0MzcwNDgyLC03My43OTY0NjQ2MjA4MTU5M10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8xYmNiYmYzMjczYjM0NjJkYWVlYzczOWYxYzZmNDI3NCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF83MDllNTY1ODM5Njc0MDIwYmE1YmYxYWY1ZWZiZTExMyA9ICQoJzxkaXYgaWQ9Imh0bWxfNzA5ZTU2NTgzOTY3NDAyMGJhNWJmMWFmNWVmYmUxMTMiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkphbWFpY2EgSGlsbHM8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzFiY2JiZjMyNzNiMzQ2MmRhZWVjNzM5ZjFjNmY0Mjc0LnNldENvbnRlbnQoaHRtbF83MDllNTY1ODM5Njc0MDIwYmE1YmYxYWY1ZWZiZTExMyk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl85ZDNjZGVmZmRkNjE0YzMzOWNmZmFkM2IxMjZiMDI5OS5iaW5kUG9wdXAocG9wdXBfMWJjYmJmMzI3M2IzNDYyZGFlZWM3MzlmMWM2ZjQyNzQpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYWRhZDA4MDU5NmJlNDJhMGFmMmYwZTJiNWVjOGUzOTkgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43MzM1MDAyNTQyOTc1NywtNzMuNzk2NzE2NzgwMjgzNDldLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNDRlMzNiYjU4ZTk5NGYwYWEyZjkxODU1OGZkMTQyYmEgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMGYzNzkxNzBiOTk3NDZmYThjYWUyMzI3MWJmMmFhMmQgPSAkKCc8ZGl2IGlkPSJodG1sXzBmMzc5MTcwYjk5NzQ2ZmE4Y2FlMjMyNzFiZjJhYTJkIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5VdG9waWE8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzQ0ZTMzYmI1OGU5OTRmMGFhMmY5MTg1NThmZDE0MmJhLnNldENvbnRlbnQoaHRtbF8wZjM3OTE3MGI5OTc0NmZhOGNhZTIzMjcxYmYyYWEyZCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9hZGFkMDgwNTk2YmU0MmEwYWYyZjBlMmI1ZWM4ZTM5OS5iaW5kUG9wdXAocG9wdXBfNDRlMzNiYjU4ZTk5NGYwYWEyZjkxODU1OGZkMTQyYmEpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZWIzMTA3YWQyZTZmNDQ2NmFiOGY5YjliYWFhM2U3N2IgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43MzQ5MzYxODA3NTQ3OCwtNzMuODA0ODYxMjAwNDA1MzddLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfYTQ0MDg3YzEwMDk5NDY1ZGEzMWUxYWEzM2FiNTIzZTYgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMTY1MTgzZGFhM2Q1NGRlYTg2YTFjMWZmYmNkMTdlYTQgPSAkKCc8ZGl2IGlkPSJodG1sXzE2NTE4M2RhYTNkNTRkZWE4NmExYzFmZmJjZDE3ZWE0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Qb21vbm9rPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9hNDQwODdjMTAwOTk0NjVkYTMxZTFhYTMzYWI1MjNlNi5zZXRDb250ZW50KGh0bWxfMTY1MTgzZGFhM2Q1NGRlYTg2YTFjMWZmYmNkMTdlYTQpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfZWIzMTA3YWQyZTZmNDQ2NmFiOGY5YjliYWFhM2U3N2IuYmluZFBvcHVwKHBvcHVwX2E0NDA4N2MxMDA5OTQ2NWRhMzFlMWFhMzNhYjUyM2U2KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2YxNzc5ZDUwZjg4YzQ1MDFiMDIxMTkxYjk5ZTg2ZjNkID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzcwMzE3MzkyOTk4MiwtNzMuODk0Njc5OTYyNzA1NzRdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNzU0Yjk5NDBkMjZlNDc1MDhmMzY1N2E4MmJjYzJhNTIgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfOWRjYWY3OGRiMDI4NGIwZjk0MzkwM2JmNmE1ZTFmYjAgPSAkKCc8ZGl2IGlkPSJodG1sXzlkY2FmNzhkYjAyODRiMGY5NDM5MDNiZjZhNWUxZmIwIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Bc3RvcmlhIEhlaWdodHM8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzc1NGI5OTQwZDI2ZTQ3NTA4ZjM2NTdhODJiY2MyYTUyLnNldENvbnRlbnQoaHRtbF85ZGNhZjc4ZGIwMjg0YjBmOTQzOTAzYmY2YTVlMWZiMCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9mMTc3OWQ1MGY4OGM0NTAxYjAyMTE5MWI5OWU4NmYzZC5iaW5kUG9wdXAocG9wdXBfNzU0Yjk5NDBkMjZlNDc1MDhmMzY1N2E4MmJjYzJhNTIpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMDBlZDM2NjQ4ZjIwNGM1MDllMTI4ZTE2MDEzNmIyYjEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC44MzE0MjgzNDE2MTU0OCwtNzMuOTAxMTk5MDMzODc2NjddLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZDE0YzIzYmZjOWUwNGQxMWFhOWQ3MDRhNzRlZDMzMTIgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYjFmZjU3OGNiNTcyNDQ1N2E5NWI1Y2IxMzE4MThhYjIgPSAkKCc8ZGl2IGlkPSJodG1sX2IxZmY1NzhjYjU3MjQ0NTdhOTViNWNiMTMxODE4YWIyIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5DbGFyZW1vbnQgVmlsbGFnZTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZDE0YzIzYmZjOWUwNGQxMWFhOWQ3MDRhNzRlZDMzMTIuc2V0Q29udGVudChodG1sX2IxZmY1NzhjYjU3MjQ0NTdhOTViNWNiMTMxODE4YWIyKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzAwZWQzNjY0OGYyMDRjNTA5ZTEyOGUxNjAxMzZiMmIxLmJpbmRQb3B1cChwb3B1cF9kMTRjMjNiZmM5ZTA0ZDExYWE5ZDcwNGE3NGVkMzMxMik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9kZmY5MzFiNzFjZGU0MjYzOTUyNjMyMzNiZWY4ODdhZiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjgyNDc4MDQ5MDg0MjkwNSwtNzMuOTE1ODQ2NTI3NTkwMDldLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNjRlZTZmYzhlYTU4NDAzODgzNWY3ODQ2ZjRiODZjZmEgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZGRiNGZiM2E5YjQ2NDU0MTg4Zjk5YWVmMzg0MTE5MzMgPSAkKCc8ZGl2IGlkPSJodG1sX2RkYjRmYjNhOWI0NjQ1NDE4OGY5OWFlZjM4NDExOTMzIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Db25jb3Vyc2UgVmlsbGFnZTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNjRlZTZmYzhlYTU4NDAzODgzNWY3ODQ2ZjRiODZjZmEuc2V0Q29udGVudChodG1sX2RkYjRmYjNhOWI0NjQ1NDE4OGY5OWFlZjM4NDExOTMzKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2RmZjkzMWI3MWNkZTQyNjM5NTI2MzIzM2JlZjg4N2FmLmJpbmRQb3B1cChwb3B1cF82NGVlNmZjOGVhNTg0MDM4ODM1Zjc4NDZmNGI4NmNmYSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9jZmJlZDZlYzdhOGM0NTU0ODE3NzAxOTk0MTJhOWI2ZSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjg0MzgyNjE3NjcxNjU0LC03My45MTY1NTU1MTk2NDQxOV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF83MGYyZWVlZTNiZmU0ZmVmYmNiNmI2ZDRiOGNiYjMyNyA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8zNTM5Y2IxMjQwZTU0ZDcxOGU3YTRkNTkyMjIwNGIzMiA9ICQoJzxkaXYgaWQ9Imh0bWxfMzUzOWNiMTI0MGU1NGQ3MThlN2E0ZDU5MjIyMDRiMzIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPk1vdW50IEVkZW48L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzcwZjJlZWVlM2JmZTRmZWZiY2I2YjZkNGI4Y2JiMzI3LnNldENvbnRlbnQoaHRtbF8zNTM5Y2IxMjQwZTU0ZDcxOGU3YTRkNTkyMjIwNGIzMik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9jZmJlZDZlYzdhOGM0NTU0ODE3NzAxOTk0MTJhOWI2ZS5iaW5kUG9wdXAocG9wdXBfNzBmMmVlZWUzYmZlNGZlZmJjYjZiNmQ0YjhjYmIzMjcpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfODE4NWU5MjJkMDFjNDVmNGE0MGZjNjIxOWZkYWQwODggPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC44NDg4NDE2MDcyNDY2NSwtNzMuOTA4Mjk5MzA4ODE5ODhdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZjcxNjcxMDJiYmVlNDJkZmI0MWU4M2ZhNDRmZjYzNWYgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNDVkMTI0NmVhNzY5NDMzYzkyMjIxM2M0ZDFmMTNmNzYgPSAkKCc8ZGl2IGlkPSJodG1sXzQ1ZDEyNDZlYTc2OTQzM2M5MjIyMTNjNGQxZjEzZjc2IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Nb3VudCBIb3BlPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9mNzE2NzEwMmJiZWU0MmRmYjQxZTgzZmE0NGZmNjM1Zi5zZXRDb250ZW50KGh0bWxfNDVkMTI0NmVhNzY5NDMzYzkyMjIxM2M0ZDFmMTNmNzYpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfODE4NWU5MjJkMDFjNDVmNGE0MGZjNjIxOWZkYWQwODguYmluZFBvcHVwKHBvcHVwX2Y3MTY3MTAyYmJlZTQyZGZiNDFlODNmYTQ0ZmY2MzVmKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzVkMTBkNmEyODZlZjQyOGQ5ZGEzNjJlMWJjM2NjOWVhID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzYwMjgwMzMxMzEzNzQsLTczLjk2MzU1NjE0MDk0MzAzXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2M4OTE2MzFmNDQ3NTQyMDY5NjZmZjU2M2E1NDRlNjBmID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzRhZGE0ODRhYzY0MTRlZGQ5N2Y4MmFmYzJiZDY5YjQ3ID0gJCgnPGRpdiBpZD0iaHRtbF80YWRhNDg0YWM2NDE0ZWRkOTdmODJhZmMyYmQ2OWI0NyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+U3V0dG9uIFBsYWNlPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9jODkxNjMxZjQ0NzU0MjA2OTY2ZmY1NjNhNTQ0ZTYwZi5zZXRDb250ZW50KGh0bWxfNGFkYTQ4NGFjNjQxNGVkZDk3ZjgyYWZjMmJkNjliNDcpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfNWQxMGQ2YTI4NmVmNDI4ZDlkYTM2MmUxYmMzY2M5ZWEuYmluZFBvcHVwKHBvcHVwX2M4OTE2MzFmNDQ3NTQyMDY5NjZmZjU2M2E1NDRlNjBmKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2VlZWY1ZGYwYTc2NjQ4MjFiMzlkZmMyYTBiZTkzMGM3ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzQzNDE0MDkwMDczNTM2LC03My45NTM4Njc4MjEzMDc0NV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8wZmFmODgwYzlhNzk0MTczYTgzNjhiODE4ZTE4MmZhMSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9jODhjYjMyZjNlNmQ0ODA4ODE5ZjA3MTk4Y2JlMmYyMiA9ICQoJzxkaXYgaWQ9Imh0bWxfYzg4Y2IzMmYzZTZkNDgwODgxOWYwNzE5OGNiZTJmMjIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkh1bnRlcnMgUG9pbnQ8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzBmYWY4ODBjOWE3OTQxNzNhODM2OGI4MThlMTgyZmExLnNldENvbnRlbnQoaHRtbF9jODhjYjMyZjNlNmQ0ODA4ODE5ZjA3MTk4Y2JlMmYyMik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9lZWVmNWRmMGE3NjY0ODIxYjM5ZGZjMmEwYmU5MzBjNy5iaW5kUG9wdXAocG9wdXBfMGZhZjg4MGM5YTc5NDE3M2E4MzY4YjgxOGUxODJmYTEpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfODNkYmVjNjUxMjY1NDJmMWFjY2UzMjI0NTJhMDRkNDQgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43NTIwNDIzNjk1MDcyMiwtNzMuOTY3NzA4MjQ1ODE4MzRdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZTQyYzg2NWQ0YmE0NDU2YmFmNGNjZWNiYjM2MmYzMWUgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNzkzMmQ3YTA2ZDQ3NDQ4ZmI2MzRkNTIwMDkyMWE5NWMgPSAkKCc8ZGl2IGlkPSJodG1sXzc5MzJkN2EwNmQ0NzQ0OGZiNjM0ZDUyMDA5MjFhOTVjIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5UdXJ0bGUgQmF5PC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9lNDJjODY1ZDRiYTQ0NTZiYWY0Y2NlY2JiMzYyZjMxZS5zZXRDb250ZW50KGh0bWxfNzkzMmQ3YTA2ZDQ3NDQ4ZmI2MzRkNTIwMDkyMWE5NWMpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfODNkYmVjNjUxMjY1NDJmMWFjY2UzMjI0NTJhMDRkNDQuYmluZFBvcHVwKHBvcHVwX2U0MmM4NjVkNGJhNDQ1NmJhZjRjY2VjYmIzNjJmMzFlKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzliNDI0ZDNhNzVkZDRhNTRiNTIxOTVkYzRiNTIyNTI3ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzQ2OTE3NDEwNzQwMTk1LC03My45NzEyMTkyODcyMjI2NV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8yYzBhNTNhMmQ4NjM0Njg3ODQ0ZTBjMzRiYTcxYjVlZSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8zODdlOTlkMzllMGU0YmU4ODBiNjM3NTM0NDE3NGZhYyA9ICQoJzxkaXYgaWQ9Imh0bWxfMzg3ZTk5ZDM5ZTBlNGJlODgwYjYzNzUzNDQxNzRmYWMiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlR1ZG9yIENpdHk8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzJjMGE1M2EyZDg2MzQ2ODc4NDRlMGMzNGJhNzFiNWVlLnNldENvbnRlbnQoaHRtbF8zODdlOTlkMzllMGU0YmU4ODBiNjM3NTM0NDE3NGZhYyk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl85YjQyNGQzYTc1ZGQ0YTU0YjUyMTk1ZGM0YjUyMjUyNy5iaW5kUG9wdXAocG9wdXBfMmMwYTUzYTJkODYzNDY4Nzg0NGUwYzM0YmE3MWI1ZWUpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZmI0MzQxODdmZWE0NDZiZWFkOWNmNWFhNzdiZTA3OTUgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43MzA5OTk1NTQ3NzA2MSwtNzMuOTc0MDUxNzA0NjkyMDNdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfODljODdkMDJmNjBmNDdmZjkzMDc2NzQ3Mjk0YzExYTIgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYzUyNDZiMWJjMGU4NGExYjk4OGZhZGJiMDY4YzNhNGQgPSAkKCc8ZGl2IGlkPSJodG1sX2M1MjQ2YjFiYzBlODRhMWI5ODhmYWRiYjA2OGMzYTRkIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5TdHV5dmVzYW50IFRvd248L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzg5Yzg3ZDAyZjYwZjQ3ZmY5MzA3Njc0NzI5NGMxMWEyLnNldENvbnRlbnQoaHRtbF9jNTI0NmIxYmMwZTg0YTFiOTg4ZmFkYmIwNjhjM2E0ZCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9mYjQzNDE4N2ZlYTQ0NmJlYWQ5Y2Y1YWE3N2JlMDc5NS5iaW5kUG9wdXAocG9wdXBfODljODdkMDJmNjBmNDdmZjkzMDc2NzQ3Mjk0YzExYTIpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMTIyMjgzMWZiMDQ4NDUyM2JkY2RjMWVlNzViMjE3YzcgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43Mzk2NzMwNDc2Mzg0MjYsLTczLjk5MDk0NzEwNTI4MjZdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZjMyYWU1MmUxNDNjNDQxN2JiOTdhYzIxZmJhMDRlMjggPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfODRmYmY3ZGJlOWMxNDE2ZjllZTFhZTc3MjczOWRjNzEgPSAkKCc8ZGl2IGlkPSJodG1sXzg0ZmJmN2RiZTljMTQxNmY5ZWUxYWU3NzI3MzlkYzcxIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5GbGF0aXJvbjwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZjMyYWU1MmUxNDNjNDQxN2JiOTdhYzIxZmJhMDRlMjguc2V0Q29udGVudChodG1sXzg0ZmJmN2RiZTljMTQxNmY5ZWUxYWU3NzI3MzlkYzcxKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzEyMjI4MzFmYjA0ODQ1MjNiZGNkYzFlZTc1YjIxN2M3LmJpbmRQb3B1cChwb3B1cF9mMzJhZTUyZTE0M2M0NDE3YmI5N2FjMjFmYmEwNGUyOCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8yYTk4ZGNmODFhZTU0YjMxODkxNjQxOTU1MmQ3OWNjYSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjc0NTY1MTgwNjA4MDc2LC03My45MTgxOTI4NjQzMTY4Ml0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF82MGZlYjQ0ZTEwNGY0MGJlOGMyYTQwZGNlMDk4OWVjNiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9mZWJhYTdlYTI1YWY0MDZlOGI0MTRjNzQyZDg0MGQ3OSA9ICQoJzxkaXYgaWQ9Imh0bWxfZmViYWE3ZWEyNWFmNDA2ZThiNDE0Yzc0MmQ4NDBkNzkiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlN1bm55c2lkZSBHYXJkZW5zPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF82MGZlYjQ0ZTEwNGY0MGJlOGMyYTQwZGNlMDk4OWVjNi5zZXRDb250ZW50KGh0bWxfZmViYWE3ZWEyNWFmNDA2ZThiNDE0Yzc0MmQ4NDBkNzkpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfMmE5OGRjZjgxYWU1NGIzMTg5MTY0MTk1NTJkNzljY2EuYmluZFBvcHVwKHBvcHVwXzYwZmViNDRlMTA0ZjQwYmU4YzJhNDBkY2UwOTg5ZWM2KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2U4NjY2MmU5NzliODRkNzg4Y2JmMDU4NDc4YmI1YjU4ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzM3MjUwNzE2OTQ0OTcsLTczLjkzMjQ0MjM1MjYwMTc4XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzE2YTc1MDZlYjAwZTRhZWViN2I3ZDQ2MjU3ZjY4NmQzID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2MzMjhiMDVhMjBhYzRhZjlhNDQ4N2MxODc4YzVjOGQ5ID0gJCgnPGRpdiBpZD0iaHRtbF9jMzI4YjA1YTIwYWM0YWY5YTQ0ODdjMTg3OGM1YzhkOSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Qmxpc3N2aWxsZTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMTZhNzUwNmViMDBlNGFlZWI3YjdkNDYyNTdmNjg2ZDMuc2V0Q29udGVudChodG1sX2MzMjhiMDVhMjBhYzRhZjlhNDQ4N2MxODc4YzVjOGQ5KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2U4NjY2MmU5NzliODRkNzg4Y2JmMDU4NDc4YmI1YjU4LmJpbmRQb3B1cChwb3B1cF8xNmE3NTA2ZWIwMGU0YWVlYjdiN2Q0NjI1N2Y2ODZkMyk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8yNmMxZTJkOGFlYTY0MjQwYjVlOGY4ODczNGUzNTgwNyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjcwMzI4MTA5MDkzMDE0LC03My45OTU1MDc1MTg4ODQxNV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8xZDVjMGFkZjcyOTQ0YTFlOWM0MGY1ZWE4NTJiNDY1YyA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8yMGIzNzI2NmI3OTk0MjBmOWZjY2QxZDlmMTEzYWYxNSA9ICQoJzxkaXYgaWQ9Imh0bWxfMjBiMzcyNjZiNzk5NDIwZjlmY2NkMWQ5ZjExM2FmMTUiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkZ1bHRvbiBGZXJyeTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMWQ1YzBhZGY3Mjk0NGExZTljNDBmNWVhODUyYjQ2NWMuc2V0Q29udGVudChodG1sXzIwYjM3MjY2Yjc5OTQyMGY5ZmNjZDFkOWYxMTNhZjE1KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzI2YzFlMmQ4YWVhNjQyNDBiNWU4Zjg4NzM0ZTM1ODA3LmJpbmRQb3B1cChwb3B1cF8xZDVjMGFkZjcyOTQ0YTFlOWM0MGY1ZWE4NTJiNDY1Yyk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8zMzYwYTc5MjU2NzY0NTVmODQ0ODgyZTQyZTA2MDM0NyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjcwMzMyMTQ5ODgyODc0LC03My45ODExMTYwMzU5MjM5M10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF85ZDVmZDU1YzEwY2I0ZmY3YjNhOTA1Yjc2MTUzNGMwMSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8xYzUxMWZjYTQ0MTc0NDEwYmE1ZWY5NDIwM2EyOTljZCA9ICQoJzxkaXYgaWQ9Imh0bWxfMWM1MTFmY2E0NDE3NDQxMGJhNWVmOTQyMDNhMjk5Y2QiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlZpbmVnYXIgSGlsbDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfOWQ1ZmQ1NWMxMGNiNGZmN2IzYTkwNWI3NjE1MzRjMDEuc2V0Q29udGVudChodG1sXzFjNTExZmNhNDQxNzQ0MTBiYTVlZjk0MjAzYTI5OWNkKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzMzNjBhNzkyNTY3NjQ1NWY4NDQ4ODJlNDJlMDYwMzQ3LmJpbmRQb3B1cChwb3B1cF85ZDVmZDU1YzEwY2I0ZmY3YjNhOTA1Yjc2MTUzNGMwMSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8zODUyMmU0NWJlNWU0MTEyYjlmYzMzYzkwYmUxZmQ0YiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjY3NTAzOTg2NTAzMjM3LC03My45MzA1MzEwODgxNzMzOF0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9hODMxNmE4MGYyODc0ZjgxODRmNDAwZDJhYjcyOTRjMSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF82YTU0NGE2MmIwM2M0MDVjYjRhZDVlMzY1NjdmMTVjYSA9ICQoJzxkaXYgaWQ9Imh0bWxfNmE1NDRhNjJiMDNjNDA1Y2I0YWQ1ZTM2NTY3ZjE1Y2EiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPldlZWtzdmlsbGU8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2E4MzE2YTgwZjI4NzRmODE4NGY0MDBkMmFiNzI5NGMxLnNldENvbnRlbnQoaHRtbF82YTU0NGE2MmIwM2M0MDVjYjRhZDVlMzY1NjdmMTVjYSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8zODUyMmU0NWJlNWU0MTEyYjlmYzMzYzkwYmUxZmQ0Yi5iaW5kUG9wdXAocG9wdXBfYTgzMTZhODBmMjg3NGY4MTg0ZjQwMGQyYWI3Mjk0YzEpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfY2NlZTAwOGFlYmUxNGIwMGI0Y2RhNTNiNjg3NzQyNGEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42Nzc4NjEwNDc2OTUzMSwtNzMuOTAzMzE2ODQ4NTI1OTldLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNzQwZDhiNzJlZjdmNGJhYzg2MjQyODliZGU4MjdjMDggPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZWEzMzNhMzQwODA2NDFiOTk4ODhmZTQ1ZGU2MTBiN2EgPSAkKCc8ZGl2IGlkPSJodG1sX2VhMzMzYTM0MDgwNjQxYjk5ODg4ZmU0NWRlNjEwYjdhIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Ccm9hZHdheSBKdW5jdGlvbjwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNzQwZDhiNzJlZjdmNGJhYzg2MjQyODliZGU4MjdjMDguc2V0Q29udGVudChodG1sX2VhMzMzYTM0MDgwNjQxYjk5ODg4ZmU0NWRlNjEwYjdhKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2NjZWUwMDhhZWJlMTRiMDBiNGNkYTUzYjY4Nzc0MjRhLmJpbmRQb3B1cChwb3B1cF83NDBkOGI3MmVmN2Y0YmFjODYyNDI4OWJkZTgyN2MwOCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8xMmFkODk1MmQ3MzE0MWNjODM5ZDJkODk4NTQ3ZjFmOSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjcwMzE3NjMyODIyNjkyLC03My45ODg3NTI4MDc0NTA0XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzRhZTAzNTFjZTZlMjRlM2M4NzBkMWJjZDI3ZDlhZjJlID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzFkMGI3MjYzYWVjNDQ0OTZiMTRmYjVjOGM0Njc1ZWVmID0gJCgnPGRpdiBpZD0iaHRtbF8xZDBiNzI2M2FlYzQ0NDk2YjE0ZmI1YzhjNDY3NWVlZiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+RHVtYm88L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzRhZTAzNTFjZTZlMjRlM2M4NzBkMWJjZDI3ZDlhZjJlLnNldENvbnRlbnQoaHRtbF8xZDBiNzI2M2FlYzQ0NDk2YjE0ZmI1YzhjNDY3NWVlZik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8xMmFkODk1MmQ3MzE0MWNjODM5ZDJkODk4NTQ3ZjFmOS5iaW5kUG9wdXAocG9wdXBfNGFlMDM1MWNlNmUyNGUzYzg3MGQxYmNkMjdkOWFmMmUpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNTBlNWU4MGEzYWVmNDM4ZWJhMjZkOWVkYWJhYzViNjYgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42MDE4MDk1NzYzMTQ0NCwtNzQuMTIwNTkzOTk3MTgwMDFdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZDQwODE2MWIyZjcxNDc4MmIzNjk4ODhhNzRhNGQwMjYgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMWY1OTlkZmUyNGE0NDEzYzhjZjFkM2FjZDYxYmIyMDcgPSAkKCc8ZGl2IGlkPSJodG1sXzFmNTk5ZGZlMjRhNDQxM2M4Y2YxZDNhY2Q2MWJiMjA3IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5NYW5vciBIZWlnaHRzPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9kNDA4MTYxYjJmNzE0NzgyYjM2OTg4OGE3NGE0ZDAyNi5zZXRDb250ZW50KGh0bWxfMWY1OTlkZmUyNGE0NDEzYzhjZjFkM2FjZDYxYmIyMDcpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfNTBlNWU4MGEzYWVmNDM4ZWJhMjZkOWVkYWJhYzViNjYuYmluZFBvcHVwKHBvcHVwX2Q0MDgxNjFiMmY3MTQ3ODJiMzY5ODg4YTc0YTRkMDI2KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzY0N2M5YTVhZTQxMDQzZjY4NDNkNWJhYmRhNWIxMWI4ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjAzNzA2OTI2MjczNzEsLTc0LjEzMjA4NDQ3NDg0Mjk4XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2RjZDE0ZjBlNzk0MDQzNjA5YTEyOWYzMzgwMjUyMjc4ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzZmZTlhMjk2NmFiNzQwMzM4Yzc2MzFjMGZkMzRkYTlmID0gJCgnPGRpdiBpZD0iaHRtbF82ZmU5YTI5NjZhYjc0MDMzOGM3NjMxYzBmZDM0ZGE5ZiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+V2lsbG93YnJvb2s8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2RjZDE0ZjBlNzk0MDQzNjA5YTEyOWYzMzgwMjUyMjc4LnNldENvbnRlbnQoaHRtbF82ZmU5YTI5NjZhYjc0MDMzOGM3NjMxYzBmZDM0ZGE5Zik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl82NDdjOWE1YWU0MTA0M2Y2ODQzZDViYWJkYTViMTFiOC5iaW5kUG9wdXAocG9wdXBfZGNkMTRmMGU3OTQwNDM2MDlhMTI5ZjMzODAyNTIyNzgpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNjIwZmU5OWY5OGExNDI3NzhlZjk2MDkwNTQ5YzEyZDYgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC41NDExMzk5MjIwOTE3NjYsLTc0LjIxNzc2NjM2MDY4NTY3XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzI4ZjU4ODU0ZDBlNzRjM2U5MmI4YmRmZDZjYmI5MzlmID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzIwMTAwNmFmMjcxZTQyMDViY2I4MTYwZWZhOTA5ZjlhID0gJCgnPGRpdiBpZD0iaHRtbF8yMDEwMDZhZjI3MWU0MjA1YmNiODE2MGVmYTkwOWY5YSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+U2FuZHkgR3JvdW5kPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8yOGY1ODg1NGQwZTc0YzNlOTJiOGJkZmQ2Y2JiOTM5Zi5zZXRDb250ZW50KGh0bWxfMjAxMDA2YWYyNzFlNDIwNWJjYjgxNjBlZmE5MDlmOWEpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfNjIwZmU5OWY5OGExNDI3NzhlZjk2MDkwNTQ5YzEyZDYuYmluZFBvcHVwKHBvcHVwXzI4ZjU4ODU0ZDBlNzRjM2U5MmI4YmRmZDZjYmI5MzlmKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzUxZWY5MjMwYTc0NzQ4OTY5YWYwOTBjYjkzNzA4NjdiID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNTc5MTE4NzQyOTYxMjE0LC03NC4xMjcyNzI0MDYwNDk0Nl0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8wZjRkMzdkYWE3MTk0YjBjOTdiYTc0MzI4NmViMWMwYyA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9jNTllZDEwYTFmZWU0MjgzODhlMTBkYzU1OTdkZjdjNyA9ICQoJzxkaXYgaWQ9Imh0bWxfYzU5ZWQxMGExZmVlNDI4Mzg4ZTEwZGM1NTk3ZGY3YzciIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkVnYmVydHZpbGxlPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8wZjRkMzdkYWE3MTk0YjBjOTdiYTc0MzI4NmViMWMwYy5zZXRDb250ZW50KGh0bWxfYzU5ZWQxMGExZmVlNDI4Mzg4ZTEwZGM1NTk3ZGY3YzcpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfNTFlZjkyMzBhNzQ3NDg5NjlhZjA5MGNiOTM3MDg2N2IuYmluZFBvcHVwKHBvcHVwXzBmNGQzN2RhYTcxOTRiMGM5N2JhNzQzMjg2ZWIxYzBjKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2NhYzMzMTNkZWI5ODQzNGU5YTQyY2ZjZGRhZDE5MjZmID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNTY3Mzc1ODg5NTcwMzIsLTczLjg5MjEzNzYwMjMyODIyXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzYyMGE0ODA5OGEyYjQ4MzNiOGI1ZjE5MjE4MWE2OTljID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2UxNjZhOWFmMDdhNDRiNjRhODdlNGMxMGZjMDVhNDcyID0gJCgnPGRpdiBpZD0iaHRtbF9lMTY2YTlhZjA3YTQ0YjY0YTg3ZTRjMTBmYzA1YTQ3MiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Um94YnVyeTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNjIwYTQ4MDk4YTJiNDgzM2I4YjVmMTkyMTgxYTY5OWMuc2V0Q29udGVudChodG1sX2UxNjZhOWFmMDdhNDRiNjRhODdlNGMxMGZjMDVhNDcyKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2NhYzMzMTNkZWI5ODQzNGU5YTQyY2ZjZGRhZDE5MjZmLmJpbmRQb3B1cChwb3B1cF82MjBhNDgwOThhMmI0ODMzYjhiNWYxOTIxODFhNjk5Yyk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9kZTgyNjZkNjQyODM0ZDExYmY1ZGVlMDgwOTFmZGJhYyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjU5ODUyNTA5NTEzNzI1NSwtNzMuOTU5MTg0NTk0Mjg3MDJdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZDAxYmE5MTVkMWIxNDYxNGI0MDdhYzI5ZmYxN2ExM2UgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYmI2YzYwMmM3NTM3NGMzMDk2NzM5YTRjZmY5N2MyOTAgPSAkKCc8ZGl2IGlkPSJodG1sX2JiNmM2MDJjNzUzNzRjMzA5NjczOWE0Y2ZmOTdjMjkwIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Ib21lY3Jlc3Q8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2QwMWJhOTE1ZDFiMTQ2MTRiNDA3YWMyOWZmMTdhMTNlLnNldENvbnRlbnQoaHRtbF9iYjZjNjAyYzc1Mzc0YzMwOTY3MzlhNGNmZjk3YzI5MCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9kZTgyNjZkNjQyODM0ZDExYmY1ZGVlMDgwOTFmZGJhYy5iaW5kUG9wdXAocG9wdXBfZDAxYmE5MTVkMWIxNDYxNGI0MDdhYzI5ZmYxN2ExM2UpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfODcyMjlmMmQ5ODBmNDcyMmJkN2MxNzVlZDFhMDFjZmYgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43MTY0MTQ1MTExNTgxODUsLTczLjg4MTE0MzE5MjAwNjA0XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzQxYzM1YzViNWE4MDQyYTdiMjkyMWEyNzcwNDc0NGRlID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2E3OWU2MmYwM2NhNDQzMTk5YzY4OWExYjA1NmRhZTIxID0gJCgnPGRpdiBpZD0iaHRtbF9hNzllNjJmMDNjYTQ0MzE5OWM2ODlhMWIwNTZkYWUyMSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+TWlkZGxlIFZpbGxhZ2U8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzQxYzM1YzViNWE4MDQyYTdiMjkyMWEyNzcwNDc0NGRlLnNldENvbnRlbnQoaHRtbF9hNzllNjJmMDNjYTQ0MzE5OWM2ODlhMWIwNTZkYWUyMSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl84NzIyOWYyZDk4MGY0NzIyYmQ3YzE3NWVkMWEwMWNmZi5iaW5kUG9wdXAocG9wdXBfNDFjMzVjNWI1YTgwNDJhN2IyOTIxYTI3NzA0NzQ0ZGUpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMTk0ZDQyN2I0NjU4NGE3NWJlM2ZmZjQ2MTA2M2FiZDMgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC41MjYyNjQwNjczNDgxMiwtNzQuMjAxNTI1NTY0NTc2NThdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNTVjZTdjMWU5ZmM5NGE3M2FhOGQ1OWJjY2RjNDViNTQgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZjU5ZWRhN2Q0YTk3NDk4NmFkOTNlMTcyNzkwNDg2Y2UgPSAkKCc8ZGl2IGlkPSJodG1sX2Y1OWVkYTdkNGE5NzQ5ODZhZDkzZTE3Mjc5MDQ4NmNlIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5QcmluY2UmIzM5O3MgQmF5PC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF81NWNlN2MxZTlmYzk0YTczYWE4ZDU5YmNjZGM0NWI1NC5zZXRDb250ZW50KGh0bWxfZjU5ZWRhN2Q0YTk3NDk4NmFkOTNlMTcyNzkwNDg2Y2UpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfMTk0ZDQyN2I0NjU4NGE3NWJlM2ZmZjQ2MTA2M2FiZDMuYmluZFBvcHVwKHBvcHVwXzU1Y2U3YzFlOWZjOTRhNzNhYThkNTliY2NkYzQ1YjU0KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzk5NGM0ZDI1ODBlYTQzY2ViZWY1MGQ3MzY2NDRiNTJkID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNTc2NTA2MjkzNzk0ODksLTc0LjEzNzkyNjYzNzcxNTY4XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2RkZDAwZWZjOTM0ZTRlMjY4ZjJlNmI2NjRhZDhkNTg1ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzA4OGE0NmFmMTk1MjRlODZiYjFkZWJhMTFkZmU4NTNiID0gJCgnPGRpdiBpZD0iaHRtbF8wODhhNDZhZjE5NTI0ZTg2YmIxZGViYTExZGZlODUzYiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+TGlnaHRob3VzZSBIaWxsPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9kZGQwMGVmYzkzNGU0ZTI2OGYyZTZiNjY0YWQ4ZDU4NS5zZXRDb250ZW50KGh0bWxfMDg4YTQ2YWYxOTUyNGU4NmJiMWRlYmExMWRmZTg1M2IpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfOTk0YzRkMjU4MGVhNDNjZWJlZjUwZDczNjY0NGI1MmQuYmluZFBvcHVwKHBvcHVwX2RkZDAwZWZjOTM0ZTRlMjY4ZjJlNmI2NjRhZDhkNTg1KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2E0YjBmNTg4YzVkMjRkM2RiNWQ3YzI3NDE0NmExNTFmID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNTE5NTQxNDU3NDg5MDksLTc0LjIyOTU3MDgwNjI2OTQxXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2Q0ZjU3YzYxMDM4ODRhNGQ5YTE2MjFhZDVkZDNhZjdjID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2UzMjM1MTgyODJhMTRjNWE5NjQ3MTQ4MjVmZmQ4MzM1ID0gJCgnPGRpdiBpZD0iaHRtbF9lMzIzNTE4MjgyYTE0YzVhOTY0NzE0ODI1ZmZkODMzNSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+UmljaG1vbmQgVmFsbGV5PC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9kNGY1N2M2MTAzODg0YTRkOWExNjIxYWQ1ZGQzYWY3Yy5zZXRDb250ZW50KGh0bWxfZTMyMzUxODI4MmExNGM1YTk2NDcxNDgyNWZmZDgzMzUpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYTRiMGY1ODhjNWQyNGQzZGI1ZDdjMjc0MTQ2YTE1MWYuYmluZFBvcHVwKHBvcHVwX2Q0ZjU3YzYxMDM4ODRhNGQ5YTE2MjFhZDVkZDNhZjdjKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2Q1MjEyNzhkZTcwZjQzNjhhMzdkODA1MmM4M2Y1ODg5ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzkwNjAxNTU2NzAxNDgsLTczLjgyNjY3NzU3MTM4NjQxXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzhiY2I0N2I0ZTc2YzQzZDdiYTMwYjhkZDgwNjNiMmI3ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzM3Mzg5MjUwMDFlZTQ0NWM4MjQwN2Q5OTYyMDFhYzk4ID0gJCgnPGRpdiBpZD0iaHRtbF8zNzM4OTI1MDAxZWU0NDVjODI0MDdkOTk2MjAxYWM5OCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+TWFsYmE8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzhiY2I0N2I0ZTc2YzQzZDdiYTMwYjhkZDgwNjNiMmI3LnNldENvbnRlbnQoaHRtbF8zNzM4OTI1MDAxZWU0NDVjODI0MDdkOTk2MjAxYWM5OCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9kNTIxMjc4ZGU3MGY0MzY4YTM3ZDgwNTJjODNmNTg4OS5iaW5kUG9wdXAocG9wdXBfOGJjYjQ3YjRlNzZjNDNkN2JhMzBiOGRkODA2M2IyYjcpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYTg1OTgyYTcwZmY1NDNlMGE5YjJjYzNmN2VmMjgzYWQgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42ODE5OTg5MzQ1MTczLC03My44OTAzNDU3MDk4NzJdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZGY0MGFjYzQ0NDA4NDZjNGIwMjM2ZDJjMjM4YjgyZjcgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNmFiMWQ3ZGMxODgyNGEyNjgwYzU1ZGNkMGIwNDUxZTcgPSAkKCc8ZGl2IGlkPSJodG1sXzZhYjFkN2RjMTg4MjRhMjY4MGM1NWRjZDBiMDQ1MWU3IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5IaWdobGFuZCBQYXJrPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9kZjQwYWNjNDQ0MDg0NmM0YjAyMzZkMmMyMzhiODJmNy5zZXRDb250ZW50KGh0bWxfNmFiMWQ3ZGMxODgyNGEyNjgwYzU1ZGNkMGIwNDUxZTcpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYTg1OTgyYTcwZmY1NDNlMGE5YjJjYzNmN2VmMjgzYWQuYmluZFBvcHVwKHBvcHVwX2RmNDBhY2M0NDQwODQ2YzRiMDIzNmQyYzIzOGI4MmY3KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2Q3OTUyZGZhYzM5ZDRkODhiNzI1OWY2ZmI5ZGRkYTg3ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjA5Mzc3NzAxMTM3NjYsLTczLjk0ODQxNTE1MzI4ODkzXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzVkYjc2ZTkzODE2NjRlMTFhNDY5OTVlMjI1YTNlODNjID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2ZiMWE2Yzg3ZjM4NTQ1Y2RiMzc3N2Q0M2ViMjA0NmVjID0gJCgnPGRpdiBpZD0iaHRtbF9mYjFhNmM4N2YzODU0NWNkYjM3NzdkNDNlYjIwNDZlYyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+TWFkaXNvbjwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNWRiNzZlOTM4MTY2NGUxMWE0Njk5NWUyMjVhM2U4M2Muc2V0Q29udGVudChodG1sX2ZiMWE2Yzg3ZjM4NTQ1Y2RiMzc3N2Q0M2ViMjA0NmVjKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2Q3OTUyZGZhYzM5ZDRkODhiNzI1OWY2ZmI5ZGRkYTg3LmJpbmRQb3B1cChwb3B1cF81ZGI3NmU5MzgxNjY0ZTExYTQ2OTk1ZTIyNWEzZTgzYyk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8wYWFkNGMwMzE3NGQ0NDJmYWVhNjczN2M4MzQ5MTg1ZSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjg1MjcyMjk3NjMzMDE3LC03My44NjE3MjU3NzU1NTExNV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF83ZjhjYTM4MDI1NTg0MzBkODE1YjY0NWQ1YTM4MDY5MiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8wOWQwM2RiZTViMDA0ZDllOGYyMjEyMDgzN2ZlNDM1MyA9ICQoJzxkaXYgaWQ9Imh0bWxfMDlkMDNkYmU1YjAwNGQ5ZThmMjIxMjA4MzdmZTQzNTMiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkJyb254ZGFsZTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfN2Y4Y2EzODAyNTU4NDMwZDgxNWI2NDVkNWEzODA2OTIuc2V0Q29udGVudChodG1sXzA5ZDAzZGJlNWIwMDRkOWU4ZjIyMTIwODM3ZmU0MzUzKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzBhYWQ0YzAzMTc0ZDQ0MmZhZWE2NzM3YzgzNDkxODVlLmJpbmRQb3B1cChwb3B1cF83ZjhjYTM4MDI1NTg0MzBkODE1YjY0NWQ1YTM4MDY5Mik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl85NGRiMTdhMjlkNmQ0OTI4Yjc3MmQ3Y2IwOWQ5MTAzMSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjg2NTc4Nzg3ODAyOTgyLC03My44NTkzMTg2MzIyMTY0N10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9hMGU5MDJlY2NkZmU0OTQ3ODI3Njk1OGZkNTkyNTNhOCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8yMWVkZTc0YWQwMDk0MWMwOGMzYTI2OGRhYjY0MmYyYiA9ICQoJzxkaXYgaWQ9Imh0bWxfMjFlZGU3NGFkMDA5NDFjMDhjM2EyNjhkYWI2NDJmMmIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkFsbGVydG9uPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9hMGU5MDJlY2NkZmU0OTQ3ODI3Njk1OGZkNTkyNTNhOC5zZXRDb250ZW50KGh0bWxfMjFlZGU3NGFkMDA5NDFjMDhjM2EyNjhkYWI2NDJmMmIpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfOTRkYjE3YTI5ZDZkNDkyOGI3NzJkN2NiMDlkOTEwMzEuYmluZFBvcHVwKHBvcHVwX2EwZTkwMmVjY2RmZTQ5NDc4Mjc2OTU4ZmQ1OTI1M2E4KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzQ2NjNkZWIzYjUxODRjNzdiMWZhNmMxYTg5NDVjYmZmID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuODcwMzkyMzkxNDE0NywtNzMuOTAxNTIyNjQ1MTMxNDRdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOGVmNWUxOThiMTVmNGNiZjk5NmE1Y2NhNThmMTY5MGQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNDE4OTI3MjE5YzYyNDFlODk2MmY4ZDljMDQzYzk1ZmIgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMDE0ZDczZThhNmQwNDNhMWI4YzhmMjkyNWQxNjg1N2YgPSAkKCc8ZGl2IGlkPSJodG1sXzAxNGQ3M2U4YTZkMDQzYTFiOGM4ZjI5MjVkMTY4NTdmIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5LaW5nc2JyaWRnZSBIZWlnaHRzPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF80MTg5MjcyMTljNjI0MWU4OTYyZjhkOWMwNDNjOTVmYi5zZXRDb250ZW50KGh0bWxfMDE0ZDczZThhNmQwNDNhMWI4YzhmMjkyNWQxNjg1N2YpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfNDY2M2RlYjNiNTE4NGM3N2IxZmE2YzFhODk0NWNiZmYuYmluZFBvcHVwKHBvcHVwXzQxODkyNzIxOWM2MjQxZTg5NjJmOGQ5YzA0M2M5NWZiKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzg3MjJjNGMyNWZhNzQxYzJhN2I2ZmM4NjJiYThlNTJlID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNjQ2OTI2MDY2NTg1NzksLTczLjk0ODE3NzA5OTIwMTg0XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzAzNWY0OTY5YjU5NDQ0MGNhMGFiNjgzOGQ5ZWU3ZDg2ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2ZmZDUyNGM2YTZiNDQ5YzY5MTFmN2YzYzA0ZDdhMGY1ID0gJCgnPGRpdiBpZD0iaHRtbF9mZmQ1MjRjNmE2YjQ0OWM2OTExZjdmM2MwNGQ3YTBmNSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+RXJhc211czwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMDM1ZjQ5NjliNTk0NDQwY2EwYWI2ODM4ZDllZTdkODYuc2V0Q29udGVudChodG1sX2ZmZDUyNGM2YTZiNDQ5YzY5MTFmN2YzYzA0ZDdhMGY1KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzg3MjJjNGMyNWZhNzQxYzJhN2I2ZmM4NjJiYThlNTJlLmJpbmRQb3B1cChwb3B1cF8wMzVmNDk2OWI1OTQ0NDBjYTBhYjY4MzhkOWVlN2Q4Nik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl80MzFhZWI2YTNhZmY0MjBlOWE5MzZjNTM0ZDMxOTQ1MiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjc1NjY1ODA4MjI3NTE5LC03NC4wMDAxMTEzNjIwMjYzN10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8xODY2MWM5Y2NlMGQ0M2I0YTVlY2IwMDNjNDI3Zjg4YiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF80MTIwODNhY2NlZTU0ZjkzYWU1ZTA0ZDA3ZmMzZDEzZiA9ICQoJzxkaXYgaWQ9Imh0bWxfNDEyMDgzYWNjZWU1NGY5M2FlNWUwNGQwN2ZjM2QxM2YiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkh1ZHNvbiBZYXJkczwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMTg2NjFjOWNjZTBkNDNiNGE1ZWNiMDAzYzQyN2Y4OGIuc2V0Q29udGVudChodG1sXzQxMjA4M2FjY2VlNTRmOTNhZTVlMDRkMDdmYzNkMTNmKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzQzMWFlYjZhM2FmZjQyMGU5YTkzNmM1MzRkMzE5NDUyLmJpbmRQb3B1cChwb3B1cF8xODY2MWM5Y2NlMGQ0M2I0YTVlY2IwMDNjNDI3Zjg4Yik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl84OTcyMWJlOGFhOGM0ZmMxOGZlYTVkNzdlYTY4ZTIzNiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjU4NzMzNzc0MDE4NzQxLC03My44MDU1MzAwMjk2ODcxOF0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9kOGExNGUzZDQ2Yzc0NmRhYjNjMDUxMWU1ZTY1ZjIzNCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8zOWI2NjA1OWE0NmM0NzIxYjRiMWQ0Yzc1YWJhNzBjYyA9ICQoJzxkaXYgaWQ9Imh0bWxfMzliNjYwNTlhNDZjNDcyMWI0YjFkNGM3NWFiYTcwY2MiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkhhbW1lbHM8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2Q4YTE0ZTNkNDZjNzQ2ZGFiM2MwNTExZTVlNjVmMjM0LnNldENvbnRlbnQoaHRtbF8zOWI2NjA1OWE0NmM0NzIxYjRiMWQ0Yzc1YWJhNzBjYyk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl84OTcyMWJlOGFhOGM0ZmMxOGZlYTVkNzdlYTY4ZTIzNi5iaW5kUG9wdXAocG9wdXBfZDhhMTRlM2Q0NmM3NDZkYWIzYzA1MTFlNWU2NWYyMzQpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNThkOTE5NzI0MGFkNGRlY2JjN2E1MDI4YjE4OTRhZjggPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC42MTEzMjE2OTEyODM4MzQsLTczLjc2NTk2NzgxNDQ1NjI3XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzhlZjVlMTk4YjE1ZjRjYmY5OTZhNWNjYTU4ZjE2OTBkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2IyZmNmNDE1MWFjYzRmNDk4ZDBmYTZlYTdlOGY1OGEwID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2Y2NTQwM2ZjYzA0YjQ3MjM4M2Y4ODc5OTNhYWEwYTVjID0gJCgnPGRpdiBpZD0iaHRtbF9mNjU0MDNmY2MwNGI0NzIzODNmODg3OTkzYWFhMGE1YyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+QmF5c3dhdGVyPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9iMmZjZjQxNTFhY2M0ZjQ5OGQwZmE2ZWE3ZThmNThhMC5zZXRDb250ZW50KGh0bWxfZjY1NDAzZmNjMDRiNDcyMzgzZjg4Nzk5M2FhYTBhNWMpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfNThkOTE5NzI0MGFkNGRlY2JjN2E1MDI4YjE4OTRhZjguYmluZFBvcHVwKHBvcHVwX2IyZmNmNDE1MWFjYzRmNDk4ZDBmYTZlYTdlOGY1OGEwKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzkyNjc1N2FiYmQ5MzQ5ZDc5NjlmMjQzMzFlOWZkZDE5ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzU2MDkxMjk3MDk0NzA2LC03My45NDU2MzA3MDMzNDA5MV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9iZjI4ZTRlNGZiMjk0OTYyODQ4YzczMzk3ZWIxNzk0MyA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9kZWI0NTc2NGE2ZWQ0YWFhYTBlNjIzZWQ3ZTE3ZGJlOSA9ICQoJzxkaXYgaWQ9Imh0bWxfZGViNDU3NjRhNmVkNGFhYWEwZTYyM2VkN2UxN2RiZTkiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlF1ZWVuc2JyaWRnZTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfYmYyOGU0ZTRmYjI5NDk2Mjg0OGM3MzM5N2ViMTc5NDMuc2V0Q29udGVudChodG1sX2RlYjQ1NzY0YTZlZDRhYWFhMGU2MjNlZDdlMTdkYmU5KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzkyNjc1N2FiYmQ5MzQ5ZDc5NjlmMjQzMzFlOWZkZDE5LmJpbmRQb3B1cChwb3B1cF9iZjI4ZTRlNGZiMjk0OTYyODQ4YzczMzk3ZWIxNzk0Myk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9mYjA4OWRmZjNjZTI0YTgzYTIyZWNmNTk0MzhlMWU1NyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjYxNzMxMDc5MjUyOTgzLC03NC4wODE3Mzk5MjIxMTk2Ml0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF84ZWY1ZTE5OGIxNWY0Y2JmOTk2YTVjY2E1OGYxNjkwZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF81MGVmOGM4ZmI5YTU0ZTVmYWQxNDIxNDAwYTZmMjU0NiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF81MzQ4YTM5YzMyN2I0NTEyYTczZjZmY2MyZjE5MjM0YiA9ICQoJzxkaXYgaWQ9Imh0bWxfNTM0OGEzOWMzMjdiNDUxMmE3M2Y2ZmNjMmYxOTIzNGIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkZveCBIaWxsczwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNTBlZjhjOGZiOWE1NGU1ZmFkMTQyMTQwMGE2ZjI1NDYuc2V0Q29udGVudChodG1sXzUzNDhhMzljMzI3YjQ1MTJhNzNmNmZjYzJmMTkyMzRiKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2ZiMDg5ZGZmM2NlMjRhODNhMjJlY2Y1OTQzOGUxZTU3LmJpbmRQb3B1cChwb3B1cF81MGVmOGM4ZmI5YTU0ZTVmYWQxNDIxNDAwYTZmMjU0Nik7CgogICAgICAgICAgICAKICAgICAgICAKPC9zY3JpcHQ+\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>"
],
"text/plain": [
"<folium.folium.Map at 0x7f16afa8e1d0>"
]
},
"execution_count": 65,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# create map of New York using latitude and longitude values\n",
"print_map (newyork_data, zoom=10)"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f16aecc12b0>"
]
},
"execution_count": 67,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# a little tweak to show maps as images in github\n",
"plt.imshow(mpimg.imread('newyork.jpg'))"
]
},
{
"cell_type": "code",
"execution_count": 17,
"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>Borough</th>\n",
" <th>Neighborhood</th>\n",
" <th>Latitude</th>\n",
" <th>Longitude</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Manhattan</td>\n",
" <td>Marble Hill</td>\n",
" <td>40.876551</td>\n",
" <td>-73.910660</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Manhattan</td>\n",
" <td>Chinatown</td>\n",
" <td>40.715618</td>\n",
" <td>-73.994279</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Manhattan</td>\n",
" <td>Washington Heights</td>\n",
" <td>40.851903</td>\n",
" <td>-73.936900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Manhattan</td>\n",
" <td>Inwood</td>\n",
" <td>40.867684</td>\n",
" <td>-73.921210</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Manhattan</td>\n",
" <td>Hamilton Heights</td>\n",
" <td>40.823604</td>\n",
" <td>-73.949688</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Borough Neighborhood Latitude Longitude\n",
"0 Manhattan Marble Hill 40.876551 -73.910660\n",
"1 Manhattan Chinatown 40.715618 -73.994279\n",
"2 Manhattan Washington Heights 40.851903 -73.936900\n",
"3 Manhattan Inwood 40.867684 -73.921210\n",
"4 Manhattan Hamilton Heights 40.823604 -73.949688"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"manhattan_data = newyork_data[newyork_data['Borough'] == 'Manhattan'].reset_index(drop=True)\n",
"manhattan_data.head()"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgPHNjcmlwdD5MX1BSRUZFUl9DQU5WQVMgPSBmYWxzZTsgTF9OT19UT1VDSCA9IGZhbHNlOyBMX0RJU0FCTEVfM0QgPSBmYWxzZTs8L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS4yLjAvZGlzdC9sZWFmbGV0LmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVyeS8xLjExLjEvanF1ZXJ5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvTGVhZmxldC5hd2Vzb21lLW1hcmtlcnMvMi4wLjIvbGVhZmxldC5hd2Vzb21lLW1hcmtlcnMuanMiPjwvc2NyaXB0PgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS4yLjAvZGlzdC9sZWFmbGV0LmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvY3NzL2Jvb3RzdHJhcC10aGVtZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNi4zL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9yYXdnaXQuY29tL3B5dGhvbi12aXN1YWxpemF0aW9uL2ZvbGl1bS9tYXN0ZXIvZm9saXVtL3RlbXBsYXRlcy9sZWFmbGV0LmF3ZXNvbWUucm90YXRlLmNzcyIvPgogICAgPHN0eWxlPmh0bWwsIGJvZHkge3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTttYXJnaW46IDA7cGFkZGluZzogMDt9PC9zdHlsZT4KICAgIDxzdHlsZT4jbWFwIHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtyaWdodDowO2xlZnQ6MDt9PC9zdHlsZT4KICAgIAogICAgICAgICAgICA8c3R5bGU+ICNtYXBfOTcwN2M2NDQzZTEwNDdkMWJkYTk1MmMyYmI5NzNiYmIgewogICAgICAgICAgICAgICAgcG9zaXRpb24gOiByZWxhdGl2ZTsKICAgICAgICAgICAgICAgIHdpZHRoIDogMTAwLjAlOwogICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICBsZWZ0OiAwLjAlOwogICAgICAgICAgICAgICAgdG9wOiAwLjAlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICA8L3N0eWxlPgogICAgICAgIAo8L2hlYWQ+Cjxib2R5PiAgICAKICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb2xpdW0tbWFwIiBpZD0ibWFwXzk3MDdjNjQ0M2UxMDQ3ZDFiZGE5NTJjMmJiOTczYmJiIiA+PC9kaXY+CiAgICAgICAgCjwvYm9keT4KPHNjcmlwdD4gICAgCiAgICAKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGJvdW5kcyA9IG51bGw7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgdmFyIG1hcF85NzA3YzY0NDNlMTA0N2QxYmRhOTUyYzJiYjk3M2JiYiA9IEwubWFwKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21hcF85NzA3YzY0NDNlMTA0N2QxYmRhOTUyYzJiYjk3M2JiYicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2VudGVyOiBbNDAuNzMwODYxOSwtNzMuOTg3MTU1OF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6b29tOiAxMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heEJvdW5kczogYm91bmRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJzOiBbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmxkQ29weUp1bXA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JzOiBMLkNSUy5FUFNHMzg1NwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfODhmMDRlMTRmNTA5NDIwZmE2YzlhOWUxM2RkZmVhZjggPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICdodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZycsCiAgICAgICAgICAgICAgICB7CiAgImF0dHJpYnV0aW9uIjogbnVsbCwKICAiZGV0ZWN0UmV0aW5hIjogZmFsc2UsCiAgIm1heFpvb20iOiAxOCwKICAibWluWm9vbSI6IDEsCiAgIm5vV3JhcCI6IGZhbHNlLAogICJzdWJkb21haW5zIjogImFiYyIKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOTcwN2M2NDQzZTEwNDdkMWJkYTk1MmMyYmI5NzNiYmIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzE3MzY5NzcxNjUzYjRkN2Q5NTg5YWExMWE0YjdjNDQyID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuODc2NTUwNzc4Nzk5NjQsLTczLjkxMDY1OTY1ODYyOTgxXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzk3MDdjNjQ0M2UxMDQ3ZDFiZGE5NTJjMmJiOTczYmJiKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzEwOTg3NDg1NjRiYjRjOGQ4OWU3OWUxNTBlMGUwMjY5ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2Y4YzhhZGU2M2Y4NDRiMjlhMDExNDZiZTgyY2JjYTkyID0gJCgnPGRpdiBpZD0iaHRtbF9mOGM4YWRlNjNmODQ0YjI5YTAxMTQ2YmU4MmNiY2E5MiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+TWFyYmxlIEhpbGw8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzEwOTg3NDg1NjRiYjRjOGQ4OWU3OWUxNTBlMGUwMjY5LnNldENvbnRlbnQoaHRtbF9mOGM4YWRlNjNmODQ0YjI5YTAxMTQ2YmU4MmNiY2E5Mik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8xNzM2OTc3MTY1M2I0ZDdkOTU4OWFhMTFhNGI3YzQ0Mi5iaW5kUG9wdXAocG9wdXBfMTA5ODc0ODU2NGJiNGM4ZDg5ZTc5ZTE1MGUwZTAyNjkpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMWYyN2EyNmJjNzI4NDNjYWJjNzBhYTFjN2U2ZWI1NjIgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43MTU2MTg0MjIzMTQzMiwtNzMuOTk0Mjc5MzYyNTU5NzhdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOTcwN2M2NDQzZTEwNDdkMWJkYTk1MmMyYmI5NzNiYmIpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMGU4YThhNmMxNjc3NDJjZWIyOWY4N2E2YzY2ZTA3MzcgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYjVhNWY1Y2VhMDY4NGE0MzlkMWE1YmY2ZmFjZDE3ZDggPSAkKCc8ZGl2IGlkPSJodG1sX2I1YTVmNWNlYTA2ODRhNDM5ZDFhNWJmNmZhY2QxN2Q4IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5DaGluYXRvd248L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzBlOGE4YTZjMTY3NzQyY2ViMjlmODdhNmM2NmUwNzM3LnNldENvbnRlbnQoaHRtbF9iNWE1ZjVjZWEwNjg0YTQzOWQxYTViZjZmYWNkMTdkOCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8xZjI3YTI2YmM3Mjg0M2NhYmM3MGFhMWM3ZTZlYjU2Mi5iaW5kUG9wdXAocG9wdXBfMGU4YThhNmMxNjc3NDJjZWIyOWY4N2E2YzY2ZTA3MzcpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZjdkMDIwY2IyZmExNGZhNjkxNDljNDI2MmEzZDJjZDYgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC44NTE5MDI1MjU1NTMwNSwtNzMuOTM2OTAwMjc5ODUyMzRdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOTcwN2M2NDQzZTEwNDdkMWJkYTk1MmMyYmI5NzNiYmIpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNDhjZmU0NzNhM2M2NDk1ZGJhMDZjNGI4NzczOWVlZDUgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMzBjNzMyZDE2MzRmNGJiYTg2NmRlMDI2YTViNzYzMzkgPSAkKCc8ZGl2IGlkPSJodG1sXzMwYzczMmQxNjM0ZjRiYmE4NjZkZTAyNmE1Yjc2MzM5IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5XYXNoaW5ndG9uIEhlaWdodHM8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzQ4Y2ZlNDczYTNjNjQ5NWRiYTA2YzRiODc3MzllZWQ1LnNldENvbnRlbnQoaHRtbF8zMGM3MzJkMTYzNGY0YmJhODY2ZGUwMjZhNWI3NjMzOSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9mN2QwMjBjYjJmYTE0ZmE2OTE0OWM0MjYyYTNkMmNkNi5iaW5kUG9wdXAocG9wdXBfNDhjZmU0NzNhM2M2NDk1ZGJhMDZjNGI4NzczOWVlZDUpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNjliYWJmZWExNzJjNDZkN2FkNjJhYjc5MjkzOTU1N2UgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC44Njc2ODM5NjQ0OTkxNSwtNzMuOTIxMjEwNDIyMDM4OTddLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOTcwN2M2NDQzZTEwNDdkMWJkYTk1MmMyYmI5NzNiYmIpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNTk5ZDg1Yzk1MGJkNDllNjgxNjE3OWFlOTI0NzE3NTAgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMzU2OTc0OTlmMDRiNDc5MWJlMDczNmEwMDZhMWE4NzEgPSAkKCc8ZGl2IGlkPSJodG1sXzM1Njk3NDk5ZjA0YjQ3OTFiZTA3MzZhMDA2YTFhODcxIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Jbndvb2Q8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzU5OWQ4NWM5NTBiZDQ5ZTY4MTYxNzlhZTkyNDcxNzUwLnNldENvbnRlbnQoaHRtbF8zNTY5NzQ5OWYwNGI0NzkxYmUwNzM2YTAwNmExYTg3MSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl82OWJhYmZlYTE3MmM0NmQ3YWQ2MmFiNzkyOTM5NTU3ZS5iaW5kUG9wdXAocG9wdXBfNTk5ZDg1Yzk1MGJkNDllNjgxNjE3OWFlOTI0NzE3NTApOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfOGY4YzFjZGFjZmEyNDljMGExMDYyNmVhOWQ2Zjg2YmQgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC44MjM2MDQyODQ4MTE5MzUsLTczLjk0OTY4NzkxODgzMzY2XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzk3MDdjNjQ0M2UxMDQ3ZDFiZGE5NTJjMmJiOTczYmJiKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzRlYWZlN2M5MGY2MzQ0Y2NiMWVmODIwNGRjNDkxMTgzID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2Y1YjgyM2JkYWVkNzRjZjA4MDEyNGYxZmEzN2YzY2EyID0gJCgnPGRpdiBpZD0iaHRtbF9mNWI4MjNiZGFlZDc0Y2YwODAxMjRmMWZhMzdmM2NhMiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+SGFtaWx0b24gSGVpZ2h0czwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNGVhZmU3YzkwZjYzNDRjY2IxZWY4MjA0ZGM0OTExODMuc2V0Q29udGVudChodG1sX2Y1YjgyM2JkYWVkNzRjZjA4MDEyNGYxZmEzN2YzY2EyKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzhmOGMxY2RhY2ZhMjQ5YzBhMTA2MjZlYTlkNmY4NmJkLmJpbmRQb3B1cChwb3B1cF80ZWFmZTdjOTBmNjM0NGNjYjFlZjgyMDRkYzQ5MTE4Myk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9hYzlhMGNmYzdiNmY0ZmMyYmQwZGQ0NzI4YjIzY2Y5ZCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjgxNjkzNDQyOTQ5NzgsLTczLjk1NzM4NTM5MzUxODhdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOTcwN2M2NDQzZTEwNDdkMWJkYTk1MmMyYmI5NzNiYmIpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfYjVmMGNmM2RjMDNlNGU5ODg5MDJjODgwMmQzZGUwNjUgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMmNjMDNmM2MwY2NkNDBhZmE1ZGQ2ZDFjMDQzMGQ1NjEgPSAkKCc8ZGl2IGlkPSJodG1sXzJjYzAzZjNjMGNjZDQwYWZhNWRkNmQxYzA0MzBkNTYxIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5NYW5oYXR0YW52aWxsZTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfYjVmMGNmM2RjMDNlNGU5ODg5MDJjODgwMmQzZGUwNjUuc2V0Q29udGVudChodG1sXzJjYzAzZjNjMGNjZDQwYWZhNWRkNmQxYzA0MzBkNTYxKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2FjOWEwY2ZjN2I2ZjRmYzJiZDBkZDQ3MjhiMjNjZjlkLmJpbmRQb3B1cChwb3B1cF9iNWYwY2YzZGMwM2U0ZTk4ODkwMmM4ODAyZDNkZTA2NSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl81ZWI1M2RhZGVkMzA0ZTdiYTFkM2RjYTllYjQ2ZDIzMCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjgxNTk3NjA2NzQyNDE0LC03My45NDMyMTExMjYwMzkwNV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF85NzA3YzY0NDNlMTA0N2QxYmRhOTUyYzJiYjk3M2JiYik7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9mZDNhNjIyMTI3NWI0YjQzYTNmZjdjZTg5N2NhNmRlOCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF80YzdjYzEyYzIwNTQ0M2EyYTUyMjc5ZDhiOTM4NWQ5YyA9ICQoJzxkaXYgaWQ9Imh0bWxfNGM3Y2MxMmMyMDU0NDNhMmE1MjI3OWQ4YjkzODVkOWMiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkNlbnRyYWwgSGFybGVtPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9mZDNhNjIyMTI3NWI0YjQzYTNmZjdjZTg5N2NhNmRlOC5zZXRDb250ZW50KGh0bWxfNGM3Y2MxMmMyMDU0NDNhMmE1MjI3OWQ4YjkzODVkOWMpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfNWViNTNkYWRlZDMwNGU3YmExZDNkY2E5ZWI0NmQyMzAuYmluZFBvcHVwKHBvcHVwX2ZkM2E2MjIxMjc1YjRiNDNhM2ZmN2NlODk3Y2E2ZGU4KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzkwOGI5ODViNDIzZDQyYmY5MTNmNGZhYWZlNWIxZmQxID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzkyMjQ5NDY2NjMwMzMsLTczLjk0NDE4MjIzMTQ4NTI0XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzk3MDdjNjQ0M2UxMDQ3ZDFiZGE5NTJjMmJiOTczYmJiKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzkyNTcwYWIyY2Q0ODQwOTRiMTFiNWNkYmNiMWFlYzdhID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2YxNTcwYzdlNWZiMjRjOGZhNDgwYWEwMGM4OGRjZTExID0gJCgnPGRpdiBpZD0iaHRtbF9mMTU3MGM3ZTVmYjI0YzhmYTQ4MGFhMDBjODhkY2UxMSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+RWFzdCBIYXJsZW08L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzkyNTcwYWIyY2Q0ODQwOTRiMTFiNWNkYmNiMWFlYzdhLnNldENvbnRlbnQoaHRtbF9mMTU3MGM3ZTVmYjI0YzhmYTQ4MGFhMDBjODhkY2UxMSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl85MDhiOTg1YjQyM2Q0MmJmOTEzZjRmYWFmZTViMWZkMS5iaW5kUG9wdXAocG9wdXBfOTI1NzBhYjJjZDQ4NDA5NGIxMWI1Y2RiY2IxYWVjN2EpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfOGRhY2NjOWZkMjEwNDVhNWIwODkyMGNkOWJmMWFkNDUgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43NzU2Mzg1NzMzMDE4MDUsLTczLjk2MDUwNzYzMTM1XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzk3MDdjNjQ0M2UxMDQ3ZDFiZGE5NTJjMmJiOTczYmJiKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzczNWVkMWZlYzEwODQ5MWY5MjNlNmM1NTIzNDM1OTFkID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2E0MzZiNjFiNTQzMzQxYjg5NTg3OGY2OTdlYThmNTk2ID0gJCgnPGRpdiBpZD0iaHRtbF9hNDM2YjYxYjU0MzM0MWI4OTU4NzhmNjk3ZWE4ZjU5NiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+VXBwZXIgRWFzdCBTaWRlPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF83MzVlZDFmZWMxMDg0OTFmOTIzZTZjNTUyMzQzNTkxZC5zZXRDb250ZW50KGh0bWxfYTQzNmI2MWI1NDMzNDFiODk1ODc4ZjY5N2VhOGY1OTYpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfOGRhY2NjOWZkMjEwNDVhNWIwODkyMGNkOWJmMWFkNDUuYmluZFBvcHVwKHBvcHVwXzczNWVkMWZlYzEwODQ5MWY5MjNlNmM1NTIzNDM1OTFkKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzVkMzE5Zjc3MmUyMDRhNTBhNDY4ZmRmYWE5NWYyNjU0ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzc1OTI5ODQ5ODg0ODc1LC03My45NDcxMTc4NDQ3MTgyNl0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF85NzA3YzY0NDNlMTA0N2QxYmRhOTUyYzJiYjk3M2JiYik7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9kNmM1YmJjZDhhYWE0MGQ5OTExNDMzMGNiM2JmZWQzMyA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF80NGY2MWNhMzE3YTg0MDg3OTlkN2M0ZjNiNjQwYzMyYyA9ICQoJzxkaXYgaWQ9Imh0bWxfNDRmNjFjYTMxN2E4NDA4Nzk5ZDdjNGYzYjY0MGMzMmMiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPllvcmt2aWxsZTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZDZjNWJiY2Q4YWFhNDBkOTkxMTQzMzBjYjNiZmVkMzMuc2V0Q29udGVudChodG1sXzQ0ZjYxY2EzMTdhODQwODc5OWQ3YzRmM2I2NDBjMzJjKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzVkMzE5Zjc3MmUyMDRhNTBhNDY4ZmRmYWE5NWYyNjU0LmJpbmRQb3B1cChwb3B1cF9kNmM1YmJjZDhhYWE0MGQ5OTExNDMzMGNiM2JmZWQzMyk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8yMjhlZWZhZjhjNWE0ZGIyOTEzMWJkMWU5MTAwMDViZiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjc2ODExMjY1ODI4NzMzLC03My45NTg4NTk2ODgxMzc2XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzk3MDdjNjQ0M2UxMDQ3ZDFiZGE5NTJjMmJiOTczYmJiKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzY5MGViOGYwZTE1YjQ5NTc4YmMzNTY3YzgwNzE5NjAzID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2Q3NTI5YjNmZTkyMTQxOTViYmI3NTJhMzJmZmJiZmZiID0gJCgnPGRpdiBpZD0iaHRtbF9kNzUyOWIzZmU5MjE0MTk1YmJiNzUyYTMyZmZiYmZmYiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+TGVub3ggSGlsbDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNjkwZWI4ZjBlMTViNDk1NzhiYzM1NjdjODA3MTk2MDMuc2V0Q29udGVudChodG1sX2Q3NTI5YjNmZTkyMTQxOTViYmI3NTJhMzJmZmJiZmZiKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzIyOGVlZmFmOGM1YTRkYjI5MTMxYmQxZTkxMDAwNWJmLmJpbmRQb3B1cChwb3B1cF82OTBlYjhmMGUxNWI0OTU3OGJjMzU2N2M4MDcxOTYwMyk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl83OWU3MjY4ZjI0YTQ0ODRhOTQ0OTI4YjAxZjdiYmVhOCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjc2MjE1OTYwNTc2MjgzLC03My45NDkxNjc2OTIyNzk1M10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF85NzA3YzY0NDNlMTA0N2QxYmRhOTUyYzJiYjk3M2JiYik7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9iMzE2NDA3MDI5YjI0YjhmYWQwYzAxNTk1MjVlMDg3NyA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9kZmUxYTA0OGMwNWU0YzY3OTcyZGY2OGIyMWQ0YmFmMSA9ICQoJzxkaXYgaWQ9Imh0bWxfZGZlMWEwNDhjMDVlNGM2Nzk3MmRmNjhiMjFkNGJhZjEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlJvb3NldmVsdCBJc2xhbmQ8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2IzMTY0MDcwMjliMjRiOGZhZDBjMDE1OTUyNWUwODc3LnNldENvbnRlbnQoaHRtbF9kZmUxYTA0OGMwNWU0YzY3OTcyZGY2OGIyMWQ0YmFmMSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl83OWU3MjY4ZjI0YTQ0ODRhOTQ0OTI4YjAxZjdiYmVhOC5iaW5kUG9wdXAocG9wdXBfYjMxNjQwNzAyOWIyNGI4ZmFkMGMwMTU5NTI1ZTA4NzcpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYTRhZmYyNzhhZDlkNDBjNWEyODNkNmMxNjkzMjA0YjcgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43ODc2NTc5OTg1MzQ4NTQsLTczLjk3NzA1OTIzNjMwNjAzXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzk3MDdjNjQ0M2UxMDQ3ZDFiZGE5NTJjMmJiOTczYmJiKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzI5Yzk4MjViYjhmZjRjZTQ4MjkzMWZiOTMyMWQ1YWUyID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzQyNDJlMmM3ZGE2MDQyYjg4Mjg4ODcwNzU2Mzk3ZDY3ID0gJCgnPGRpdiBpZD0iaHRtbF80MjQyZTJjN2RhNjA0MmI4ODI4ODg3MDc1NjM5N2Q2NyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+VXBwZXIgV2VzdCBTaWRlPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8yOWM5ODI1YmI4ZmY0Y2U0ODI5MzFmYjkzMjFkNWFlMi5zZXRDb250ZW50KGh0bWxfNDI0MmUyYzdkYTYwNDJiODgyODg4NzA3NTYzOTdkNjcpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYTRhZmYyNzhhZDlkNDBjNWEyODNkNmMxNjkzMjA0YjcuYmluZFBvcHVwKHBvcHVwXzI5Yzk4MjViYjhmZjRjZTQ4MjkzMWZiOTMyMWQ1YWUyKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2RhNzMxNTViNGUxMTQ4ODJiYTg1YWIyOGJlN2Y1Yjc3ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzczNTI4ODg5NDIxNjYsLTczLjk4NTMzNzc3MDAxMjYyXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzk3MDdjNjQ0M2UxMDQ3ZDFiZGE5NTJjMmJiOTczYmJiKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2YyZWNmOWM0MGZkYTQ4ZDJhNGU1YmYyOTRhZjZkNmQ0ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2M0ODc1Yjg4YWJhMzQ5N2FiZjY3MWIxOTE2NmI4MzUzID0gJCgnPGRpdiBpZD0iaHRtbF9jNDg3NWI4OGFiYTM0OTdhYmY2NzFiMTkxNjZiODM1MyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+TGluY29sbiBTcXVhcmU8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2YyZWNmOWM0MGZkYTQ4ZDJhNGU1YmYyOTRhZjZkNmQ0LnNldENvbnRlbnQoaHRtbF9jNDg3NWI4OGFiYTM0OTdhYmY2NzFiMTkxNjZiODM1Myk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9kYTczMTU1YjRlMTE0ODgyYmE4NWFiMjhiZTdmNWI3Ny5iaW5kUG9wdXAocG9wdXBfZjJlY2Y5YzQwZmRhNDhkMmE0ZTViZjI5NGFmNmQ2ZDQpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYzFkNzFiZTY4YWJmNDQ4OTliNmE2NGU4NDgxYzk0NDkgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43NTkxMDA4OTE0NjIxMiwtNzMuOTk2MTE5MzYzMDk0NzldLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOTcwN2M2NDQzZTEwNDdkMWJkYTk1MmMyYmI5NzNiYmIpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfYzNlZDFkMzE4MjQzNDhlMjllODBjMTRjYzNjN2I3NmUgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfN2EwN2E1ZWU5NWZhNDU4MTlhZDk3NmE4Y2U5ZWFmNWEgPSAkKCc8ZGl2IGlkPSJodG1sXzdhMDdhNWVlOTVmYTQ1ODE5YWQ5NzZhOGNlOWVhZjVhIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5DbGludG9uPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9jM2VkMWQzMTgyNDM0OGUyOWU4MGMxNGNjM2M3Yjc2ZS5zZXRDb250ZW50KGh0bWxfN2EwN2E1ZWU5NWZhNDU4MTlhZDk3NmE4Y2U5ZWFmNWEpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYzFkNzFiZTY4YWJmNDQ4OTliNmE2NGU4NDgxYzk0NDkuYmluZFBvcHVwKHBvcHVwX2MzZWQxZDMxODI0MzQ4ZTI5ZTgwYzE0Y2MzYzdiNzZlKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2I5NmY0YTZiMWQ2MjQ2NWZhOGZjZjQxYzNmZDFiOWJjID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzU0NjkxMTAyNzA2MjMsLTczLjk4MTY2ODgyNzMwMzA0XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzk3MDdjNjQ0M2UxMDQ3ZDFiZGE5NTJjMmJiOTczYmJiKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzAwN2IxNjE0NDhmZTQ2NDFiNDNkODZkM2JiODllYTkwID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzMzMzRhZjg2NWNhNzRjMzE5MTFiZTE2NzVhMjBiMmY3ID0gJCgnPGRpdiBpZD0iaHRtbF8zMzM0YWY4NjVjYTc0YzMxOTExYmUxNjc1YTIwYjJmNyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+TWlkdG93bjwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMDA3YjE2MTQ0OGZlNDY0MWI0M2Q4NmQzYmI4OWVhOTAuc2V0Q29udGVudChodG1sXzMzMzRhZjg2NWNhNzRjMzE5MTFiZTE2NzVhMjBiMmY3KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2I5NmY0YTZiMWQ2MjQ2NWZhOGZjZjQxYzNmZDFiOWJjLmJpbmRQb3B1cChwb3B1cF8wMDdiMTYxNDQ4ZmU0NjQxYjQzZDg2ZDNiYjg5ZWE5MCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl83MDIwOGFjY2JjOWU0MGNmYWI0MzEzNmQwYjhmNjI5NiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjc0ODMwMzA3NzI1MjE3NCwtNzMuOTc4MzMyMDc5MjQxMjddLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOTcwN2M2NDQzZTEwNDdkMWJkYTk1MmMyYmI5NzNiYmIpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMDY1YzE3NmNkMDExNDVlNmFjOWM3NWFjMGQ2N2RlODcgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfOWVkODg3MTcyYTg2NDI5YWIzODE4MDQ4NGMyNmNmMjAgPSAkKCc8ZGl2IGlkPSJodG1sXzllZDg4NzE3MmE4NjQyOWFiMzgxODA0ODRjMjZjZjIwIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5NdXJyYXkgSGlsbDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMDY1YzE3NmNkMDExNDVlNmFjOWM3NWFjMGQ2N2RlODcuc2V0Q29udGVudChodG1sXzllZDg4NzE3MmE4NjQyOWFiMzgxODA0ODRjMjZjZjIwKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzcwMjA4YWNjYmM5ZTQwY2ZhYjQzMTM2ZDBiOGY2Mjk2LmJpbmRQb3B1cChwb3B1cF8wNjVjMTc2Y2QwMTE0NWU2YWM5Yzc1YWMwZDY3ZGU4Nyk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl85YWYwNTQ2NTc2Yjg0M2Y5YTIxZDRiYmJjMTdiZWE3NSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjc0NDAzNDcwNjc0Nzk3NSwtNzQuMDAzMTE2MzM0NzI4MTNdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOTcwN2M2NDQzZTEwNDdkMWJkYTk1MmMyYmI5NzNiYmIpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZGIwZGY0NDU1ZTFkNDIyMDljZjYzOTI1MzZjOTMxNWYgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZjM3MzdjNmJjOTIzNDMyNmI0NGJjODdlZDE2MzdkMjUgPSAkKCc8ZGl2IGlkPSJodG1sX2YzNzM3YzZiYzkyMzQzMjZiNDRiYzg3ZWQxNjM3ZDI1IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5DaGVsc2VhPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9kYjBkZjQ0NTVlMWQ0MjIwOWNmNjM5MjUzNmM5MzE1Zi5zZXRDb250ZW50KGh0bWxfZjM3MzdjNmJjOTIzNDMyNmI0NGJjODdlZDE2MzdkMjUpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfOWFmMDU0NjU3NmI4NDNmOWEyMWQ0YmJiYzE3YmVhNzUuYmluZFBvcHVwKHBvcHVwX2RiMGRmNDQ1NWUxZDQyMjA5Y2Y2MzkyNTM2YzkzMTVmKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2RmN2Y0M2NjZDBiMDQ0Mzk5ZGQ4ZGIzNmE3NWE0YWFlID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzI2OTMyODg1MzYxMjgsLTczLjk5OTkxNDAyOTQ1OTAyXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzk3MDdjNjQ0M2UxMDQ3ZDFiZGE5NTJjMmJiOTczYmJiKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzcyY2U2ODY2YWU5MjQzNWVhMmNmMWEyMDIxNjFjODJmID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2U2MDlhOTM3MGRmMTQ2OGZiNGIzOTM3OTQxMjAyMjJkID0gJCgnPGRpdiBpZD0iaHRtbF9lNjA5YTkzNzBkZjE0NjhmYjRiMzkzNzk0MTIwMjIyZCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+R3JlZW53aWNoIFZpbGxhZ2U8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzcyY2U2ODY2YWU5MjQzNWVhMmNmMWEyMDIxNjFjODJmLnNldENvbnRlbnQoaHRtbF9lNjA5YTkzNzBkZjE0NjhmYjRiMzkzNzk0MTIwMjIyZCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9kZjdmNDNjY2QwYjA0NDM5OWRkOGRiMzZhNzVhNGFhZS5iaW5kUG9wdXAocG9wdXBfNzJjZTY4NjZhZTkyNDM1ZWEyY2YxYTIwMjE2MWM4MmYpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfODQ1MjdmZjNhNmNlNGQwMmIxZWFhYWRhOGM5NTFjMzMgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43Mjc4NDY3NzcyNzAyNDQsLTczLjk4MjIyNjE2NTA2NDE2XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzk3MDdjNjQ0M2UxMDQ3ZDFiZGE5NTJjMmJiOTczYmJiKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzhkZDU4M2U1ZjFlMTQyYTBiMTI5NzRhODY2YjI0NzFlID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzc1ZjA0Nzc3NmFmMTQzMmJhNmVkNTk0ODQyNDQwOGRkID0gJCgnPGRpdiBpZD0iaHRtbF83NWYwNDc3NzZhZjE0MzJiYTZlZDU5NDg0MjQ0MDhkZCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+RWFzdCBWaWxsYWdlPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF84ZGQ1ODNlNWYxZTE0MmEwYjEyOTc0YTg2NmIyNDcxZS5zZXRDb250ZW50KGh0bWxfNzVmMDQ3Nzc2YWYxNDMyYmE2ZWQ1OTQ4NDI0NDA4ZGQpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfODQ1MjdmZjNhNmNlNGQwMmIxZWFhYWRhOGM5NTFjMzMuYmluZFBvcHVwKHBvcHVwXzhkZDU4M2U1ZjFlMTQyYTBiMTI5NzRhODY2YjI0NzFlKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzhkZmI0M2MxZWNmMTQyZDdhMjcyZTYzZjAxM2Q5NTc3ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzE3ODA2NzQ4OTI3NjUsLTczLjk4MDg5MDMxOTk5MjkxXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzk3MDdjNjQ0M2UxMDQ3ZDFiZGE5NTJjMmJiOTczYmJiKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2VhZTY1MWMwYTJiNzQ0YWY5M2JmYzU1Y2EzODJjYmY5ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzMxNDJlMmMwZTdkMTRkZDdiODE1MDg4ZmFmOWNjNWRlID0gJCgnPGRpdiBpZD0iaHRtbF8zMTQyZTJjMGU3ZDE0ZGQ3YjgxNTA4OGZhZjljYzVkZSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+TG93ZXIgRWFzdCBTaWRlPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9lYWU2NTFjMGEyYjc0NGFmOTNiZmM1NWNhMzgyY2JmOS5zZXRDb250ZW50KGh0bWxfMzE0MmUyYzBlN2QxNGRkN2I4MTUwODhmYWY5Y2M1ZGUpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfOGRmYjQzYzFlY2YxNDJkN2EyNzJlNjNmMDEzZDk1NzcuYmluZFBvcHVwKHBvcHVwX2VhZTY1MWMwYTJiNzQ0YWY5M2JmYzU1Y2EzODJjYmY5KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzEyZWMxZGM4MTYwNzQwNTg5N2U3OTJkNmVlM2ExMTg2ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzIxNTIxOTY3NDQzMjE2LC03NC4wMTA2ODMyODU1OTA4N10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF85NzA3YzY0NDNlMTA0N2QxYmRhOTUyYzJiYjk3M2JiYik7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF83NjE5MmYwOWRmMWI0M2FkOGMwYWEzZTMyZDcxYjEzZCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF82MWQ1MjhhMTA2OWM0MTczYjMzNGY2ZDg3NzNlNmNmNiA9ICQoJzxkaXYgaWQ9Imh0bWxfNjFkNTI4YTEwNjljNDE3M2IzMzRmNmQ4NzczZTZjZjYiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlRyaWJlY2E8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzc2MTkyZjA5ZGYxYjQzYWQ4YzBhYTNlMzJkNzFiMTNkLnNldENvbnRlbnQoaHRtbF82MWQ1MjhhMTA2OWM0MTczYjMzNGY2ZDg3NzNlNmNmNik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8xMmVjMWRjODE2MDc0MDU4OTdlNzkyZDZlZTNhMTE4Ni5iaW5kUG9wdXAocG9wdXBfNzYxOTJmMDlkZjFiNDNhZDhjMGFhM2UzMmQ3MWIxM2QpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMzIwNTVhODkwZmE1NGM0Zjk0ZjJiNWNjMWUyOTdhZDggPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43MTkzMjM3OTM5NTkwNywtNzMuOTk3MzA0NjcyMDgwNzNdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOTcwN2M2NDQzZTEwNDdkMWJkYTk1MmMyYmI5NzNiYmIpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfOGNmYzQ3Yjk1MmExNDEwZjk4NmNiZTU0N2JhY2M5MTMgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNGMyZWVlYjFhMzgzNGExMzk0ODFmZGU1YmE2ZDg0MGYgPSAkKCc8ZGl2IGlkPSJodG1sXzRjMmVlZWIxYTM4MzRhMTM5NDgxZmRlNWJhNmQ4NDBmIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5MaXR0bGUgSXRhbHk8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzhjZmM0N2I5NTJhMTQxMGY5ODZjYmU1NDdiYWNjOTEzLnNldENvbnRlbnQoaHRtbF80YzJlZWViMWEzODM0YTEzOTQ4MWZkZTViYTZkODQwZik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl8zMjA1NWE4OTBmYTU0YzRmOTRmMmI1Y2MxZTI5N2FkOC5iaW5kUG9wdXAocG9wdXBfOGNmYzQ3Yjk1MmExNDEwZjk4NmNiZTU0N2JhY2M5MTMpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMWRlMWZhOWZjYjFkNGNkYWExMDc3NTFkY2ZmY2ZiMjIgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43MjIxODM4NDEzMTc5NCwtNzQuMDAwNjU2NjY5NTk3NTldLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOTcwN2M2NDQzZTEwNDdkMWJkYTk1MmMyYmI5NzNiYmIpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfY2MxYjEwZmU0YjgwNGRkMzg5ZjJjYjdhZWVhMGMyNGMgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNjJkYTg1M2IwOWIwNDJjN2FkZWU0N2E3YmJkNGQ3NGMgPSAkKCc8ZGl2IGlkPSJodG1sXzYyZGE4NTNiMDliMDQyYzdhZGVlNDdhN2JiZDRkNzRjIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Tb2hvPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9jYzFiMTBmZTRiODA0ZGQzODlmMmNiN2FlZWEwYzI0Yy5zZXRDb250ZW50KGh0bWxfNjJkYTg1M2IwOWIwNDJjN2FkZWU0N2E3YmJkNGQ3NGMpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfMWRlMWZhOWZjYjFkNGNkYWExMDc3NTFkY2ZmY2ZiMjIuYmluZFBvcHVwKHBvcHVwX2NjMWIxMGZlNGI4MDRkZDM4OWYyY2I3YWVlYTBjMjRjKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2ZmN2M1NGI3MDdlNDRiYmJhM2UwOGY5Nzk0YzM1ZDA4ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzM0NDMzOTM1NzI0MzQsLTc0LjAwNjE3OTk4MTI2ODEyXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzk3MDdjNjQ0M2UxMDQ3ZDFiZGE5NTJjMmJiOTczYmJiKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzRjMWE4ODBlZmFhYzQyZGM4NmI4ZmJmNTE0YjI0MjdmID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzAyNGNjNzg3YzQ2YjQwMjVhZThmOWM0Y2Q2YWNjNTJkID0gJCgnPGRpdiBpZD0iaHRtbF8wMjRjYzc4N2M0NmI0MDI1YWU4ZjljNGNkNmFjYzUyZCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+V2VzdCBWaWxsYWdlPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF80YzFhODgwZWZhYWM0MmRjODZiOGZiZjUxNGIyNDI3Zi5zZXRDb250ZW50KGh0bWxfMDI0Y2M3ODdjNDZiNDAyNWFlOGY5YzRjZDZhY2M1MmQpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfZmY3YzU0YjcwN2U0NGJiYmEzZTA4Zjk3OTRjMzVkMDguYmluZFBvcHVwKHBvcHVwXzRjMWE4ODBlZmFhYzQyZGM4NmI4ZmJmNTE0YjI0MjdmKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzZhMzY0Mzg4Y2U2YTQ2NTdiODllMWVjMWQyMDUyNmY4ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzk3MzA3MDQxNzAyODY1LC03My45NjQyODYxNzc0MDY1NV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF85NzA3YzY0NDNlMTA0N2QxYmRhOTUyYzJiYjk3M2JiYik7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF85NzMyODM2NjRjNGI0OGQ3OGM2ODg3OWYzMWQ4NTc1NSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8zNDI0YjI5YTVlMjQ0ZjNjOTc1YjlkODRkMjhiNWM0ZSA9ICQoJzxkaXYgaWQ9Imh0bWxfMzQyNGIyOWE1ZTI0NGYzYzk3NWI5ZDg0ZDI4YjVjNGUiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPk1hbmhhdHRhbiBWYWxsZXk8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzk3MzI4MzY2NGM0YjQ4ZDc4YzY4ODc5ZjMxZDg1NzU1LnNldENvbnRlbnQoaHRtbF8zNDI0YjI5YTVlMjQ0ZjNjOTc1YjlkODRkMjhiNWM0ZSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl82YTM2NDM4OGNlNmE0NjU3Yjg5ZTFlYzFkMjA1MjZmOC5iaW5kUG9wdXAocG9wdXBfOTczMjgzNjY0YzRiNDhkNzhjNjg4NzlmMzFkODU3NTUpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfOTljYTE4OWFhNGIwNDgxMzkzY2E4ZWZkN2MyNjBkMzcgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC44MDc5OTk3MzgxNjU4MjYsLTczLjk2Mzg5NjI3OTA1MzMyXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzk3MDdjNjQ0M2UxMDQ3ZDFiZGE5NTJjMmJiOTczYmJiKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzZkNTBjZGM4NWVhOTQ3Zjc5YjY0YjM4YWNhMTE3ZDU4ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2RlNmFhZGQyOTJhNzRlNjc4NmMwNGFlMjVkYzQ3Y2VlID0gJCgnPGRpdiBpZD0iaHRtbF9kZTZhYWRkMjkyYTc0ZTY3ODZjMDRhZTI1ZGM0N2NlZSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+TW9ybmluZ3NpZGUgSGVpZ2h0czwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNmQ1MGNkYzg1ZWE5NDdmNzliNjRiMzhhY2ExMTdkNTguc2V0Q29udGVudChodG1sX2RlNmFhZGQyOTJhNzRlNjc4NmMwNGFlMjVkYzQ3Y2VlKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzk5Y2ExODlhYTRiMDQ4MTM5M2NhOGVmZDdjMjYwZDM3LmJpbmRQb3B1cChwb3B1cF82ZDUwY2RjODVlYTk0N2Y3OWI2NGIzOGFjYTExN2Q1OCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl83OGVhYjhjNTY3NDU0M2M2YTNhMTBjYTYwNDVhYTUzYyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjczNzIwOTgzMjcxNSwtNzMuOTgxMzc1OTQ4MzM1NDFdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOTcwN2M2NDQzZTEwNDdkMWJkYTk1MmMyYmI5NzNiYmIpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfOTM4MGQxZWZkOTdjNDViZDljY2Y0YmI4NGI5MjAzOTAgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMTFkM2YyMDIxM2E5NDYxZTk4OGNjNWUwYzljOWNlMDkgPSAkKCc8ZGl2IGlkPSJodG1sXzExZDNmMjAyMTNhOTQ2MWU5ODhjYzVlMGM5YzljZTA5IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5HcmFtZXJjeTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfOTM4MGQxZWZkOTdjNDViZDljY2Y0YmI4NGI5MjAzOTAuc2V0Q29udGVudChodG1sXzExZDNmMjAyMTNhOTQ2MWU5ODhjYzVlMGM5YzljZTA5KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyXzc4ZWFiOGM1Njc0NTQzYzZhM2ExMGNhNjA0NWFhNTNjLmJpbmRQb3B1cChwb3B1cF85MzgwZDFlZmQ5N2M0NWJkOWNjZjRiYjg0YjkyMDM5MCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl84MjVjN2FmZjI4ZDU0ZTNmODdjZDVlZjA0ZjA4MmY4ZiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjcxMTkzMTk4Mzk0NTY1LC03NC4wMTY4NjkzMDUwODYxN10sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF85NzA3YzY0NDNlMTA0N2QxYmRhOTUyYzJiYjk3M2JiYik7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8wMDgwNmE1MzczZTM0NzM5OTc4YzUyOWVlMmU2MmE5YSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF85NjJiMTc0MjBhYTI0N2M2Yjc5OGJkZTg5NzQ2MDY0MSA9ICQoJzxkaXYgaWQ9Imh0bWxfOTYyYjE3NDIwYWEyNDdjNmI3OThiZGU4OTc0NjA2NDEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkJhdHRlcnkgUGFyayBDaXR5PC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8wMDgwNmE1MzczZTM0NzM5OTc4YzUyOWVlMmU2MmE5YS5zZXRDb250ZW50KGh0bWxfOTYyYjE3NDIwYWEyNDdjNmI3OThiZGU4OTc0NjA2NDEpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfODI1YzdhZmYyOGQ1NGUzZjg3Y2Q1ZWYwNGYwODJmOGYuYmluZFBvcHVwKHBvcHVwXzAwODA2YTUzNzNlMzQ3Mzk5NzhjNTI5ZWUyZTYyYTlhKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2IyODE4NTM5NDhmZTQ1MDBhYjU2NWUxODEwOTI1ZDFjID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzA3MTA3MTA3MjcwNDgsLTc0LjAxMDY2NTQ0NTIxMjddLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOTcwN2M2NDQzZTEwNDdkMWJkYTk1MmMyYmI5NzNiYmIpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfYWE2NDI3MTA1NDI1NGNlZGFiMWYyZDZjMjk4Y2NjMGIgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfN2MxM2U5NTU2MTMzNGMwNTgxYzgwODMzYjNjNDU2OTQgPSAkKCc8ZGl2IGlkPSJodG1sXzdjMTNlOTU1NjEzMzRjMDU4MWM4MDgzM2IzYzQ1Njk0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5GaW5hbmNpYWwgRGlzdHJpY3Q8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2FhNjQyNzEwNTQyNTRjZWRhYjFmMmQ2YzI5OGNjYzBiLnNldENvbnRlbnQoaHRtbF83YzEzZTk1NTYxMzM0YzA1ODFjODA4MzNiM2M0NTY5NCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9iMjgxODUzOTQ4ZmU0NTAwYWI1NjVlMTgxMDkyNWQxYy5iaW5kUG9wdXAocG9wdXBfYWE2NDI3MTA1NDI1NGNlZGFiMWYyZDZjMjk4Y2NjMGIpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYWYxNGY3OGE0MmZlNDA5NTg1YTc1N2ViNDQ5YzMwNTkgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43ODI2ODI1NjcxMjU3LC03My45NTMyNTY0NjgzNzExMl0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICJibHVlIiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsCiAgImZpbGxPcGFjaXR5IjogMC43LAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAib3BhY2l0eSI6IDEuMCwKICAicmFkaXVzIjogNSwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF85NzA3YzY0NDNlMTA0N2QxYmRhOTUyYzJiYjk3M2JiYik7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9mNmE2MWQxZjVmNjg0ZmRmYTFjMjJlNTc1NTI1MDFkMiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF80ZTUxMWI5YmUwNDI0ZmFjYTdjYTg5MGU1MDIxMWI0OSA9ICQoJzxkaXYgaWQ9Imh0bWxfNGU1MTFiOWJlMDQyNGZhY2E3Y2E4OTBlNTAyMTFiNDkiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkNhcm5lZ2llIEhpbGw8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2Y2YTYxZDFmNWY2ODRmZGZhMWMyMmU1NzU1MjUwMWQyLnNldENvbnRlbnQoaHRtbF80ZTUxMWI5YmUwNDI0ZmFjYTdjYTg5MGU1MDIxMWI0OSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9hZjE0Zjc4YTQyZmU0MDk1ODVhNzU3ZWI0NDljMzA1OS5iaW5kUG9wdXAocG9wdXBfZjZhNjFkMWY1ZjY4NGZkZmExYzIyZTU3NTUyNTAxZDIpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZDEzMjlmOTZlNmU4NDQwZWJkZmIwN2M5M2QzOWUxNjggPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43MjMyNTkwMTg4NTc2OCwtNzMuOTg4NDMzNjgwMjM1OTddLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOTcwN2M2NDQzZTEwNDdkMWJkYTk1MmMyYmI5NzNiYmIpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZTk4YzZiNDM0MzhmNGI4ZWFhNjc1OTM3NzYxODU1MGUgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfY2VjMTk5NDhkNWE4NDI3NDk0ZTNlOWM0M2E4YTI3NDAgPSAkKCc8ZGl2IGlkPSJodG1sX2NlYzE5OTQ4ZDVhODQyNzQ5NGUzZTljNDNhOGEyNzQwIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Ob2hvPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9lOThjNmI0MzQzOGY0YjhlYWE2NzU5Mzc3NjE4NTUwZS5zZXRDb250ZW50KGh0bWxfY2VjMTk5NDhkNWE4NDI3NDk0ZTNlOWM0M2E4YTI3NDApOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfZDEzMjlmOTZlNmU4NDQwZWJkZmIwN2M5M2QzOWUxNjguYmluZFBvcHVwKHBvcHVwX2U5OGM2YjQzNDM4ZjRiOGVhYTY3NTkzNzc2MTg1NTBlKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzhiN2I5ZjliMmQ5ODQ5Y2RhNjhmNzE2Y2I5ZDMxZDliID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzE1MjI4OTIwNDYyODIsLTc0LjAwNTQxNTI5ODczMzU1XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzk3MDdjNjQ0M2UxMDQ3ZDFiZGE5NTJjMmJiOTczYmJiKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2YyNGMyM2VkNTY0ZjRiMGJiMTUyMWQ1NDVjNzgxYTc1ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2QwN2Y3NmM1YTczODRmMzI5OWYwYzI0YzY2NWUwY2I5ID0gJCgnPGRpdiBpZD0iaHRtbF9kMDdmNzZjNWE3Mzg0ZjMyOTlmMGMyNGM2NjVlMGNiOSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Q2l2aWMgQ2VudGVyPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9mMjRjMjNlZDU2NGY0YjBiYjE1MjFkNTQ1Yzc4MWE3NS5zZXRDb250ZW50KGh0bWxfZDA3Zjc2YzVhNzM4NGYzMjk5ZjBjMjRjNjY1ZTBjYjkpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfOGI3YjlmOWIyZDk4NDljZGE2OGY3MTZjYjlkMzFkOWIuYmluZFBvcHVwKHBvcHVwX2YyNGMyM2VkNTY0ZjRiMGJiMTUyMWQ1NDVjNzgxYTc1KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzAzZDQ3M2VhMDdlMjQ5YWVhODFhMzZlYjJlOTE5OTdjID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzQ4NTA5NjY0MzEyMiwtNzMuOTg4NzEzMTMyODUyNDddLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOTcwN2M2NDQzZTEwNDdkMWJkYTk1MmMyYmI5NzNiYmIpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNjY0NjljMzJiYWQ5NDczZjhiOThlZWM4OTAwNWYyYzkgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZGEyZTc2ZjJhZTVmNGUyNGEyM2U1YjM4MTUwY2JiNTMgPSAkKCc8ZGl2IGlkPSJodG1sX2RhMmU3NmYyYWU1ZjRlMjRhMjNlNWIzODE1MGNiYjUzIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5NaWR0b3duIFNvdXRoPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF82NjQ2OWMzMmJhZDk0NzNmOGI5OGVlYzg5MDA1ZjJjOS5zZXRDb250ZW50KGh0bWxfZGEyZTc2ZjJhZTVmNGUyNGEyM2U1YjM4MTUwY2JiNTMpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfMDNkNDczZWEwN2UyNDlhZWE4MWEzNmViMmU5MTk5N2MuYmluZFBvcHVwKHBvcHVwXzY2NDY5YzMyYmFkOTQ3M2Y4Yjk4ZWVjODkwMDVmMmM5KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2FlZTViMjEwODA1MDQ2NWQ5MDE2NmE0OTY0ZjM4YzgwID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzYwMjgwMzMxMzEzNzQsLTczLjk2MzU1NjE0MDk0MzAzXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzk3MDdjNjQ0M2UxMDQ3ZDFiZGE5NTJjMmJiOTczYmJiKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzQyZTg4YmZkN2E5MDQyM2JhY2ZhY2Y5OTQ1YzBjYjMyID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2NiZmMwNjdlYjM2ZTQxYTFiZWMwMTQ2MjlmMmNiNTI0ID0gJCgnPGRpdiBpZD0iaHRtbF9jYmZjMDY3ZWIzNmU0MWExYmVjMDE0NjI5ZjJjYjUyNCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+U3V0dG9uIFBsYWNlPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF80MmU4OGJmZDdhOTA0MjNiYWNmYWNmOTk0NWMwY2IzMi5zZXRDb250ZW50KGh0bWxfY2JmYzA2N2ViMzZlNDFhMWJlYzAxNDYyOWYyY2I1MjQpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfYWVlNWIyMTA4MDUwNDY1ZDkwMTY2YTQ5NjRmMzhjODAuYmluZFBvcHVwKHBvcHVwXzQyZTg4YmZkN2E5MDQyM2JhY2ZhY2Y5OTQ1YzBjYjMyKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2VkMWY1ZjExN2NjNDRjNTg4OTQyMmM1MjI2ZmNiNzBiID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzUyMDQyMzY5NTA3MjIsLTczLjk2NzcwODI0NTgxODM0XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzk3MDdjNjQ0M2UxMDQ3ZDFiZGE5NTJjMmJiOTczYmJiKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2RkNmI2ZWE1Y2Q5NDQwNmE5M2UwMGFkMTVjNDRhMWI5ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2U1MDg1NjkxYjZkZTRlY2JhNDhjOWUxYTZhZjNkZWJmID0gJCgnPGRpdiBpZD0iaHRtbF9lNTA4NTY5MWI2ZGU0ZWNiYTQ4YzllMWE2YWYzZGViZiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+VHVydGxlIEJheTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZGQ2YjZlYTVjZDk0NDA2YTkzZTAwYWQxNWM0NGExYjkuc2V0Q29udGVudChodG1sX2U1MDg1NjkxYjZkZTRlY2JhNDhjOWUxYTZhZjNkZWJmKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBjaXJjbGVfbWFya2VyX2VkMWY1ZjExN2NjNDRjNTg4OTQyMmM1MjI2ZmNiNzBiLmJpbmRQb3B1cChwb3B1cF9kZDZiNmVhNWNkOTQ0MDZhOTNlMDBhZDE1YzQ0YTFiOSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8yZTAxMjU5NTQ0MGY0YzM0OTg5NjE3YjE5MDIzMmM0NCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjc0NjkxNzQxMDc0MDE5NSwtNzMuOTcxMjE5Mjg3MjIyNjVdLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOTcwN2M2NDQzZTEwNDdkMWJkYTk1MmMyYmI5NzNiYmIpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMTFlYmRmZWUxNjRkNDgyNWIyM2Q1M2Y3MDM3YTVlZjEgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMzZiYTViN2Q2YTgyNDE4YzlkOGJiMzI5YjM4OTE5ZTcgPSAkKCc8ZGl2IGlkPSJodG1sXzM2YmE1YjdkNmE4MjQxOGM5ZDhiYjMyOWIzODkxOWU3IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5UdWRvciBDaXR5PC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8xMWViZGZlZTE2NGQ0ODI1YjIzZDUzZjcwMzdhNWVmMS5zZXRDb250ZW50KGh0bWxfMzZiYTViN2Q2YTgyNDE4YzlkOGJiMzI5YjM4OTE5ZTcpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfMmUwMTI1OTU0NDBmNGMzNDk4OTYxN2IxOTAyMzJjNDQuYmluZFBvcHVwKHBvcHVwXzExZWJkZmVlMTY0ZDQ4MjViMjNkNTNmNzAzN2E1ZWYxKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2ViYjdmNjkxY2Q4MDRjZGRiZTNiNmU4OWI2OWJlNDAxID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzMwOTk5NTU0NzcwNjEsLTczLjk3NDA1MTcwNDY5MjAzXSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzk3MDdjNjQ0M2UxMDQ3ZDFiZGE5NTJjMmJiOTczYmJiKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzVjZmZhZTRjODJmYTQ1ZmE5NWE0ZjdmNDQ3MTNlYWJmID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzkxZDhhM2QzZmRiYzRhNzA5NzdiZjYyNTU0Y2IzZjIwID0gJCgnPGRpdiBpZD0iaHRtbF85MWQ4YTNkM2ZkYmM0YTcwOTc3YmY2MjU1NGNiM2YyMCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+U3R1eXZlc2FudCBUb3duPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF81Y2ZmYWU0YzgyZmE0NWZhOTVhNGY3ZjQ0NzEzZWFiZi5zZXRDb250ZW50KGh0bWxfOTFkOGEzZDNmZGJjNGE3MDk3N2JmNjI1NTRjYjNmMjApOwogICAgICAgICAgICAKCiAgICAgICAgICAgIGNpcmNsZV9tYXJrZXJfZWJiN2Y2OTFjZDgwNGNkZGJlM2I2ZTg5YjY5YmU0MDEuYmluZFBvcHVwKHBvcHVwXzVjZmZhZTRjODJmYTQ1ZmE5NWE0ZjdmNDQ3MTNlYWJmKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2JhNTM1ZjJlOWI1ZDRmMDk4OTM1YTM3NzA0MDAwZGMxID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDAuNzM5NjczMDQ3NjM4NDI2LC03My45OTA5NDcxMDUyODI2XSwKICAgICAgICAgICAgICAgIHsKICAiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsCiAgImNvbG9yIjogImJsdWUiLAogICJkYXNoQXJyYXkiOiBudWxsLAogICJkYXNoT2Zmc2V0IjogbnVsbCwKICAiZmlsbCI6IHRydWUsCiAgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwKICAiZmlsbE9wYWNpdHkiOiAwLjcsCiAgImZpbGxSdWxlIjogImV2ZW5vZGQiLAogICJsaW5lQ2FwIjogInJvdW5kIiwKICAibGluZUpvaW4iOiAicm91bmQiLAogICJvcGFjaXR5IjogMS4wLAogICJyYWRpdXMiOiA1LAogICJzdHJva2UiOiB0cnVlLAogICJ3ZWlnaHQiOiAzCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwXzk3MDdjNjQ0M2UxMDQ3ZDFiZGE5NTJjMmJiOTczYmJiKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzUxYzA1MjA2ZTJkODRhOGViYTg0YTJmY2YyZGQ0ZjFhID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2M0NjEwMDM5ZGYxMDQ4YjE5MTE2NDFiOTYzZDA5YTUzID0gJCgnPGRpdiBpZD0iaHRtbF9jNDYxMDAzOWRmMTA0OGIxOTExNjQxYjk2M2QwOWE1MyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+RmxhdGlyb248L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzUxYzA1MjA2ZTJkODRhOGViYTg0YTJmY2YyZGQ0ZjFhLnNldENvbnRlbnQoaHRtbF9jNDYxMDAzOWRmMTA0OGIxOTExNjQxYjk2M2QwOWE1Myk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl9iYTUzNWYyZTliNWQ0ZjA5ODkzNWEzNzcwNDAwMGRjMS5iaW5kUG9wdXAocG9wdXBfNTFjMDUyMDZlMmQ4NGE4ZWJhODRhMmZjZjJkZDRmMWEpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfOGJlMDY5MWM5MzZjNGFhNzg2ODA5NGFmYTgwNWJiNzggPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0MC43NTY2NTgwODIyNzUxOSwtNzQuMDAwMTExMzYyMDI2MzddLAogICAgICAgICAgICAgICAgewogICJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwKICAiY29sb3IiOiAiYmx1ZSIsCiAgImRhc2hBcnJheSI6IG51bGwsCiAgImRhc2hPZmZzZXQiOiBudWxsLAogICJmaWxsIjogdHJ1ZSwKICAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLAogICJmaWxsT3BhY2l0eSI6IDAuNywKICAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsCiAgImxpbmVDYXAiOiAicm91bmQiLAogICJsaW5lSm9pbiI6ICJyb3VuZCIsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInJhZGl1cyI6IDUsCiAgInN0cm9rZSI6IHRydWUsCiAgIndlaWdodCI6IDMKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfOTcwN2M2NDQzZTEwNDdkMWJkYTk1MmMyYmI5NzNiYmIpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfN2VlMmIxNWExY2U5NGZlYzkwMTQzOWVjNjFhMTQxYjUgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZjJjMzc2Y2I3N2Q4NGE4NThhNzA5Mzk3YjM0NzgzNTUgPSAkKCc8ZGl2IGlkPSJodG1sX2YyYzM3NmNiNzdkODRhODU4YTcwOTM5N2IzNDc4MzU1IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5IdWRzb24gWWFyZHM8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzdlZTJiMTVhMWNlOTRmZWM5MDE0MzllYzYxYTE0MWI1LnNldENvbnRlbnQoaHRtbF9mMmMzNzZjYjc3ZDg0YTg1OGE3MDkzOTdiMzQ3ODM1NSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgY2lyY2xlX21hcmtlcl84YmUwNjkxYzkzNmM0YWE3ODY4MDk0YWZhODA1YmI3OC5iaW5kUG9wdXAocG9wdXBfN2VlMmIxNWExY2U5NGZlYzkwMTQzOWVjNjFhMTQxYjUpOwoKICAgICAgICAgICAgCiAgICAgICAgCjwvc2NyaXB0Pg==\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>"
],
"text/plain": [
"<folium.folium.Map at 0x7f16af412630>"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# create map of Manhattan using latitude and longitude values\n",
"print_map (manhattan_data, zoom=10)"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f16af2d82b0>"
]
},
"execution_count": 64,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment