22592 lines
1.7 MiB
22592 lines
1.7 MiB
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "code",
|
||
"id": "2bc687b1b4adb7bd",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2026-01-30T17:57:23.443659Z",
|
||
"start_time": "2026-01-30T17:57:21.227961Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"# Hier werden alle verwendeten Pythonmodule importiert\n",
|
||
"import Datenbank\n",
|
||
"import Import\n",
|
||
"import importlib\n",
|
||
"import Koordinatentransformationen\n",
|
||
"import sqlite3\n",
|
||
"import Funktionales_Modell\n",
|
||
"import Berechnungen\n",
|
||
"from Berechnungen import Berechnungen\n",
|
||
"import Parameterschaetzung\n",
|
||
"import Stochastisches_Modell\n",
|
||
"from Stochastisches_Modell import StochastischesModell\n",
|
||
"import Export\n",
|
||
"import Netzqualität_Genauigkeit\n",
|
||
"import Datumsfestlegung\n",
|
||
"import pandas as pd\n",
|
||
"from IPython.display import display, HTML\n",
|
||
"from IPython.display import display, clear_output\n",
|
||
"import itables\n",
|
||
"import ipywidgets as widgets\n",
|
||
"from itables.widget import ITable\n",
|
||
"from datetime import datetime"
|
||
],
|
||
"outputs": [],
|
||
"execution_count": 1
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "4f7efd7ba6ec18f9",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2026-01-30T17:57:26.315349Z",
|
||
"start_time": "2026-01-30T17:57:26.312715Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"# Hier werden allgemeine Einstellungen für die Ausgleichung vorgenommen\n",
|
||
"\n",
|
||
"datumfestlegung = \"weiche Lagerung\""
|
||
],
|
||
"outputs": [],
|
||
"execution_count": 2
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "57fcd841405b7866",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2026-01-30T17:57:29.346768Z",
|
||
"start_time": "2026-01-30T17:57:29.314403Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"importlib.reload(Datenbank)\n",
|
||
"importlib.reload(Import)\n",
|
||
"# Anlegen der Datenbank, wenn nicht vorhanden\n",
|
||
"pfad_datenbank = r\"Campusnetz.db\"\n",
|
||
"Datenbank.Datenbank_anlegen(pfad_datenbank)\n",
|
||
"\n",
|
||
"# Import vervollständigen\n",
|
||
"imp = Import.Import(pfad_datenbank)\n",
|
||
"db_zugriff = Datenbank.Datenbankzugriff(pfad_datenbank)"
|
||
],
|
||
"outputs": [],
|
||
"execution_count": 3
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "6ecde908841d1212",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2026-01-30T17:57:30.181931Z",
|
||
"start_time": "2026-01-30T17:57:30.167156Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"# Import der Koordinatendatei(en) vom Tachymeter\n",
|
||
"pfad_datei = r\"Daten\\campsnetz_koordinaten_plus_nachmessungen.csv\"\n",
|
||
"imp.import_koordinaten_lh_tachymeter(pfad_datei)"
|
||
],
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Der Import der Näherungskoordinaten wurde erfolgreich abgeschlossen\n"
|
||
]
|
||
}
|
||
],
|
||
"execution_count": 4
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "b28afe0c64aa59d6",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2026-01-30T17:57:30.812358Z",
|
||
"start_time": "2026-01-30T17:57:30.795131Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"importlib.reload(Import)\n",
|
||
"imp = Import.Import(pfad_datenbank)\n",
|
||
"\n",
|
||
"pfad_koordinaten_gnss = r\"Daten\\Koordinaten_ohne0648und10002.csv\"\n",
|
||
"# X, Y, Z der SAPOS-Stationen\n",
|
||
"genauigkeit_sapos_referenzstationen = [0.005, 0.005, 0.008]\n",
|
||
"\n",
|
||
"imp.import_koordinaten_gnss(pfad_koordinaten_gnss, genauigkeit_sapos_referenzstationen)\n"
|
||
],
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"'Import der Koordinaten aus stationärem GNSS abgeschlossen.'"
|
||
]
|
||
},
|
||
"execution_count": 5,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"execution_count": 5
|
||
},
|
||
{
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2026-01-30T17:57:31.272526Z",
|
||
"start_time": "2026-01-30T17:57:31.243591Z"
|
||
}
|
||
},
|
||
"cell_type": "code",
|
||
"source": [
|
||
"# Instrumente in der Datenbank anlegen\n",
|
||
"# Besonderheit GNSS-Empfänger: Bitte alle GNSS-Empfänger als ein Instrument einfügen!\n",
|
||
"importlib.reload(Datenbank)\n",
|
||
"db_zugriff = Datenbank.Datenbankzugriff(pfad_datenbank)\n",
|
||
"\n",
|
||
"db_zugriff.get_instrument_liste(\"Tachymeter\")\n",
|
||
"db_zugriff.set_instrument(\"Tachymeter\", \"Trimble S9\", [\"Tachymeter_Streckenbeobachtungen\", \"Tachymeter_Richtungsbeobachtungen\", \"Tachymeter_Zenitwinkelbeobachtungen\"])\n",
|
||
"db_zugriff.set_instrument(\"Nivellier\", \"Trimble DiNi 0.3\", [\"Nivellier_Hoehendifferenzbeobachtungen\"])\n",
|
||
"db_zugriff.get_instrument_liste(\"Tachymeter\")\n",
|
||
"db_zugriff.set_instrument(\"GNSS\", \"GNSS-Rover\", [\"GNSS-Rover_Basislinienbeobachtungen\"])"
|
||
],
|
||
"id": "75d9d9edbbbc7bb7",
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Das Instrument Trimble S9 wurde erfolgreich hinzugefügt.\n",
|
||
"Das Instrument Trimble DiNi 0.3 wurde erfolgreich hinzugefügt.\n",
|
||
"Das Instrument GNSS-Rover wurde erfolgreich hinzugefügt.\n"
|
||
]
|
||
}
|
||
],
|
||
"execution_count": 6
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "2d8a0533726304a8",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2026-01-30T17:57:31.663206Z",
|
||
"start_time": "2026-01-30T17:57:31.650289Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"# Basislinien importieren\n",
|
||
"\n",
|
||
"importlib.reload(Import)\n",
|
||
"imp = Import.Import(pfad_datenbank)\n",
|
||
"\n",
|
||
"pfad_basislinien_gnss = r\"Daten\\Basislinien_ohne0648und10002.asc.txt\"\n",
|
||
"\n",
|
||
"imp.import_basislinien_gnss(pfad_basislinien_gnss, 4)"
|
||
],
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Der Import der Datei Daten\\Basislinien_ohne0648und10002.asc.txt wurde erfolgreich abgeschlossen.\n"
|
||
]
|
||
}
|
||
],
|
||
"execution_count": 7
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "ed9be38e35cfc619",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2026-01-30T17:57:32.209080Z",
|
||
"start_time": "2026-01-30T17:57:32.194448Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"# Jacobimatrix aufstellen\n",
|
||
"# Datumsgebende Koordinaten bestimmen\n",
|
||
"importlib.reload(Datenbank)\n",
|
||
"db_zugriff = Datenbank.Datenbankzugriff(pfad_datenbank)\n",
|
||
"\n",
|
||
"liste_koordinaten_x = []\n",
|
||
"liste_koordinaten_y = []\n",
|
||
"liste_koordinaten_z = []\n",
|
||
"#liste_koordinaten_x_y_z = [10054, 10014, 10008, 10059, 10037, 10044, 10026, 10001, 10002, 10028]\n",
|
||
"liste_koordinaten_x_y_z = [\"0645\", \"0656\", \"0995\", \"1675\", \"ESTE\", \"GNA2\"]\n",
|
||
"\n",
|
||
"db_zugriff.set_datumskoordinaten(liste_koordinaten_x, liste_koordinaten_y, liste_koordinaten_z, liste_koordinaten_x_y_z)\n",
|
||
"\n",
|
||
"# Datumgebende Koordinaten entfernen\n",
|
||
"liste_koordinaten_x = []\n",
|
||
"liste_koordinaten_y = []\n",
|
||
"liste_koordinaten_z = []\n",
|
||
"liste_koordinaten_x_y_z = []\n",
|
||
"\n",
|
||
"db_zugriff.set_datumskoordinaten_to_neupunkte(liste_koordinaten_x, liste_koordinaten_y, liste_koordinaten_z, liste_koordinaten_x_y_z)"
|
||
],
|
||
"outputs": [],
|
||
"execution_count": 8
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "2d2156381d974d94",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2026-01-30T17:57:36.656812Z",
|
||
"start_time": "2026-01-30T17:57:34.464017Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"# lokale Koordinaten aus der Tacyhmetermessung per Helmerttransformation in das ETRF89 / DREF 91 (Realisierung 2025) transformieren\n",
|
||
"\n",
|
||
"importlib.reload(Koordinatentransformationen)\n",
|
||
"trafos = Koordinatentransformationen.Transformationen(pfad_datenbank)\n",
|
||
"\n",
|
||
"importlib.reload(Datenbank)\n",
|
||
"db_zugriff = Datenbank.Datenbankzugriff(pfad_datenbank)\n",
|
||
"\n",
|
||
"\n",
|
||
"transformationsparameter = trafos.Helmerttransformation_Euler_Transformationsparameter_berechne()\n",
|
||
"koordinaten_transformiert = trafos.Helmerttransformation(transformationsparameter)\n",
|
||
"\n",
|
||
"db_zugriff.set_koordinaten(koordinaten_transformiert, \"naeherung_us\")\n",
|
||
"#print(koordinaten_transformiert)"
|
||
],
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Anzahl gemeinsame Punkte: 9\n",
|
||
"\n",
|
||
"Erste Zielpunkte:\n",
|
||
"10001 [3794901.5252, 546745.559, 5080065.7672]\n",
|
||
"10008 [3794783.8568, 546746.6344, 5080152.7393]\n",
|
||
"10014 [3794838.7449, 546812.3649, 5080105.1973]\n",
|
||
"10026 [3794753.8595, 546827.4296, 5080167.0938]\n",
|
||
"10028 [3794889.7348, 546908.7636, 5080056.9381]\n",
|
||
"\n",
|
||
"Erste Ausgangspunkte:\n",
|
||
"10001 [833.9439, 1978.3737, 99.8946]\n",
|
||
"10008 [979.7022, 1991.401, 99.732]\n",
|
||
"10014 [913.9706, 1918.7731, 99.8872]\n",
|
||
"10026 [1020.0059, 1913.8703, 100.3059]\n",
|
||
"10028 [853.9608, 1815.7417, 99.7793]\n",
|
||
"min/mean/max: 0.9986498495467658 0.9999392670797006 1.0004164038548047\n",
|
||
"R ist Orthonormal!\n",
|
||
"Iteration Nr.1 abgeschlossen\n",
|
||
"Matrix([[-6.76], [7.55], [6.58], [-0.0290], [-0.307], [0.0134], [0.234]])\n",
|
||
"Iteration Nr.2 abgeschlossen\n",
|
||
"Matrix([[6.15], [-7.61], [-7.09], [0.0289], [-0.00505], [-0.0136], [0.00365]])\n",
|
||
"Iteration Nr.3 abgeschlossen\n",
|
||
"Matrix([[-0.0243], [0.0707], [0.0244], [3.93e-5], [0.000178], [0.000391], [-0.000178]])\n",
|
||
"Iteration Nr.4 abgeschlossen\n",
|
||
"Matrix([[-0.000135], [3.88e-5], [-0.000108], [4.32e-8], [-9.51e-9], [1.05e-7], [-4.78e-8]])\n",
|
||
"Iteration Nr.5 abgeschlossen\n",
|
||
"Matrix([[-2.12e-8], [-2.01e-9], [-2.31e-8], [1.55e-13], [-3.26e-12], [3.39e-11], [6.52e-12]])\n",
|
||
"Iteration Nr.6 abgeschlossen\n",
|
||
"Matrix([[-1.58e-10], [1.28e-10], [-1.48e-10], [-1.30e-13], [8.21e-13], [9.65e-13], [4.70e-14]])\n",
|
||
"Matrix([[3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6]])\n",
|
||
"Matrix([[3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6]])\n",
|
||
"x = Matrix([[3.80e+6], [5.49e+5], [5.08e+6], [1.00], [-0.156], [0.627], [3.26]])\n",
|
||
"\n",
|
||
"l_berechnet_final:\n",
|
||
"10001: 3794901.521, 546745.584, 5080065.755\n",
|
||
"10008: 3794783.870, 546746.646, 5080152.758\n",
|
||
"10014: 3794838.746, 546812.367, 5080105.181\n",
|
||
"10026: 3794753.858, 546827.445, 5080167.092\n",
|
||
"10028: 3794889.671, 546908.764, 5080056.920\n",
|
||
"10037: 3794800.626, 546960.749, 5080117.709\n",
|
||
"10044: 3794752.686, 546958.324, 5080154.237\n",
|
||
"10054: 3794889.163, 547086.949, 5080038.116\n",
|
||
"10059: 3794736.830, 547079.447, 5080152.362\n",
|
||
"Streckendifferenzen:\n",
|
||
"[0.027793, 0.025879, 0.016527, 0.01604, 0.066139, 0.07164, 0.025138, 0.125881, 0.142477]\n",
|
||
"\n",
|
||
"Differenz Schwerpunkt (Vektor):\n",
|
||
"Matrix([[3.10e-10], [1.16e-10], [1.03e-10]])\n",
|
||
"Betrag der Schwerpunkt-Differenz:\n",
|
||
"0.000m\n"
|
||
]
|
||
}
|
||
],
|
||
"execution_count": 9
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "c2db29680c53f8c4",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2026-01-30T17:57:36.693071Z",
|
||
"start_time": "2026-01-30T17:57:36.662996Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"#Importieren der apriori Genauigkeitsinformationen\n",
|
||
"#Zulässige Beobachtungsarten = \"Tachymeter_Richtung\", \"Tachymeter_Strecke\"\n",
|
||
"# Wenn Beobachtungsart = \"Tachymeter_Richtung\" --> Übergabe in Milligon und nur Stabw_apriori_konst\n",
|
||
"# Wenn Beobachtungsart = \"Tachymeter_Strecke\" --> Übergabe Stabw_apriori_konst in Millimeter und Stabw_apriori_streckenprop in ppm\n",
|
||
"\n",
|
||
"importlib.reload(Datenbank)\n",
|
||
"db_zugriff = Datenbank.Datenbankzugriff(pfad_datenbank)\n",
|
||
"\n",
|
||
"\n",
|
||
"db_zugriff.set_genauigkeiten(1, \"Tachymeter_Richtung\", 0.15)\n",
|
||
"db_zugriff.set_genauigkeiten(1, \"Tachymeter_Strecke\", 0.8, 1)\n",
|
||
"db_zugriff.set_genauigkeiten(1, \"Tachymeter_Zenitwinkel\", 0.15)\n",
|
||
"db_zugriff.set_genauigkeiten(3, \"Geometrisches_Nivellement\", 0.1, 0.3)"
|
||
],
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Die Genauigkeitsangabe für die Beobachtungsart Tachymeter_Richtung des Instrumentes Trimble S9 wurde erfolgreich hinzugefügt.\n",
|
||
"Die Genauigkeitsangabe für die Beobachtungsart Tachymeter_Strecke des Instrumentes Trimble S9 wurde erfolgreich hinzugefügt.\n",
|
||
"Die Genauigkeitsangabe für die Beobachtungsart Tachymeter_Zenitwinkel des Instrumentes Trimble S9 wurde erfolgreich hinzugefügt.\n",
|
||
"Die Genauigkeitsangabe für die Beobachtungsart Geometrisches_Nivellement des Instrumentes Trimble DiNi 0.3 wurde erfolgreich hinzugefügt.\n"
|
||
]
|
||
}
|
||
],
|
||
"execution_count": 10
|
||
},
|
||
{
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2026-01-30T17:57:36.988461Z",
|
||
"start_time": "2026-01-30T17:57:36.784074Z"
|
||
}
|
||
},
|
||
"cell_type": "code",
|
||
"source": [
|
||
"# CSV-Datei an JXL-Datei anpassen\n",
|
||
"\n",
|
||
"importlib.reload(Import)\n",
|
||
"imp = Import.Import(pfad_datenbank)\n",
|
||
"\n",
|
||
"pfad_datei_csv = r\"C:\\Users\\miche\\PycharmProjects\\Masterprojekt_V3\\Daten\\campsnetz_beobachtungen_plus_nachmessungen.csv\"\n",
|
||
"pfad_datei_jxl = r\"C:\\Users\\miche\\PycharmProjects\\Masterprojekt_V3\\Daten\\campusnetz_bereinigt_plus_nachmessung_neu.jxl\"\n",
|
||
"pfad_datei_csv_out = r\"C:\\Users\\miche\\PycharmProjects\\Masterprojekt_V3\\Daten\\campsnetz_beobachtungen_plus_nachmessungen_korrigiert.csv\"\n",
|
||
"\n",
|
||
"imp.korrigiere_beobachtungen_tachymeter_csv_mit_jxl(pfad_datei_csv, pfad_datei_jxl, pfad_datei_csv_out)"
|
||
],
|
||
"id": "958a1b2988166350",
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Korrektur erfolgreich abgeschlossen. Ausgabe: C:\\Users\\miche\\PycharmProjects\\Masterprojekt_V3\\Daten\\campsnetz_beobachtungen_plus_nachmessungen_korrigiert.csv\n",
|
||
"Ersetzungen (Rundung -> JXL volle Nachkommastellen): {'Hz': 1639, 'Z': 1838, 'SD': 747}\n",
|
||
"\n",
|
||
"--- Fehlende IH ---\n",
|
||
"Anzahl: 0\n",
|
||
"\n",
|
||
"--- Fehlende ZH ---\n",
|
||
"Anzahl: 0\n",
|
||
"\n",
|
||
"--- Standpunkt in CSV, aber kein StationRecord in JXL ---\n",
|
||
"Anzahl: 0\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{'Import_fortsetzen': True,\n",
|
||
" 'dict_ersetzungen': {'Hz': 1639, 'Z': 1838, 'SD': 747},\n",
|
||
" 'liste_zeilen_ohne_IH': [],\n",
|
||
" 'liste_zeilen_ohne_ZH': [],\n",
|
||
" 'liste_zeilen_standpunkt_nicht_in_jxl': [],\n",
|
||
" 'pfad_datei_csv_out': 'C:\\\\Users\\\\miche\\\\PycharmProjects\\\\Masterprojekt_V3\\\\Daten\\\\campsnetz_beobachtungen_plus_nachmessungen_korrigiert.csv'}"
|
||
]
|
||
},
|
||
"execution_count": 11,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"execution_count": 11
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "3d074282dffbbfd0",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2026-01-30T17:57:37.159871Z",
|
||
"start_time": "2026-01-30T17:57:37.124135Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"# Importieren der tachymetrischen Beobachtungen\n",
|
||
"a = 6378137.0 #m\n",
|
||
"b = 6356752.314 #m\n",
|
||
"\n",
|
||
"importlib.reload(Import)\n",
|
||
"imp = Import.Import(pfad_datenbank)\n",
|
||
"\n",
|
||
"pfad_datei_tachymeterbeobachtungen = r\"Daten\\campsnetz_beobachtungen_plus_nachmessungen_korrigiert.csv\"\n",
|
||
"\n",
|
||
"imp.import_beobachtungen_tachymeter(pfad_datei_tachymeterbeobachtungen, 1, a, b)"
|
||
],
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Der Import der Datei Daten\\campsnetz_beobachtungen_plus_nachmessungen_korrigiert.csv wurde erfolgreich abgeschlossen.\n"
|
||
]
|
||
}
|
||
],
|
||
"execution_count": 12
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "1f61a51b2a7366e7",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2026-01-30T17:57:37.819051Z",
|
||
"start_time": "2026-01-30T17:57:37.789691Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"# Nivellement-Beobachtungen Importieren\n",
|
||
"\n",
|
||
"importlib.reload(Import)\n",
|
||
"imp = Import.Import(pfad_datenbank)\n",
|
||
"dict_punkthoehen_naeherung_niv, liste_punkte_in_db = imp.vorbereitung_import_beobachtungen_nivellement_naeherung_punkthoehen(r\"Daten\\Niv_bereinigt.DAT.csv\", 3)\n",
|
||
"\n",
|
||
"#liste_hoehenpunkte_hinzufuegen = ['FH14', 'FH11', 'FH13', 'FH3', 'FH4', 'FH15', 'FH5']\n",
|
||
"liste_hoehenpunkte_hinzufuegen = []\n",
|
||
"imp.import_beobachtungen_nivellement_naeherung_punkthoehen(dict_punkthoehen_naeherung_niv, liste_punkte_in_db, liste_hoehenpunkte_hinzufuegen)\n",
|
||
"\n",
|
||
"imp.import_beobachtungen_nivellement_RVVR(r\"Daten\\Niv_bereinigt.DAT.csv\", 3)"
|
||
],
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Für folgende Nivellementpunkte werden die Höhen in der Ausgleichung berechnet: ['812', '10047', '10046', '10045', '10034', 'FH14', 'FH11', '10035', '10029', '10030', '10031', '10017', '10013', '10012', '10014', '10015', '10016', '10007', 'FH13', '666', '10054', '10056', '10058', '10052', '10043', '10026', '10010', '10006', '816', '10048', 'FH3', '10049', '10053', '10050', '10051', 'FH4', '10040', '10037', '10038', '10039', '10032', 'FH15', '10033', '10025', '10024', '10023', '10022', '10021', '10020', '10019', '10036', '10028', '10011', '10001', '10003', '10008', '10005', '10004', '10002', '10055', '10057', '10059', '10044', '10041', '10042', '10027', '10018', '10009']\n",
|
||
"Für folgende Punkte wird aktuell keine Höhe in der Ausgleichung berechnet: ['80001', '80002', '90001', '90002', '90003', '90004', '90005', '90006', '90007', '90008', '90009', '90010', '90011', '90012', '90013', '90014', '70001', '70002', '60001', 'FH5', '60002', '60003', '60004', '60005', '60006', '60007', '60008', '60009', '60010', '30001', '30002', '30003', '30004', '30005', '30006', '30007', '30008']. Bei Bedarf im folgenden Schritt ändern!\n",
|
||
"Neu hinzugefügt (0): []\n",
|
||
"Bereits vorhanden (0): []\n",
|
||
"Geändert (68): ['812', '10047', '10046', '10045', '10034', 'FH14', 'FH11', '10035', '10029', '10030', '10031', '10017', '10013', '10012', '10014', '10015', '10016', '10007', 'FH13', '666', '10054', '10056', '10058', '10052', '10043', '10026', '10010', '10006', '816', '10048', 'FH3', '10049', '10053', '10050', '10051', 'FH4', '10040', '10037', '10038', '10039', '10032', 'FH15', '10033', '10025', '10024', '10023', '10022', '10021', '10020', '10019', '10036', '10028', '10011', '10001', '10003', '10008', '10005', '10004', '10002', '10055', '10057', '10059', '10044', '10041', '10042', '10027', '10018', '10009']\n",
|
||
"\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"'Die Beobachtungen aus der Datei Daten\\\\Niv_bereinigt.DAT.csv wurden erfolgreich importiert.'"
|
||
]
|
||
},
|
||
"execution_count": 13,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"execution_count": 13
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "3ef1aade29f46eee",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2026-01-30T18:40:58.060182Z",
|
||
"start_time": "2026-01-30T18:39:59.616352Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"# Symbolische MAtrizen aufstellen\n",
|
||
"import importlib\n",
|
||
"import Datenbank\n",
|
||
"import Funktionales_Modell\n",
|
||
"\n",
|
||
"importlib.reload(Datenbank)\n",
|
||
"importlib.reload(Funktionales_Modell)\n",
|
||
"\n",
|
||
"\n",
|
||
"pfad_tif_quasigeoidundolation = r\"Daten\\GCG2016v2023.tif\"\n",
|
||
"\n",
|
||
"\n",
|
||
"fm = Funktionales_Modell.FunktionalesModell(pfad_datenbank, a, b, pfad_tif_quasigeoidundolation)\n",
|
||
"\n",
|
||
"Jacobimatrix_symbolisch, Jacobimatrix_symbolisch_liste_unbekannte, Jacobimatrix_symbolisch_liste_beobachtungsvektor= fm.jacobi_matrix_symbolisch(datumfestlegung, db_zugriff.get_datumskoordinate())\n",
|
||
"\n",
|
||
"stoch_modell = Stochastisches_Modell.StochastischesModell(int(len(Jacobimatrix_symbolisch_liste_beobachtungsvektor)))\n",
|
||
"\n",
|
||
"beobachtungsvektor_naeherung_symbolisch = fm.beobachtungsvektor_naeherung_symbolisch(Jacobimatrix_symbolisch_liste_beobachtungsvektor)\n",
|
||
"\n",
|
||
"Qll_matrix_symbolisch = stoch_modell.Qll_symbolisch(pfad_datenbank, Jacobimatrix_symbolisch_liste_beobachtungsvektor)\n",
|
||
"\n",
|
||
"if datumfestlegung == \"weiche Lagerung\":\n",
|
||
" QAA_matrix_symbolisch = stoch_modell.QAA_symbolisch(Jacobimatrix_symbolisch_liste_beobachtungsvektor, pfad_datenbank)\n",
|
||
"\n",
|
||
"unbekanntenvektor_symbolisch = (fm.unbekanntenvektor_symbolisch(Jacobimatrix_symbolisch_liste_unbekannte))\n"
|
||
],
|
||
"outputs": [],
|
||
"execution_count": 42
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "d262fab8404bf542",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2026-01-30T18:50:10.686735Z",
|
||
"start_time": "2026-01-30T18:40:58.075360Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"#Meine Version\n",
|
||
"import importlib\n",
|
||
"import Export\n",
|
||
"import Stochastisches_Modell\n",
|
||
"import Funktionales_Modell\n",
|
||
"import Koordinatentransformationen\n",
|
||
"import Parameterschaetzung\n",
|
||
"import Netzqualität_Genauigkeit\n",
|
||
"import Datumsfestlegung\n",
|
||
"\n",
|
||
"importlib.reload(Export)\n",
|
||
"importlib.reload(Stochastisches_Modell)\n",
|
||
"importlib.reload(Funktionales_Modell)\n",
|
||
"importlib.reload(Koordinatentransformationen)\n",
|
||
"importlib.reload(Parameterschaetzung)\n",
|
||
"importlib.reload(Netzqualität_Genauigkeit)\n",
|
||
"importlib.reload(Datumsfestlegung)\n",
|
||
"\n",
|
||
"n_beob = len(Jacobimatrix_symbolisch_liste_beobachtungsvektor)\n",
|
||
"stoch_modell = Stochastisches_Modell.StochastischesModell(n_beob=n_beob)\n",
|
||
"\n",
|
||
"from Export import Export as Exporter\n",
|
||
"\n",
|
||
"fm = Funktionales_Modell.FunktionalesModell(pfad_datenbank, a, b, pfad_tif_quasigeoidundolation)\n",
|
||
"\n",
|
||
"import numpy as np\n",
|
||
"import sympy as sp\n",
|
||
"\n",
|
||
"# Überprüfung auf bereits erfolgt Varianzkomponentenschätzung\n",
|
||
"varianzkomponentenschaetzung_erfolgt = False\n",
|
||
"\n",
|
||
"liste_varianzkomponentenschaetzung = db_zugriff.get_varianzkomponentenschaetzung()\n",
|
||
"for varianzkomponente in liste_varianzkomponentenschaetzung:\n",
|
||
" if varianzkomponente[3] != 1:\n",
|
||
" varianzkomponentenschaetzung_erfolgt = True\n",
|
||
"\n",
|
||
"dict_indizes_beobachtungsgruppen = Datumsfestlegung.Datumsfestlegung.indizes_beobachtungsvektor_nach_beobachtungsgruppe(\n",
|
||
" Jacobimatrix_symbolisch_liste_beobachtungsvektor)\n",
|
||
"\n",
|
||
"def first_bad(name, M, labels=None):\n",
|
||
" M = np.asarray(M, float)\n",
|
||
" bad = ~np.isfinite(M)\n",
|
||
" if not np.any(bad):\n",
|
||
" return None\n",
|
||
" idx = np.argwhere(bad)[0]\n",
|
||
" i = int(idx[0]); j = int(idx[1]) if M.ndim == 2 else 0\n",
|
||
" info = f\"{name}: erstes nicht-finites Element bei [{i},{j}] = {M[i,j] if M.ndim==2 else M[i]}\"\n",
|
||
" if labels is not None and i < len(labels):\n",
|
||
" info += f\" | zeile-label: {labels[i]}\"\n",
|
||
" return info\n",
|
||
"\n",
|
||
"def val(symname):\n",
|
||
" return fm.substitutionen_dict.get(sp.Symbol(symname), None)\n",
|
||
"\n",
|
||
"def idx(symname):\n",
|
||
" for i,s in enumerate(Jacobimatrix_symbolisch_liste_unbekannte):\n",
|
||
" if str(s) == symname:\n",
|
||
" return i\n",
|
||
" return None\n",
|
||
"\n",
|
||
"def sub(symname):\n",
|
||
" return fm.substitutionen_dict.get(sp.Symbol(symname), None)\n",
|
||
"\n",
|
||
"x = fm.unbekanntenvektor_numerisch(\n",
|
||
" Jacobimatrix_symbolisch_liste_unbekannte,\n",
|
||
" unbekanntenvektor_symbolisch\n",
|
||
")\n",
|
||
"labels = [str(s).strip() for s in Jacobimatrix_symbolisch_liste_beobachtungsvektor]\n",
|
||
"mask_lA = np.array([l.startswith(\"lA_\") for l in labels])\n",
|
||
"idx_ll = np.where(~mask_lA)[0]\n",
|
||
"idx_AA = np.where(mask_lA)[0]\n",
|
||
"perm = np.concatenate([idx_ll, idx_AA])\n",
|
||
"perm_is_identity = np.all(perm == np.arange(len(labels)))\n",
|
||
"labels_perm = [labels[i] for i in perm]\n",
|
||
"\n",
|
||
"# l einmalig\n",
|
||
"beobachtungsvektor_numerisch = np.asarray(\n",
|
||
" fm.beobachtungsvektor_numerisch(Jacobimatrix_symbolisch_liste_beobachtungsvektor),\n",
|
||
" float\n",
|
||
").reshape(-1, 1)\n",
|
||
"\n",
|
||
"lA_prior = beobachtungsvektor_numerisch[mask_lA].copy() if datumfestlegung == \"weiche Lagerung\" else None\n",
|
||
"if datumfestlegung == \"weiche Lagerung\":\n",
|
||
" beobachtungsvektor_numerisch[mask_lA] = lA_prior\n",
|
||
"\n",
|
||
"# Qll einmalig\n",
|
||
"Qll_matrix_numerisch = stoch_modell.Qll_numerisch(\n",
|
||
" pfad_datenbank,\n",
|
||
" Qll_matrix_symbolisch,\n",
|
||
" Jacobimatrix_symbolisch_liste_beobachtungsvektor\n",
|
||
")\n",
|
||
"\n",
|
||
"# Q_ext einmalig (nur bei weicher Lagerung)\n",
|
||
"if datumfestlegung == \"weiche Lagerung\":\n",
|
||
" QAA_matrix_numerisch = stoch_modell.QAA_numerisch(\n",
|
||
" pfad_datenbank,\n",
|
||
" QAA_matrix_symbolisch,\n",
|
||
" Jacobimatrix_symbolisch_liste_beobachtungsvektor\n",
|
||
" )\n",
|
||
" sig_AA = np.sqrt(np.diag(np.asarray(QAA_matrix_numerisch, float)))\n",
|
||
" print(\"sigma(QAA) min/med/max =\", float(np.min(sig_AA)), float(np.median(sig_AA)), float(np.max(sig_AA)))\n",
|
||
"\n",
|
||
" Q_ext, P = Datumsfestlegung.Datumsfestlegung.weiches_datum(Qll_matrix_numerisch, QAA_matrix_numerisch, varianzkomponentenschaetzung_erfolgt, dict_indizes_beobachtungsgruppen)\n",
|
||
"\n",
|
||
" # Sanity: Q_ext muss in LL+AA Reihenfolge sein ODER deine Beobachtungen müssen bereits so sortiert sein\n",
|
||
" if Q_ext.shape[0] != len(labels_perm):\n",
|
||
" raise ValueError(f\"Q_ext shape {Q_ext.shape} passt nicht zu Anzahl Beobachtungen {len(labels_perm)}\")\n",
|
||
"\n",
|
||
"\n",
|
||
"A_prev = None\n",
|
||
"l0_prev = None\n",
|
||
"l_ref = beobachtungsvektor_numerisch.copy()\n",
|
||
"\n",
|
||
"# ------------------------------------------------------------\n",
|
||
"# Konvergenz/Abbruch (nur XYZ, nicht Orientierungen etc.)\n",
|
||
"# ------------------------------------------------------------\n",
|
||
"tol_dx_min = 5e-4 # 0.5 mm Untergrenze (verhindert \"zu kleine\" tol)\n",
|
||
"tol_dx_abs = 1e-3 # 1.0 mm Standard (robust, auch ohne sigmaP)\n",
|
||
"tol_dx_rel = 0.01 # 1 % der typischen 3D-Punktgenauigkeit (optional)\n",
|
||
"tol_stag = 1e-10 # Stagnation: Änderung in max|dx_xyz| ist nur noch numerisch\n",
|
||
"stag_max = 3\n",
|
||
"\n",
|
||
"prev_max_dx_xyz = None\n",
|
||
"stag_count = 0\n",
|
||
"\n",
|
||
"max_iter = 20\n",
|
||
"\n",
|
||
"for iteration in range(max_iter):\n",
|
||
" print(\"\\n\" + \"=\"*60)\n",
|
||
" print(f\"ITERATION {iteration}\")\n",
|
||
"\n",
|
||
" print(\"max|Δl| =\", float(np.max(np.abs(beobachtungsvektor_numerisch - l_ref))))\n",
|
||
"\n",
|
||
" print(\" -> berechne A(x_k)\")\n",
|
||
"\n",
|
||
" A_matrix_numerisch_iteration0 = fm.jacobi_matrix_zahlen_iteration_0(\n",
|
||
" Jacobimatrix_symbolisch,\n",
|
||
" \"naeherung_us\",\n",
|
||
" Jacobimatrix_symbolisch_liste_unbekannte,\n",
|
||
" Jacobimatrix_symbolisch_liste_beobachtungsvektor,\n",
|
||
" iteration\n",
|
||
" )\n",
|
||
"\n",
|
||
" if datumfestlegung == \"weiche Lagerung\":\n",
|
||
" beobachtungsvektor_numerisch[mask_lA] = lA_prior\n",
|
||
"\n",
|
||
" print(\" -> berechne l0(x_k)\")\n",
|
||
"\n",
|
||
" labels = [str(s) for s in Jacobimatrix_symbolisch_liste_beobachtungsvektor]\n",
|
||
" A = np.asarray(A_matrix_numerisch_iteration0, float)\n",
|
||
"\n",
|
||
" for symname in [\"X812\",\"Y812\",\"Z812\"]:\n",
|
||
" j = idx(symname)\n",
|
||
" if j is None:\n",
|
||
" print(symname, \"j=\", j, \"-> nicht im Unbekanntenvektor (Niv aktuell entfernt) -> skip\")\n",
|
||
" continue\n",
|
||
"\n",
|
||
" col = np.asarray(A[:, j], float).reshape(-1) # <- garantiert 1D\n",
|
||
" nz = np.sum(np.abs(col) > 1e-12)\n",
|
||
" print(symname, \"j=\", j, \"nnz=\", int(nz), \"maxabs=\", float(np.max(np.abs(col))))\n",
|
||
" top = np.argsort(-np.abs(col))[:15]\n",
|
||
" for i in top:\n",
|
||
" if abs(float(col[i])) > 1e-12: # <- garantiert Skalar\n",
|
||
" print(\" \", i, labels[i], \"A=\", float(col[i]))\n",
|
||
"\n",
|
||
"\n",
|
||
" labels = [str(s).strip() for s in Jacobimatrix_symbolisch_liste_beobachtungsvektor]\n",
|
||
" unk = [str(s).strip() for s in Jacobimatrix_symbolisch_liste_unbekannte]\n",
|
||
"\n",
|
||
" idx_LA = [i for i,l in enumerate(labels) if l.startswith(\"lA_\")]\n",
|
||
"\n",
|
||
" A = np.asarray(A_matrix_numerisch_iteration0, float)\n",
|
||
"\n",
|
||
" check = []\n",
|
||
" for r in idx_LA:\n",
|
||
" nz = np.where(np.abs(A[r,:]) > 1e-12)[0]\n",
|
||
" if nz.size == 1:\n",
|
||
" c = int(nz[0])\n",
|
||
" check.append((labels[r], c, unk[c], float(A[r,c])))\n",
|
||
" else:\n",
|
||
" check.append((labels[r], -1, \"MULTI/EMPTY\", float(nz.size)))\n",
|
||
"\n",
|
||
" print(\"lA-check (erste 10):\")\n",
|
||
" for row in check[:10]:\n",
|
||
" print(row)\n",
|
||
"\n",
|
||
" for pn in [\"10009\", \"10006\"]:\n",
|
||
" for c in [\"X\", \"Y\", \"Z\"]:\n",
|
||
" v = val(f\"{c}{pn}\")\n",
|
||
" print(f\"{c}{pn} =\", v, \"| finite:\", (v is not None and np.isfinite(float(v))))\n",
|
||
"\n",
|
||
" # 2) Strecke aus den Näherungskoordinaten prüfen\n",
|
||
" Xsp, Ysp, Zsp = float(val(\"X10009\")), float(val(\"Y10009\")), float(val(\"Z10009\"))\n",
|
||
" Xzp, Yzp, Zzp = float(val(\"X10006\")), float(val(\"Y10006\")), float(val(\"Z10006\"))\n",
|
||
"\n",
|
||
" s0 = np.sqrt((Xzp-Xsp)**2 + (Yzp-Ysp)**2 + (Zzp-Zsp)**2)\n",
|
||
" print(\"s0(10009-10006) =\", s0, \"| finite:\", np.isfinite(s0))\n",
|
||
"\n",
|
||
" # weiche Lagerung: lA-Beobachtungen fix halten (sonst dl=0 und keine Wirkung)\n",
|
||
" if datumfestlegung == \"weiche Lagerung\":\n",
|
||
" beobachtungsvektor_numerisch[mask_lA] = lA_prior\n",
|
||
"\n",
|
||
" print(\" -> berechne l0(x_k)\")\n",
|
||
" beobachtungsvektor_naeherung_numerisch_iteration0 = fm.beobachtungsvektor_naeherung_numerisch_iteration0(\n",
|
||
" Jacobimatrix_symbolisch_liste_beobachtungsvektor,\n",
|
||
" beobachtungsvektor_naeherung_symbolisch,\n",
|
||
" iteration\n",
|
||
" )\n",
|
||
"\n",
|
||
" A_cur = np.asarray(A_matrix_numerisch_iteration0, float)\n",
|
||
" l0_cur = np.asarray(beobachtungsvektor_naeherung_numerisch_iteration0, float).reshape(-1)\n",
|
||
"\n",
|
||
" if A_prev is not None:\n",
|
||
" print(\"max|ΔA| =\", float(np.max(np.abs(A_cur - A_prev))))\n",
|
||
" print(\"max|Δl0| =\", float(np.max(np.abs(l0_cur - l0_prev))))\n",
|
||
"\n",
|
||
" A_prev = A_cur.copy()\n",
|
||
" l0_prev = l0_cur.copy()\n",
|
||
"\n",
|
||
" labels = [str(s) for s in Jacobimatrix_symbolisch_liste_beobachtungsvektor]\n",
|
||
"\n",
|
||
" if iteration == 0:\n",
|
||
" # Qll_matrix_numerisch / beobachtungsvektor_numerisch / Q_ext wurden vor der Schleife berechnet\n",
|
||
"\n",
|
||
" Exporter.matrix_to_csv(\n",
|
||
" fr\"Zwischenergebnisse\\_l.csv\",\n",
|
||
" [\"\"],\n",
|
||
" labels,\n",
|
||
" beobachtungsvektor_numerisch,\n",
|
||
" \"l\"\n",
|
||
" )\n",
|
||
"\n",
|
||
" if datumfestlegung == \"weiche Lagerung\":\n",
|
||
" Exporter.matrix_to_csv(\n",
|
||
" fr\"Zwischenergebnisse\\{iteration}_Q_ext.csv\",\n",
|
||
" labels_perm,\n",
|
||
" labels_perm,\n",
|
||
" Q_ext,\n",
|
||
" \"Q_ext\"\n",
|
||
" )\n",
|
||
" Exporter.matrix_to_csv(\n",
|
||
" fr\"Zwischenergebnisse\\{iteration}_P.csv\",\n",
|
||
" labels_perm,\n",
|
||
" labels_perm,\n",
|
||
" P,\n",
|
||
" \"P\"\n",
|
||
" )\n",
|
||
"\n",
|
||
" labels = [str(s).strip() for s in Jacobimatrix_symbolisch_liste_beobachtungsvektor]\n",
|
||
" labels = [l for l in labels if not l.startswith(\"lA_\")]\n",
|
||
"\n",
|
||
" mask_SD = np.array([\"_SD_\" in l for l in labels])\n",
|
||
"\n",
|
||
" mask_R = np.array([\"_R_\" in l for l in labels])\n",
|
||
" mask_ZW = np.array([\"_ZW_\" in l for l in labels])\n",
|
||
" mask_niv = np.array([\"_niv_\" in l for l in labels])\n",
|
||
" mask_gx = np.array([\"_gnssbx_\" in l for l in labels])\n",
|
||
" mask_gy = np.array([\"_gnssby_\" in l for l in labels])\n",
|
||
" mask_gz = np.array([\"_gnssbz_\" in l for l in labels])\n",
|
||
"\n",
|
||
"\n",
|
||
" import pandas as pd\n",
|
||
" ref_l = pd.read_csv(r\"Zwischenergebnisse\\Beobachtungsvektor_Numerisch.csv\", sep=\";\", decimal=\",\", header=None, names=[\"label\",\"value\"]).iloc[1:]\n",
|
||
" ref_l0 = pd.read_csv(\n",
|
||
" fr\"Zwischenergebnisse\\{iteration}_Beobachtungsvektor_Näherung_Numerisch_Iteration0.csv\",\n",
|
||
" sep=\";\", decimal=\",\", header=None, names=[\"label\",\"value\"]\n",
|
||
" ).iloc[1:]\n",
|
||
"\n",
|
||
" ref_l_dict = dict(zip(ref_l[\"label\"], ref_l[\"value\"]))\n",
|
||
" ref_l0_dict = dict(zip(ref_l0[\"label\"], ref_l0[\"value\"]))\n",
|
||
"\n",
|
||
" # Q für Solver wählen\n",
|
||
" if datumfestlegung == \"weiche Lagerung\":\n",
|
||
" Q_k = Q_ext\n",
|
||
" else:\n",
|
||
" Q_k = Qll_matrix_numerisch\n",
|
||
"\n",
|
||
" # dl\n",
|
||
" dl_k = fm.berechnung_dl(\n",
|
||
" beobachtungsvektor_numerisch,\n",
|
||
" beobachtungsvektor_naeherung_numerisch_iteration0,\n",
|
||
" Jacobimatrix_symbolisch_liste_beobachtungsvektor,\n",
|
||
" iteration\n",
|
||
" )\n",
|
||
"\n",
|
||
" if A_matrix_numerisch_iteration0.shape[0] != dl_k.shape[0] or Q_k.shape[0] != dl_k.shape[0]:\n",
|
||
" raise ValueError(\n",
|
||
" f\"Iter {iteration}: Dimensionen passen nicht: \"\n",
|
||
" f\"A={A_matrix_numerisch_iteration0.shape}, dl={dl_k.shape}, Q={Q_k.shape}\"\n",
|
||
" )\n",
|
||
"\n",
|
||
" labels = [str(s) for s in Jacobimatrix_symbolisch_liste_beobachtungsvektor]\n",
|
||
"\n",
|
||
" print(first_bad(\"A\", A_matrix_numerisch_iteration0, labels))\n",
|
||
" print(first_bad(\"dl\", dl_k, labels))\n",
|
||
" print(first_bad(\"Q_k\", Q_k, labels))\n",
|
||
"\n",
|
||
"\n",
|
||
" print(\" -> löse Ausgleichung\")\n",
|
||
"\n",
|
||
" labels = [str(s).strip() for s in Jacobimatrix_symbolisch_liste_beobachtungsvektor]\n",
|
||
"\n",
|
||
" A_solve = np.asarray(A_matrix_numerisch_iteration0, float)\n",
|
||
" dl_solve = np.asarray(dl_k, float)\n",
|
||
" labels_solve = labels\n",
|
||
"\n",
|
||
" Q_solve = Q_k\n",
|
||
"\n",
|
||
" if datumfestlegung == \"weiche Lagerung\" and not perm_is_identity:\n",
|
||
" A_solve = A_solve[perm, :]\n",
|
||
" dl_solve = dl_solve[perm, :]\n",
|
||
" Q_solve = Q_solve[np.ix_(perm, perm)]\n",
|
||
" labels_solve = labels_perm\n",
|
||
"\n",
|
||
" res, dx = Parameterschaetzung.ausgleichung_global(A_solve, dl_solve, Q_solve, P)\n",
|
||
"\n",
|
||
" Exporter.matrix_to_csv(fr\"Zwischenergebnisse\\{iteration}_Qxx.csv\",\n",
|
||
" [\"\"], Jacobimatrix_symbolisch_liste_unbekannte, res[\"Q_xx\"], \"Qxx\")\n",
|
||
"\n",
|
||
"\n",
|
||
" N = np.asarray(res[\"N\"], float)\n",
|
||
" n = np.asarray(res[\"n\"], float) if \"n\" in res else None\n",
|
||
"\n",
|
||
" A = np.asarray(A_matrix_numerisch_iteration0, float)\n",
|
||
" print(\"cond(A) =\", np.linalg.cond(A))\n",
|
||
"\n",
|
||
" dx = np.asarray(dx, float).reshape(-1, 1)\n",
|
||
"\n",
|
||
" Exporter.matrix_to_csv(fr\"Zwischenergebnisse\\{iteration}_dl.csv\",\n",
|
||
" [\"\"], labels_solve, dl_solve, \"dl\")\n",
|
||
"\n",
|
||
"\n",
|
||
" Exporter.matrix_to_csv(fr\"Zwischenergebnisse\\{iteration}_dx.csv\",\n",
|
||
" [\"\"], Jacobimatrix_symbolisch_liste_unbekannte, dx, \"dx\")\n",
|
||
"\n",
|
||
" x = fm.unbekanntenvektor_numerisch(\n",
|
||
" Jacobimatrix_symbolisch_liste_unbekannte,\n",
|
||
" unbekanntenvektor_symbolisch,\n",
|
||
" dX_Vektor=dx,\n",
|
||
" unbekanntenvektor_neumerisch_vorherige_Iteration=x,\n",
|
||
" iterationsnummer=iteration\n",
|
||
" )\n",
|
||
"\n",
|
||
" dx_flat = np.asarray(dx, float).reshape(-1)\n",
|
||
"\n",
|
||
" idx_xyz = [i for i,s in enumerate(Jacobimatrix_symbolisch_liste_unbekannte)\n",
|
||
" if str(s).startswith((\"X\",\"Y\",\"Z\"))]\n",
|
||
"\n",
|
||
" max_dx_xyz = float(np.max(np.abs(dx_flat[idx_xyz])))\n",
|
||
" print(\" -> max|dx_xyz| [m] =\", max_dx_xyz)\n",
|
||
"\n",
|
||
" tol_dx = tol_dx_abs\n",
|
||
"\n",
|
||
" if prev_max_dx_xyz is not None and abs(prev_max_dx_xyz - max_dx_xyz) < tol_stag:\n",
|
||
" stag_count += 1\n",
|
||
" else:\n",
|
||
" stag_count = 0\n",
|
||
" prev_max_dx_xyz = max_dx_xyz\n",
|
||
"\n",
|
||
" # Abbruchbedingungen\n",
|
||
" if max_dx_xyz < tol_dx:\n",
|
||
" print(\"\\nKONVERGENZ ERREICHT (XYZ)\")\n",
|
||
" break\n",
|
||
"\n",
|
||
" if stag_count >= stag_max:\n",
|
||
" print(\"\\nABBRUCH: STAGNATION (XYZ)\")\n",
|
||
" break\n",
|
||
"\n",
|
||
"\n",
|
||
" for symname in [\"X10009\",\"Y10009\",\"Z10009\"]:\n",
|
||
" j = idx(symname)\n",
|
||
" xv = float(np.asarray(x, float).reshape(-1)[j])\n",
|
||
" dv = float(val(symname))\n",
|
||
" print(symname, \"x=\", xv, \" dict=\", dv, \" diff=\", xv-dv)"
|
||
],
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"DEBUG stabw_apriori_konstant_niv_3 = 0.0001\n",
|
||
"DEBUG stabw_apriori_streckenprop_niv_3 = 0.0003\n",
|
||
"sigma(QAA) min/med/max = 0.005 0.005 0.008\n",
|
||
"Varianzkomponentenschätzung wurde durchgeführt\n",
|
||
"\n",
|
||
"============================================================\n",
|
||
"ITERATION 0\n",
|
||
"max|Δl| = 0.0\n",
|
||
" -> berechne A(x_k)\n",
|
||
" -> berechne l0(x_k)\n",
|
||
"X812 j= 177 nnz= 37 maxabs= 0.804440145172459\n",
|
||
" 898 952_SD_62_10048_812 A= 0.804440145172459\n",
|
||
" 902 956_SD_62_10048_812 A= 0.804440145172459\n",
|
||
" 906 960_SD_62_10048_812 A= 0.804440145172459\n",
|
||
" 881 935_SD_60_10047_812 A= 0.7860629905568308\n",
|
||
" 885 939_SD_60_10047_812 A= 0.7860629905568308\n",
|
||
" 877 931_SD_60_10047_812 A= 0.7860629905568308\n",
|
||
" 890 944_SD_61_10046_812 A= 0.784272555410827\n",
|
||
" 896 950_SD_61_10046_812 A= 0.784272555410827\n",
|
||
" 893 947_SD_61_10046_812 A= 0.784272555410827\n",
|
||
" 3161 1085_niv_10047_812 A= 0.5936974246614407\n",
|
||
" 3179 1103_niv_10048_812 A= 0.5936974246614407\n",
|
||
" 3126 1050_niv_812_10047 A= -0.5936974246614407\n",
|
||
" 3257 1181_niv_10045_812 A= 0.5936974246614407\n",
|
||
" 3258 1182_niv_812_816 A= -0.5936974246614407\n",
|
||
" 3225 1149_niv_FH3_812 A= 0.5936974246614407\n",
|
||
"Y812 j= 178 nnz= 37 maxabs= 0.4090704435134159\n",
|
||
" 896 950_SD_61_10046_812 A= -0.4090704435134159\n",
|
||
" 893 947_SD_61_10046_812 A= -0.4090704435134159\n",
|
||
" 890 944_SD_61_10046_812 A= -0.4090704435134159\n",
|
||
" 885 939_SD_60_10047_812 A= -0.3022054693020904\n",
|
||
" 881 935_SD_60_10047_812 A= -0.3022054693020904\n",
|
||
" 877 931_SD_60_10047_812 A= -0.3022054693020904\n",
|
||
" 1889 947_R_61_10046_812 A= -0.17992569798749025\n",
|
||
" 1892 950_R_61_10046_812 A= -0.17992569798749025\n",
|
||
" 1886 944_R_61_10046_812 A= -0.17992569798749025\n",
|
||
" 898 952_SD_62_10048_812 A= -0.12364474010825566\n",
|
||
" 902 956_SD_62_10048_812 A= -0.12364474010825566\n",
|
||
" 906 960_SD_62_10048_812 A= -0.12364474010825566\n",
|
||
" 3161 1085_niv_10047_812 A= 0.08557886002453727\n",
|
||
" 3258 1182_niv_812_816 A= -0.08557886002453727\n",
|
||
" 3225 1149_niv_FH3_812 A= 0.08557886002453727\n",
|
||
"Z812 j= 179 nnz= 37 maxabs= 0.8001247569393624\n",
|
||
" 3257 1181_niv_10045_812 A= 0.8001247569393624\n",
|
||
" 3258 1182_niv_812_816 A= -0.8001247569393624\n",
|
||
" 3225 1149_niv_FH3_812 A= 0.8001247569393624\n",
|
||
" 3226 1150_niv_812_10048 A= -0.8001247569393624\n",
|
||
" 3228 1152_niv_816_812 A= 0.8001247569393624\n",
|
||
" 3229 1153_niv_812_10045 A= -0.8001247569393624\n",
|
||
" 3179 1103_niv_10048_812 A= 0.8001247569393624\n",
|
||
" 3180 1104_niv_812_FH3 A= -0.8001247569393624\n",
|
||
" 3161 1085_niv_10047_812 A= 0.8001247569393624\n",
|
||
" 3126 1050_niv_812_10047 A= -0.8001247569393624\n",
|
||
" 898 952_SD_62_10048_812 A= -0.5810232620803362\n",
|
||
" 906 960_SD_62_10048_812 A= -0.5810232620803362\n",
|
||
" 902 956_SD_62_10048_812 A= -0.5810232620803362\n",
|
||
" 877 931_SD_60_10047_812 A= -0.5392372661461328\n",
|
||
" 885 939_SD_60_10047_812 A= -0.5392372661461328\n",
|
||
"lA-check (erste 10):\n",
|
||
"('lA_X0645', 279, 'X0645', 1.0)\n",
|
||
"('lA_X0656', 280, 'X0656', 1.0)\n",
|
||
"('lA_X0995', 281, 'X0995', 1.0)\n",
|
||
"('lA_X1675', 282, 'X1675', 1.0)\n",
|
||
"('lA_XESTE', 283, 'XESTE', 1.0)\n",
|
||
"('lA_XGNA2', 284, 'XGNA2', 1.0)\n",
|
||
"('lA_Y0645', 285, 'Y0645', 1.0)\n",
|
||
"('lA_Y0656', 286, 'Y0656', 1.0)\n",
|
||
"('lA_Y0995', 287, 'Y0995', 1.0)\n",
|
||
"('lA_Y1675', 288, 'Y1675', 1.0)\n",
|
||
"X10009 = 3794767.479327345 | finite: True\n",
|
||
"Y10009 = 546740.0910416279 | finite: True\n",
|
||
"Z10009 = 5080165.960632112 | finite: True\n",
|
||
"X10006 = 3794766.3643246326 | finite: True\n",
|
||
"Y10006 = 546707.6430623308 | finite: True\n",
|
||
"Z10006 = 5080169.7434314005 | finite: True\n",
|
||
"s0(10009-10006) = 32.68675820533385 | finite: True\n",
|
||
" -> berechne l0(x_k)\n",
|
||
"None\n",
|
||
"None\n",
|
||
"None\n",
|
||
" -> löse Ausgleichung\n",
|
||
"cond(A) = 50.18510377536581\n",
|
||
" -> max|dx_xyz| [m] = 0.7602518574422905\n",
|
||
"X10009 x= 3794767.458663473 dict= 3794767.458663473 diff= 0.0\n",
|
||
"Y10009 x= 546740.0728581925 dict= 546740.0728581925 diff= 0.0\n",
|
||
"Z10009 x= 5080165.933684419 dict= 5080165.933684419 diff= 0.0\n",
|
||
"\n",
|
||
"============================================================\n",
|
||
"ITERATION 1\n",
|
||
"max|Δl| = 0.0\n",
|
||
" -> berechne A(x_k)\n",
|
||
" -> berechne l0(x_k)\n",
|
||
"X812 j= 177 nnz= 37 maxabs= 0.8047748825525017\n",
|
||
" 898 952_SD_62_10048_812 A= 0.8047748825525017\n",
|
||
" 902 956_SD_62_10048_812 A= 0.8047748825525017\n",
|
||
" 906 960_SD_62_10048_812 A= 0.8047748825525017\n",
|
||
" 896 950_SD_61_10046_812 A= 0.7951743316904518\n",
|
||
" 890 944_SD_61_10046_812 A= 0.7951743316904518\n",
|
||
" 893 947_SD_61_10046_812 A= 0.7951743316904518\n",
|
||
" 881 935_SD_60_10047_812 A= 0.7885566816207866\n",
|
||
" 885 939_SD_60_10047_812 A= 0.7885566816207866\n",
|
||
" 877 931_SD_60_10047_812 A= 0.7885566816207866\n",
|
||
" 3161 1085_niv_10047_812 A= 0.5936974452811924\n",
|
||
" 3179 1103_niv_10048_812 A= 0.5936974452811924\n",
|
||
" 3126 1050_niv_812_10047 A= -0.5936974452811924\n",
|
||
" 3257 1181_niv_10045_812 A= 0.5936974452811924\n",
|
||
" 3258 1182_niv_812_816 A= -0.5936974452811924\n",
|
||
" 3225 1149_niv_FH3_812 A= 0.5936974452811924\n",
|
||
"Y812 j= 178 nnz= 37 maxabs= 0.3914815748808958\n",
|
||
" 896 950_SD_61_10046_812 A= -0.3914815748808958\n",
|
||
" 893 947_SD_61_10046_812 A= -0.3914815748808958\n",
|
||
" 890 944_SD_61_10046_812 A= -0.3914815748808958\n",
|
||
" 885 939_SD_60_10047_812 A= -0.2973643707650606\n",
|
||
" 881 935_SD_60_10047_812 A= -0.2973643707650606\n",
|
||
" 877 931_SD_60_10047_812 A= -0.2973643707650606\n",
|
||
" 1889 947_R_61_10046_812 A= -0.17593888913082087\n",
|
||
" 1892 950_R_61_10046_812 A= -0.17593888913082087\n",
|
||
" 1886 944_R_61_10046_812 A= -0.17593888913082087\n",
|
||
" 898 952_SD_62_10048_812 A= -0.11451027400623207\n",
|
||
" 902 956_SD_62_10048_812 A= -0.11451027400623207\n",
|
||
" 906 960_SD_62_10048_812 A= -0.11451027400623207\n",
|
||
" 3161 1085_niv_10047_812 A= 0.08557889188849953\n",
|
||
" 3258 1182_niv_812_816 A= -0.08557889188849953\n",
|
||
" 3225 1149_niv_FH3_812 A= 0.08557889188849953\n",
|
||
"Z812 j= 179 nnz= 37 maxabs= 0.8001247382313098\n",
|
||
" 3257 1181_niv_10045_812 A= 0.8001247382313098\n",
|
||
" 3258 1182_niv_812_816 A= -0.8001247382313098\n",
|
||
" 3225 1149_niv_FH3_812 A= 0.8001247382313098\n",
|
||
" 3226 1150_niv_812_10048 A= -0.8001247382313098\n",
|
||
" 3228 1152_niv_816_812 A= 0.8001247382313098\n",
|
||
" 3229 1153_niv_812_10045 A= -0.8001247382313098\n",
|
||
" 3179 1103_niv_10048_812 A= 0.8001247382313098\n",
|
||
" 3180 1104_niv_812_FH3 A= -0.8001247382313098\n",
|
||
" 3161 1085_niv_10047_812 A= 0.8001247382313098\n",
|
||
" 3126 1050_niv_812_10047 A= -0.8001247382313098\n",
|
||
" 898 952_SD_62_10048_812 A= -0.5824300692440465\n",
|
||
" 906 960_SD_62_10048_812 A= -0.5824300692440465\n",
|
||
" 902 956_SD_62_10048_812 A= -0.5824300692440465\n",
|
||
" 877 931_SD_60_10047_812 A= -0.538286903863277\n",
|
||
" 885 939_SD_60_10047_812 A= -0.538286903863277\n",
|
||
"lA-check (erste 10):\n",
|
||
"('lA_X0645', 279, 'X0645', 1.0)\n",
|
||
"('lA_X0656', 280, 'X0656', 1.0)\n",
|
||
"('lA_X0995', 281, 'X0995', 1.0)\n",
|
||
"('lA_X1675', 282, 'X1675', 1.0)\n",
|
||
"('lA_XESTE', 283, 'XESTE', 1.0)\n",
|
||
"('lA_XGNA2', 284, 'XGNA2', 1.0)\n",
|
||
"('lA_Y0645', 285, 'Y0645', 1.0)\n",
|
||
"('lA_Y0656', 286, 'Y0656', 1.0)\n",
|
||
"('lA_Y0995', 287, 'Y0995', 1.0)\n",
|
||
"('lA_Y1675', 288, 'Y1675', 1.0)\n",
|
||
"X10009 = 3794767.458663473 | finite: True\n",
|
||
"Y10009 = 546740.0728581925 | finite: True\n",
|
||
"Z10009 = 5080165.933684419 | finite: True\n",
|
||
"X10006 = 3794766.3357015415 | finite: True\n",
|
||
"Y10006 = 546707.622157196 | finite: True\n",
|
||
"Z10006 = 5080169.708421569 | finite: True\n",
|
||
"s0(10009-10006) = 32.688800516608524 | finite: True\n",
|
||
" -> berechne l0(x_k)\n",
|
||
"max|ΔA| = 0.027849616798255622\n",
|
||
"max|Δl0| = 1.0252049119539706\n",
|
||
"None\n",
|
||
"None\n",
|
||
"None\n",
|
||
" -> löse Ausgleichung\n",
|
||
"cond(A) = 50.44851768445092\n",
|
||
" -> max|dx_xyz| [m] = 0.008033054545604386\n",
|
||
"X10009 x= 3794767.4585716673 dict= 3794767.4585716673 diff= 0.0\n",
|
||
"Y10009 x= 546740.0729154458 dict= 546740.0729154458 diff= 0.0\n",
|
||
"Z10009 x= 5080165.933765841 dict= 5080165.933765841 diff= 0.0\n",
|
||
"\n",
|
||
"============================================================\n",
|
||
"ITERATION 2\n",
|
||
"max|Δl| = 0.0\n",
|
||
" -> berechne A(x_k)\n",
|
||
" -> berechne l0(x_k)\n",
|
||
"X812 j= 177 nnz= 37 maxabs= 0.8047762709994336\n",
|
||
" 898 952_SD_62_10048_812 A= 0.8047762709994336\n",
|
||
" 902 956_SD_62_10048_812 A= 0.8047762709994336\n",
|
||
" 906 960_SD_62_10048_812 A= 0.8047762709994336\n",
|
||
" 896 950_SD_61_10046_812 A= 0.7952934592257777\n",
|
||
" 890 944_SD_61_10046_812 A= 0.7952934592257777\n",
|
||
" 893 947_SD_61_10046_812 A= 0.7952934592257777\n",
|
||
" 881 935_SD_60_10047_812 A= 0.7885777798502293\n",
|
||
" 885 939_SD_60_10047_812 A= 0.7885777798502293\n",
|
||
" 877 931_SD_60_10047_812 A= 0.7885777798502293\n",
|
||
" 3161 1085_niv_10047_812 A= 0.5936974451560035\n",
|
||
" 3179 1103_niv_10048_812 A= 0.5936974451560035\n",
|
||
" 3126 1050_niv_812_10047 A= -0.5936974451560035\n",
|
||
" 3257 1181_niv_10045_812 A= 0.5936974451560035\n",
|
||
" 3258 1182_niv_812_816 A= -0.5936974451560035\n",
|
||
" 3225 1149_niv_FH3_812 A= 0.5936974451560035\n",
|
||
"Y812 j= 178 nnz= 37 maxabs= 0.3911076464085029\n",
|
||
" 896 950_SD_61_10046_812 A= -0.3911076464085029\n",
|
||
" 893 947_SD_61_10046_812 A= -0.3911076464085029\n",
|
||
" 890 944_SD_61_10046_812 A= -0.3911076464085029\n",
|
||
" 885 939_SD_60_10047_812 A= -0.29726085778607914\n",
|
||
" 881 935_SD_60_10047_812 A= -0.29726085778607914\n",
|
||
" 877 931_SD_60_10047_812 A= -0.29726085778607914\n",
|
||
" 1889 947_R_61_10046_812 A= -0.17600369680250255\n",
|
||
" 1892 950_R_61_10046_812 A= -0.17600369680250255\n",
|
||
" 1886 944_R_61_10046_812 A= -0.17600369680250255\n",
|
||
" 898 952_SD_62_10048_812 A= -0.1144783090817612\n",
|
||
" 902 956_SD_62_10048_812 A= -0.1144783090817612\n",
|
||
" 906 960_SD_62_10048_812 A= -0.1144783090817612\n",
|
||
" 3161 1085_niv_10047_812 A= 0.08557889237835081\n",
|
||
" 3258 1182_niv_812_816 A= -0.08557889237835081\n",
|
||
" 3225 1149_niv_FH3_812 A= 0.08557889237835081\n",
|
||
"Z812 j= 179 nnz= 37 maxabs= 0.8001247382718076\n",
|
||
" 3257 1181_niv_10045_812 A= 0.8001247382718076\n",
|
||
" 3258 1182_niv_812_816 A= -0.8001247382718076\n",
|
||
" 3225 1149_niv_FH3_812 A= 0.8001247382718076\n",
|
||
" 3226 1150_niv_812_10048 A= -0.8001247382718076\n",
|
||
" 3228 1152_niv_816_812 A= 0.8001247382718076\n",
|
||
" 3229 1153_niv_812_10045 A= -0.8001247382718076\n",
|
||
" 3179 1103_niv_10048_812 A= 0.8001247382718076\n",
|
||
" 3180 1104_niv_812_FH3 A= -0.8001247382718076\n",
|
||
" 3161 1085_niv_10047_812 A= 0.8001247382718076\n",
|
||
" 3126 1050_niv_812_10047 A= -0.8001247382718076\n",
|
||
" 898 952_SD_62_10048_812 A= -0.5824344344095966\n",
|
||
" 906 960_SD_62_10048_812 A= -0.5824344344095966\n",
|
||
" 902 956_SD_62_10048_812 A= -0.5824344344095966\n",
|
||
" 877 931_SD_60_10047_812 A= -0.538313168661856\n",
|
||
" 885 939_SD_60_10047_812 A= -0.538313168661856\n",
|
||
"lA-check (erste 10):\n",
|
||
"('lA_X0645', 279, 'X0645', 1.0)\n",
|
||
"('lA_X0656', 280, 'X0656', 1.0)\n",
|
||
"('lA_X0995', 281, 'X0995', 1.0)\n",
|
||
"('lA_X1675', 282, 'X1675', 1.0)\n",
|
||
"('lA_XESTE', 283, 'XESTE', 1.0)\n",
|
||
"('lA_XGNA2', 284, 'XGNA2', 1.0)\n",
|
||
"('lA_Y0645', 285, 'Y0645', 1.0)\n",
|
||
"('lA_Y0656', 286, 'Y0656', 1.0)\n",
|
||
"('lA_Y0995', 287, 'Y0995', 1.0)\n",
|
||
"('lA_Y1675', 288, 'Y1675', 1.0)\n",
|
||
"X10009 = 3794767.4585716673 | finite: True\n",
|
||
"Y10009 = 546740.0729154458 | finite: True\n",
|
||
"Z10009 = 5080165.933765841 | finite: True\n",
|
||
"X10006 = 3794766.335594839 | finite: True\n",
|
||
"Y10006 = 546707.6222191707 | finite: True\n",
|
||
"Z10006 = 5080169.70851348 | finite: True\n",
|
||
"s0(10009-10006) = 32.688797552585875 | finite: True\n",
|
||
" -> berechne l0(x_k)\n",
|
||
"max|ΔA| = 0.0003739284723929259\n",
|
||
"max|Δl0| = 0.003272388995270603\n",
|
||
"None\n",
|
||
"None\n",
|
||
"None\n",
|
||
" -> löse Ausgleichung\n",
|
||
"cond(A) = 50.45389525315293\n",
|
||
" -> max|dx_xyz| [m] = 1.890182047618103e-05\n",
|
||
"\n",
|
||
"KONVERGENZ ERREICHT (XYZ)\n"
|
||
]
|
||
}
|
||
],
|
||
"execution_count": 43
|
||
},
|
||
{
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2026-01-30T18:51:18.153647Z",
|
||
"start_time": "2026-01-30T18:51:18.076283Z"
|
||
}
|
||
},
|
||
"cell_type": "code",
|
||
"source": [
|
||
"# Proben\n",
|
||
"import Proben\n",
|
||
"importlib.reload(Proben)\n",
|
||
"\n",
|
||
"# Rechenprobe (ATPV-Probe)\n",
|
||
"Proben.atpv_probe(A_matrix_numerisch_iteration0,res[\"P\"],res[\"v\"])\n",
|
||
"\n",
|
||
"# Hauptprobe\n",
|
||
"Proben.hauptprobe(A_matrix_numerisch_iteration0, dx, dl_k, res[\"v\"])"
|
||
],
|
||
"id": "cd87680d3baf6c8e",
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"ATPv-Probe erfolgreich\n",
|
||
"Hauptprobe erfolgreich\n"
|
||
]
|
||
}
|
||
],
|
||
"execution_count": 44
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "eb8342d747a577db",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2026-01-30T18:51:18.165223Z",
|
||
"start_time": "2026-01-30T18:51:18.162151Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"# ------------------------------- Netzqualitätsmaße -------------------------------"
|
||
],
|
||
"outputs": [],
|
||
"execution_count": 45
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "7117d4492b8784da",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2026-01-30T18:51:18.205632Z",
|
||
"start_time": "2026-01-30T18:51:18.194229Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"# Import\n",
|
||
"from Netzqualität_Zuverlässigkeit import Zuverlaessigkeit\n",
|
||
"import Netzqualität_Zuverlässigkeit\n",
|
||
"importlib.reload(Netzqualität_Zuverlässigkeit)\n",
|
||
"from Netzqualität_Genauigkeit import Genauigkeitsmaße\n",
|
||
"import Netzqualität_Genauigkeit\n",
|
||
"importlib.reload(Netzqualität_Genauigkeit)\n",
|
||
"import Export\n",
|
||
"importlib.reload(Export)"
|
||
],
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"<module 'Export' from 'C:\\\\Users\\\\miche\\\\PycharmProjects\\\\Masterprojekt_V3\\\\Export.py'>"
|
||
]
|
||
},
|
||
"execution_count": 46,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"execution_count": 46
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "84075bea1f2c44d7",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2026-01-30T18:51:18.220347Z",
|
||
"start_time": "2026-01-30T18:51:18.216037Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"# Gesamtredundanz r\n",
|
||
"n = A_matrix_numerisch_iteration0.shape[0]\n",
|
||
"u = A_matrix_numerisch_iteration0.shape[1]\n",
|
||
"r_gesamt = Zuverlaessigkeit.gesamtredundanz(n, u)\n",
|
||
"print(f\"Die Gesamtredundanz des Netzes beträgt: {r_gesamt}\")"
|
||
],
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Die Gesamtredundanz des Netzes beträgt: 3004\n"
|
||
]
|
||
}
|
||
],
|
||
"execution_count": 47
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "1797726c5b3af9bf",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2026-01-30T18:51:18.242981Z",
|
||
"start_time": "2026-01-30T18:51:18.235470Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"# s0 aposteriori\n",
|
||
"s0_aposteriori = Genauigkeitsmaße.berechne_s0apost(res[\"v\"], res[\"P\"], r_gesamt)\n",
|
||
"print(f\"s0 aposteriori beträgt: {s0_aposteriori:.4f}\")"
|
||
],
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"s0 aposteriori beträgt: 2.1150\n"
|
||
]
|
||
}
|
||
],
|
||
"execution_count": 48
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "a2fe23d9a19ac2f9",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2026-01-30T18:51:19.253515Z",
|
||
"start_time": "2026-01-30T18:51:18.270843Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"# Redundanzanteile ri\n",
|
||
"R = Zuverlaessigkeit.berechne_R(res[\"Q_vv\"], res[\"P\"])\n",
|
||
"ri, EVi = Zuverlaessigkeit.berechne_ri(R)\n",
|
||
"ri = np.asarray(ri).reshape(-1)\n",
|
||
"EVi = np.asarray(EVi).reshape(-1)\n",
|
||
"\n",
|
||
"labels = [str(s) for s in Jacobimatrix_symbolisch_liste_beobachtungsvektor]\n",
|
||
"klassen = [Zuverlaessigkeit.klassifiziere_ri(r) for r in ri]\n",
|
||
"Redundanzanteile = pd.DataFrame({\"Beobachtung\": labels, \"r_i\": ri, \"EV_i [%]\": EVi,\n",
|
||
" \"Klassifikation\": klassen,})\n",
|
||
"display(HTML(Redundanzanteile.to_html(index=False)))\n",
|
||
"\n",
|
||
"Redundanzanteile.to_excel(r\"Zwischenergebnisse\\Redundanzanteile.xlsx\", index=False)"
|
||
],
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"<IPython.core.display.HTML object>"
|
||
],
|
||
"text/html": [
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th>Beobachtung</th>\n",
|
||
" <th>r_i</th>\n",
|
||
" <th>EV_i [%]</th>\n",
|
||
" <th>Klassifikation</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <td>54_SD_1_10009_10006</td>\n",
|
||
" <td>0.926437</td>\n",
|
||
" <td>92.643685</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>55_SD_1_10009_10010</td>\n",
|
||
" <td>0.927725</td>\n",
|
||
" <td>92.772502</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>56_SD_1_10009_10018</td>\n",
|
||
" <td>0.924835</td>\n",
|
||
" <td>92.483546</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>57_SD_1_10009_10008</td>\n",
|
||
" <td>0.904586</td>\n",
|
||
" <td>90.458636</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>58_SD_1_10009_10006</td>\n",
|
||
" <td>0.926437</td>\n",
|
||
" <td>92.643685</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>59_SD_1_10009_10010</td>\n",
|
||
" <td>0.927725</td>\n",
|
||
" <td>92.772502</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>60_SD_1_10009_10018</td>\n",
|
||
" <td>0.924835</td>\n",
|
||
" <td>92.483546</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>61_SD_1_10009_10008</td>\n",
|
||
" <td>0.904586</td>\n",
|
||
" <td>90.458636</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>62_SD_1_10009_10006</td>\n",
|
||
" <td>0.926437</td>\n",
|
||
" <td>92.643684</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>63_SD_1_10009_10010</td>\n",
|
||
" <td>0.927725</td>\n",
|
||
" <td>92.772502</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>64_SD_1_10009_10018</td>\n",
|
||
" <td>0.924835</td>\n",
|
||
" <td>92.483546</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>65_SD_1_10009_10008</td>\n",
|
||
" <td>0.904586</td>\n",
|
||
" <td>90.458635</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>66_SD_2_10006_10009</td>\n",
|
||
" <td>0.926437</td>\n",
|
||
" <td>92.643684</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>67_SD_2_10006_10005</td>\n",
|
||
" <td>0.941995</td>\n",
|
||
" <td>94.199455</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>68_SD_2_10006_10003</td>\n",
|
||
" <td>0.942190</td>\n",
|
||
" <td>94.219019</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>69_SD_2_10006_10004</td>\n",
|
||
" <td>0.931730</td>\n",
|
||
" <td>93.173033</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>70_SD_2_10006_10010</td>\n",
|
||
" <td>0.922023</td>\n",
|
||
" <td>92.202323</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>71_SD_2_10006_10018</td>\n",
|
||
" <td>0.913925</td>\n",
|
||
" <td>91.392474</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>72_SD_2_10006_10009</td>\n",
|
||
" <td>0.926437</td>\n",
|
||
" <td>92.643684</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>73_SD_2_10006_10005</td>\n",
|
||
" <td>0.941995</td>\n",
|
||
" <td>94.199455</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>74_SD_2_10006_10003</td>\n",
|
||
" <td>0.942190</td>\n",
|
||
" <td>94.219019</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>75_SD_2_10006_10004</td>\n",
|
||
" <td>0.931730</td>\n",
|
||
" <td>93.173032</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>76_SD_2_10006_10010</td>\n",
|
||
" <td>0.922023</td>\n",
|
||
" <td>92.202323</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>77_SD_2_10006_10018</td>\n",
|
||
" <td>0.913925</td>\n",
|
||
" <td>91.392474</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>78_SD_2_10006_10009</td>\n",
|
||
" <td>0.926437</td>\n",
|
||
" <td>92.643684</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>79_SD_2_10006_10005</td>\n",
|
||
" <td>0.941995</td>\n",
|
||
" <td>94.199455</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>80_SD_2_10006_10003</td>\n",
|
||
" <td>0.942190</td>\n",
|
||
" <td>94.219018</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>81_SD_2_10006_10004</td>\n",
|
||
" <td>0.931730</td>\n",
|
||
" <td>93.173033</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>82_SD_2_10006_10010</td>\n",
|
||
" <td>0.922023</td>\n",
|
||
" <td>92.202323</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>83_SD_2_10006_10018</td>\n",
|
||
" <td>0.913925</td>\n",
|
||
" <td>91.392474</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>84_SD_3_10008_10009</td>\n",
|
||
" <td>0.904586</td>\n",
|
||
" <td>90.458635</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>85_SD_3_10008_10007</td>\n",
|
||
" <td>0.934887</td>\n",
|
||
" <td>93.488664</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>86_SD_3_10008_10005</td>\n",
|
||
" <td>0.907028</td>\n",
|
||
" <td>90.702812</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>87_SD_3_10008_10009</td>\n",
|
||
" <td>0.904586</td>\n",
|
||
" <td>90.458635</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>88_SD_3_10008_10007</td>\n",
|
||
" <td>0.934887</td>\n",
|
||
" <td>93.488665</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>89_SD_3_10008_10005</td>\n",
|
||
" <td>0.907028</td>\n",
|
||
" <td>90.702812</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>90_SD_3_10008_10009</td>\n",
|
||
" <td>0.904586</td>\n",
|
||
" <td>90.458635</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>91_SD_3_10008_10007</td>\n",
|
||
" <td>0.934887</td>\n",
|
||
" <td>93.488665</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>92_SD_3_10008_10005</td>\n",
|
||
" <td>0.907028</td>\n",
|
||
" <td>90.702812</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>93_SD_4_10005_10008</td>\n",
|
||
" <td>0.907028</td>\n",
|
||
" <td>90.702813</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>94_SD_4_10005_10003</td>\n",
|
||
" <td>0.951748</td>\n",
|
||
" <td>95.174776</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>95_SD_4_10005_10001</td>\n",
|
||
" <td>0.933225</td>\n",
|
||
" <td>93.322518</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>96_SD_4_10005_10002</td>\n",
|
||
" <td>0.943779</td>\n",
|
||
" <td>94.377921</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>97_SD_4_10005_10004</td>\n",
|
||
" <td>0.934692</td>\n",
|
||
" <td>93.469222</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>98_SD_4_10005_10006</td>\n",
|
||
" <td>0.941995</td>\n",
|
||
" <td>94.199456</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>99_SD_4_10005_10008</td>\n",
|
||
" <td>0.907028</td>\n",
|
||
" <td>90.702813</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>100_SD_4_10005_10003</td>\n",
|
||
" <td>0.951748</td>\n",
|
||
" <td>95.174776</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>101_SD_4_10005_10001</td>\n",
|
||
" <td>0.933225</td>\n",
|
||
" <td>93.322518</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>102_SD_4_10005_10002</td>\n",
|
||
" <td>0.943779</td>\n",
|
||
" <td>94.377921</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>103_SD_4_10005_10004</td>\n",
|
||
" <td>0.934692</td>\n",
|
||
" <td>93.469222</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>104_SD_4_10005_10006</td>\n",
|
||
" <td>0.941995</td>\n",
|
||
" <td>94.199456</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>105_SD_4_10005_10008</td>\n",
|
||
" <td>0.907028</td>\n",
|
||
" <td>90.702813</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>106_SD_4_10005_10003</td>\n",
|
||
" <td>0.951748</td>\n",
|
||
" <td>95.174776</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>107_SD_4_10005_10001</td>\n",
|
||
" <td>0.933225</td>\n",
|
||
" <td>93.322517</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>108_SD_4_10005_10002</td>\n",
|
||
" <td>0.943779</td>\n",
|
||
" <td>94.377922</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>109_SD_4_10005_10004</td>\n",
|
||
" <td>0.934692</td>\n",
|
||
" <td>93.469222</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>110_SD_4_10005_10006</td>\n",
|
||
" <td>0.941995</td>\n",
|
||
" <td>94.199456</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>111_SD_5_10004_10005</td>\n",
|
||
" <td>0.934692</td>\n",
|
||
" <td>93.469222</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>112_SD_5_10004_10003</td>\n",
|
||
" <td>0.939429</td>\n",
|
||
" <td>93.942904</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>113_SD_5_10004_10002</td>\n",
|
||
" <td>0.933843</td>\n",
|
||
" <td>93.384291</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>114_SD_5_10004_10006</td>\n",
|
||
" <td>0.931730</td>\n",
|
||
" <td>93.173034</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>115_SD_5_10004_10005</td>\n",
|
||
" <td>0.934692</td>\n",
|
||
" <td>93.469222</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>116_SD_5_10004_10003</td>\n",
|
||
" <td>0.939429</td>\n",
|
||
" <td>93.942904</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>117_SD_5_10004_10002</td>\n",
|
||
" <td>0.933843</td>\n",
|
||
" <td>93.384291</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>118_SD_5_10004_10006</td>\n",
|
||
" <td>0.931730</td>\n",
|
||
" <td>93.173034</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>119_SD_5_10004_10005</td>\n",
|
||
" <td>0.934692</td>\n",
|
||
" <td>93.469222</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>120_SD_5_10004_10003</td>\n",
|
||
" <td>0.939429</td>\n",
|
||
" <td>93.942904</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>121_SD_5_10004_10002</td>\n",
|
||
" <td>0.933843</td>\n",
|
||
" <td>93.384291</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>122_SD_5_10004_10006</td>\n",
|
||
" <td>0.931730</td>\n",
|
||
" <td>93.173034</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>123_SD_6_10003_10004</td>\n",
|
||
" <td>0.939429</td>\n",
|
||
" <td>93.942905</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>124_SD_6_10003_10006</td>\n",
|
||
" <td>0.942190</td>\n",
|
||
" <td>94.219020</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>125_SD_6_10003_10005</td>\n",
|
||
" <td>0.951748</td>\n",
|
||
" <td>95.174776</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>126_SD_6_10003_10007</td>\n",
|
||
" <td>0.928613</td>\n",
|
||
" <td>92.861307</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>127_SD_6_10003_10016</td>\n",
|
||
" <td>0.926388</td>\n",
|
||
" <td>92.638816</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>128_SD_6_10003_10001</td>\n",
|
||
" <td>0.934414</td>\n",
|
||
" <td>93.441363</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>129_SD_6_10003_10002</td>\n",
|
||
" <td>0.942660</td>\n",
|
||
" <td>94.266037</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>130_SD_6_10003_10004</td>\n",
|
||
" <td>0.939429</td>\n",
|
||
" <td>93.942905</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>131_SD_6_10003_10006</td>\n",
|
||
" <td>0.942190</td>\n",
|
||
" <td>94.219021</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>132_SD_6_10003_10005</td>\n",
|
||
" <td>0.951748</td>\n",
|
||
" <td>95.174776</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>133_SD_6_10003_10007</td>\n",
|
||
" <td>0.928613</td>\n",
|
||
" <td>92.861307</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>134_SD_6_10003_10016</td>\n",
|
||
" <td>0.926388</td>\n",
|
||
" <td>92.638816</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>135_SD_6_10003_10001</td>\n",
|
||
" <td>0.934414</td>\n",
|
||
" <td>93.441363</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>136_SD_6_10003_10002</td>\n",
|
||
" <td>0.942660</td>\n",
|
||
" <td>94.266038</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>137_SD_6_10003_10004</td>\n",
|
||
" <td>0.939429</td>\n",
|
||
" <td>93.942905</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>138_SD_6_10003_10006</td>\n",
|
||
" <td>0.942190</td>\n",
|
||
" <td>94.219020</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>139_SD_6_10003_10005</td>\n",
|
||
" <td>0.951748</td>\n",
|
||
" <td>95.174776</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>140_SD_6_10003_10007</td>\n",
|
||
" <td>0.928613</td>\n",
|
||
" <td>92.861308</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>141_SD_6_10003_10016</td>\n",
|
||
" <td>0.926388</td>\n",
|
||
" <td>92.638816</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>142_SD_6_10003_10001</td>\n",
|
||
" <td>0.934414</td>\n",
|
||
" <td>93.441363</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>143_SD_6_10003_10002</td>\n",
|
||
" <td>0.942660</td>\n",
|
||
" <td>94.266037</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>144_SD_7_10002_10003</td>\n",
|
||
" <td>0.942660</td>\n",
|
||
" <td>94.266037</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>145_SD_7_10002_10001</td>\n",
|
||
" <td>0.925894</td>\n",
|
||
" <td>92.589353</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>146_SD_7_10002_10004</td>\n",
|
||
" <td>0.933843</td>\n",
|
||
" <td>93.384290</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>147_SD_7_10002_10006</td>\n",
|
||
" <td>0.927897</td>\n",
|
||
" <td>92.789682</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>148_SD_7_10002_10005</td>\n",
|
||
" <td>0.943779</td>\n",
|
||
" <td>94.377920</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>149_SD_7_10002_10003</td>\n",
|
||
" <td>0.942660</td>\n",
|
||
" <td>94.266037</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>150_SD_7_10002_10001</td>\n",
|
||
" <td>0.925894</td>\n",
|
||
" <td>92.589354</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>151_SD_7_10002_10004</td>\n",
|
||
" <td>0.933843</td>\n",
|
||
" <td>93.384290</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>152_SD_7_10002_10006</td>\n",
|
||
" <td>0.927897</td>\n",
|
||
" <td>92.789681</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>153_SD_7_10002_10005</td>\n",
|
||
" <td>0.943779</td>\n",
|
||
" <td>94.377920</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>154_SD_7_10002_10003</td>\n",
|
||
" <td>0.942660</td>\n",
|
||
" <td>94.266037</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>155_SD_7_10002_10001</td>\n",
|
||
" <td>0.925894</td>\n",
|
||
" <td>92.589353</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>156_SD_7_10002_10004</td>\n",
|
||
" <td>0.933843</td>\n",
|
||
" <td>93.384291</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>157_SD_7_10002_10006</td>\n",
|
||
" <td>0.927897</td>\n",
|
||
" <td>92.789680</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>158_SD_7_10002_10005</td>\n",
|
||
" <td>0.943779</td>\n",
|
||
" <td>94.377920</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>159_SD_8_10001_10002</td>\n",
|
||
" <td>0.925894</td>\n",
|
||
" <td>92.589354</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>160_SD_8_10001_10005</td>\n",
|
||
" <td>0.933225</td>\n",
|
||
" <td>93.322519</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>161_SD_8_10001_10003</td>\n",
|
||
" <td>0.934414</td>\n",
|
||
" <td>93.441363</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>162_SD_8_10001_10011</td>\n",
|
||
" <td>0.872167</td>\n",
|
||
" <td>87.216697</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>163_SD_8_10001_10002</td>\n",
|
||
" <td>0.925894</td>\n",
|
||
" <td>92.589354</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>164_SD_8_10001_10005</td>\n",
|
||
" <td>0.933225</td>\n",
|
||
" <td>93.322517</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>165_SD_8_10001_10003</td>\n",
|
||
" <td>0.934414</td>\n",
|
||
" <td>93.441363</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>166_SD_8_10001_10011</td>\n",
|
||
" <td>0.872167</td>\n",
|
||
" <td>87.216696</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>167_SD_8_10001_10002</td>\n",
|
||
" <td>0.925894</td>\n",
|
||
" <td>92.589354</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>168_SD_8_10001_10005</td>\n",
|
||
" <td>0.933225</td>\n",
|
||
" <td>93.322518</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>169_SD_8_10001_10003</td>\n",
|
||
" <td>0.934414</td>\n",
|
||
" <td>93.441362</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>170_SD_8_10001_10011</td>\n",
|
||
" <td>0.872167</td>\n",
|
||
" <td>87.216696</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>171_SD_9_10010_10006</td>\n",
|
||
" <td>0.922023</td>\n",
|
||
" <td>92.202320</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>172_SD_9_10010_10026</td>\n",
|
||
" <td>0.934555</td>\n",
|
||
" <td>93.455499</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>173_SD_9_10010_10027</td>\n",
|
||
" <td>0.935896</td>\n",
|
||
" <td>93.589601</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>174_SD_9_10010_10018</td>\n",
|
||
" <td>0.943021</td>\n",
|
||
" <td>94.302126</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>175_SD_9_10010_10009</td>\n",
|
||
" <td>0.927725</td>\n",
|
||
" <td>92.772501</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>176_SD_9_10010_10006</td>\n",
|
||
" <td>0.922023</td>\n",
|
||
" <td>92.202320</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>177_SD_9_10010_10026</td>\n",
|
||
" <td>0.934555</td>\n",
|
||
" <td>93.455499</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>178_SD_9_10010_10027</td>\n",
|
||
" <td>0.935896</td>\n",
|
||
" <td>93.589600</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>179_SD_9_10010_10018</td>\n",
|
||
" <td>0.943021</td>\n",
|
||
" <td>94.302126</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>180_SD_9_10010_10009</td>\n",
|
||
" <td>0.927725</td>\n",
|
||
" <td>92.772501</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>181_SD_9_10010_10006</td>\n",
|
||
" <td>0.922023</td>\n",
|
||
" <td>92.202320</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>182_SD_9_10010_10026</td>\n",
|
||
" <td>0.934555</td>\n",
|
||
" <td>93.455499</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>183_SD_9_10010_10027</td>\n",
|
||
" <td>0.935896</td>\n",
|
||
" <td>93.589600</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>184_SD_9_10010_10018</td>\n",
|
||
" <td>0.943021</td>\n",
|
||
" <td>94.302126</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>185_SD_9_10010_10009</td>\n",
|
||
" <td>0.927725</td>\n",
|
||
" <td>92.772501</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>186_SD_10_10018_10010</td>\n",
|
||
" <td>0.943021</td>\n",
|
||
" <td>94.302127</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>187_SD_10_10018_10026</td>\n",
|
||
" <td>0.938538</td>\n",
|
||
" <td>93.853844</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>188_SD_10_10018_10043</td>\n",
|
||
" <td>0.919271</td>\n",
|
||
" <td>91.927141</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>189_SD_10_10018_10027</td>\n",
|
||
" <td>0.940330</td>\n",
|
||
" <td>94.032970</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>190_SD_10_10018_10009</td>\n",
|
||
" <td>0.924835</td>\n",
|
||
" <td>92.483546</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>191_SD_10_10018_10010</td>\n",
|
||
" <td>0.943021</td>\n",
|
||
" <td>94.302127</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>192_SD_10_10018_10026</td>\n",
|
||
" <td>0.938538</td>\n",
|
||
" <td>93.853844</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>193_SD_10_10018_10043</td>\n",
|
||
" <td>0.919271</td>\n",
|
||
" <td>91.927141</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>194_SD_10_10018_10027</td>\n",
|
||
" <td>0.940330</td>\n",
|
||
" <td>94.032970</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>195_SD_10_10018_10009</td>\n",
|
||
" <td>0.924835</td>\n",
|
||
" <td>92.483546</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>196_SD_10_10018_10010</td>\n",
|
||
" <td>0.943021</td>\n",
|
||
" <td>94.302127</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>197_SD_10_10018_10026</td>\n",
|
||
" <td>0.938538</td>\n",
|
||
" <td>93.853844</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>198_SD_10_10018_10043</td>\n",
|
||
" <td>0.919271</td>\n",
|
||
" <td>91.927141</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>199_SD_10_10018_10027</td>\n",
|
||
" <td>0.940330</td>\n",
|
||
" <td>94.032970</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>200_SD_10_10018_10009</td>\n",
|
||
" <td>0.924835</td>\n",
|
||
" <td>92.483546</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>201_SD_11_10026_10018</td>\n",
|
||
" <td>0.938538</td>\n",
|
||
" <td>93.853842</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>202_SD_11_10026_10010</td>\n",
|
||
" <td>0.934555</td>\n",
|
||
" <td>93.455498</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>203_SD_11_10026_10043</td>\n",
|
||
" <td>0.937190</td>\n",
|
||
" <td>93.719013</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>204_SD_11_10026_10044</td>\n",
|
||
" <td>0.929078</td>\n",
|
||
" <td>92.907790</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>205_SD_11_10026_10027</td>\n",
|
||
" <td>0.951122</td>\n",
|
||
" <td>95.112171</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>206_SD_11_10026_10021</td>\n",
|
||
" <td>0.933380</td>\n",
|
||
" <td>93.337973</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>207_SD_11_10026_10020</td>\n",
|
||
" <td>0.932686</td>\n",
|
||
" <td>93.268588</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>208_SD_11_10026_10018</td>\n",
|
||
" <td>0.938538</td>\n",
|
||
" <td>93.853842</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>209_SD_11_10026_10010</td>\n",
|
||
" <td>0.934555</td>\n",
|
||
" <td>93.455498</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>210_SD_11_10026_10043</td>\n",
|
||
" <td>0.937190</td>\n",
|
||
" <td>93.719012</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>211_SD_11_10026_10044</td>\n",
|
||
" <td>0.929078</td>\n",
|
||
" <td>92.907789</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>212_SD_11_10026_10027</td>\n",
|
||
" <td>0.951122</td>\n",
|
||
" <td>95.112171</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>213_SD_11_10026_10021</td>\n",
|
||
" <td>0.933380</td>\n",
|
||
" <td>93.337973</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>214_SD_11_10026_10020</td>\n",
|
||
" <td>0.932686</td>\n",
|
||
" <td>93.268588</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>215_SD_11_10026_10018</td>\n",
|
||
" <td>0.938538</td>\n",
|
||
" <td>93.853842</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>216_SD_11_10026_10010</td>\n",
|
||
" <td>0.934555</td>\n",
|
||
" <td>93.455498</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>217_SD_11_10026_10043</td>\n",
|
||
" <td>0.937190</td>\n",
|
||
" <td>93.719013</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>218_SD_11_10026_10044</td>\n",
|
||
" <td>0.929078</td>\n",
|
||
" <td>92.907790</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>219_SD_11_10026_10027</td>\n",
|
||
" <td>0.951122</td>\n",
|
||
" <td>95.112172</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>220_SD_11_10026_10021</td>\n",
|
||
" <td>0.933380</td>\n",
|
||
" <td>93.337973</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>221_SD_11_10026_10020</td>\n",
|
||
" <td>0.932686</td>\n",
|
||
" <td>93.268589</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>222_SD_12_10021_10026</td>\n",
|
||
" <td>0.933380</td>\n",
|
||
" <td>93.337973</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>223_SD_12_10021_10024</td>\n",
|
||
" <td>0.947330</td>\n",
|
||
" <td>94.732977</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>224_SD_12_10021_10025</td>\n",
|
||
" <td>0.955560</td>\n",
|
||
" <td>95.556049</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>225_SD_12_10021_10022</td>\n",
|
||
" <td>0.947877</td>\n",
|
||
" <td>94.787720</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>226_SD_12_10021_10023</td>\n",
|
||
" <td>0.947557</td>\n",
|
||
" <td>94.755658</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>227_SD_12_10021_10020</td>\n",
|
||
" <td>0.954239</td>\n",
|
||
" <td>95.423950</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>228_SD_12_10021_10019</td>\n",
|
||
" <td>0.931529</td>\n",
|
||
" <td>93.152892</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>229_SD_12_10021_10026</td>\n",
|
||
" <td>0.933380</td>\n",
|
||
" <td>93.337973</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>230_SD_12_10021_10024</td>\n",
|
||
" <td>0.947330</td>\n",
|
||
" <td>94.732977</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>231_SD_12_10021_10025</td>\n",
|
||
" <td>0.955560</td>\n",
|
||
" <td>95.556049</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>232_SD_12_10021_10022</td>\n",
|
||
" <td>0.947877</td>\n",
|
||
" <td>94.787720</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>233_SD_12_10021_10023</td>\n",
|
||
" <td>0.947557</td>\n",
|
||
" <td>94.755658</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>234_SD_12_10021_10020</td>\n",
|
||
" <td>0.954239</td>\n",
|
||
" <td>95.423950</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>235_SD_12_10021_10019</td>\n",
|
||
" <td>0.931529</td>\n",
|
||
" <td>93.152892</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>236_SD_12_10021_10026</td>\n",
|
||
" <td>0.933380</td>\n",
|
||
" <td>93.337973</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>237_SD_12_10021_10024</td>\n",
|
||
" <td>0.947330</td>\n",
|
||
" <td>94.732977</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>238_SD_12_10021_10025</td>\n",
|
||
" <td>0.955560</td>\n",
|
||
" <td>95.556049</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>239_SD_12_10021_10022</td>\n",
|
||
" <td>0.947877</td>\n",
|
||
" <td>94.787720</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>240_SD_12_10021_10023</td>\n",
|
||
" <td>0.947557</td>\n",
|
||
" <td>94.755658</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>241_SD_12_10021_10020</td>\n",
|
||
" <td>0.954239</td>\n",
|
||
" <td>95.423950</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>242_SD_12_10021_10019</td>\n",
|
||
" <td>0.931529</td>\n",
|
||
" <td>93.152892</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>243_SD_13_10020_10021</td>\n",
|
||
" <td>0.954239</td>\n",
|
||
" <td>95.423950</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>244_SD_13_10020_10022</td>\n",
|
||
" <td>0.948120</td>\n",
|
||
" <td>94.811990</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>245_SD_13_10020_10024</td>\n",
|
||
" <td>0.948713</td>\n",
|
||
" <td>94.871347</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>246_SD_13_10020_10025</td>\n",
|
||
" <td>0.955530</td>\n",
|
||
" <td>95.552959</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>247_SD_13_10020_10023</td>\n",
|
||
" <td>0.946944</td>\n",
|
||
" <td>94.694354</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>248_SD_13_10020_10019</td>\n",
|
||
" <td>0.932197</td>\n",
|
||
" <td>93.219672</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>249_SD_13_10020_10026</td>\n",
|
||
" <td>0.932686</td>\n",
|
||
" <td>93.268588</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>250_SD_13_10020_10021</td>\n",
|
||
" <td>0.954239</td>\n",
|
||
" <td>95.423950</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>251_SD_13_10020_10022</td>\n",
|
||
" <td>0.948120</td>\n",
|
||
" <td>94.811990</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>252_SD_13_10020_10024</td>\n",
|
||
" <td>0.948713</td>\n",
|
||
" <td>94.871347</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>253_SD_13_10020_10025</td>\n",
|
||
" <td>0.955530</td>\n",
|
||
" <td>95.552959</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>254_SD_13_10020_10023</td>\n",
|
||
" <td>0.946944</td>\n",
|
||
" <td>94.694354</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>255_SD_13_10020_10019</td>\n",
|
||
" <td>0.932197</td>\n",
|
||
" <td>93.219672</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>256_SD_13_10020_10026</td>\n",
|
||
" <td>0.932686</td>\n",
|
||
" <td>93.268588</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>257_SD_13_10020_10021</td>\n",
|
||
" <td>0.954239</td>\n",
|
||
" <td>95.423950</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>258_SD_13_10020_10022</td>\n",
|
||
" <td>0.948120</td>\n",
|
||
" <td>94.811990</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>259_SD_13_10020_10024</td>\n",
|
||
" <td>0.948713</td>\n",
|
||
" <td>94.871347</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>260_SD_13_10020_10025</td>\n",
|
||
" <td>0.955530</td>\n",
|
||
" <td>95.552959</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>261_SD_13_10020_10023</td>\n",
|
||
" <td>0.946944</td>\n",
|
||
" <td>94.694354</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>262_SD_13_10020_10019</td>\n",
|
||
" <td>0.932197</td>\n",
|
||
" <td>93.219672</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>263_SD_13_10020_10026</td>\n",
|
||
" <td>0.932686</td>\n",
|
||
" <td>93.268588</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>264_SD_14_10019_10020</td>\n",
|
||
" <td>0.932197</td>\n",
|
||
" <td>93.219672</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>265_SD_14_10019_10033</td>\n",
|
||
" <td>0.920885</td>\n",
|
||
" <td>92.088473</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>266_SD_14_10019_10017</td>\n",
|
||
" <td>0.905553</td>\n",
|
||
" <td>90.555297</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>267_SD_14_10019_10026</td>\n",
|
||
" <td>0.920701</td>\n",
|
||
" <td>92.070102</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>268_SD_14_10019_10021</td>\n",
|
||
" <td>0.931529</td>\n",
|
||
" <td>93.152892</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>269_SD_14_10019_10020</td>\n",
|
||
" <td>0.932197</td>\n",
|
||
" <td>93.219672</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>270_SD_14_10019_10033</td>\n",
|
||
" <td>0.920885</td>\n",
|
||
" <td>92.088473</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>271_SD_14_10019_10017</td>\n",
|
||
" <td>0.905553</td>\n",
|
||
" <td>90.555296</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>272_SD_14_10019_10026</td>\n",
|
||
" <td>0.920701</td>\n",
|
||
" <td>92.070102</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>273_SD_14_10019_10021</td>\n",
|
||
" <td>0.931529</td>\n",
|
||
" <td>93.152892</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>274_SD_14_10019_10020</td>\n",
|
||
" <td>0.932197</td>\n",
|
||
" <td>93.219672</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>275_SD_14_10019_10033</td>\n",
|
||
" <td>0.920885</td>\n",
|
||
" <td>92.088473</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>276_SD_14_10019_10017</td>\n",
|
||
" <td>0.905553</td>\n",
|
||
" <td>90.555297</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>277_SD_14_10019_10026</td>\n",
|
||
" <td>0.920701</td>\n",
|
||
" <td>92.070102</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>278_SD_14_10019_10021</td>\n",
|
||
" <td>0.931529</td>\n",
|
||
" <td>93.152892</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>279_SD_15_10027_10026</td>\n",
|
||
" <td>0.951122</td>\n",
|
||
" <td>95.112170</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>280_SD_15_10027_10010</td>\n",
|
||
" <td>0.935896</td>\n",
|
||
" <td>93.589602</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>281_SD_15_10027_10018</td>\n",
|
||
" <td>0.940330</td>\n",
|
||
" <td>94.032972</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>282_SD_15_10027_10043</td>\n",
|
||
" <td>0.940456</td>\n",
|
||
" <td>94.045595</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>283_SD_15_10027_10044</td>\n",
|
||
" <td>0.935440</td>\n",
|
||
" <td>93.544042</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>284_SD_15_10027_10025</td>\n",
|
||
" <td>0.908467</td>\n",
|
||
" <td>90.846701</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>285_SD_15_10027_10026</td>\n",
|
||
" <td>0.951122</td>\n",
|
||
" <td>95.112171</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>286_SD_15_10027_10010</td>\n",
|
||
" <td>0.935896</td>\n",
|
||
" <td>93.589602</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>287_SD_15_10027_10018</td>\n",
|
||
" <td>0.940330</td>\n",
|
||
" <td>94.032971</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>288_SD_15_10027_10043</td>\n",
|
||
" <td>0.940456</td>\n",
|
||
" <td>94.045595</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>289_SD_15_10027_10044</td>\n",
|
||
" <td>0.935440</td>\n",
|
||
" <td>93.544042</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>290_SD_15_10027_10025</td>\n",
|
||
" <td>0.908467</td>\n",
|
||
" <td>90.846701</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>291_SD_15_10027_10026</td>\n",
|
||
" <td>0.951122</td>\n",
|
||
" <td>95.112171</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>292_SD_15_10027_10010</td>\n",
|
||
" <td>0.935896</td>\n",
|
||
" <td>93.589602</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>293_SD_15_10027_10018</td>\n",
|
||
" <td>0.940330</td>\n",
|
||
" <td>94.032972</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>294_SD_15_10027_10043</td>\n",
|
||
" <td>0.940456</td>\n",
|
||
" <td>94.045596</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>295_SD_15_10027_10044</td>\n",
|
||
" <td>0.935440</td>\n",
|
||
" <td>93.544043</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>296_SD_15_10027_10025</td>\n",
|
||
" <td>0.908467</td>\n",
|
||
" <td>90.846701</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>297_SD_16_10022_10021</td>\n",
|
||
" <td>0.947877</td>\n",
|
||
" <td>94.787720</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>298_SD_16_10022_10024</td>\n",
|
||
" <td>0.944183</td>\n",
|
||
" <td>94.418318</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>299_SD_16_10022_10025</td>\n",
|
||
" <td>0.947973</td>\n",
|
||
" <td>94.797328</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>300_SD_16_10022_10023</td>\n",
|
||
" <td>0.942764</td>\n",
|
||
" <td>94.276385</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>301_SD_16_10022_10020</td>\n",
|
||
" <td>0.948120</td>\n",
|
||
" <td>94.811990</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>302_SD_16_10022_10021</td>\n",
|
||
" <td>0.947877</td>\n",
|
||
" <td>94.787720</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>303_SD_16_10022_10024</td>\n",
|
||
" <td>0.944183</td>\n",
|
||
" <td>94.418318</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>304_SD_16_10022_10025</td>\n",
|
||
" <td>0.947973</td>\n",
|
||
" <td>94.797328</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>305_SD_16_10022_10023</td>\n",
|
||
" <td>0.942764</td>\n",
|
||
" <td>94.276385</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>306_SD_16_10022_10020</td>\n",
|
||
" <td>0.948120</td>\n",
|
||
" <td>94.811990</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>307_SD_16_10022_10021</td>\n",
|
||
" <td>0.947877</td>\n",
|
||
" <td>94.787720</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>308_SD_16_10022_10024</td>\n",
|
||
" <td>0.944183</td>\n",
|
||
" <td>94.418318</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>309_SD_16_10022_10025</td>\n",
|
||
" <td>0.947973</td>\n",
|
||
" <td>94.797328</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>310_SD_16_10022_10023</td>\n",
|
||
" <td>0.942764</td>\n",
|
||
" <td>94.276385</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>311_SD_16_10022_10020</td>\n",
|
||
" <td>0.948120</td>\n",
|
||
" <td>94.811990</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>312_SD_17_10023_10022</td>\n",
|
||
" <td>0.942764</td>\n",
|
||
" <td>94.276385</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>313_SD_17_10023_10024</td>\n",
|
||
" <td>0.943262</td>\n",
|
||
" <td>94.326219</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>314_SD_17_10023_10025</td>\n",
|
||
" <td>0.946456</td>\n",
|
||
" <td>94.645629</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>315_SD_17_10023_10020</td>\n",
|
||
" <td>0.946944</td>\n",
|
||
" <td>94.694354</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>316_SD_17_10023_10021</td>\n",
|
||
" <td>0.947557</td>\n",
|
||
" <td>94.755658</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>317_SD_17_10023_10022</td>\n",
|
||
" <td>0.942764</td>\n",
|
||
" <td>94.276385</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>318_SD_17_10023_10024</td>\n",
|
||
" <td>0.943262</td>\n",
|
||
" <td>94.326219</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>319_SD_17_10023_10025</td>\n",
|
||
" <td>0.946456</td>\n",
|
||
" <td>94.645628</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>320_SD_17_10023_10020</td>\n",
|
||
" <td>0.946944</td>\n",
|
||
" <td>94.694354</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>321_SD_17_10023_10021</td>\n",
|
||
" <td>0.947557</td>\n",
|
||
" <td>94.755658</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>322_SD_17_10023_10022</td>\n",
|
||
" <td>0.942764</td>\n",
|
||
" <td>94.276385</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>323_SD_17_10023_10024</td>\n",
|
||
" <td>0.943262</td>\n",
|
||
" <td>94.326219</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>324_SD_17_10023_10025</td>\n",
|
||
" <td>0.946456</td>\n",
|
||
" <td>94.645628</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>325_SD_17_10023_10020</td>\n",
|
||
" <td>0.946944</td>\n",
|
||
" <td>94.694354</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>326_SD_17_10023_10021</td>\n",
|
||
" <td>0.947557</td>\n",
|
||
" <td>94.755658</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>327_SD_18_10024_10023</td>\n",
|
||
" <td>0.943262</td>\n",
|
||
" <td>94.326219</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>328_SD_18_10024_10020</td>\n",
|
||
" <td>0.948713</td>\n",
|
||
" <td>94.871347</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>329_SD_18_10024_10022</td>\n",
|
||
" <td>0.944183</td>\n",
|
||
" <td>94.418318</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>330_SD_18_10024_10021</td>\n",
|
||
" <td>0.947330</td>\n",
|
||
" <td>94.732977</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>331_SD_18_10024_10025</td>\n",
|
||
" <td>0.944321</td>\n",
|
||
" <td>94.432136</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>332_SD_18_10024_10023</td>\n",
|
||
" <td>0.943262</td>\n",
|
||
" <td>94.326219</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>333_SD_18_10024_10020</td>\n",
|
||
" <td>0.948713</td>\n",
|
||
" <td>94.871347</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>334_SD_18_10024_10022</td>\n",
|
||
" <td>0.944183</td>\n",
|
||
" <td>94.418318</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>335_SD_18_10024_10021</td>\n",
|
||
" <td>0.947330</td>\n",
|
||
" <td>94.732977</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>336_SD_18_10024_10025</td>\n",
|
||
" <td>0.944321</td>\n",
|
||
" <td>94.432136</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>337_SD_18_10024_10023</td>\n",
|
||
" <td>0.943262</td>\n",
|
||
" <td>94.326219</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>338_SD_18_10024_10020</td>\n",
|
||
" <td>0.948713</td>\n",
|
||
" <td>94.871347</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>339_SD_18_10024_10022</td>\n",
|
||
" <td>0.944183</td>\n",
|
||
" <td>94.418318</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>340_SD_18_10024_10021</td>\n",
|
||
" <td>0.947330</td>\n",
|
||
" <td>94.732977</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>341_SD_18_10024_10025</td>\n",
|
||
" <td>0.944321</td>\n",
|
||
" <td>94.432136</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>342_SD_19_10025_10024</td>\n",
|
||
" <td>0.944321</td>\n",
|
||
" <td>94.432137</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>343_SD_19_10025_10021</td>\n",
|
||
" <td>0.955560</td>\n",
|
||
" <td>95.556049</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>344_SD_19_10025_10022</td>\n",
|
||
" <td>0.947973</td>\n",
|
||
" <td>94.797328</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>345_SD_19_10025_10020</td>\n",
|
||
" <td>0.955530</td>\n",
|
||
" <td>95.552958</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>346_SD_19_10025_10023</td>\n",
|
||
" <td>0.946456</td>\n",
|
||
" <td>94.645628</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>347_SD_19_10025_10033</td>\n",
|
||
" <td>0.906836</td>\n",
|
||
" <td>90.683573</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>348_SD_19_10025_10027</td>\n",
|
||
" <td>0.908467</td>\n",
|
||
" <td>90.846701</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>349_SD_19_10025_10024</td>\n",
|
||
" <td>0.944321</td>\n",
|
||
" <td>94.432137</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>350_SD_19_10025_10021</td>\n",
|
||
" <td>0.955560</td>\n",
|
||
" <td>95.556048</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>351_SD_19_10025_10022</td>\n",
|
||
" <td>0.947973</td>\n",
|
||
" <td>94.797328</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>352_SD_19_10025_10020</td>\n",
|
||
" <td>0.955530</td>\n",
|
||
" <td>95.552958</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>353_SD_19_10025_10023</td>\n",
|
||
" <td>0.946456</td>\n",
|
||
" <td>94.645629</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>354_SD_19_10025_10033</td>\n",
|
||
" <td>0.906836</td>\n",
|
||
" <td>90.683573</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>355_SD_19_10025_10027</td>\n",
|
||
" <td>0.908467</td>\n",
|
||
" <td>90.846701</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>356_SD_19_10025_10024</td>\n",
|
||
" <td>0.944321</td>\n",
|
||
" <td>94.432137</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>357_SD_19_10025_10021</td>\n",
|
||
" <td>0.955560</td>\n",
|
||
" <td>95.556048</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>358_SD_19_10025_10022</td>\n",
|
||
" <td>0.947973</td>\n",
|
||
" <td>94.797328</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>359_SD_19_10025_10020</td>\n",
|
||
" <td>0.955530</td>\n",
|
||
" <td>95.552958</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>360_SD_19_10025_10023</td>\n",
|
||
" <td>0.946456</td>\n",
|
||
" <td>94.645628</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>361_SD_19_10025_10033</td>\n",
|
||
" <td>0.906836</td>\n",
|
||
" <td>90.683574</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>362_SD_19_10025_10027</td>\n",
|
||
" <td>0.908467</td>\n",
|
||
" <td>90.846701</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>363_SD_20_10043_10027</td>\n",
|
||
" <td>0.940456</td>\n",
|
||
" <td>94.045597</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>364_SD_20_10043_10026</td>\n",
|
||
" <td>0.937190</td>\n",
|
||
" <td>93.719010</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>365_SD_20_10043_10052</td>\n",
|
||
" <td>0.920981</td>\n",
|
||
" <td>92.098095</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>366_SD_20_10043_10044</td>\n",
|
||
" <td>0.948599</td>\n",
|
||
" <td>94.859891</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>367_SD_20_10043_10042</td>\n",
|
||
" <td>0.925370</td>\n",
|
||
" <td>92.537022</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>368_SD_20_10043_10027</td>\n",
|
||
" <td>0.940456</td>\n",
|
||
" <td>94.045597</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>369_SD_20_10043_10026</td>\n",
|
||
" <td>0.937190</td>\n",
|
||
" <td>93.719010</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>370_SD_20_10043_10052</td>\n",
|
||
" <td>0.920981</td>\n",
|
||
" <td>92.098096</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>371_SD_20_10043_10044</td>\n",
|
||
" <td>0.948599</td>\n",
|
||
" <td>94.859891</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>372_SD_20_10043_10042</td>\n",
|
||
" <td>0.925370</td>\n",
|
||
" <td>92.537022</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>373_SD_20_10043_10027</td>\n",
|
||
" <td>0.940456</td>\n",
|
||
" <td>94.045597</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>374_SD_20_10043_10026</td>\n",
|
||
" <td>0.937190</td>\n",
|
||
" <td>93.719010</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>375_SD_20_10043_10052</td>\n",
|
||
" <td>0.920981</td>\n",
|
||
" <td>92.098096</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>376_SD_20_10043_10044</td>\n",
|
||
" <td>0.948599</td>\n",
|
||
" <td>94.859890</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>377_SD_20_10043_10042</td>\n",
|
||
" <td>0.925370</td>\n",
|
||
" <td>92.537022</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>378_SD_21_10044_10027</td>\n",
|
||
" <td>0.935440</td>\n",
|
||
" <td>93.544045</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>379_SD_21_10044_10043</td>\n",
|
||
" <td>0.948599</td>\n",
|
||
" <td>94.859890</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>380_SD_21_10044_10052</td>\n",
|
||
" <td>0.938110</td>\n",
|
||
" <td>93.811006</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>381_SD_21_10044_10053</td>\n",
|
||
" <td>0.927951</td>\n",
|
||
" <td>92.795110</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>382_SD_21_10044_10037</td>\n",
|
||
" <td>0.942598</td>\n",
|
||
" <td>94.259837</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>383_SD_21_10044_10040</td>\n",
|
||
" <td>0.940449</td>\n",
|
||
" <td>94.044895</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>384_SD_21_10044_10042</td>\n",
|
||
" <td>0.937592</td>\n",
|
||
" <td>93.759226</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>385_SD_21_10044_10027</td>\n",
|
||
" <td>0.935440</td>\n",
|
||
" <td>93.544045</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>386_SD_21_10044_10043</td>\n",
|
||
" <td>0.948599</td>\n",
|
||
" <td>94.859890</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>387_SD_21_10044_10052</td>\n",
|
||
" <td>0.938110</td>\n",
|
||
" <td>93.811006</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>388_SD_21_10044_10053</td>\n",
|
||
" <td>0.927951</td>\n",
|
||
" <td>92.795110</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>389_SD_21_10044_10037</td>\n",
|
||
" <td>0.942598</td>\n",
|
||
" <td>94.259837</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>390_SD_21_10044_10040</td>\n",
|
||
" <td>0.940449</td>\n",
|
||
" <td>94.044895</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>391_SD_21_10044_10042</td>\n",
|
||
" <td>0.937592</td>\n",
|
||
" <td>93.759226</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>392_SD_21_10044_10027</td>\n",
|
||
" <td>0.935440</td>\n",
|
||
" <td>93.544044</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>393_SD_21_10044_10043</td>\n",
|
||
" <td>0.948599</td>\n",
|
||
" <td>94.859890</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>394_SD_21_10044_10052</td>\n",
|
||
" <td>0.938110</td>\n",
|
||
" <td>93.811006</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>395_SD_21_10044_10053</td>\n",
|
||
" <td>0.927951</td>\n",
|
||
" <td>92.795110</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>396_SD_21_10044_10037</td>\n",
|
||
" <td>0.942598</td>\n",
|
||
" <td>94.259837</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>397_SD_21_10044_10040</td>\n",
|
||
" <td>0.940449</td>\n",
|
||
" <td>94.044895</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>398_SD_21_10044_10042</td>\n",
|
||
" <td>0.937592</td>\n",
|
||
" <td>93.759226</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>399_SD_22_10042_10043</td>\n",
|
||
" <td>0.925370</td>\n",
|
||
" <td>92.537022</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>400_SD_22_10042_10044</td>\n",
|
||
" <td>0.937592</td>\n",
|
||
" <td>93.759226</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>401_SD_22_10042_10040</td>\n",
|
||
" <td>0.932746</td>\n",
|
||
" <td>93.274603</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>402_SD_22_10042_10041</td>\n",
|
||
" <td>0.917974</td>\n",
|
||
" <td>91.797371</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>403_SD_22_10042_10043</td>\n",
|
||
" <td>0.925370</td>\n",
|
||
" <td>92.537022</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>404_SD_22_10042_10044</td>\n",
|
||
" <td>0.937592</td>\n",
|
||
" <td>93.759226</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>405_SD_22_10042_10040</td>\n",
|
||
" <td>0.932746</td>\n",
|
||
" <td>93.274602</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>406_SD_22_10042_10041</td>\n",
|
||
" <td>0.917974</td>\n",
|
||
" <td>91.797371</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>407_SD_22_10042_10043</td>\n",
|
||
" <td>0.925370</td>\n",
|
||
" <td>92.537022</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>408_SD_22_10042_10044</td>\n",
|
||
" <td>0.937592</td>\n",
|
||
" <td>93.759226</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>409_SD_22_10042_10040</td>\n",
|
||
" <td>0.932746</td>\n",
|
||
" <td>93.274603</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>410_SD_22_10042_10041</td>\n",
|
||
" <td>0.917974</td>\n",
|
||
" <td>91.797371</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>411_SD_23_10041_10042</td>\n",
|
||
" <td>0.917974</td>\n",
|
||
" <td>91.797371</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>412_SD_23_10041_10044</td>\n",
|
||
" <td>0.922345</td>\n",
|
||
" <td>92.234499</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>413_SD_23_10041_10040</td>\n",
|
||
" <td>0.940846</td>\n",
|
||
" <td>94.084637</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>414_SD_23_10041_10038</td>\n",
|
||
" <td>0.902087</td>\n",
|
||
" <td>90.208732</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>415_SD_23_10041_10042</td>\n",
|
||
" <td>0.917974</td>\n",
|
||
" <td>91.797371</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>416_SD_23_10041_10044</td>\n",
|
||
" <td>0.922345</td>\n",
|
||
" <td>92.234499</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>417_SD_23_10041_10040</td>\n",
|
||
" <td>0.940846</td>\n",
|
||
" <td>94.084637</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>418_SD_23_10041_10038</td>\n",
|
||
" <td>0.902087</td>\n",
|
||
" <td>90.208732</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>419_SD_23_10041_10042</td>\n",
|
||
" <td>0.917974</td>\n",
|
||
" <td>91.797371</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>420_SD_23_10041_10044</td>\n",
|
||
" <td>0.922345</td>\n",
|
||
" <td>92.234500</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>421_SD_23_10041_10040</td>\n",
|
||
" <td>0.940846</td>\n",
|
||
" <td>94.084637</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>422_SD_23_10041_10038</td>\n",
|
||
" <td>0.902087</td>\n",
|
||
" <td>90.208732</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>423_SD_24_10037_10044</td>\n",
|
||
" <td>0.942598</td>\n",
|
||
" <td>94.259838</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>424_SD_24_10037_10051</td>\n",
|
||
" <td>0.914054</td>\n",
|
||
" <td>91.405418</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>425_SD_24_10037_10036</td>\n",
|
||
" <td>0.949899</td>\n",
|
||
" <td>94.989942</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>426_SD_24_10037_10035</td>\n",
|
||
" <td>0.952286</td>\n",
|
||
" <td>95.228599</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>427_SD_24_10037_10038</td>\n",
|
||
" <td>0.945096</td>\n",
|
||
" <td>94.509587</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>428_SD_24_10037_10039</td>\n",
|
||
" <td>0.934503</td>\n",
|
||
" <td>93.450330</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>429_SD_24_10037_10040</td>\n",
|
||
" <td>0.942214</td>\n",
|
||
" <td>94.221366</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>430_SD_24_10037_10044</td>\n",
|
||
" <td>0.942598</td>\n",
|
||
" <td>94.259838</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>431_SD_24_10037_10051</td>\n",
|
||
" <td>0.914054</td>\n",
|
||
" <td>91.405418</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>432_SD_24_10037_10036</td>\n",
|
||
" <td>0.949899</td>\n",
|
||
" <td>94.989942</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>433_SD_24_10037_10035</td>\n",
|
||
" <td>0.952286</td>\n",
|
||
" <td>95.228600</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>434_SD_24_10037_10038</td>\n",
|
||
" <td>0.945096</td>\n",
|
||
" <td>94.509587</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>435_SD_24_10037_10039</td>\n",
|
||
" <td>0.934503</td>\n",
|
||
" <td>93.450330</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>436_SD_24_10037_10040</td>\n",
|
||
" <td>0.942214</td>\n",
|
||
" <td>94.221366</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>437_SD_24_10037_10044</td>\n",
|
||
" <td>0.942598</td>\n",
|
||
" <td>94.259838</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>438_SD_24_10037_10051</td>\n",
|
||
" <td>0.914054</td>\n",
|
||
" <td>91.405418</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>439_SD_24_10037_10036</td>\n",
|
||
" <td>0.949899</td>\n",
|
||
" <td>94.989942</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>440_SD_24_10037_10035</td>\n",
|
||
" <td>0.952286</td>\n",
|
||
" <td>95.228599</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>441_SD_24_10037_10038</td>\n",
|
||
" <td>0.945096</td>\n",
|
||
" <td>94.509587</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>442_SD_24_10037_10039</td>\n",
|
||
" <td>0.934503</td>\n",
|
||
" <td>93.450331</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>443_SD_24_10037_10040</td>\n",
|
||
" <td>0.942214</td>\n",
|
||
" <td>94.221366</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>444_SD_25_10052_10043</td>\n",
|
||
" <td>0.920981</td>\n",
|
||
" <td>92.098093</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>445_SD_25_10052_10059</td>\n",
|
||
" <td>0.911652</td>\n",
|
||
" <td>91.165211</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>446_SD_25_10052_10053</td>\n",
|
||
" <td>0.947331</td>\n",
|
||
" <td>94.733075</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>447_SD_25_10052_10050</td>\n",
|
||
" <td>0.937195</td>\n",
|
||
" <td>93.719538</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>448_SD_25_10052_10051</td>\n",
|
||
" <td>0.934869</td>\n",
|
||
" <td>93.486907</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>449_SD_25_10052_10044</td>\n",
|
||
" <td>0.938110</td>\n",
|
||
" <td>93.811005</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>450_SD_25_10052_10043</td>\n",
|
||
" <td>0.920981</td>\n",
|
||
" <td>92.098094</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>451_SD_25_10052_10059</td>\n",
|
||
" <td>0.911652</td>\n",
|
||
" <td>91.165211</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>452_SD_25_10052_10053</td>\n",
|
||
" <td>0.947331</td>\n",
|
||
" <td>94.733075</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>453_SD_25_10052_10050</td>\n",
|
||
" <td>0.937195</td>\n",
|
||
" <td>93.719538</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>454_SD_25_10052_10051</td>\n",
|
||
" <td>0.934869</td>\n",
|
||
" <td>93.486907</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>455_SD_25_10052_10044</td>\n",
|
||
" <td>0.938110</td>\n",
|
||
" <td>93.811005</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>456_SD_25_10052_10043</td>\n",
|
||
" <td>0.920981</td>\n",
|
||
" <td>92.098094</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>457_SD_25_10052_10059</td>\n",
|
||
" <td>0.911652</td>\n",
|
||
" <td>91.165211</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>458_SD_25_10052_10053</td>\n",
|
||
" <td>0.947331</td>\n",
|
||
" <td>94.733075</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>459_SD_25_10052_10050</td>\n",
|
||
" <td>0.937195</td>\n",
|
||
" <td>93.719539</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>460_SD_25_10052_10051</td>\n",
|
||
" <td>0.934869</td>\n",
|
||
" <td>93.486907</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>461_SD_25_10052_10044</td>\n",
|
||
" <td>0.938110</td>\n",
|
||
" <td>93.811005</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>462_SD_26_10040_10037</td>\n",
|
||
" <td>0.942214</td>\n",
|
||
" <td>94.221366</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>463_SD_26_10040_10041</td>\n",
|
||
" <td>0.940846</td>\n",
|
||
" <td>94.084638</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>464_SD_26_10040_10042</td>\n",
|
||
" <td>0.932746</td>\n",
|
||
" <td>93.274603</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>465_SD_26_10040_10044</td>\n",
|
||
" <td>0.940449</td>\n",
|
||
" <td>94.044895</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>466_SD_26_10040_10037</td>\n",
|
||
" <td>0.942214</td>\n",
|
||
" <td>94.221366</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>467_SD_26_10040_10041</td>\n",
|
||
" <td>0.940846</td>\n",
|
||
" <td>94.084637</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>468_SD_26_10040_10042</td>\n",
|
||
" <td>0.932746</td>\n",
|
||
" <td>93.274603</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>469_SD_26_10040_10044</td>\n",
|
||
" <td>0.940449</td>\n",
|
||
" <td>94.044895</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>470_SD_26_10040_10037</td>\n",
|
||
" <td>0.942214</td>\n",
|
||
" <td>94.221366</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>471_SD_26_10040_10041</td>\n",
|
||
" <td>0.940846</td>\n",
|
||
" <td>94.084638</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>472_SD_26_10040_10042</td>\n",
|
||
" <td>0.932746</td>\n",
|
||
" <td>93.274603</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>473_SD_26_10040_10044</td>\n",
|
||
" <td>0.940449</td>\n",
|
||
" <td>94.044895</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>474_SD_27_10051_10037</td>\n",
|
||
" <td>0.914054</td>\n",
|
||
" <td>91.405416</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>475_SD_27_10051_10052</td>\n",
|
||
" <td>0.934869</td>\n",
|
||
" <td>93.486907</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>476_SD_27_10051_10053</td>\n",
|
||
" <td>0.936558</td>\n",
|
||
" <td>93.655750</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>477_SD_27_10051_10050</td>\n",
|
||
" <td>0.928432</td>\n",
|
||
" <td>92.843241</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>478_SD_27_10051_10037</td>\n",
|
||
" <td>0.914054</td>\n",
|
||
" <td>91.405417</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>479_SD_27_10051_10052</td>\n",
|
||
" <td>0.934869</td>\n",
|
||
" <td>93.486907</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>480_SD_27_10051_10053</td>\n",
|
||
" <td>0.936558</td>\n",
|
||
" <td>93.655751</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>481_SD_27_10051_10050</td>\n",
|
||
" <td>0.928432</td>\n",
|
||
" <td>92.843241</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>482_SD_27_10051_10037</td>\n",
|
||
" <td>0.914054</td>\n",
|
||
" <td>91.405417</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>483_SD_27_10051_10052</td>\n",
|
||
" <td>0.934869</td>\n",
|
||
" <td>93.486907</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>484_SD_27_10051_10053</td>\n",
|
||
" <td>0.936558</td>\n",
|
||
" <td>93.655751</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>485_SD_27_10051_10050</td>\n",
|
||
" <td>0.928432</td>\n",
|
||
" <td>92.843241</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>486_SD_28_10011_10001</td>\n",
|
||
" <td>0.872167</td>\n",
|
||
" <td>87.216698</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>487_SD_28_10011_10013</td>\n",
|
||
" <td>0.910918</td>\n",
|
||
" <td>91.091816</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>488_SD_28_10011_10017</td>\n",
|
||
" <td>0.926080</td>\n",
|
||
" <td>92.608009</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>489_SD_28_10011_10028</td>\n",
|
||
" <td>0.864679</td>\n",
|
||
" <td>86.467913</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>490_SD_28_10011_10001</td>\n",
|
||
" <td>0.872167</td>\n",
|
||
" <td>87.216697</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>491_SD_28_10011_10013</td>\n",
|
||
" <td>0.910918</td>\n",
|
||
" <td>91.091817</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>492_SD_28_10011_10017</td>\n",
|
||
" <td>0.926080</td>\n",
|
||
" <td>92.608009</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>493_SD_28_10011_10028</td>\n",
|
||
" <td>0.864679</td>\n",
|
||
" <td>86.467912</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>494_SD_28_10011_10001</td>\n",
|
||
" <td>0.872167</td>\n",
|
||
" <td>87.216697</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>495_SD_28_10011_10013</td>\n",
|
||
" <td>0.910918</td>\n",
|
||
" <td>91.091817</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>496_SD_28_10011_10017</td>\n",
|
||
" <td>0.926080</td>\n",
|
||
" <td>92.608009</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>497_SD_28_10011_10028</td>\n",
|
||
" <td>0.864679</td>\n",
|
||
" <td>86.467913</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>498_SD_29_10017_10011</td>\n",
|
||
" <td>0.926080</td>\n",
|
||
" <td>92.608009</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>499_SD_29_10017_10013</td>\n",
|
||
" <td>0.926224</td>\n",
|
||
" <td>92.622378</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>500_SD_29_10017_10012</td>\n",
|
||
" <td>0.943068</td>\n",
|
||
" <td>94.306800</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>501_SD_29_10017_10014</td>\n",
|
||
" <td>0.935090</td>\n",
|
||
" <td>93.508954</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>502_SD_29_10017_10007</td>\n",
|
||
" <td>0.940090</td>\n",
|
||
" <td>94.009039</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>503_SD_29_10017_10016</td>\n",
|
||
" <td>0.950226</td>\n",
|
||
" <td>95.022642</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>504_SD_29_10017_10019</td>\n",
|
||
" <td>0.905553</td>\n",
|
||
" <td>90.555294</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>505_SD_29_10017_10031</td>\n",
|
||
" <td>0.922153</td>\n",
|
||
" <td>92.215286</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>506_SD_29_10017_10011</td>\n",
|
||
" <td>0.926080</td>\n",
|
||
" <td>92.608008</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>507_SD_29_10017_10013</td>\n",
|
||
" <td>0.926224</td>\n",
|
||
" <td>92.622378</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>508_SD_29_10017_10012</td>\n",
|
||
" <td>0.943068</td>\n",
|
||
" <td>94.306800</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>509_SD_29_10017_10014</td>\n",
|
||
" <td>0.935090</td>\n",
|
||
" <td>93.508954</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>510_SD_29_10017_10007</td>\n",
|
||
" <td>0.940090</td>\n",
|
||
" <td>94.009039</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>511_SD_29_10017_10016</td>\n",
|
||
" <td>0.950226</td>\n",
|
||
" <td>95.022642</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>512_SD_29_10017_10019</td>\n",
|
||
" <td>0.905553</td>\n",
|
||
" <td>90.555294</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>513_SD_29_10017_10031</td>\n",
|
||
" <td>0.922153</td>\n",
|
||
" <td>92.215287</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>514_SD_29_10017_10011</td>\n",
|
||
" <td>0.926080</td>\n",
|
||
" <td>92.608008</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>515_SD_29_10017_10013</td>\n",
|
||
" <td>0.926224</td>\n",
|
||
" <td>92.622378</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>516_SD_29_10017_10012</td>\n",
|
||
" <td>0.943068</td>\n",
|
||
" <td>94.306800</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>517_SD_29_10017_10014</td>\n",
|
||
" <td>0.935090</td>\n",
|
||
" <td>93.508954</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>518_SD_29_10017_10007</td>\n",
|
||
" <td>0.940090</td>\n",
|
||
" <td>94.009039</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>519_SD_29_10017_10016</td>\n",
|
||
" <td>0.950226</td>\n",
|
||
" <td>95.022642</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>520_SD_29_10017_10019</td>\n",
|
||
" <td>0.905553</td>\n",
|
||
" <td>90.555293</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>521_SD_29_10017_10031</td>\n",
|
||
" <td>0.922153</td>\n",
|
||
" <td>92.215287</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>522_SD_30_10013_10017</td>\n",
|
||
" <td>0.926224</td>\n",
|
||
" <td>92.622378</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>523_SD_30_10013_10011</td>\n",
|
||
" <td>0.910918</td>\n",
|
||
" <td>91.091817</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>524_SD_30_10013_10012</td>\n",
|
||
" <td>0.909563</td>\n",
|
||
" <td>90.956293</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>525_SD_30_10013_10017</td>\n",
|
||
" <td>0.926224</td>\n",
|
||
" <td>92.622378</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>526_SD_30_10013_10011</td>\n",
|
||
" <td>0.910918</td>\n",
|
||
" <td>91.091816</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>527_SD_30_10013_10012</td>\n",
|
||
" <td>0.909563</td>\n",
|
||
" <td>90.956293</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>528_SD_30_10013_10017</td>\n",
|
||
" <td>0.926224</td>\n",
|
||
" <td>92.622378</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>529_SD_30_10013_10011</td>\n",
|
||
" <td>0.910918</td>\n",
|
||
" <td>91.091817</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>530_SD_30_10013_10012</td>\n",
|
||
" <td>0.909563</td>\n",
|
||
" <td>90.956293</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>531_SD_31_10007_10008</td>\n",
|
||
" <td>0.934887</td>\n",
|
||
" <td>93.488661</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>532_SD_31_10007_10016</td>\n",
|
||
" <td>0.946730</td>\n",
|
||
" <td>94.672999</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>533_SD_31_10007_10017</td>\n",
|
||
" <td>0.940090</td>\n",
|
||
" <td>94.009038</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>534_SD_31_10007_10015</td>\n",
|
||
" <td>0.952869</td>\n",
|
||
" <td>95.286873</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>535_SD_31_10007_10003</td>\n",
|
||
" <td>0.928613</td>\n",
|
||
" <td>92.861308</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>536_SD_31_10007_10008</td>\n",
|
||
" <td>0.934887</td>\n",
|
||
" <td>93.488661</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>537_SD_31_10007_10016</td>\n",
|
||
" <td>0.946730</td>\n",
|
||
" <td>94.672999</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>538_SD_31_10007_10017</td>\n",
|
||
" <td>0.940090</td>\n",
|
||
" <td>94.009039</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>539_SD_31_10007_10015</td>\n",
|
||
" <td>0.952869</td>\n",
|
||
" <td>95.286873</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>540_SD_31_10007_10003</td>\n",
|
||
" <td>0.928613</td>\n",
|
||
" <td>92.861308</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>541_SD_31_10007_10008</td>\n",
|
||
" <td>0.934887</td>\n",
|
||
" <td>93.488661</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>542_SD_31_10007_10016</td>\n",
|
||
" <td>0.946730</td>\n",
|
||
" <td>94.672999</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>543_SD_31_10007_10017</td>\n",
|
||
" <td>0.940090</td>\n",
|
||
" <td>94.009039</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>544_SD_31_10007_10015</td>\n",
|
||
" <td>0.952869</td>\n",
|
||
" <td>95.286873</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>545_SD_31_10007_10003</td>\n",
|
||
" <td>0.928613</td>\n",
|
||
" <td>92.861308</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>546_SD_32_10016_10007</td>\n",
|
||
" <td>0.946730</td>\n",
|
||
" <td>94.672998</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>547_SD_32_10016_10031</td>\n",
|
||
" <td>0.905466</td>\n",
|
||
" <td>90.546602</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>548_SD_32_10016_10017</td>\n",
|
||
" <td>0.950226</td>\n",
|
||
" <td>95.022642</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>549_SD_32_10016_10014</td>\n",
|
||
" <td>0.940698</td>\n",
|
||
" <td>94.069849</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>550_SD_32_10016_10012</td>\n",
|
||
" <td>0.940397</td>\n",
|
||
" <td>94.039735</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>551_SD_32_10016_10015</td>\n",
|
||
" <td>0.942328</td>\n",
|
||
" <td>94.232829</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>552_SD_32_10016_10003</td>\n",
|
||
" <td>0.926388</td>\n",
|
||
" <td>92.638819</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>553_SD_32_10016_10007</td>\n",
|
||
" <td>0.946730</td>\n",
|
||
" <td>94.672998</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>554_SD_32_10016_10031</td>\n",
|
||
" <td>0.905466</td>\n",
|
||
" <td>90.546602</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>555_SD_32_10016_10017</td>\n",
|
||
" <td>0.950226</td>\n",
|
||
" <td>95.022641</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>556_SD_32_10016_10014</td>\n",
|
||
" <td>0.940698</td>\n",
|
||
" <td>94.069848</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>557_SD_32_10016_10012</td>\n",
|
||
" <td>0.940397</td>\n",
|
||
" <td>94.039735</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>558_SD_32_10016_10015</td>\n",
|
||
" <td>0.942328</td>\n",
|
||
" <td>94.232829</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>559_SD_32_10016_10003</td>\n",
|
||
" <td>0.926388</td>\n",
|
||
" <td>92.638819</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>560_SD_32_10016_10007</td>\n",
|
||
" <td>0.946730</td>\n",
|
||
" <td>94.672998</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>561_SD_32_10016_10031</td>\n",
|
||
" <td>0.905466</td>\n",
|
||
" <td>90.546602</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>562_SD_32_10016_10017</td>\n",
|
||
" <td>0.950226</td>\n",
|
||
" <td>95.022641</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>563_SD_32_10016_10014</td>\n",
|
||
" <td>0.940698</td>\n",
|
||
" <td>94.069849</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>564_SD_32_10016_10012</td>\n",
|
||
" <td>0.940397</td>\n",
|
||
" <td>94.039735</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>565_SD_32_10016_10015</td>\n",
|
||
" <td>0.942328</td>\n",
|
||
" <td>94.232829</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>566_SD_32_10016_10003</td>\n",
|
||
" <td>0.926388</td>\n",
|
||
" <td>92.638819</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>567_SD_33_10015_10007</td>\n",
|
||
" <td>0.952869</td>\n",
|
||
" <td>95.286873</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>568_SD_33_10015_10016</td>\n",
|
||
" <td>0.942328</td>\n",
|
||
" <td>94.232829</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>569_SD_33_10015_10014</td>\n",
|
||
" <td>0.933816</td>\n",
|
||
" <td>93.381639</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>570_SD_33_10015_10012</td>\n",
|
||
" <td>0.932285</td>\n",
|
||
" <td>93.228456</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>571_SD_33_10015_10007</td>\n",
|
||
" <td>0.952869</td>\n",
|
||
" <td>95.286873</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>572_SD_33_10015_10016</td>\n",
|
||
" <td>0.942328</td>\n",
|
||
" <td>94.232829</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>573_SD_33_10015_10014</td>\n",
|
||
" <td>0.933816</td>\n",
|
||
" <td>93.381639</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>574_SD_33_10015_10012</td>\n",
|
||
" <td>0.932285</td>\n",
|
||
" <td>93.228456</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>575_SD_33_10015_10007</td>\n",
|
||
" <td>0.952869</td>\n",
|
||
" <td>95.286873</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>576_SD_33_10015_10016</td>\n",
|
||
" <td>0.942328</td>\n",
|
||
" <td>94.232829</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>577_SD_33_10015_10014</td>\n",
|
||
" <td>0.933816</td>\n",
|
||
" <td>93.381639</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>578_SD_33_10015_10012</td>\n",
|
||
" <td>0.932285</td>\n",
|
||
" <td>93.228456</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>579_SD_34_10014_10017</td>\n",
|
||
" <td>0.935090</td>\n",
|
||
" <td>93.508954</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>580_SD_34_10014_10012</td>\n",
|
||
" <td>0.934503</td>\n",
|
||
" <td>93.450306</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>581_SD_34_10014_10015</td>\n",
|
||
" <td>0.933816</td>\n",
|
||
" <td>93.381639</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>582_SD_34_10014_10016</td>\n",
|
||
" <td>0.940698</td>\n",
|
||
" <td>94.069849</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>583_SD_34_10014_10017</td>\n",
|
||
" <td>0.935090</td>\n",
|
||
" <td>93.508954</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>584_SD_34_10014_10012</td>\n",
|
||
" <td>0.934503</td>\n",
|
||
" <td>93.450306</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>585_SD_34_10014_10015</td>\n",
|
||
" <td>0.933816</td>\n",
|
||
" <td>93.381639</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>586_SD_34_10014_10016</td>\n",
|
||
" <td>0.940698</td>\n",
|
||
" <td>94.069849</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>587_SD_34_10014_10017</td>\n",
|
||
" <td>0.935090</td>\n",
|
||
" <td>93.508954</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>588_SD_34_10014_10012</td>\n",
|
||
" <td>0.934503</td>\n",
|
||
" <td>93.450306</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>589_SD_34_10014_10015</td>\n",
|
||
" <td>0.933816</td>\n",
|
||
" <td>93.381639</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>590_SD_34_10014_10016</td>\n",
|
||
" <td>0.940698</td>\n",
|
||
" <td>94.069849</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>591_SD_35_10012_10015</td>\n",
|
||
" <td>0.932285</td>\n",
|
||
" <td>93.228456</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>592_SD_35_10012_10016</td>\n",
|
||
" <td>0.940397</td>\n",
|
||
" <td>94.039735</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>593_SD_35_10012_10014</td>\n",
|
||
" <td>0.934503</td>\n",
|
||
" <td>93.450306</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>594_SD_35_10012_10017</td>\n",
|
||
" <td>0.943068</td>\n",
|
||
" <td>94.306800</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>595_SD_35_10012_10013</td>\n",
|
||
" <td>0.909563</td>\n",
|
||
" <td>90.956293</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>596_SD_35_10012_10015</td>\n",
|
||
" <td>0.932285</td>\n",
|
||
" <td>93.228456</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>597_SD_35_10012_10016</td>\n",
|
||
" <td>0.940397</td>\n",
|
||
" <td>94.039735</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>598_SD_35_10012_10014</td>\n",
|
||
" <td>0.934503</td>\n",
|
||
" <td>93.450306</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>599_SD_35_10012_10017</td>\n",
|
||
" <td>0.943068</td>\n",
|
||
" <td>94.306800</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>600_SD_35_10012_10013</td>\n",
|
||
" <td>0.909563</td>\n",
|
||
" <td>90.956293</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>601_SD_35_10012_10015</td>\n",
|
||
" <td>0.932285</td>\n",
|
||
" <td>93.228456</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>602_SD_35_10012_10016</td>\n",
|
||
" <td>0.940397</td>\n",
|
||
" <td>94.039735</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>603_SD_35_10012_10014</td>\n",
|
||
" <td>0.934503</td>\n",
|
||
" <td>93.450306</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>604_SD_35_10012_10017</td>\n",
|
||
" <td>0.943068</td>\n",
|
||
" <td>94.306800</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>605_SD_35_10012_10013</td>\n",
|
||
" <td>0.909563</td>\n",
|
||
" <td>90.956293</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>606_SD_36_10033_10019</td>\n",
|
||
" <td>0.920885</td>\n",
|
||
" <td>92.088474</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>607_SD_36_10033_10025</td>\n",
|
||
" <td>0.906836</td>\n",
|
||
" <td>90.683572</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>608_SD_36_10033_10039</td>\n",
|
||
" <td>0.930917</td>\n",
|
||
" <td>93.091721</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>609_SD_36_10033_10032</td>\n",
|
||
" <td>0.953351</td>\n",
|
||
" <td>95.335134</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>610_SD_36_10033_10031</td>\n",
|
||
" <td>0.927346</td>\n",
|
||
" <td>92.734635</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>611_SD_36_10033_10019</td>\n",
|
||
" <td>0.920885</td>\n",
|
||
" <td>92.088474</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>612_SD_36_10033_10025</td>\n",
|
||
" <td>0.906836</td>\n",
|
||
" <td>90.683572</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>613_SD_36_10033_10039</td>\n",
|
||
" <td>0.930917</td>\n",
|
||
" <td>93.091720</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>614_SD_36_10033_10032</td>\n",
|
||
" <td>0.953351</td>\n",
|
||
" <td>95.335134</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>615_SD_36_10033_10031</td>\n",
|
||
" <td>0.927346</td>\n",
|
||
" <td>92.734634</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>616_SD_36_10033_10019</td>\n",
|
||
" <td>0.920885</td>\n",
|
||
" <td>92.088474</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>617_SD_36_10033_10025</td>\n",
|
||
" <td>0.906836</td>\n",
|
||
" <td>90.683572</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>618_SD_36_10033_10039</td>\n",
|
||
" <td>0.930917</td>\n",
|
||
" <td>93.091721</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>619_SD_36_10033_10032</td>\n",
|
||
" <td>0.953351</td>\n",
|
||
" <td>95.335134</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>620_SD_36_10033_10031</td>\n",
|
||
" <td>0.927346</td>\n",
|
||
" <td>92.734634</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>621_SD_37_10032_10033</td>\n",
|
||
" <td>0.953351</td>\n",
|
||
" <td>95.335133</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>622_SD_37_10032_10039</td>\n",
|
||
" <td>0.934225</td>\n",
|
||
" <td>93.422484</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>623_SD_37_10032_10038</td>\n",
|
||
" <td>0.923648</td>\n",
|
||
" <td>92.364792</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>624_SD_37_10032_10031</td>\n",
|
||
" <td>0.918339</td>\n",
|
||
" <td>91.833942</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>625_SD_37_10032_10033</td>\n",
|
||
" <td>0.953351</td>\n",
|
||
" <td>95.335133</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>626_SD_37_10032_10039</td>\n",
|
||
" <td>0.934225</td>\n",
|
||
" <td>93.422484</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>627_SD_37_10032_10038</td>\n",
|
||
" <td>0.923648</td>\n",
|
||
" <td>92.364792</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>628_SD_37_10032_10031</td>\n",
|
||
" <td>0.918339</td>\n",
|
||
" <td>91.833942</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>629_SD_37_10032_10033</td>\n",
|
||
" <td>0.953351</td>\n",
|
||
" <td>95.335133</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>630_SD_37_10032_10039</td>\n",
|
||
" <td>0.934225</td>\n",
|
||
" <td>93.422484</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>631_SD_37_10032_10038</td>\n",
|
||
" <td>0.923648</td>\n",
|
||
" <td>92.364792</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>632_SD_37_10032_10031</td>\n",
|
||
" <td>0.918339</td>\n",
|
||
" <td>91.833942</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>633_SD_38_10031_10017</td>\n",
|
||
" <td>0.922153</td>\n",
|
||
" <td>92.215288</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>634_SD_38_10031_10033</td>\n",
|
||
" <td>0.927346</td>\n",
|
||
" <td>92.734634</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>635_SD_38_10031_10032</td>\n",
|
||
" <td>0.918339</td>\n",
|
||
" <td>91.833943</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>636_SD_38_10031_10030</td>\n",
|
||
" <td>0.904375</td>\n",
|
||
" <td>90.437464</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>637_SD_38_10031_10017</td>\n",
|
||
" <td>0.922153</td>\n",
|
||
" <td>92.215287</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>638_SD_38_10031_10033</td>\n",
|
||
" <td>0.927346</td>\n",
|
||
" <td>92.734634</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>639_SD_38_10031_10032</td>\n",
|
||
" <td>0.918339</td>\n",
|
||
" <td>91.833942</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>640_SD_38_10031_10030</td>\n",
|
||
" <td>0.904375</td>\n",
|
||
" <td>90.437465</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>641_SD_38_10031_10017</td>\n",
|
||
" <td>0.922153</td>\n",
|
||
" <td>92.215288</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>642_SD_38_10031_10033</td>\n",
|
||
" <td>0.927346</td>\n",
|
||
" <td>92.734634</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>643_SD_38_10031_10032</td>\n",
|
||
" <td>0.918339</td>\n",
|
||
" <td>91.833942</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>644_SD_38_10031_10030</td>\n",
|
||
" <td>0.904375</td>\n",
|
||
" <td>90.437465</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>645_SD_39_10038_10041</td>\n",
|
||
" <td>0.902087</td>\n",
|
||
" <td>90.208733</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>646_SD_39_10038_10037</td>\n",
|
||
" <td>0.945096</td>\n",
|
||
" <td>94.509586</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>647_SD_39_10038_10036</td>\n",
|
||
" <td>0.927490</td>\n",
|
||
" <td>92.748957</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>648_SD_39_10038_10032</td>\n",
|
||
" <td>0.923648</td>\n",
|
||
" <td>92.364794</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>649_SD_39_10038_10039</td>\n",
|
||
" <td>0.934120</td>\n",
|
||
" <td>93.412012</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>650_SD_39_10038_10041</td>\n",
|
||
" <td>0.902087</td>\n",
|
||
" <td>90.208733</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>651_SD_39_10038_10037</td>\n",
|
||
" <td>0.945096</td>\n",
|
||
" <td>94.509586</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>652_SD_39_10038_10036</td>\n",
|
||
" <td>0.927490</td>\n",
|
||
" <td>92.748958</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>653_SD_39_10038_10032</td>\n",
|
||
" <td>0.923648</td>\n",
|
||
" <td>92.364794</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>654_SD_39_10038_10039</td>\n",
|
||
" <td>0.934120</td>\n",
|
||
" <td>93.412012</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>655_SD_39_10038_10041</td>\n",
|
||
" <td>0.902087</td>\n",
|
||
" <td>90.208733</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>656_SD_39_10038_10037</td>\n",
|
||
" <td>0.945096</td>\n",
|
||
" <td>94.509586</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>657_SD_39_10038_10036</td>\n",
|
||
" <td>0.927490</td>\n",
|
||
" <td>92.748957</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>658_SD_39_10038_10032</td>\n",
|
||
" <td>0.923648</td>\n",
|
||
" <td>92.364794</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>659_SD_39_10038_10039</td>\n",
|
||
" <td>0.934120</td>\n",
|
||
" <td>93.412012</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>660_SD_40_10039_10032</td>\n",
|
||
" <td>0.934225</td>\n",
|
||
" <td>93.422484</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>661_SD_40_10039_10033</td>\n",
|
||
" <td>0.930917</td>\n",
|
||
" <td>93.091720</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>662_SD_40_10039_10037</td>\n",
|
||
" <td>0.934503</td>\n",
|
||
" <td>93.450330</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>663_SD_40_10039_10038</td>\n",
|
||
" <td>0.934120</td>\n",
|
||
" <td>93.412012</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>664_SD_40_10039_10029</td>\n",
|
||
" <td>0.915143</td>\n",
|
||
" <td>91.514346</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>665_SD_40_10039_10032</td>\n",
|
||
" <td>0.934225</td>\n",
|
||
" <td>93.422485</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>666_SD_40_10039_10033</td>\n",
|
||
" <td>0.930917</td>\n",
|
||
" <td>93.091720</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>667_SD_40_10039_10037</td>\n",
|
||
" <td>0.934503</td>\n",
|
||
" <td>93.450329</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>668_SD_40_10039_10038</td>\n",
|
||
" <td>0.934120</td>\n",
|
||
" <td>93.412012</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>669_SD_40_10039_10029</td>\n",
|
||
" <td>0.915143</td>\n",
|
||
" <td>91.514346</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>670_SD_40_10039_10032</td>\n",
|
||
" <td>0.934225</td>\n",
|
||
" <td>93.422485</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>671_SD_40_10039_10033</td>\n",
|
||
" <td>0.930917</td>\n",
|
||
" <td>93.091720</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>672_SD_40_10039_10037</td>\n",
|
||
" <td>0.934503</td>\n",
|
||
" <td>93.450329</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>673_SD_40_10039_10038</td>\n",
|
||
" <td>0.934120</td>\n",
|
||
" <td>93.412012</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>674_SD_40_10039_10029</td>\n",
|
||
" <td>0.915143</td>\n",
|
||
" <td>91.514346</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>675_SD_41_10035_10037</td>\n",
|
||
" <td>0.952286</td>\n",
|
||
" <td>95.228597</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>676_SD_41_10035_10036</td>\n",
|
||
" <td>0.946670</td>\n",
|
||
" <td>94.666969</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>677_SD_41_10035_10034</td>\n",
|
||
" <td>0.948296</td>\n",
|
||
" <td>94.829588</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>678_SD_41_10035_10030</td>\n",
|
||
" <td>0.923105</td>\n",
|
||
" <td>92.310545</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>679_SD_41_10035_10029</td>\n",
|
||
" <td>0.926149</td>\n",
|
||
" <td>92.614915</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>680_SD_41_10035_10037</td>\n",
|
||
" <td>0.952286</td>\n",
|
||
" <td>95.228597</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>681_SD_41_10035_10036</td>\n",
|
||
" <td>0.946670</td>\n",
|
||
" <td>94.666969</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>682_SD_41_10035_10034</td>\n",
|
||
" <td>0.948296</td>\n",
|
||
" <td>94.829588</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>683_SD_41_10035_10030</td>\n",
|
||
" <td>0.923105</td>\n",
|
||
" <td>92.310545</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>684_SD_41_10035_10029</td>\n",
|
||
" <td>0.926149</td>\n",
|
||
" <td>92.614914</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>685_SD_41_10035_10037</td>\n",
|
||
" <td>0.952286</td>\n",
|
||
" <td>95.228597</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>686_SD_41_10035_10036</td>\n",
|
||
" <td>0.946670</td>\n",
|
||
" <td>94.666969</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>687_SD_41_10035_10034</td>\n",
|
||
" <td>0.948296</td>\n",
|
||
" <td>94.829587</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>688_SD_41_10035_10030</td>\n",
|
||
" <td>0.923105</td>\n",
|
||
" <td>92.310544</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>689_SD_41_10035_10029</td>\n",
|
||
" <td>0.926149</td>\n",
|
||
" <td>92.614914</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>690_SD_42_10036_10038</td>\n",
|
||
" <td>0.927490</td>\n",
|
||
" <td>92.748956</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>691_SD_42_10036_10037</td>\n",
|
||
" <td>0.949899</td>\n",
|
||
" <td>94.989942</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>692_SD_42_10036_10034</td>\n",
|
||
" <td>0.938754</td>\n",
|
||
" <td>93.875402</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>693_SD_42_10036_10035</td>\n",
|
||
" <td>0.946670</td>\n",
|
||
" <td>94.666969</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>694_SD_42_10036_10038</td>\n",
|
||
" <td>0.927490</td>\n",
|
||
" <td>92.748956</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>695_SD_42_10036_10037</td>\n",
|
||
" <td>0.949899</td>\n",
|
||
" <td>94.989942</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>696_SD_42_10036_10034</td>\n",
|
||
" <td>0.938754</td>\n",
|
||
" <td>93.875402</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>697_SD_42_10036_10035</td>\n",
|
||
" <td>0.946670</td>\n",
|
||
" <td>94.666969</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>698_SD_42_10036_10038</td>\n",
|
||
" <td>0.927490</td>\n",
|
||
" <td>92.748956</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>699_SD_42_10036_10037</td>\n",
|
||
" <td>0.949899</td>\n",
|
||
" <td>94.989942</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>700_SD_42_10036_10034</td>\n",
|
||
" <td>0.938754</td>\n",
|
||
" <td>93.875403</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>701_SD_42_10036_10035</td>\n",
|
||
" <td>0.946670</td>\n",
|
||
" <td>94.666969</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>702_SD_43_10028_10011</td>\n",
|
||
" <td>0.864679</td>\n",
|
||
" <td>86.467897</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>703_SD_43_10028_10030</td>\n",
|
||
" <td>0.920573</td>\n",
|
||
" <td>92.057303</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>704_SD_43_10028_10029</td>\n",
|
||
" <td>0.922359</td>\n",
|
||
" <td>92.235854</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>705_SD_43_10028_10034</td>\n",
|
||
" <td>0.882971</td>\n",
|
||
" <td>88.297077</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>706_SD_43_10028_10011</td>\n",
|
||
" <td>0.864679</td>\n",
|
||
" <td>86.467898</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>707_SD_43_10028_10030</td>\n",
|
||
" <td>0.920573</td>\n",
|
||
" <td>92.057303</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>708_SD_43_10028_10029</td>\n",
|
||
" <td>0.922359</td>\n",
|
||
" <td>92.235854</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>709_SD_43_10028_10034</td>\n",
|
||
" <td>0.882971</td>\n",
|
||
" <td>88.297078</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>710_SD_43_10028_10011</td>\n",
|
||
" <td>0.864679</td>\n",
|
||
" <td>86.467899</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>711_SD_43_10028_10030</td>\n",
|
||
" <td>0.920573</td>\n",
|
||
" <td>92.057303</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>712_SD_43_10028_10029</td>\n",
|
||
" <td>0.922359</td>\n",
|
||
" <td>92.235854</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>713_SD_43_10028_10034</td>\n",
|
||
" <td>0.882971</td>\n",
|
||
" <td>88.297077</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>714_SD_44_10034_10028</td>\n",
|
||
" <td>0.882971</td>\n",
|
||
" <td>88.297081</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>715_SD_44_10034_10035</td>\n",
|
||
" <td>0.948296</td>\n",
|
||
" <td>94.829587</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>716_SD_44_10034_10037</td>\n",
|
||
" <td>0.939390</td>\n",
|
||
" <td>93.938974</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>717_SD_44_10034_10036</td>\n",
|
||
" <td>0.938754</td>\n",
|
||
" <td>93.875402</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>718_SD_44_10034_10045</td>\n",
|
||
" <td>0.846028</td>\n",
|
||
" <td>84.602765</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>719_SD_44_10034_10028</td>\n",
|
||
" <td>0.882971</td>\n",
|
||
" <td>88.297082</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>720_SD_44_10034_10035</td>\n",
|
||
" <td>0.948296</td>\n",
|
||
" <td>94.829587</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>721_SD_44_10034_10037</td>\n",
|
||
" <td>0.939390</td>\n",
|
||
" <td>93.938974</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>722_SD_44_10034_10036</td>\n",
|
||
" <td>0.938754</td>\n",
|
||
" <td>93.875403</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>723_SD_44_10034_10045</td>\n",
|
||
" <td>0.846028</td>\n",
|
||
" <td>84.602766</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>724_SD_44_10034_10028</td>\n",
|
||
" <td>0.882971</td>\n",
|
||
" <td>88.297080</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>725_SD_44_10034_10035</td>\n",
|
||
" <td>0.948296</td>\n",
|
||
" <td>94.829587</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>726_SD_44_10034_10037</td>\n",
|
||
" <td>0.939390</td>\n",
|
||
" <td>93.938973</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>727_SD_44_10034_10036</td>\n",
|
||
" <td>0.938754</td>\n",
|
||
" <td>93.875402</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>728_SD_44_10034_10045</td>\n",
|
||
" <td>0.846028</td>\n",
|
||
" <td>84.602766</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>729_SD_45_10030_10028</td>\n",
|
||
" <td>0.920573</td>\n",
|
||
" <td>92.057303</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>730_SD_45_10030_10031</td>\n",
|
||
" <td>0.904375</td>\n",
|
||
" <td>90.437465</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>731_SD_45_10030_10029</td>\n",
|
||
" <td>0.926304</td>\n",
|
||
" <td>92.630389</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>732_SD_45_10030_10035</td>\n",
|
||
" <td>0.923105</td>\n",
|
||
" <td>92.310544</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>733_SD_45_10030_10028</td>\n",
|
||
" <td>0.920573</td>\n",
|
||
" <td>92.057303</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>734_SD_45_10030_10031</td>\n",
|
||
" <td>0.904375</td>\n",
|
||
" <td>90.437465</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>735_SD_45_10030_10029</td>\n",
|
||
" <td>0.926304</td>\n",
|
||
" <td>92.630389</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>736_SD_45_10030_10035</td>\n",
|
||
" <td>0.923105</td>\n",
|
||
" <td>92.310544</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>737_SD_45_10030_10028</td>\n",
|
||
" <td>0.920573</td>\n",
|
||
" <td>92.057303</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>738_SD_45_10030_10031</td>\n",
|
||
" <td>0.904375</td>\n",
|
||
" <td>90.437465</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>739_SD_45_10030_10029</td>\n",
|
||
" <td>0.926304</td>\n",
|
||
" <td>92.630389</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>740_SD_45_10030_10035</td>\n",
|
||
" <td>0.923105</td>\n",
|
||
" <td>92.310544</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>741_SD_46_10029_10030</td>\n",
|
||
" <td>0.926304</td>\n",
|
||
" <td>92.630389</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>742_SD_46_10029_10039</td>\n",
|
||
" <td>0.915143</td>\n",
|
||
" <td>91.514347</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>743_SD_46_10029_10035</td>\n",
|
||
" <td>0.926149</td>\n",
|
||
" <td>92.614915</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>744_SD_46_10029_10028</td>\n",
|
||
" <td>0.922359</td>\n",
|
||
" <td>92.235855</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>745_SD_46_10029_10030</td>\n",
|
||
" <td>0.926304</td>\n",
|
||
" <td>92.630389</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>746_SD_46_10029_10039</td>\n",
|
||
" <td>0.915143</td>\n",
|
||
" <td>91.514346</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>747_SD_46_10029_10035</td>\n",
|
||
" <td>0.926149</td>\n",
|
||
" <td>92.614915</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>748_SD_46_10029_10028</td>\n",
|
||
" <td>0.922359</td>\n",
|
||
" <td>92.235855</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>749_SD_46_10029_10030</td>\n",
|
||
" <td>0.926304</td>\n",
|
||
" <td>92.630389</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>750_SD_46_10029_10039</td>\n",
|
||
" <td>0.915143</td>\n",
|
||
" <td>91.514347</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>751_SD_46_10029_10035</td>\n",
|
||
" <td>0.926149</td>\n",
|
||
" <td>92.614915</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>752_SD_46_10029_10028</td>\n",
|
||
" <td>0.922359</td>\n",
|
||
" <td>92.235854</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>753_SD_47_10053_10044</td>\n",
|
||
" <td>0.927951</td>\n",
|
||
" <td>92.795116</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>754_SD_47_10053_10052</td>\n",
|
||
" <td>0.947331</td>\n",
|
||
" <td>94.733076</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>755_SD_47_10053_10059</td>\n",
|
||
" <td>0.916549</td>\n",
|
||
" <td>91.654944</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>756_SD_47_10053_10049</td>\n",
|
||
" <td>0.927420</td>\n",
|
||
" <td>92.741977</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>757_SD_47_10053_10050</td>\n",
|
||
" <td>0.942681</td>\n",
|
||
" <td>94.268083</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>758_SD_47_10053_10051</td>\n",
|
||
" <td>0.936558</td>\n",
|
||
" <td>93.655751</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>759_SD_47_10053_10044</td>\n",
|
||
" <td>0.927951</td>\n",
|
||
" <td>92.795116</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>760_SD_47_10053_10052</td>\n",
|
||
" <td>0.947331</td>\n",
|
||
" <td>94.733076</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>761_SD_47_10053_10059</td>\n",
|
||
" <td>0.916549</td>\n",
|
||
" <td>91.654943</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>762_SD_47_10053_10049</td>\n",
|
||
" <td>0.927420</td>\n",
|
||
" <td>92.741978</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>763_SD_47_10053_10050</td>\n",
|
||
" <td>0.942681</td>\n",
|
||
" <td>94.268083</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>764_SD_47_10053_10051</td>\n",
|
||
" <td>0.936558</td>\n",
|
||
" <td>93.655751</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>765_SD_47_10053_10044</td>\n",
|
||
" <td>0.927951</td>\n",
|
||
" <td>92.795116</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>766_SD_47_10053_10052</td>\n",
|
||
" <td>0.947331</td>\n",
|
||
" <td>94.733076</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>767_SD_47_10053_10059</td>\n",
|
||
" <td>0.916549</td>\n",
|
||
" <td>91.654944</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>768_SD_47_10053_10049</td>\n",
|
||
" <td>0.927420</td>\n",
|
||
" <td>92.741977</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>769_SD_47_10053_10050</td>\n",
|
||
" <td>0.942681</td>\n",
|
||
" <td>94.268083</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>770_SD_47_10053_10051</td>\n",
|
||
" <td>0.936558</td>\n",
|
||
" <td>93.655751</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>771_SD_48_10049_10050</td>\n",
|
||
" <td>0.932434</td>\n",
|
||
" <td>93.243385</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>772_SD_48_10049_10053</td>\n",
|
||
" <td>0.927420</td>\n",
|
||
" <td>92.741977</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>773_SD_48_10049_10047</td>\n",
|
||
" <td>0.934589</td>\n",
|
||
" <td>93.458897</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>774_SD_48_10049_10046</td>\n",
|
||
" <td>0.929853</td>\n",
|
||
" <td>92.985316</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>775_SD_48_10049_10048</td>\n",
|
||
" <td>0.942789</td>\n",
|
||
" <td>94.278929</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>776_SD_48_10049_10050</td>\n",
|
||
" <td>0.932434</td>\n",
|
||
" <td>93.243386</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>777_SD_48_10049_10053</td>\n",
|
||
" <td>0.927420</td>\n",
|
||
" <td>92.741978</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>778_SD_48_10049_10047</td>\n",
|
||
" <td>0.934589</td>\n",
|
||
" <td>93.458897</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>779_SD_48_10049_10046</td>\n",
|
||
" <td>0.929853</td>\n",
|
||
" <td>92.985316</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>780_SD_48_10049_10048</td>\n",
|
||
" <td>0.942789</td>\n",
|
||
" <td>94.278929</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>781_SD_48_10049_10050</td>\n",
|
||
" <td>0.932434</td>\n",
|
||
" <td>93.243386</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>782_SD_48_10049_10053</td>\n",
|
||
" <td>0.927420</td>\n",
|
||
" <td>92.741977</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>783_SD_48_10049_10047</td>\n",
|
||
" <td>0.934589</td>\n",
|
||
" <td>93.458897</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>784_SD_48_10049_10046</td>\n",
|
||
" <td>0.929853</td>\n",
|
||
" <td>92.985317</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>785_SD_48_10049_10048</td>\n",
|
||
" <td>0.942789</td>\n",
|
||
" <td>94.278929</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>786_SD_49_10050_10051</td>\n",
|
||
" <td>0.928432</td>\n",
|
||
" <td>92.843241</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>787_SD_49_10050_10052</td>\n",
|
||
" <td>0.937195</td>\n",
|
||
" <td>93.719537</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>788_SD_49_10050_10053</td>\n",
|
||
" <td>0.942681</td>\n",
|
||
" <td>94.268082</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>789_SD_49_10050_10049</td>\n",
|
||
" <td>0.932434</td>\n",
|
||
" <td>93.243385</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>790_SD_49_10050_10048</td>\n",
|
||
" <td>0.928418</td>\n",
|
||
" <td>92.841764</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>791_SD_49_10050_10051</td>\n",
|
||
" <td>0.928432</td>\n",
|
||
" <td>92.843241</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>792_SD_49_10050_10052</td>\n",
|
||
" <td>0.937195</td>\n",
|
||
" <td>93.719537</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>793_SD_49_10050_10053</td>\n",
|
||
" <td>0.942681</td>\n",
|
||
" <td>94.268082</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>794_SD_49_10050_10049</td>\n",
|
||
" <td>0.932434</td>\n",
|
||
" <td>93.243385</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>795_SD_49_10050_10048</td>\n",
|
||
" <td>0.928418</td>\n",
|
||
" <td>92.841764</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>796_SD_49_10050_10051</td>\n",
|
||
" <td>0.928432</td>\n",
|
||
" <td>92.843241</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>797_SD_49_10050_10052</td>\n",
|
||
" <td>0.937195</td>\n",
|
||
" <td>93.719537</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>798_SD_49_10050_10053</td>\n",
|
||
" <td>0.942681</td>\n",
|
||
" <td>94.268082</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>799_SD_49_10050_10049</td>\n",
|
||
" <td>0.932434</td>\n",
|
||
" <td>93.243385</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>800_SD_49_10050_10048</td>\n",
|
||
" <td>0.928418</td>\n",
|
||
" <td>92.841764</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>801_SD_50_10048_10050</td>\n",
|
||
" <td>0.928418</td>\n",
|
||
" <td>92.841765</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>802_SD_50_10048_10049</td>\n",
|
||
" <td>0.942789</td>\n",
|
||
" <td>94.278929</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>803_SD_50_10048_10057</td>\n",
|
||
" <td>0.910398</td>\n",
|
||
" <td>91.039808</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>804_SD_50_10048_10047</td>\n",
|
||
" <td>0.956433</td>\n",
|
||
" <td>95.643312</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>805_SD_50_10048_10046</td>\n",
|
||
" <td>0.958771</td>\n",
|
||
" <td>95.877087</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>806_SD_50_10048_10050</td>\n",
|
||
" <td>0.928418</td>\n",
|
||
" <td>92.841765</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>807_SD_50_10048_10049</td>\n",
|
||
" <td>0.942789</td>\n",
|
||
" <td>94.278929</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>808_SD_50_10048_10057</td>\n",
|
||
" <td>0.910398</td>\n",
|
||
" <td>91.039808</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>809_SD_50_10048_10047</td>\n",
|
||
" <td>0.956433</td>\n",
|
||
" <td>95.643312</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>810_SD_50_10048_10046</td>\n",
|
||
" <td>0.958771</td>\n",
|
||
" <td>95.877086</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>811_SD_50_10048_10050</td>\n",
|
||
" <td>0.928418</td>\n",
|
||
" <td>92.841765</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>812_SD_50_10048_10049</td>\n",
|
||
" <td>0.942789</td>\n",
|
||
" <td>94.278929</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>813_SD_50_10048_10057</td>\n",
|
||
" <td>0.910398</td>\n",
|
||
" <td>91.039808</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>814_SD_50_10048_10047</td>\n",
|
||
" <td>0.956433</td>\n",
|
||
" <td>95.643312</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>815_SD_50_10048_10046</td>\n",
|
||
" <td>0.958771</td>\n",
|
||
" <td>95.877086</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>816_SD_51_10047_10048</td>\n",
|
||
" <td>0.956433</td>\n",
|
||
" <td>95.643312</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>817_SD_51_10047_10049</td>\n",
|
||
" <td>0.934589</td>\n",
|
||
" <td>93.458897</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>818_SD_51_10047_10045</td>\n",
|
||
" <td>0.924218</td>\n",
|
||
" <td>92.421841</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>819_SD_51_10047_10046</td>\n",
|
||
" <td>0.949444</td>\n",
|
||
" <td>94.944350</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>820_SD_51_10047_10048</td>\n",
|
||
" <td>0.956433</td>\n",
|
||
" <td>95.643312</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>821_SD_51_10047_10049</td>\n",
|
||
" <td>0.934589</td>\n",
|
||
" <td>93.458897</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>822_SD_51_10047_10045</td>\n",
|
||
" <td>0.924218</td>\n",
|
||
" <td>92.421841</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>823_SD_51_10047_10046</td>\n",
|
||
" <td>0.949444</td>\n",
|
||
" <td>94.944350</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>824_SD_51_10047_10048</td>\n",
|
||
" <td>0.956433</td>\n",
|
||
" <td>95.643312</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>825_SD_51_10047_10049</td>\n",
|
||
" <td>0.934589</td>\n",
|
||
" <td>93.458897</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>826_SD_51_10047_10045</td>\n",
|
||
" <td>0.924218</td>\n",
|
||
" <td>92.421841</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>827_SD_51_10047_10046</td>\n",
|
||
" <td>0.949444</td>\n",
|
||
" <td>94.944350</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>828_SD_52_10046_10048</td>\n",
|
||
" <td>0.958771</td>\n",
|
||
" <td>95.877086</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>829_SD_52_10046_10047</td>\n",
|
||
" <td>0.949444</td>\n",
|
||
" <td>94.944350</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>830_SD_52_10046_10055</td>\n",
|
||
" <td>0.909533</td>\n",
|
||
" <td>90.953278</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>831_SD_52_10046_10045</td>\n",
|
||
" <td>0.925131</td>\n",
|
||
" <td>92.513075</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>832_SD_52_10046_10048</td>\n",
|
||
" <td>0.958771</td>\n",
|
||
" <td>95.877086</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>833_SD_52_10046_10047</td>\n",
|
||
" <td>0.949444</td>\n",
|
||
" <td>94.944350</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>834_SD_52_10046_10055</td>\n",
|
||
" <td>0.909533</td>\n",
|
||
" <td>90.953277</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>835_SD_52_10046_10045</td>\n",
|
||
" <td>0.925131</td>\n",
|
||
" <td>92.513075</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>836_SD_52_10046_10048</td>\n",
|
||
" <td>0.958771</td>\n",
|
||
" <td>95.877086</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>837_SD_52_10046_10047</td>\n",
|
||
" <td>0.949444</td>\n",
|
||
" <td>94.944350</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>838_SD_52_10046_10055</td>\n",
|
||
" <td>0.909533</td>\n",
|
||
" <td>90.953278</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>839_SD_52_10046_10045</td>\n",
|
||
" <td>0.925131</td>\n",
|
||
" <td>92.513075</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>840_SD_53_10045_10034</td>\n",
|
||
" <td>0.846028</td>\n",
|
||
" <td>84.602772</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>841_SD_53_10045_10046</td>\n",
|
||
" <td>0.925131</td>\n",
|
||
" <td>92.513076</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>842_SD_53_10045_10047</td>\n",
|
||
" <td>0.924218</td>\n",
|
||
" <td>92.421841</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>843_SD_53_10045_10054</td>\n",
|
||
" <td>0.876275</td>\n",
|
||
" <td>87.627547</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>844_SD_53_10045_10034</td>\n",
|
||
" <td>0.846028</td>\n",
|
||
" <td>84.602772</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>845_SD_53_10045_10046</td>\n",
|
||
" <td>0.925131</td>\n",
|
||
" <td>92.513076</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>846_SD_53_10045_10047</td>\n",
|
||
" <td>0.924218</td>\n",
|
||
" <td>92.421841</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>847_SD_53_10045_10054</td>\n",
|
||
" <td>0.876275</td>\n",
|
||
" <td>87.627546</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>848_SD_53_10045_10034</td>\n",
|
||
" <td>0.846028</td>\n",
|
||
" <td>84.602773</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>849_SD_53_10045_10046</td>\n",
|
||
" <td>0.925131</td>\n",
|
||
" <td>92.513076</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>850_SD_53_10045_10047</td>\n",
|
||
" <td>0.924218</td>\n",
|
||
" <td>92.421841</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>851_SD_53_10045_10054</td>\n",
|
||
" <td>0.876275</td>\n",
|
||
" <td>87.627546</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>852_SD_54_10059_10053</td>\n",
|
||
" <td>0.916549</td>\n",
|
||
" <td>91.654944</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>853_SD_54_10059_10052</td>\n",
|
||
" <td>0.911652</td>\n",
|
||
" <td>91.165215</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>854_SD_54_10059_10058</td>\n",
|
||
" <td>0.915536</td>\n",
|
||
" <td>91.553614</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>855_SD_54_10059_10056</td>\n",
|
||
" <td>0.913089</td>\n",
|
||
" <td>91.308897</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>856_SD_54_10059_10057</td>\n",
|
||
" <td>0.928858</td>\n",
|
||
" <td>92.885763</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>857_SD_54_10059_10053</td>\n",
|
||
" <td>0.916549</td>\n",
|
||
" <td>91.654945</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>858_SD_54_10059_10052</td>\n",
|
||
" <td>0.911652</td>\n",
|
||
" <td>91.165216</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>859_SD_54_10059_10058</td>\n",
|
||
" <td>0.915536</td>\n",
|
||
" <td>91.553614</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>860_SD_54_10059_10056</td>\n",
|
||
" <td>0.913089</td>\n",
|
||
" <td>91.308896</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>861_SD_54_10059_10057</td>\n",
|
||
" <td>0.928858</td>\n",
|
||
" <td>92.885763</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>862_SD_54_10059_10053</td>\n",
|
||
" <td>0.916549</td>\n",
|
||
" <td>91.654944</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>863_SD_54_10059_10052</td>\n",
|
||
" <td>0.911652</td>\n",
|
||
" <td>91.165217</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>864_SD_54_10059_10058</td>\n",
|
||
" <td>0.915536</td>\n",
|
||
" <td>91.553614</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>865_SD_54_10059_10056</td>\n",
|
||
" <td>0.913089</td>\n",
|
||
" <td>91.308897</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>866_SD_54_10059_10057</td>\n",
|
||
" <td>0.928858</td>\n",
|
||
" <td>92.885763</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>867_SD_55_10058_10059</td>\n",
|
||
" <td>0.915536</td>\n",
|
||
" <td>91.553615</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>868_SD_55_10058_10056</td>\n",
|
||
" <td>0.935663</td>\n",
|
||
" <td>93.566338</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>869_SD_55_10058_10055</td>\n",
|
||
" <td>0.936013</td>\n",
|
||
" <td>93.601318</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>870_SD_55_10058_10057</td>\n",
|
||
" <td>0.935759</td>\n",
|
||
" <td>93.575919</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>871_SD_55_10058_10059</td>\n",
|
||
" <td>0.915536</td>\n",
|
||
" <td>91.553615</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>872_SD_55_10058_10056</td>\n",
|
||
" <td>0.935663</td>\n",
|
||
" <td>93.566338</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>873_SD_55_10058_10055</td>\n",
|
||
" <td>0.936013</td>\n",
|
||
" <td>93.601318</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>874_SD_55_10058_10057</td>\n",
|
||
" <td>0.935759</td>\n",
|
||
" <td>93.575919</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>875_SD_55_10058_10059</td>\n",
|
||
" <td>0.915536</td>\n",
|
||
" <td>91.553615</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>876_SD_55_10058_10056</td>\n",
|
||
" <td>0.935663</td>\n",
|
||
" <td>93.566338</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>877_SD_55_10058_10055</td>\n",
|
||
" <td>0.936013</td>\n",
|
||
" <td>93.601318</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>878_SD_55_10058_10057</td>\n",
|
||
" <td>0.935759</td>\n",
|
||
" <td>93.575920</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>879_SD_56_10057_10059</td>\n",
|
||
" <td>0.928858</td>\n",
|
||
" <td>92.885762</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>880_SD_56_10057_10058</td>\n",
|
||
" <td>0.935759</td>\n",
|
||
" <td>93.575919</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>881_SD_56_10057_10056</td>\n",
|
||
" <td>0.938405</td>\n",
|
||
" <td>93.840469</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>882_SD_56_10057_10055</td>\n",
|
||
" <td>0.940737</td>\n",
|
||
" <td>94.073733</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>883_SD_56_10057_10048</td>\n",
|
||
" <td>0.910398</td>\n",
|
||
" <td>91.039807</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>884_SD_56_10057_10059</td>\n",
|
||
" <td>0.928858</td>\n",
|
||
" <td>92.885761</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>885_SD_56_10057_10058</td>\n",
|
||
" <td>0.935759</td>\n",
|
||
" <td>93.575918</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>886_SD_56_10057_10056</td>\n",
|
||
" <td>0.938405</td>\n",
|
||
" <td>93.840469</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>887_SD_56_10057_10055</td>\n",
|
||
" <td>0.940737</td>\n",
|
||
" <td>94.073733</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>888_SD_56_10057_10048</td>\n",
|
||
" <td>0.910398</td>\n",
|
||
" <td>91.039807</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>889_SD_56_10057_10059</td>\n",
|
||
" <td>0.928858</td>\n",
|
||
" <td>92.885762</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>890_SD_56_10057_10058</td>\n",
|
||
" <td>0.935759</td>\n",
|
||
" <td>93.575919</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>891_SD_56_10057_10056</td>\n",
|
||
" <td>0.938405</td>\n",
|
||
" <td>93.840470</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>892_SD_56_10057_10055</td>\n",
|
||
" <td>0.940737</td>\n",
|
||
" <td>94.073733</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>893_SD_56_10057_10048</td>\n",
|
||
" <td>0.910398</td>\n",
|
||
" <td>91.039807</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>894_SD_57_10055_10057</td>\n",
|
||
" <td>0.940737</td>\n",
|
||
" <td>94.073733</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>895_SD_57_10055_10058</td>\n",
|
||
" <td>0.936013</td>\n",
|
||
" <td>93.601318</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>896_SD_57_10055_10056</td>\n",
|
||
" <td>0.956868</td>\n",
|
||
" <td>95.686828</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>897_SD_57_10055_10054</td>\n",
|
||
" <td>0.941063</td>\n",
|
||
" <td>94.106258</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>898_SD_57_10055_10046</td>\n",
|
||
" <td>0.909533</td>\n",
|
||
" <td>90.953278</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>899_SD_57_10055_10057</td>\n",
|
||
" <td>0.940737</td>\n",
|
||
" <td>94.073733</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>900_SD_57_10055_10058</td>\n",
|
||
" <td>0.936013</td>\n",
|
||
" <td>93.601317</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>901_SD_57_10055_10056</td>\n",
|
||
" <td>0.956868</td>\n",
|
||
" <td>95.686828</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>902_SD_57_10055_10054</td>\n",
|
||
" <td>0.941063</td>\n",
|
||
" <td>94.106258</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>903_SD_57_10055_10046</td>\n",
|
||
" <td>0.909533</td>\n",
|
||
" <td>90.953278</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>904_SD_57_10055_10057</td>\n",
|
||
" <td>0.940737</td>\n",
|
||
" <td>94.073733</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>905_SD_57_10055_10058</td>\n",
|
||
" <td>0.936013</td>\n",
|
||
" <td>93.601318</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>906_SD_57_10055_10056</td>\n",
|
||
" <td>0.956868</td>\n",
|
||
" <td>95.686828</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>907_SD_57_10055_10054</td>\n",
|
||
" <td>0.941063</td>\n",
|
||
" <td>94.106259</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>908_SD_57_10055_10046</td>\n",
|
||
" <td>0.909533</td>\n",
|
||
" <td>90.953278</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>909_SD_58_10056_10058</td>\n",
|
||
" <td>0.935663</td>\n",
|
||
" <td>93.566335</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>910_SD_58_10056_10057</td>\n",
|
||
" <td>0.938405</td>\n",
|
||
" <td>93.840468</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>911_SD_58_10056_10054</td>\n",
|
||
" <td>0.928828</td>\n",
|
||
" <td>92.882841</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>912_SD_58_10056_10055</td>\n",
|
||
" <td>0.956868</td>\n",
|
||
" <td>95.686828</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>913_SD_58_10056_10058</td>\n",
|
||
" <td>0.935663</td>\n",
|
||
" <td>93.566336</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>914_SD_58_10056_10057</td>\n",
|
||
" <td>0.938405</td>\n",
|
||
" <td>93.840469</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>915_SD_58_10056_10054</td>\n",
|
||
" <td>0.928828</td>\n",
|
||
" <td>92.882841</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>916_SD_58_10056_10055</td>\n",
|
||
" <td>0.956868</td>\n",
|
||
" <td>95.686828</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>917_SD_58_10056_10058</td>\n",
|
||
" <td>0.935663</td>\n",
|
||
" <td>93.566335</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>918_SD_58_10056_10057</td>\n",
|
||
" <td>0.938405</td>\n",
|
||
" <td>93.840469</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>919_SD_58_10056_10054</td>\n",
|
||
" <td>0.928828</td>\n",
|
||
" <td>92.882841</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>920_SD_58_10056_10055</td>\n",
|
||
" <td>0.956868</td>\n",
|
||
" <td>95.686828</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>921_SD_59_10054_10045</td>\n",
|
||
" <td>0.876275</td>\n",
|
||
" <td>87.627548</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>922_SD_59_10054_10055</td>\n",
|
||
" <td>0.941063</td>\n",
|
||
" <td>94.106258</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>923_SD_59_10054_10056</td>\n",
|
||
" <td>0.928828</td>\n",
|
||
" <td>92.882842</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>924_SD_59_10054_10045</td>\n",
|
||
" <td>0.876275</td>\n",
|
||
" <td>87.627548</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>925_SD_59_10054_10055</td>\n",
|
||
" <td>0.941063</td>\n",
|
||
" <td>94.106259</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>926_SD_59_10054_10056</td>\n",
|
||
" <td>0.928828</td>\n",
|
||
" <td>92.882842</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>927_SD_59_10054_10045</td>\n",
|
||
" <td>0.876275</td>\n",
|
||
" <td>87.627548</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>928_SD_59_10054_10055</td>\n",
|
||
" <td>0.941063</td>\n",
|
||
" <td>94.106259</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>929_SD_59_10054_10056</td>\n",
|
||
" <td>0.928828</td>\n",
|
||
" <td>92.882843</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>930_SD_60_10047_10048</td>\n",
|
||
" <td>0.956433</td>\n",
|
||
" <td>95.643312</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>931_SD_60_10047_812</td>\n",
|
||
" <td>0.871190</td>\n",
|
||
" <td>87.118990</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>932_SD_60_10047_816</td>\n",
|
||
" <td>0.819484</td>\n",
|
||
" <td>81.948427</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>933_SD_60_10047_FH3</td>\n",
|
||
" <td>0.873548</td>\n",
|
||
" <td>87.354775</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>934_SD_60_10047_10048</td>\n",
|
||
" <td>0.956433</td>\n",
|
||
" <td>95.643312</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>935_SD_60_10047_812</td>\n",
|
||
" <td>0.871190</td>\n",
|
||
" <td>87.118990</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>936_SD_60_10047_816</td>\n",
|
||
" <td>0.819484</td>\n",
|
||
" <td>81.948427</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>937_SD_60_10047_FH3</td>\n",
|
||
" <td>0.873548</td>\n",
|
||
" <td>87.354775</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>938_SD_60_10047_10048</td>\n",
|
||
" <td>0.956433</td>\n",
|
||
" <td>95.643312</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>939_SD_60_10047_812</td>\n",
|
||
" <td>0.871190</td>\n",
|
||
" <td>87.118991</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>940_SD_60_10047_816</td>\n",
|
||
" <td>0.819484</td>\n",
|
||
" <td>81.948427</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>941_SD_60_10047_FH3</td>\n",
|
||
" <td>0.873548</td>\n",
|
||
" <td>87.354775</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>942_SD_61_10046_10048</td>\n",
|
||
" <td>0.958771</td>\n",
|
||
" <td>95.877088</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>943_SD_61_10046_FH3</td>\n",
|
||
" <td>0.874105</td>\n",
|
||
" <td>87.410536</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>944_SD_61_10046_812</td>\n",
|
||
" <td>0.871325</td>\n",
|
||
" <td>87.132477</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>945_SD_61_10046_10048</td>\n",
|
||
" <td>0.958771</td>\n",
|
||
" <td>95.877089</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>946_SD_61_10046_FH3</td>\n",
|
||
" <td>0.874105</td>\n",
|
||
" <td>87.410536</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>947_SD_61_10046_812</td>\n",
|
||
" <td>0.871325</td>\n",
|
||
" <td>87.132477</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>948_SD_61_10046_10048</td>\n",
|
||
" <td>0.958771</td>\n",
|
||
" <td>95.877088</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>949_SD_61_10046_FH3</td>\n",
|
||
" <td>0.874105</td>\n",
|
||
" <td>87.410536</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>950_SD_61_10046_812</td>\n",
|
||
" <td>0.871325</td>\n",
|
||
" <td>87.132477</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>951_SD_62_10048_10046</td>\n",
|
||
" <td>0.958771</td>\n",
|
||
" <td>95.877088</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>952_SD_62_10048_812</td>\n",
|
||
" <td>0.875697</td>\n",
|
||
" <td>87.569739</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>953_SD_62_10048_816</td>\n",
|
||
" <td>0.806336</td>\n",
|
||
" <td>80.633569</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>954_SD_62_10048_FH3</td>\n",
|
||
" <td>0.849969</td>\n",
|
||
" <td>84.996920</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>955_SD_62_10048_10046</td>\n",
|
||
" <td>0.958771</td>\n",
|
||
" <td>95.877089</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>956_SD_62_10048_812</td>\n",
|
||
" <td>0.875697</td>\n",
|
||
" <td>87.569739</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>957_SD_62_10048_816</td>\n",
|
||
" <td>0.806336</td>\n",
|
||
" <td>80.633569</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>958_SD_62_10048_FH3</td>\n",
|
||
" <td>0.849969</td>\n",
|
||
" <td>84.996920</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>959_SD_62_10048_10046</td>\n",
|
||
" <td>0.958771</td>\n",
|
||
" <td>95.877089</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>960_SD_62_10048_812</td>\n",
|
||
" <td>0.875697</td>\n",
|
||
" <td>87.569739</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>961_SD_62_10048_816</td>\n",
|
||
" <td>0.806336</td>\n",
|
||
" <td>80.633569</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>962_SD_62_10048_FH3</td>\n",
|
||
" <td>0.849969</td>\n",
|
||
" <td>84.996920</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>963_SD_63_10056_10055</td>\n",
|
||
" <td>0.956868</td>\n",
|
||
" <td>95.686828</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>964_SD_63_10056_666</td>\n",
|
||
" <td>0.868592</td>\n",
|
||
" <td>86.859248</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>965_SD_63_10056_10055</td>\n",
|
||
" <td>0.956868</td>\n",
|
||
" <td>95.686827</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>966_SD_63_10056_666</td>\n",
|
||
" <td>0.868592</td>\n",
|
||
" <td>86.859248</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>967_SD_63_10056_10055</td>\n",
|
||
" <td>0.956868</td>\n",
|
||
" <td>95.686828</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>968_SD_63_10056_666</td>\n",
|
||
" <td>0.868592</td>\n",
|
||
" <td>86.859248</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>969_SD_64_10055_10056</td>\n",
|
||
" <td>0.956868</td>\n",
|
||
" <td>95.686828</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>970_SD_64_10055_666</td>\n",
|
||
" <td>0.872238</td>\n",
|
||
" <td>87.223847</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>971_SD_64_10055_10056</td>\n",
|
||
" <td>0.956868</td>\n",
|
||
" <td>95.686828</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>972_SD_64_10055_666</td>\n",
|
||
" <td>0.872238</td>\n",
|
||
" <td>87.223847</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>973_SD_64_10055_10056</td>\n",
|
||
" <td>0.956868</td>\n",
|
||
" <td>95.686828</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>974_SD_64_10055_666</td>\n",
|
||
" <td>0.872238</td>\n",
|
||
" <td>87.223847</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>975_SD_65_10054_10055</td>\n",
|
||
" <td>0.941063</td>\n",
|
||
" <td>94.106258</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>976_SD_65_10054_666</td>\n",
|
||
" <td>0.849294</td>\n",
|
||
" <td>84.929397</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>977_SD_65_10054_10055</td>\n",
|
||
" <td>0.941063</td>\n",
|
||
" <td>94.106259</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>978_SD_65_10054_666</td>\n",
|
||
" <td>0.849294</td>\n",
|
||
" <td>84.929397</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>979_SD_65_10054_10055</td>\n",
|
||
" <td>0.941063</td>\n",
|
||
" <td>94.106259</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>980_SD_65_10054_666</td>\n",
|
||
" <td>0.849294</td>\n",
|
||
" <td>84.929397</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>981_SD_66_10035_10037</td>\n",
|
||
" <td>0.952286</td>\n",
|
||
" <td>95.228597</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>982_SD_66_10035_FH11</td>\n",
|
||
" <td>0.837030</td>\n",
|
||
" <td>83.702988</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>983_SD_66_10035_FH14</td>\n",
|
||
" <td>0.849458</td>\n",
|
||
" <td>84.945786</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>984_SD_66_10035_10037</td>\n",
|
||
" <td>0.952286</td>\n",
|
||
" <td>95.228597</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>985_SD_66_10035_FH11</td>\n",
|
||
" <td>0.837030</td>\n",
|
||
" <td>83.702988</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>986_SD_66_10035_FH14</td>\n",
|
||
" <td>0.849458</td>\n",
|
||
" <td>84.945786</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>987_SD_66_10035_10037</td>\n",
|
||
" <td>0.952286</td>\n",
|
||
" <td>95.228597</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>988_SD_66_10035_FH11</td>\n",
|
||
" <td>0.837030</td>\n",
|
||
" <td>83.702988</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>989_SD_66_10035_FH14</td>\n",
|
||
" <td>0.849458</td>\n",
|
||
" <td>84.945786</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>990_SD_67_10036_10037</td>\n",
|
||
" <td>0.949899</td>\n",
|
||
" <td>94.989942</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>991_SD_67_10036_FH11</td>\n",
|
||
" <td>0.869895</td>\n",
|
||
" <td>86.989528</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>992_SD_67_10036_FH14</td>\n",
|
||
" <td>0.867422</td>\n",
|
||
" <td>86.742175</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>993_SD_67_10036_10037</td>\n",
|
||
" <td>0.949899</td>\n",
|
||
" <td>94.989942</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>994_SD_67_10036_FH11</td>\n",
|
||
" <td>0.869895</td>\n",
|
||
" <td>86.989528</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>995_SD_67_10036_FH14</td>\n",
|
||
" <td>0.867422</td>\n",
|
||
" <td>86.742176</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>996_SD_67_10036_10037</td>\n",
|
||
" <td>0.949899</td>\n",
|
||
" <td>94.989942</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>997_SD_67_10036_FH11</td>\n",
|
||
" <td>0.869895</td>\n",
|
||
" <td>86.989528</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>998_SD_67_10036_FH14</td>\n",
|
||
" <td>0.867422</td>\n",
|
||
" <td>86.742176</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>999_SD_68_10034_10035</td>\n",
|
||
" <td>0.948296</td>\n",
|
||
" <td>94.829588</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1000_SD_68_10034_FH14</td>\n",
|
||
" <td>0.863981</td>\n",
|
||
" <td>86.398056</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1001_SD_68_10034_10035</td>\n",
|
||
" <td>0.948296</td>\n",
|
||
" <td>94.829588</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1002_SD_68_10034_FH14</td>\n",
|
||
" <td>0.863981</td>\n",
|
||
" <td>86.398056</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1003_SD_68_10034_10035</td>\n",
|
||
" <td>0.948296</td>\n",
|
||
" <td>94.829588</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1004_SD_68_10034_FH14</td>\n",
|
||
" <td>0.863981</td>\n",
|
||
" <td>86.398056</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1005_SD_69_10037_10040</td>\n",
|
||
" <td>0.942214</td>\n",
|
||
" <td>94.221367</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1006_SD_69_10037_FH4</td>\n",
|
||
" <td>0.756077</td>\n",
|
||
" <td>75.607723</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1007_SD_69_10037_FH11</td>\n",
|
||
" <td>0.873216</td>\n",
|
||
" <td>87.321633</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1008_SD_69_10037_10040</td>\n",
|
||
" <td>0.942214</td>\n",
|
||
" <td>94.221367</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1009_SD_69_10037_FH4</td>\n",
|
||
" <td>0.756077</td>\n",
|
||
" <td>75.607723</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1010_SD_69_10037_FH11</td>\n",
|
||
" <td>0.873216</td>\n",
|
||
" <td>87.321634</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1011_SD_69_10037_10040</td>\n",
|
||
" <td>0.942214</td>\n",
|
||
" <td>94.221367</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1012_SD_69_10037_FH4</td>\n",
|
||
" <td>0.756077</td>\n",
|
||
" <td>75.607723</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1013_SD_69_10037_FH11</td>\n",
|
||
" <td>0.873216</td>\n",
|
||
" <td>87.321634</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1014_SD_70_10041_10040</td>\n",
|
||
" <td>0.940846</td>\n",
|
||
" <td>94.084637</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1015_SD_70_10041_FH4</td>\n",
|
||
" <td>0.797063</td>\n",
|
||
" <td>79.706336</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1016_SD_70_10041_10040</td>\n",
|
||
" <td>0.940846</td>\n",
|
||
" <td>94.084637</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1017_SD_70_10041_FH4</td>\n",
|
||
" <td>0.797063</td>\n",
|
||
" <td>79.706334</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1018_SD_70_10041_10040</td>\n",
|
||
" <td>0.940846</td>\n",
|
||
" <td>94.084637</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1019_SD_70_10041_FH4</td>\n",
|
||
" <td>0.797063</td>\n",
|
||
" <td>79.706335</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1020_SD_71_10007_10015</td>\n",
|
||
" <td>0.952869</td>\n",
|
||
" <td>95.286873</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1021_SD_71_10007_FH13</td>\n",
|
||
" <td>0.851721</td>\n",
|
||
" <td>85.172076</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1022_SD_71_10007_10015</td>\n",
|
||
" <td>0.952869</td>\n",
|
||
" <td>95.286873</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1023_SD_71_10007_FH13</td>\n",
|
||
" <td>0.851721</td>\n",
|
||
" <td>85.172076</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1024_SD_71_10007_10015</td>\n",
|
||
" <td>0.952869</td>\n",
|
||
" <td>95.286873</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1025_SD_71_10007_FH13</td>\n",
|
||
" <td>0.851721</td>\n",
|
||
" <td>85.172076</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1026_SD_72_10015_10007</td>\n",
|
||
" <td>0.952869</td>\n",
|
||
" <td>95.286874</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1027_SD_72_10015_FH13</td>\n",
|
||
" <td>0.850908</td>\n",
|
||
" <td>85.090775</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1028_SD_72_10015_10007</td>\n",
|
||
" <td>0.952869</td>\n",
|
||
" <td>95.286874</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1029_SD_72_10015_FH13</td>\n",
|
||
" <td>0.850908</td>\n",
|
||
" <td>85.090775</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1030_SD_72_10015_10007</td>\n",
|
||
" <td>0.952869</td>\n",
|
||
" <td>95.286874</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1031_SD_72_10015_FH13</td>\n",
|
||
" <td>0.850908</td>\n",
|
||
" <td>85.090775</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1032_SD_73_10008_10007</td>\n",
|
||
" <td>0.934887</td>\n",
|
||
" <td>93.488665</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1033_SD_73_10008_FH13</td>\n",
|
||
" <td>0.843299</td>\n",
|
||
" <td>84.329903</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1034_SD_73_10008_10007</td>\n",
|
||
" <td>0.934887</td>\n",
|
||
" <td>93.488665</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1035_SD_73_10008_FH13</td>\n",
|
||
" <td>0.843299</td>\n",
|
||
" <td>84.329903</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1036_SD_73_10008_10007</td>\n",
|
||
" <td>0.934887</td>\n",
|
||
" <td>93.488665</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1037_SD_73_10008_FH13</td>\n",
|
||
" <td>0.843299</td>\n",
|
||
" <td>84.329903</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1038_SD_74_10033_10032</td>\n",
|
||
" <td>0.953351</td>\n",
|
||
" <td>95.335133</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1039_SD_74_10033_FH15</td>\n",
|
||
" <td>0.816051</td>\n",
|
||
" <td>81.605095</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1040_SD_74_10033_10032</td>\n",
|
||
" <td>0.953351</td>\n",
|
||
" <td>95.335133</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1041_SD_74_10033_FH15</td>\n",
|
||
" <td>0.816051</td>\n",
|
||
" <td>81.605095</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1042_SD_74_10033_10032</td>\n",
|
||
" <td>0.953351</td>\n",
|
||
" <td>95.335133</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1043_SD_74_10033_FH15</td>\n",
|
||
" <td>0.816051</td>\n",
|
||
" <td>81.605095</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1044_SD_75_10032_10033</td>\n",
|
||
" <td>0.953351</td>\n",
|
||
" <td>95.335133</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1045_SD_75_10032_FH15</td>\n",
|
||
" <td>0.820214</td>\n",
|
||
" <td>82.021445</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1046_SD_75_10032_10033</td>\n",
|
||
" <td>0.953351</td>\n",
|
||
" <td>95.335133</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1047_SD_75_10032_FH15</td>\n",
|
||
" <td>0.820214</td>\n",
|
||
" <td>82.021445</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1048_SD_75_10032_10033</td>\n",
|
||
" <td>0.953351</td>\n",
|
||
" <td>95.335133</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1049_SD_75_10032_FH15</td>\n",
|
||
" <td>0.820214</td>\n",
|
||
" <td>82.021445</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>54_R_1_10009_10006</td>\n",
|
||
" <td>0.835862</td>\n",
|
||
" <td>83.586153</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>55_R_1_10009_10010</td>\n",
|
||
" <td>0.902002</td>\n",
|
||
" <td>90.200180</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>56_R_1_10009_10018</td>\n",
|
||
" <td>0.784997</td>\n",
|
||
" <td>78.499677</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>57_R_1_10009_10008</td>\n",
|
||
" <td>0.883504</td>\n",
|
||
" <td>88.350381</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>58_R_1_10009_10006</td>\n",
|
||
" <td>0.835859</td>\n",
|
||
" <td>83.585855</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>59_R_1_10009_10010</td>\n",
|
||
" <td>0.902004</td>\n",
|
||
" <td>90.200412</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>60_R_1_10009_10018</td>\n",
|
||
" <td>0.784997</td>\n",
|
||
" <td>78.499749</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>61_R_1_10009_10008</td>\n",
|
||
" <td>0.883504</td>\n",
|
||
" <td>88.350433</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>62_R_1_10009_10006</td>\n",
|
||
" <td>0.835865</td>\n",
|
||
" <td>83.586452</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>63_R_1_10009_10010</td>\n",
|
||
" <td>0.902004</td>\n",
|
||
" <td>90.200443</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>64_R_1_10009_10018</td>\n",
|
||
" <td>0.784996</td>\n",
|
||
" <td>78.499641</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>65_R_1_10009_10008</td>\n",
|
||
" <td>0.883507</td>\n",
|
||
" <td>88.350696</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>66_R_2_10006_10009</td>\n",
|
||
" <td>0.927571</td>\n",
|
||
" <td>92.757089</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>67_R_2_10006_10005</td>\n",
|
||
" <td>0.933438</td>\n",
|
||
" <td>93.343762</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>68_R_2_10006_10003</td>\n",
|
||
" <td>0.828859</td>\n",
|
||
" <td>82.885870</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>69_R_2_10006_10004</td>\n",
|
||
" <td>0.918694</td>\n",
|
||
" <td>91.869435</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>70_R_2_10006_10010</td>\n",
|
||
" <td>0.904668</td>\n",
|
||
" <td>90.466808</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>71_R_2_10006_10018</td>\n",
|
||
" <td>0.851591</td>\n",
|
||
" <td>85.159080</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>72_R_2_10006_10009</td>\n",
|
||
" <td>0.927571</td>\n",
|
||
" <td>92.757137</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>73_R_2_10006_10005</td>\n",
|
||
" <td>0.933439</td>\n",
|
||
" <td>93.343900</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>74_R_2_10006_10003</td>\n",
|
||
" <td>0.828859</td>\n",
|
||
" <td>82.885900</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>75_R_2_10006_10004</td>\n",
|
||
" <td>0.918697</td>\n",
|
||
" <td>91.869696</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>76_R_2_10006_10010</td>\n",
|
||
" <td>0.904668</td>\n",
|
||
" <td>90.466778</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>77_R_2_10006_10018</td>\n",
|
||
" <td>0.851592</td>\n",
|
||
" <td>85.159156</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>78_R_2_10006_10009</td>\n",
|
||
" <td>0.927571</td>\n",
|
||
" <td>92.757116</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>79_R_2_10006_10005</td>\n",
|
||
" <td>0.933438</td>\n",
|
||
" <td>93.343779</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>80_R_2_10006_10003</td>\n",
|
||
" <td>0.828860</td>\n",
|
||
" <td>82.885964</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>81_R_2_10006_10004</td>\n",
|
||
" <td>0.918695</td>\n",
|
||
" <td>91.869508</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>82_R_2_10006_10010</td>\n",
|
||
" <td>0.904668</td>\n",
|
||
" <td>90.466808</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>83_R_2_10006_10018</td>\n",
|
||
" <td>0.851592</td>\n",
|
||
" <td>85.159156</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>84_R_3_10008_10009</td>\n",
|
||
" <td>0.853892</td>\n",
|
||
" <td>85.389242</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>85_R_3_10008_10007</td>\n",
|
||
" <td>0.724949</td>\n",
|
||
" <td>72.494926</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>86_R_3_10008_10005</td>\n",
|
||
" <td>0.888240</td>\n",
|
||
" <td>88.824040</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>87_R_3_10008_10009</td>\n",
|
||
" <td>0.853894</td>\n",
|
||
" <td>85.389381</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>88_R_3_10008_10007</td>\n",
|
||
" <td>0.724948</td>\n",
|
||
" <td>72.494838</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>89_R_3_10008_10005</td>\n",
|
||
" <td>0.888239</td>\n",
|
||
" <td>88.823931</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>90_R_3_10008_10009</td>\n",
|
||
" <td>0.853889</td>\n",
|
||
" <td>85.388921</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>91_R_3_10008_10007</td>\n",
|
||
" <td>0.724947</td>\n",
|
||
" <td>72.494749</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>92_R_3_10008_10005</td>\n",
|
||
" <td>0.888240</td>\n",
|
||
" <td>88.823995</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>93_R_4_10005_10008</td>\n",
|
||
" <td>0.906965</td>\n",
|
||
" <td>90.696521</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>94_R_4_10005_10003</td>\n",
|
||
" <td>0.928921</td>\n",
|
||
" <td>92.892072</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>95_R_4_10005_10001</td>\n",
|
||
" <td>0.799844</td>\n",
|
||
" <td>79.984448</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>96_R_4_10005_10002</td>\n",
|
||
" <td>0.879664</td>\n",
|
||
" <td>87.966375</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>97_R_4_10005_10004</td>\n",
|
||
" <td>0.938226</td>\n",
|
||
" <td>93.822629</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>98_R_4_10005_10006</td>\n",
|
||
" <td>0.893680</td>\n",
|
||
" <td>89.367981</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>99_R_4_10005_10008</td>\n",
|
||
" <td>0.906966</td>\n",
|
||
" <td>90.696556</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>100_R_4_10005_10003</td>\n",
|
||
" <td>0.928921</td>\n",
|
||
" <td>92.892117</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>101_R_4_10005_10001</td>\n",
|
||
" <td>0.799845</td>\n",
|
||
" <td>79.984486</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>102_R_4_10005_10002</td>\n",
|
||
" <td>0.879664</td>\n",
|
||
" <td>87.966399</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>103_R_4_10005_10004</td>\n",
|
||
" <td>0.938224</td>\n",
|
||
" <td>93.822400</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>104_R_4_10005_10006</td>\n",
|
||
" <td>0.893681</td>\n",
|
||
" <td>89.368064</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>105_R_4_10005_10008</td>\n",
|
||
" <td>0.906963</td>\n",
|
||
" <td>90.696314</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>106_R_4_10005_10003</td>\n",
|
||
" <td>0.928921</td>\n",
|
||
" <td>92.892061</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>107_R_4_10005_10001</td>\n",
|
||
" <td>0.799845</td>\n",
|
||
" <td>79.984511</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>108_R_4_10005_10002</td>\n",
|
||
" <td>0.879662</td>\n",
|
||
" <td>87.966243</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>109_R_4_10005_10004</td>\n",
|
||
" <td>0.938226</td>\n",
|
||
" <td>93.822647</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>110_R_4_10005_10006</td>\n",
|
||
" <td>0.893680</td>\n",
|
||
" <td>89.368009</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>111_R_5_10004_10005</td>\n",
|
||
" <td>0.927051</td>\n",
|
||
" <td>92.705147</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>112_R_5_10004_10003</td>\n",
|
||
" <td>0.883278</td>\n",
|
||
" <td>88.327830</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>113_R_5_10004_10002</td>\n",
|
||
" <td>0.789773</td>\n",
|
||
" <td>78.977266</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>114_R_5_10004_10006</td>\n",
|
||
" <td>0.842043</td>\n",
|
||
" <td>84.204278</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>115_R_5_10004_10005</td>\n",
|
||
" <td>0.927052</td>\n",
|
||
" <td>92.705177</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>116_R_5_10004_10003</td>\n",
|
||
" <td>0.883277</td>\n",
|
||
" <td>88.327743</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>117_R_5_10004_10002</td>\n",
|
||
" <td>0.789772</td>\n",
|
||
" <td>78.977229</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>118_R_5_10004_10006</td>\n",
|
||
" <td>0.842042</td>\n",
|
||
" <td>84.204212</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>119_R_5_10004_10005</td>\n",
|
||
" <td>0.927052</td>\n",
|
||
" <td>92.705177</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>120_R_5_10004_10003</td>\n",
|
||
" <td>0.883277</td>\n",
|
||
" <td>88.327743</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>121_R_5_10004_10002</td>\n",
|
||
" <td>0.789773</td>\n",
|
||
" <td>78.977266</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>122_R_5_10004_10006</td>\n",
|
||
" <td>0.842043</td>\n",
|
||
" <td>84.204278</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>123_R_6_10003_10004</td>\n",
|
||
" <td>0.914785</td>\n",
|
||
" <td>91.478496</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>124_R_6_10003_10006</td>\n",
|
||
" <td>0.845742</td>\n",
|
||
" <td>84.574152</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>125_R_6_10003_10005</td>\n",
|
||
" <td>0.912151</td>\n",
|
||
" <td>91.215079</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>126_R_6_10003_10007</td>\n",
|
||
" <td>0.930573</td>\n",
|
||
" <td>93.057272</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>127_R_6_10003_10016</td>\n",
|
||
" <td>0.895045</td>\n",
|
||
" <td>89.504493</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>128_R_6_10003_10001</td>\n",
|
||
" <td>0.845945</td>\n",
|
||
" <td>84.594481</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>129_R_6_10003_10002</td>\n",
|
||
" <td>0.912706</td>\n",
|
||
" <td>91.270636</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>130_R_6_10003_10004</td>\n",
|
||
" <td>0.914786</td>\n",
|
||
" <td>91.478625</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>131_R_6_10003_10006</td>\n",
|
||
" <td>0.845740</td>\n",
|
||
" <td>84.573993</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>132_R_6_10003_10005</td>\n",
|
||
" <td>0.912151</td>\n",
|
||
" <td>91.215135</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>133_R_6_10003_10007</td>\n",
|
||
" <td>0.930573</td>\n",
|
||
" <td>93.057264</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>134_R_6_10003_10016</td>\n",
|
||
" <td>0.895046</td>\n",
|
||
" <td>89.504567</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>135_R_6_10003_10001</td>\n",
|
||
" <td>0.845944</td>\n",
|
||
" <td>84.594368</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>136_R_6_10003_10002</td>\n",
|
||
" <td>0.912705</td>\n",
|
||
" <td>91.270530</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>137_R_6_10003_10004</td>\n",
|
||
" <td>0.914785</td>\n",
|
||
" <td>91.478545</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>138_R_6_10003_10006</td>\n",
|
||
" <td>0.845741</td>\n",
|
||
" <td>84.574109</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>139_R_6_10003_10005</td>\n",
|
||
" <td>0.912150</td>\n",
|
||
" <td>91.215009</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>140_R_6_10003_10007</td>\n",
|
||
" <td>0.930571</td>\n",
|
||
" <td>93.057098</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>141_R_6_10003_10016</td>\n",
|
||
" <td>0.895045</td>\n",
|
||
" <td>89.504548</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>142_R_6_10003_10001</td>\n",
|
||
" <td>0.845946</td>\n",
|
||
" <td>84.594581</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>143_R_6_10003_10002</td>\n",
|
||
" <td>0.912706</td>\n",
|
||
" <td>91.270556</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>144_R_7_10002_10003</td>\n",
|
||
" <td>0.941362</td>\n",
|
||
" <td>94.136187</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>145_R_7_10002_10001</td>\n",
|
||
" <td>0.849296</td>\n",
|
||
" <td>84.929597</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>146_R_7_10002_10004</td>\n",
|
||
" <td>0.901319</td>\n",
|
||
" <td>90.131879</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>147_R_7_10002_10006</td>\n",
|
||
" <td>0.828230</td>\n",
|
||
" <td>82.822981</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>148_R_7_10002_10005</td>\n",
|
||
" <td>0.892607</td>\n",
|
||
" <td>89.260732</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>149_R_7_10002_10003</td>\n",
|
||
" <td>0.941363</td>\n",
|
||
" <td>94.136262</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>150_R_7_10002_10001</td>\n",
|
||
" <td>0.849295</td>\n",
|
||
" <td>84.929502</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>151_R_7_10002_10004</td>\n",
|
||
" <td>0.901319</td>\n",
|
||
" <td>90.131890</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>152_R_7_10002_10006</td>\n",
|
||
" <td>0.828230</td>\n",
|
||
" <td>82.823007</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>153_R_7_10002_10005</td>\n",
|
||
" <td>0.892608</td>\n",
|
||
" <td>89.260782</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>154_R_7_10002_10003</td>\n",
|
||
" <td>0.941362</td>\n",
|
||
" <td>94.136205</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>155_R_7_10002_10001</td>\n",
|
||
" <td>0.849296</td>\n",
|
||
" <td>84.929597</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>156_R_7_10002_10004</td>\n",
|
||
" <td>0.901318</td>\n",
|
||
" <td>90.131787</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>157_R_7_10002_10006</td>\n",
|
||
" <td>0.828231</td>\n",
|
||
" <td>82.823101</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>158_R_7_10002_10005</td>\n",
|
||
" <td>0.892607</td>\n",
|
||
" <td>89.260735</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>159_R_8_10001_10002</td>\n",
|
||
" <td>0.918022</td>\n",
|
||
" <td>91.802194</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>160_R_8_10001_10005</td>\n",
|
||
" <td>0.798218</td>\n",
|
||
" <td>79.821781</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>161_R_8_10001_10003</td>\n",
|
||
" <td>0.908435</td>\n",
|
||
" <td>90.843458</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>162_R_8_10001_10011</td>\n",
|
||
" <td>0.822404</td>\n",
|
||
" <td>82.240381</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>163_R_8_10001_10002</td>\n",
|
||
" <td>0.918023</td>\n",
|
||
" <td>91.802298</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>164_R_8_10001_10005</td>\n",
|
||
" <td>0.798220</td>\n",
|
||
" <td>79.821958</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>165_R_8_10001_10003</td>\n",
|
||
" <td>0.908436</td>\n",
|
||
" <td>90.843556</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>166_R_8_10001_10011</td>\n",
|
||
" <td>0.822404</td>\n",
|
||
" <td>82.240418</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>167_R_8_10001_10002</td>\n",
|
||
" <td>0.918023</td>\n",
|
||
" <td>91.802296</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>168_R_8_10001_10005</td>\n",
|
||
" <td>0.798219</td>\n",
|
||
" <td>79.821856</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>169_R_8_10001_10003</td>\n",
|
||
" <td>0.908436</td>\n",
|
||
" <td>90.843595</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>170_R_8_10001_10011</td>\n",
|
||
" <td>0.822404</td>\n",
|
||
" <td>82.240436</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>171_R_9_10010_10006</td>\n",
|
||
" <td>0.831869</td>\n",
|
||
" <td>83.186851</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>172_R_9_10010_10026</td>\n",
|
||
" <td>0.900498</td>\n",
|
||
" <td>90.049824</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>173_R_9_10010_10027</td>\n",
|
||
" <td>0.789122</td>\n",
|
||
" <td>78.912156</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>174_R_9_10010_10018</td>\n",
|
||
" <td>0.933821</td>\n",
|
||
" <td>93.382060</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>175_R_9_10010_10009</td>\n",
|
||
" <td>0.905714</td>\n",
|
||
" <td>90.571427</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>176_R_9_10010_10006</td>\n",
|
||
" <td>0.831869</td>\n",
|
||
" <td>83.186894</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>177_R_9_10010_10026</td>\n",
|
||
" <td>0.900499</td>\n",
|
||
" <td>90.049858</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>178_R_9_10010_10027</td>\n",
|
||
" <td>0.789123</td>\n",
|
||
" <td>78.912264</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>179_R_9_10010_10018</td>\n",
|
||
" <td>0.933820</td>\n",
|
||
" <td>93.382018</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>180_R_9_10010_10009</td>\n",
|
||
" <td>0.905715</td>\n",
|
||
" <td>90.571549</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>181_R_9_10010_10006</td>\n",
|
||
" <td>0.831866</td>\n",
|
||
" <td>83.186635</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>182_R_9_10010_10026</td>\n",
|
||
" <td>0.900497</td>\n",
|
||
" <td>90.049729</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>183_R_9_10010_10027</td>\n",
|
||
" <td>0.789123</td>\n",
|
||
" <td>78.912334</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>184_R_9_10010_10018</td>\n",
|
||
" <td>0.933820</td>\n",
|
||
" <td>93.381996</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>185_R_9_10010_10009</td>\n",
|
||
" <td>0.905716</td>\n",
|
||
" <td>90.571581</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>186_R_10_10018_10010</td>\n",
|
||
" <td>0.914119</td>\n",
|
||
" <td>91.411941</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>187_R_10_10018_10026</td>\n",
|
||
" <td>0.934656</td>\n",
|
||
" <td>93.465627</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>188_R_10_10018_10043</td>\n",
|
||
" <td>0.792433</td>\n",
|
||
" <td>79.243290</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>189_R_10_10018_10027</td>\n",
|
||
" <td>0.889709</td>\n",
|
||
" <td>88.970950</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>190_R_10_10018_10009</td>\n",
|
||
" <td>0.845808</td>\n",
|
||
" <td>84.580772</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>191_R_10_10018_10010</td>\n",
|
||
" <td>0.914119</td>\n",
|
||
" <td>91.411892</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>192_R_10_10018_10026</td>\n",
|
||
" <td>0.934655</td>\n",
|
||
" <td>93.465535</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>193_R_10_10018_10043</td>\n",
|
||
" <td>0.792432</td>\n",
|
||
" <td>79.243230</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>194_R_10_10018_10027</td>\n",
|
||
" <td>0.889710</td>\n",
|
||
" <td>88.970965</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>195_R_10_10018_10009</td>\n",
|
||
" <td>0.845808</td>\n",
|
||
" <td>84.580798</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>196_R_10_10018_10010</td>\n",
|
||
" <td>0.914119</td>\n",
|
||
" <td>91.411861</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>197_R_10_10018_10026</td>\n",
|
||
" <td>0.934656</td>\n",
|
||
" <td>93.465611</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>198_R_10_10018_10043</td>\n",
|
||
" <td>0.792433</td>\n",
|
||
" <td>79.243289</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>199_R_10_10018_10027</td>\n",
|
||
" <td>0.889709</td>\n",
|
||
" <td>88.970896</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>200_R_10_10018_10009</td>\n",
|
||
" <td>0.845807</td>\n",
|
||
" <td>84.580746</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>201_R_11_10026_10018</td>\n",
|
||
" <td>0.913959</td>\n",
|
||
" <td>91.395900</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>202_R_11_10026_10010</td>\n",
|
||
" <td>0.871525</td>\n",
|
||
" <td>87.152545</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>203_R_11_10026_10043</td>\n",
|
||
" <td>0.887525</td>\n",
|
||
" <td>88.752478</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>204_R_11_10026_10044</td>\n",
|
||
" <td>0.817826</td>\n",
|
||
" <td>81.782602</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>205_R_11_10026_10027</td>\n",
|
||
" <td>0.936012</td>\n",
|
||
" <td>93.601157</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>206_R_11_10026_10021</td>\n",
|
||
" <td>0.933239</td>\n",
|
||
" <td>93.323911</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>207_R_11_10026_10020</td>\n",
|
||
" <td>0.922849</td>\n",
|
||
" <td>92.284861</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>208_R_11_10026_10018</td>\n",
|
||
" <td>0.913960</td>\n",
|
||
" <td>91.395982</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>209_R_11_10026_10010</td>\n",
|
||
" <td>0.871526</td>\n",
|
||
" <td>87.152649</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>210_R_11_10026_10043</td>\n",
|
||
" <td>0.887525</td>\n",
|
||
" <td>88.752535</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>211_R_11_10026_10044</td>\n",
|
||
" <td>0.817826</td>\n",
|
||
" <td>81.782638</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>212_R_11_10026_10027</td>\n",
|
||
" <td>0.936012</td>\n",
|
||
" <td>93.601158</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>213_R_11_10026_10021</td>\n",
|
||
" <td>0.933239</td>\n",
|
||
" <td>93.323911</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>214_R_11_10026_10020</td>\n",
|
||
" <td>0.922848</td>\n",
|
||
" <td>92.284830</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>215_R_11_10026_10018</td>\n",
|
||
" <td>0.913960</td>\n",
|
||
" <td>91.395955</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>216_R_11_10026_10010</td>\n",
|
||
" <td>0.871525</td>\n",
|
||
" <td>87.152545</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>217_R_11_10026_10043</td>\n",
|
||
" <td>0.887525</td>\n",
|
||
" <td>88.752455</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>218_R_11_10026_10044</td>\n",
|
||
" <td>0.817826</td>\n",
|
||
" <td>81.782626</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>219_R_11_10026_10027</td>\n",
|
||
" <td>0.936011</td>\n",
|
||
" <td>93.601066</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>220_R_11_10026_10021</td>\n",
|
||
" <td>0.933238</td>\n",
|
||
" <td>93.323842</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>221_R_11_10026_10020</td>\n",
|
||
" <td>0.922848</td>\n",
|
||
" <td>92.284788</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>222_R_12_10021_10026</td>\n",
|
||
" <td>0.852514</td>\n",
|
||
" <td>85.251376</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>223_R_12_10021_10024</td>\n",
|
||
" <td>0.912337</td>\n",
|
||
" <td>91.233652</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>224_R_12_10021_10025</td>\n",
|
||
" <td>0.856248</td>\n",
|
||
" <td>85.624762</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>225_R_12_10021_10022</td>\n",
|
||
" <td>0.946427</td>\n",
|
||
" <td>94.642735</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>226_R_12_10021_10023</td>\n",
|
||
" <td>0.938889</td>\n",
|
||
" <td>93.888918</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>227_R_12_10021_10020</td>\n",
|
||
" <td>0.953749</td>\n",
|
||
" <td>95.374925</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>228_R_12_10021_10019</td>\n",
|
||
" <td>0.860782</td>\n",
|
||
" <td>86.078207</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>229_R_12_10021_10026</td>\n",
|
||
" <td>0.852514</td>\n",
|
||
" <td>85.251396</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>230_R_12_10021_10024</td>\n",
|
||
" <td>0.912337</td>\n",
|
||
" <td>91.233690</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>231_R_12_10021_10025</td>\n",
|
||
" <td>0.856248</td>\n",
|
||
" <td>85.624800</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>232_R_12_10021_10022</td>\n",
|
||
" <td>0.946424</td>\n",
|
||
" <td>94.642439</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>233_R_12_10021_10023</td>\n",
|
||
" <td>0.938887</td>\n",
|
||
" <td>93.888725</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>234_R_12_10021_10020</td>\n",
|
||
" <td>0.953751</td>\n",
|
||
" <td>95.375103</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>235_R_12_10021_10019</td>\n",
|
||
" <td>0.860782</td>\n",
|
||
" <td>86.078157</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>236_R_12_10021_10026</td>\n",
|
||
" <td>0.852514</td>\n",
|
||
" <td>85.251375</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>237_R_12_10021_10024</td>\n",
|
||
" <td>0.912336</td>\n",
|
||
" <td>91.233579</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>238_R_12_10021_10025</td>\n",
|
||
" <td>0.856248</td>\n",
|
||
" <td>85.624761</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>239_R_12_10021_10022</td>\n",
|
||
" <td>0.946424</td>\n",
|
||
" <td>94.642448</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>240_R_12_10021_10023</td>\n",
|
||
" <td>0.938885</td>\n",
|
||
" <td>93.888536</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>241_R_12_10021_10020</td>\n",
|
||
" <td>0.953750</td>\n",
|
||
" <td>95.375048</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>242_R_12_10021_10019</td>\n",
|
||
" <td>0.860781</td>\n",
|
||
" <td>86.078127</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>243_R_13_10020_10021</td>\n",
|
||
" <td>0.955192</td>\n",
|
||
" <td>95.519239</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>244_R_13_10020_10022</td>\n",
|
||
" <td>0.946517</td>\n",
|
||
" <td>94.651700</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>245_R_13_10020_10024</td>\n",
|
||
" <td>0.908404</td>\n",
|
||
" <td>90.840366</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>246_R_13_10020_10025</td>\n",
|
||
" <td>0.857823</td>\n",
|
||
" <td>85.782263</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>247_R_13_10020_10023</td>\n",
|
||
" <td>0.943152</td>\n",
|
||
" <td>94.315245</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>248_R_13_10020_10019</td>\n",
|
||
" <td>0.875322</td>\n",
|
||
" <td>87.532187</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>249_R_13_10020_10026</td>\n",
|
||
" <td>0.836920</td>\n",
|
||
" <td>83.691990</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>250_R_13_10020_10021</td>\n",
|
||
" <td>0.955192</td>\n",
|
||
" <td>95.519234</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>251_R_13_10020_10022</td>\n",
|
||
" <td>0.946515</td>\n",
|
||
" <td>94.651522</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>252_R_13_10020_10024</td>\n",
|
||
" <td>0.908403</td>\n",
|
||
" <td>90.840326</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>253_R_13_10020_10025</td>\n",
|
||
" <td>0.857822</td>\n",
|
||
" <td>85.782227</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>254_R_13_10020_10023</td>\n",
|
||
" <td>0.943153</td>\n",
|
||
" <td>94.315287</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>255_R_13_10020_10019</td>\n",
|
||
" <td>0.875322</td>\n",
|
||
" <td>87.532209</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>256_R_13_10020_10026</td>\n",
|
||
" <td>0.836919</td>\n",
|
||
" <td>83.691946</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>257_R_13_10020_10021</td>\n",
|
||
" <td>0.955196</td>\n",
|
||
" <td>95.519620</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>258_R_13_10020_10022</td>\n",
|
||
" <td>0.946513</td>\n",
|
||
" <td>94.651333</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>259_R_13_10020_10024</td>\n",
|
||
" <td>0.908404</td>\n",
|
||
" <td>90.840363</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>260_R_13_10020_10025</td>\n",
|
||
" <td>0.857823</td>\n",
|
||
" <td>85.782264</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>261_R_13_10020_10023</td>\n",
|
||
" <td>0.943155</td>\n",
|
||
" <td>94.315452</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>262_R_13_10020_10019</td>\n",
|
||
" <td>0.875323</td>\n",
|
||
" <td>87.532299</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>263_R_13_10020_10026</td>\n",
|
||
" <td>0.836917</td>\n",
|
||
" <td>83.691685</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>264_R_14_10019_10020</td>\n",
|
||
" <td>0.929885</td>\n",
|
||
" <td>92.988474</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>265_R_14_10019_10033</td>\n",
|
||
" <td>0.854490</td>\n",
|
||
" <td>85.449006</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>266_R_14_10019_10017</td>\n",
|
||
" <td>0.846116</td>\n",
|
||
" <td>84.611630</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>267_R_14_10019_10026</td>\n",
|
||
" <td>0.815120</td>\n",
|
||
" <td>81.512029</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>268_R_14_10019_10021</td>\n",
|
||
" <td>0.916716</td>\n",
|
||
" <td>91.671631</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>269_R_14_10019_10020</td>\n",
|
||
" <td>0.929886</td>\n",
|
||
" <td>92.988569</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>270_R_14_10019_10033</td>\n",
|
||
" <td>0.854490</td>\n",
|
||
" <td>85.448972</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>271_R_14_10019_10017</td>\n",
|
||
" <td>0.846119</td>\n",
|
||
" <td>84.611875</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>272_R_14_10019_10026</td>\n",
|
||
" <td>0.815121</td>\n",
|
||
" <td>81.512052</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>273_R_14_10019_10021</td>\n",
|
||
" <td>0.916716</td>\n",
|
||
" <td>91.671647</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>274_R_14_10019_10020</td>\n",
|
||
" <td>0.929885</td>\n",
|
||
" <td>92.988474</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>275_R_14_10019_10033</td>\n",
|
||
" <td>0.854491</td>\n",
|
||
" <td>85.449110</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>276_R_14_10019_10017</td>\n",
|
||
" <td>0.846113</td>\n",
|
||
" <td>84.611306</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>277_R_14_10019_10026</td>\n",
|
||
" <td>0.815117</td>\n",
|
||
" <td>81.511715</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>278_R_14_10019_10021</td>\n",
|
||
" <td>0.916715</td>\n",
|
||
" <td>91.671547</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>279_R_15_10027_10026</td>\n",
|
||
" <td>0.927903</td>\n",
|
||
" <td>92.790318</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>280_R_15_10027_10010</td>\n",
|
||
" <td>0.836779</td>\n",
|
||
" <td>83.677932</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>281_R_15_10027_10018</td>\n",
|
||
" <td>0.889265</td>\n",
|
||
" <td>88.926514</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>282_R_15_10027_10043</td>\n",
|
||
" <td>0.909312</td>\n",
|
||
" <td>90.931216</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>283_R_15_10027_10044</td>\n",
|
||
" <td>0.835956</td>\n",
|
||
" <td>83.595592</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>284_R_15_10027_10025</td>\n",
|
||
" <td>0.921650</td>\n",
|
||
" <td>92.165047</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>285_R_15_10027_10026</td>\n",
|
||
" <td>0.927902</td>\n",
|
||
" <td>92.790229</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>286_R_15_10027_10010</td>\n",
|
||
" <td>0.836779</td>\n",
|
||
" <td>83.677890</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>287_R_15_10027_10018</td>\n",
|
||
" <td>0.889267</td>\n",
|
||
" <td>88.926704</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>288_R_15_10027_10043</td>\n",
|
||
" <td>0.909312</td>\n",
|
||
" <td>90.931159</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>289_R_15_10027_10044</td>\n",
|
||
" <td>0.835956</td>\n",
|
||
" <td>83.595592</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>290_R_15_10027_10025</td>\n",
|
||
" <td>0.921651</td>\n",
|
||
" <td>92.165085</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>291_R_15_10027_10026</td>\n",
|
||
" <td>0.927901</td>\n",
|
||
" <td>92.790145</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>292_R_15_10027_10010</td>\n",
|
||
" <td>0.836779</td>\n",
|
||
" <td>83.677890</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>293_R_15_10027_10018</td>\n",
|
||
" <td>0.889266</td>\n",
|
||
" <td>88.926635</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>294_R_15_10027_10043</td>\n",
|
||
" <td>0.909311</td>\n",
|
||
" <td>90.931063</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>295_R_15_10027_10044</td>\n",
|
||
" <td>0.835956</td>\n",
|
||
" <td>83.595556</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>296_R_15_10027_10025</td>\n",
|
||
" <td>0.921653</td>\n",
|
||
" <td>92.165350</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>297_R_16_10022_10021</td>\n",
|
||
" <td>0.911471</td>\n",
|
||
" <td>91.147106</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>298_R_16_10022_10024</td>\n",
|
||
" <td>0.896527</td>\n",
|
||
" <td>89.652659</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>299_R_16_10022_10025</td>\n",
|
||
" <td>0.768099</td>\n",
|
||
" <td>76.809863</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>300_R_16_10022_10023</td>\n",
|
||
" <td>0.939049</td>\n",
|
||
" <td>93.904898</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>301_R_16_10022_10020</td>\n",
|
||
" <td>0.910767</td>\n",
|
||
" <td>91.076661</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>302_R_16_10022_10021</td>\n",
|
||
" <td>0.911467</td>\n",
|
||
" <td>91.146711</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>303_R_16_10022_10024</td>\n",
|
||
" <td>0.896522</td>\n",
|
||
" <td>89.652160</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>304_R_16_10022_10025</td>\n",
|
||
" <td>0.768100</td>\n",
|
||
" <td>76.810015</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>305_R_16_10022_10023</td>\n",
|
||
" <td>0.939049</td>\n",
|
||
" <td>93.904898</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>306_R_16_10022_10020</td>\n",
|
||
" <td>0.910761</td>\n",
|
||
" <td>91.076150</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>307_R_16_10022_10021</td>\n",
|
||
" <td>0.911468</td>\n",
|
||
" <td>91.146778</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>308_R_16_10022_10024</td>\n",
|
||
" <td>0.896518</td>\n",
|
||
" <td>89.651845</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>309_R_16_10022_10025</td>\n",
|
||
" <td>0.768098</td>\n",
|
||
" <td>76.809848</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>310_R_16_10022_10023</td>\n",
|
||
" <td>0.939045</td>\n",
|
||
" <td>93.904501</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>311_R_16_10022_10020</td>\n",
|
||
" <td>0.910764</td>\n",
|
||
" <td>91.076357</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>312_R_17_10023_10022</td>\n",
|
||
" <td>0.933526</td>\n",
|
||
" <td>93.352642</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>313_R_17_10023_10024</td>\n",
|
||
" <td>0.906053</td>\n",
|
||
" <td>90.605291</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>314_R_17_10023_10025</td>\n",
|
||
" <td>0.793915</td>\n",
|
||
" <td>79.391521</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>315_R_17_10023_10020</td>\n",
|
||
" <td>0.896972</td>\n",
|
||
" <td>89.697188</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>316_R_17_10023_10021</td>\n",
|
||
" <td>0.889551</td>\n",
|
||
" <td>88.955085</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>317_R_17_10023_10022</td>\n",
|
||
" <td>0.933519</td>\n",
|
||
" <td>93.351942</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>318_R_17_10023_10024</td>\n",
|
||
" <td>0.906048</td>\n",
|
||
" <td>90.604781</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>319_R_17_10023_10025</td>\n",
|
||
" <td>0.793919</td>\n",
|
||
" <td>79.391935</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>320_R_17_10023_10020</td>\n",
|
||
" <td>0.896972</td>\n",
|
||
" <td>89.697188</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>321_R_17_10023_10021</td>\n",
|
||
" <td>0.889553</td>\n",
|
||
" <td>88.955293</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>322_R_17_10023_10022</td>\n",
|
||
" <td>0.933518</td>\n",
|
||
" <td>93.351806</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>323_R_17_10023_10024</td>\n",
|
||
" <td>0.906051</td>\n",
|
||
" <td>90.605115</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>324_R_17_10023_10025</td>\n",
|
||
" <td>0.793919</td>\n",
|
||
" <td>79.391936</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>325_R_17_10023_10020</td>\n",
|
||
" <td>0.896968</td>\n",
|
||
" <td>89.696816</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>326_R_17_10023_10021</td>\n",
|
||
" <td>0.889553</td>\n",
|
||
" <td>88.955295</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>327_R_18_10024_10023</td>\n",
|
||
" <td>0.932209</td>\n",
|
||
" <td>93.220865</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>328_R_18_10024_10020</td>\n",
|
||
" <td>0.869019</td>\n",
|
||
" <td>86.901907</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>329_R_18_10024_10022</td>\n",
|
||
" <td>0.918016</td>\n",
|
||
" <td>91.801635</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>330_R_18_10024_10021</td>\n",
|
||
" <td>0.877614</td>\n",
|
||
" <td>87.761390</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>331_R_18_10024_10025</td>\n",
|
||
" <td>0.859741</td>\n",
|
||
" <td>85.974099</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>332_R_18_10024_10023</td>\n",
|
||
" <td>0.932209</td>\n",
|
||
" <td>93.220863</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>333_R_18_10024_10020</td>\n",
|
||
" <td>0.869015</td>\n",
|
||
" <td>86.901473</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>334_R_18_10024_10022</td>\n",
|
||
" <td>0.918021</td>\n",
|
||
" <td>91.802111</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>335_R_18_10024_10021</td>\n",
|
||
" <td>0.877615</td>\n",
|
||
" <td>87.761544</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>336_R_18_10024_10025</td>\n",
|
||
" <td>0.859747</td>\n",
|
||
" <td>85.974667</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>337_R_18_10024_10023</td>\n",
|
||
" <td>0.932208</td>\n",
|
||
" <td>93.220787</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>338_R_18_10024_10020</td>\n",
|
||
" <td>0.869018</td>\n",
|
||
" <td>86.901754</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>339_R_18_10024_10022</td>\n",
|
||
" <td>0.918018</td>\n",
|
||
" <td>91.801828</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>340_R_18_10024_10021</td>\n",
|
||
" <td>0.877615</td>\n",
|
||
" <td>87.761493</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>341_R_18_10024_10025</td>\n",
|
||
" <td>0.859745</td>\n",
|
||
" <td>85.974482</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>342_R_19_10025_10024</td>\n",
|
||
" <td>0.943084</td>\n",
|
||
" <td>94.308439</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>343_R_19_10025_10021</td>\n",
|
||
" <td>0.898791</td>\n",
|
||
" <td>89.879104</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>344_R_19_10025_10022</td>\n",
|
||
" <td>0.917869</td>\n",
|
||
" <td>91.786912</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>345_R_19_10025_10020</td>\n",
|
||
" <td>0.898555</td>\n",
|
||
" <td>89.855459</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>346_R_19_10025_10023</td>\n",
|
||
" <td>0.934201</td>\n",
|
||
" <td>93.420145</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>347_R_19_10025_10033</td>\n",
|
||
" <td>0.853554</td>\n",
|
||
" <td>85.355399</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>348_R_19_10025_10027</td>\n",
|
||
" <td>0.887368</td>\n",
|
||
" <td>88.736781</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>349_R_19_10025_10024</td>\n",
|
||
" <td>0.943082</td>\n",
|
||
" <td>94.308207</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>350_R_19_10025_10021</td>\n",
|
||
" <td>0.898793</td>\n",
|
||
" <td>89.879262</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>351_R_19_10025_10022</td>\n",
|
||
" <td>0.917870</td>\n",
|
||
" <td>91.786993</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>352_R_19_10025_10020</td>\n",
|
||
" <td>0.898552</td>\n",
|
||
" <td>89.855203</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>353_R_19_10025_10023</td>\n",
|
||
" <td>0.934199</td>\n",
|
||
" <td>93.419880</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>354_R_19_10025_10033</td>\n",
|
||
" <td>0.853556</td>\n",
|
||
" <td>85.355574</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>355_R_19_10025_10027</td>\n",
|
||
" <td>0.887365</td>\n",
|
||
" <td>88.736509</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>356_R_19_10025_10024</td>\n",
|
||
" <td>0.943085</td>\n",
|
||
" <td>94.308475</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>357_R_19_10025_10021</td>\n",
|
||
" <td>0.898793</td>\n",
|
||
" <td>89.879315</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>358_R_19_10025_10022</td>\n",
|
||
" <td>0.917869</td>\n",
|
||
" <td>91.786918</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>359_R_19_10025_10020</td>\n",
|
||
" <td>0.898553</td>\n",
|
||
" <td>89.855301</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>360_R_19_10025_10023</td>\n",
|
||
" <td>0.934200</td>\n",
|
||
" <td>93.419960</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>361_R_19_10025_10033</td>\n",
|
||
" <td>0.853553</td>\n",
|
||
" <td>85.355265</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>362_R_19_10025_10027</td>\n",
|
||
" <td>0.887366</td>\n",
|
||
" <td>88.736618</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>363_R_20_10043_10027</td>\n",
|
||
" <td>0.907718</td>\n",
|
||
" <td>90.771792</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>364_R_20_10043_10026</td>\n",
|
||
" <td>0.789005</td>\n",
|
||
" <td>78.900515</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>365_R_20_10043_10052</td>\n",
|
||
" <td>0.845220</td>\n",
|
||
" <td>84.522038</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>366_R_20_10043_10044</td>\n",
|
||
" <td>0.914618</td>\n",
|
||
" <td>91.461836</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>367_R_20_10043_10042</td>\n",
|
||
" <td>0.916730</td>\n",
|
||
" <td>91.673006</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>368_R_20_10043_10027</td>\n",
|
||
" <td>0.907716</td>\n",
|
||
" <td>90.771588</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>369_R_20_10043_10026</td>\n",
|
||
" <td>0.789004</td>\n",
|
||
" <td>78.900447</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>370_R_20_10043_10052</td>\n",
|
||
" <td>0.845220</td>\n",
|
||
" <td>84.521991</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>371_R_20_10043_10044</td>\n",
|
||
" <td>0.914619</td>\n",
|
||
" <td>91.461867</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>372_R_20_10043_10042</td>\n",
|
||
" <td>0.916733</td>\n",
|
||
" <td>91.673252</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>373_R_20_10043_10027</td>\n",
|
||
" <td>0.907716</td>\n",
|
||
" <td>90.771633</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>374_R_20_10043_10026</td>\n",
|
||
" <td>0.789004</td>\n",
|
||
" <td>78.900386</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>375_R_20_10043_10052</td>\n",
|
||
" <td>0.845220</td>\n",
|
||
" <td>84.521967</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>376_R_20_10043_10044</td>\n",
|
||
" <td>0.914619</td>\n",
|
||
" <td>91.461909</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>377_R_20_10043_10042</td>\n",
|
||
" <td>0.916730</td>\n",
|
||
" <td>91.672973</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>378_R_21_10044_10027</td>\n",
|
||
" <td>0.823610</td>\n",
|
||
" <td>82.360953</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>379_R_21_10044_10043</td>\n",
|
||
" <td>0.924567</td>\n",
|
||
" <td>92.456666</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>380_R_21_10044_10052</td>\n",
|
||
" <td>0.924689</td>\n",
|
||
" <td>92.468900</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>381_R_21_10044_10053</td>\n",
|
||
" <td>0.860254</td>\n",
|
||
" <td>86.025403</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>382_R_21_10044_10037</td>\n",
|
||
" <td>0.885419</td>\n",
|
||
" <td>88.541948</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>383_R_21_10044_10040</td>\n",
|
||
" <td>0.920128</td>\n",
|
||
" <td>92.012847</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>384_R_21_10044_10042</td>\n",
|
||
" <td>0.933776</td>\n",
|
||
" <td>93.377567</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>385_R_21_10044_10027</td>\n",
|
||
" <td>0.823610</td>\n",
|
||
" <td>82.360991</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>386_R_21_10044_10043</td>\n",
|
||
" <td>0.924570</td>\n",
|
||
" <td>92.457014</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>387_R_21_10044_10052</td>\n",
|
||
" <td>0.924688</td>\n",
|
||
" <td>92.468839</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>388_R_21_10044_10053</td>\n",
|
||
" <td>0.860253</td>\n",
|
||
" <td>86.025266</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>389_R_21_10044_10037</td>\n",
|
||
" <td>0.885421</td>\n",
|
||
" <td>88.542065</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>390_R_21_10044_10040</td>\n",
|
||
" <td>0.920129</td>\n",
|
||
" <td>92.012892</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>391_R_21_10044_10042</td>\n",
|
||
" <td>0.933775</td>\n",
|
||
" <td>93.377516</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>392_R_21_10044_10027</td>\n",
|
||
" <td>0.823611</td>\n",
|
||
" <td>82.361088</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>393_R_21_10044_10043</td>\n",
|
||
" <td>0.924568</td>\n",
|
||
" <td>92.456812</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>394_R_21_10044_10052</td>\n",
|
||
" <td>0.924688</td>\n",
|
||
" <td>92.468814</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>395_R_21_10044_10053</td>\n",
|
||
" <td>0.860253</td>\n",
|
||
" <td>86.025311</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>396_R_21_10044_10037</td>\n",
|
||
" <td>0.885420</td>\n",
|
||
" <td>88.541974</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>397_R_21_10044_10040</td>\n",
|
||
" <td>0.920127</td>\n",
|
||
" <td>92.012689</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>398_R_21_10044_10042</td>\n",
|
||
" <td>0.933777</td>\n",
|
||
" <td>93.377743</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>399_R_22_10042_10043</td>\n",
|
||
" <td>0.841027</td>\n",
|
||
" <td>84.102695</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>400_R_22_10042_10044</td>\n",
|
||
" <td>0.882671</td>\n",
|
||
" <td>88.267139</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>401_R_22_10042_10040</td>\n",
|
||
" <td>0.830628</td>\n",
|
||
" <td>83.062841</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>402_R_22_10042_10041</td>\n",
|
||
" <td>0.869460</td>\n",
|
||
" <td>86.946002</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>403_R_22_10042_10043</td>\n",
|
||
" <td>0.841027</td>\n",
|
||
" <td>84.102702</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>404_R_22_10042_10044</td>\n",
|
||
" <td>0.882678</td>\n",
|
||
" <td>88.267766</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>405_R_22_10042_10040</td>\n",
|
||
" <td>0.830630</td>\n",
|
||
" <td>83.063036</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>406_R_22_10042_10041</td>\n",
|
||
" <td>0.869459</td>\n",
|
||
" <td>86.945896</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>407_R_22_10042_10043</td>\n",
|
||
" <td>0.841029</td>\n",
|
||
" <td>84.102893</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>408_R_22_10042_10044</td>\n",
|
||
" <td>0.882677</td>\n",
|
||
" <td>88.267663</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>409_R_22_10042_10040</td>\n",
|
||
" <td>0.830628</td>\n",
|
||
" <td>83.062793</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>410_R_22_10042_10041</td>\n",
|
||
" <td>0.869458</td>\n",
|
||
" <td>86.945846</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>411_R_23_10041_10042</td>\n",
|
||
" <td>0.900085</td>\n",
|
||
" <td>90.008463</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>412_R_23_10041_10044</td>\n",
|
||
" <td>0.834171</td>\n",
|
||
" <td>83.417141</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>413_R_23_10041_10040</td>\n",
|
||
" <td>0.893162</td>\n",
|
||
" <td>89.316219</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>414_R_23_10041_10038</td>\n",
|
||
" <td>0.821578</td>\n",
|
||
" <td>82.157808</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>415_R_23_10041_10042</td>\n",
|
||
" <td>0.900085</td>\n",
|
||
" <td>90.008463</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>416_R_23_10041_10044</td>\n",
|
||
" <td>0.834171</td>\n",
|
||
" <td>83.417142</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>417_R_23_10041_10040</td>\n",
|
||
" <td>0.893162</td>\n",
|
||
" <td>89.316171</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>418_R_23_10041_10038</td>\n",
|
||
" <td>0.821578</td>\n",
|
||
" <td>82.157807</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>419_R_23_10041_10042</td>\n",
|
||
" <td>0.900087</td>\n",
|
||
" <td>90.008656</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>420_R_23_10041_10044</td>\n",
|
||
" <td>0.834166</td>\n",
|
||
" <td>83.416639</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>421_R_23_10041_10040</td>\n",
|
||
" <td>0.893163</td>\n",
|
||
" <td>89.316321</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>422_R_23_10041_10038</td>\n",
|
||
" <td>0.821579</td>\n",
|
||
" <td>82.157906</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>423_R_24_10037_10044</td>\n",
|
||
" <td>0.867701</td>\n",
|
||
" <td>86.770101</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>424_R_24_10037_10051</td>\n",
|
||
" <td>0.873186</td>\n",
|
||
" <td>87.318626</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>425_R_24_10037_10036</td>\n",
|
||
" <td>0.940679</td>\n",
|
||
" <td>94.067887</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>426_R_24_10037_10035</td>\n",
|
||
" <td>0.859548</td>\n",
|
||
" <td>85.954842</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>427_R_24_10037_10038</td>\n",
|
||
" <td>0.924859</td>\n",
|
||
" <td>92.485929</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>428_R_24_10037_10039</td>\n",
|
||
" <td>0.890435</td>\n",
|
||
" <td>89.043542</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>429_R_24_10037_10040</td>\n",
|
||
" <td>0.931881</td>\n",
|
||
" <td>93.188147</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>430_R_24_10037_10044</td>\n",
|
||
" <td>0.867700</td>\n",
|
||
" <td>86.769972</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>431_R_24_10037_10051</td>\n",
|
||
" <td>0.873186</td>\n",
|
||
" <td>87.318581</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>432_R_24_10037_10036</td>\n",
|
||
" <td>0.940679</td>\n",
|
||
" <td>94.067948</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>433_R_24_10037_10035</td>\n",
|
||
" <td>0.859548</td>\n",
|
||
" <td>85.954752</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>434_R_24_10037_10038</td>\n",
|
||
" <td>0.924859</td>\n",
|
||
" <td>92.485865</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>435_R_24_10037_10039</td>\n",
|
||
" <td>0.890435</td>\n",
|
||
" <td>89.043542</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>436_R_24_10037_10040</td>\n",
|
||
" <td>0.931882</td>\n",
|
||
" <td>93.188227</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>437_R_24_10037_10044</td>\n",
|
||
" <td>0.867700</td>\n",
|
||
" <td>86.769967</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>438_R_24_10037_10051</td>\n",
|
||
" <td>0.873185</td>\n",
|
||
" <td>87.318504</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>439_R_24_10037_10036</td>\n",
|
||
" <td>0.940681</td>\n",
|
||
" <td>94.068060</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>440_R_24_10037_10035</td>\n",
|
||
" <td>0.859548</td>\n",
|
||
" <td>85.954825</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>441_R_24_10037_10038</td>\n",
|
||
" <td>0.924859</td>\n",
|
||
" <td>92.485907</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>442_R_24_10037_10039</td>\n",
|
||
" <td>0.890432</td>\n",
|
||
" <td>89.043210</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>443_R_24_10037_10040</td>\n",
|
||
" <td>0.931880</td>\n",
|
||
" <td>93.188041</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>444_R_25_10052_10043</td>\n",
|
||
" <td>0.836180</td>\n",
|
||
" <td>83.617981</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>445_R_25_10052_10059</td>\n",
|
||
" <td>0.788793</td>\n",
|
||
" <td>78.879309</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>446_R_25_10052_10053</td>\n",
|
||
" <td>0.934513</td>\n",
|
||
" <td>93.451265</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>447_R_25_10052_10050</td>\n",
|
||
" <td>0.915075</td>\n",
|
||
" <td>91.507475</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>448_R_25_10052_10051</td>\n",
|
||
" <td>0.926210</td>\n",
|
||
" <td>92.620978</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>449_R_25_10052_10044</td>\n",
|
||
" <td>0.926927</td>\n",
|
||
" <td>92.692699</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>450_R_25_10052_10043</td>\n",
|
||
" <td>0.836179</td>\n",
|
||
" <td>83.617884</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>451_R_25_10052_10059</td>\n",
|
||
" <td>0.788792</td>\n",
|
||
" <td>78.879248</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>452_R_25_10052_10053</td>\n",
|
||
" <td>0.934512</td>\n",
|
||
" <td>93.451207</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>453_R_25_10052_10050</td>\n",
|
||
" <td>0.915075</td>\n",
|
||
" <td>91.507515</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>454_R_25_10052_10051</td>\n",
|
||
" <td>0.926209</td>\n",
|
||
" <td>92.620878</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>455_R_25_10052_10044</td>\n",
|
||
" <td>0.926926</td>\n",
|
||
" <td>92.692565</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>456_R_25_10052_10043</td>\n",
|
||
" <td>0.836178</td>\n",
|
||
" <td>83.617835</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>457_R_25_10052_10059</td>\n",
|
||
" <td>0.788793</td>\n",
|
||
" <td>78.879330</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>458_R_25_10052_10053</td>\n",
|
||
" <td>0.934511</td>\n",
|
||
" <td>93.451132</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>459_R_25_10052_10050</td>\n",
|
||
" <td>0.915074</td>\n",
|
||
" <td>91.507445</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>460_R_25_10052_10051</td>\n",
|
||
" <td>0.926208</td>\n",
|
||
" <td>92.620829</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>461_R_25_10052_10044</td>\n",
|
||
" <td>0.926924</td>\n",
|
||
" <td>92.692414</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>462_R_26_10040_10037</td>\n",
|
||
" <td>0.856759</td>\n",
|
||
" <td>85.675945</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>463_R_26_10040_10041</td>\n",
|
||
" <td>0.872815</td>\n",
|
||
" <td>87.281546</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>464_R_26_10040_10042</td>\n",
|
||
" <td>0.869801</td>\n",
|
||
" <td>86.980095</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>465_R_26_10040_10044</td>\n",
|
||
" <td>0.857684</td>\n",
|
||
" <td>85.768417</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>466_R_26_10040_10037</td>\n",
|
||
" <td>0.856761</td>\n",
|
||
" <td>85.676060</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>467_R_26_10040_10041</td>\n",
|
||
" <td>0.872818</td>\n",
|
||
" <td>87.281830</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>468_R_26_10040_10042</td>\n",
|
||
" <td>0.869801</td>\n",
|
||
" <td>86.980087</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>469_R_26_10040_10044</td>\n",
|
||
" <td>0.857687</td>\n",
|
||
" <td>85.768697</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>470_R_26_10040_10037</td>\n",
|
||
" <td>0.856761</td>\n",
|
||
" <td>85.676148</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>471_R_26_10040_10041</td>\n",
|
||
" <td>0.872816</td>\n",
|
||
" <td>87.281627</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>472_R_26_10040_10042</td>\n",
|
||
" <td>0.869802</td>\n",
|
||
" <td>86.980162</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>473_R_26_10040_10044</td>\n",
|
||
" <td>0.857683</td>\n",
|
||
" <td>85.768337</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>474_R_27_10051_10037</td>\n",
|
||
" <td>0.770902</td>\n",
|
||
" <td>77.090186</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>475_R_27_10051_10052</td>\n",
|
||
" <td>0.883909</td>\n",
|
||
" <td>88.390866</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>476_R_27_10051_10053</td>\n",
|
||
" <td>0.866157</td>\n",
|
||
" <td>86.615703</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>477_R_27_10051_10050</td>\n",
|
||
" <td>0.901026</td>\n",
|
||
" <td>90.102607</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>478_R_27_10051_10037</td>\n",
|
||
" <td>0.770900</td>\n",
|
||
" <td>77.090047</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>479_R_27_10051_10052</td>\n",
|
||
" <td>0.883908</td>\n",
|
||
" <td>88.390828</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>480_R_27_10051_10053</td>\n",
|
||
" <td>0.866155</td>\n",
|
||
" <td>86.615546</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>481_R_27_10051_10050</td>\n",
|
||
" <td>0.901026</td>\n",
|
||
" <td>90.102571</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>482_R_27_10051_10037</td>\n",
|
||
" <td>0.770901</td>\n",
|
||
" <td>77.090138</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>483_R_27_10051_10052</td>\n",
|
||
" <td>0.883906</td>\n",
|
||
" <td>88.390594</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>484_R_27_10051_10053</td>\n",
|
||
" <td>0.866155</td>\n",
|
||
" <td>86.615539</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>485_R_27_10051_10050</td>\n",
|
||
" <td>0.901025</td>\n",
|
||
" <td>90.102483</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>486_R_28_10011_10001</td>\n",
|
||
" <td>0.807550</td>\n",
|
||
" <td>80.754976</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>487_R_28_10011_10013</td>\n",
|
||
" <td>0.885204</td>\n",
|
||
" <td>88.520438</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>488_R_28_10011_10017</td>\n",
|
||
" <td>0.852464</td>\n",
|
||
" <td>85.246420</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>489_R_28_10011_10028</td>\n",
|
||
" <td>0.814752</td>\n",
|
||
" <td>81.475238</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>490_R_28_10011_10001</td>\n",
|
||
" <td>0.807551</td>\n",
|
||
" <td>80.755059</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>491_R_28_10011_10013</td>\n",
|
||
" <td>0.885202</td>\n",
|
||
" <td>88.520243</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>492_R_28_10011_10017</td>\n",
|
||
" <td>0.852465</td>\n",
|
||
" <td>85.246468</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>493_R_28_10011_10028</td>\n",
|
||
" <td>0.814754</td>\n",
|
||
" <td>81.475423</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>494_R_28_10011_10001</td>\n",
|
||
" <td>0.807551</td>\n",
|
||
" <td>80.755059</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>495_R_28_10011_10013</td>\n",
|
||
" <td>0.885203</td>\n",
|
||
" <td>88.520262</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>496_R_28_10011_10017</td>\n",
|
||
" <td>0.852465</td>\n",
|
||
" <td>85.246484</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>497_R_28_10011_10028</td>\n",
|
||
" <td>0.814753</td>\n",
|
||
" <td>81.475261</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>498_R_29_10017_10011</td>\n",
|
||
" <td>0.823587</td>\n",
|
||
" <td>82.358692</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>499_R_29_10017_10013</td>\n",
|
||
" <td>0.921532</td>\n",
|
||
" <td>92.153229</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>500_R_29_10017_10012</td>\n",
|
||
" <td>0.916274</td>\n",
|
||
" <td>91.627367</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>501_R_29_10017_10014</td>\n",
|
||
" <td>0.934421</td>\n",
|
||
" <td>93.442102</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>502_R_29_10017_10007</td>\n",
|
||
" <td>0.865083</td>\n",
|
||
" <td>86.508340</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>503_R_29_10017_10016</td>\n",
|
||
" <td>0.927683</td>\n",
|
||
" <td>92.768259</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>504_R_29_10017_10019</td>\n",
|
||
" <td>0.890216</td>\n",
|
||
" <td>89.021552</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>505_R_29_10017_10031</td>\n",
|
||
" <td>0.872973</td>\n",
|
||
" <td>87.297330</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>506_R_29_10017_10011</td>\n",
|
||
" <td>0.823588</td>\n",
|
||
" <td>82.358825</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>507_R_29_10017_10013</td>\n",
|
||
" <td>0.921532</td>\n",
|
||
" <td>92.153171</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>508_R_29_10017_10012</td>\n",
|
||
" <td>0.916271</td>\n",
|
||
" <td>91.627138</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>509_R_29_10017_10014</td>\n",
|
||
" <td>0.934419</td>\n",
|
||
" <td>93.441946</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>510_R_29_10017_10007</td>\n",
|
||
" <td>0.865083</td>\n",
|
||
" <td>86.508340</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>511_R_29_10017_10016</td>\n",
|
||
" <td>0.927683</td>\n",
|
||
" <td>92.768309</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>512_R_29_10017_10019</td>\n",
|
||
" <td>0.890215</td>\n",
|
||
" <td>89.021481</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>513_R_29_10017_10031</td>\n",
|
||
" <td>0.872973</td>\n",
|
||
" <td>87.297303</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>514_R_29_10017_10011</td>\n",
|
||
" <td>0.823588</td>\n",
|
||
" <td>82.358768</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>515_R_29_10017_10013</td>\n",
|
||
" <td>0.921533</td>\n",
|
||
" <td>92.153305</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>516_R_29_10017_10012</td>\n",
|
||
" <td>0.916272</td>\n",
|
||
" <td>91.627167</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>517_R_29_10017_10014</td>\n",
|
||
" <td>0.934421</td>\n",
|
||
" <td>93.442050</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>518_R_29_10017_10007</td>\n",
|
||
" <td>0.865083</td>\n",
|
||
" <td>86.508305</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>519_R_29_10017_10016</td>\n",
|
||
" <td>0.927683</td>\n",
|
||
" <td>92.768342</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>520_R_29_10017_10019</td>\n",
|
||
" <td>0.890217</td>\n",
|
||
" <td>89.021657</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>521_R_29_10017_10031</td>\n",
|
||
" <td>0.872972</td>\n",
|
||
" <td>87.297195</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>522_R_30_10013_10017</td>\n",
|
||
" <td>0.833069</td>\n",
|
||
" <td>83.306865</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>523_R_30_10013_10011</td>\n",
|
||
" <td>0.733130</td>\n",
|
||
" <td>73.312952</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>524_R_30_10013_10012</td>\n",
|
||
" <td>0.883424</td>\n",
|
||
" <td>88.342394</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>525_R_30_10013_10017</td>\n",
|
||
" <td>0.833070</td>\n",
|
||
" <td>83.306971</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>526_R_30_10013_10011</td>\n",
|
||
" <td>0.733132</td>\n",
|
||
" <td>73.313224</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>527_R_30_10013_10012</td>\n",
|
||
" <td>0.883423</td>\n",
|
||
" <td>88.342262</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>528_R_30_10013_10017</td>\n",
|
||
" <td>0.833069</td>\n",
|
||
" <td>83.306917</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>529_R_30_10013_10011</td>\n",
|
||
" <td>0.733127</td>\n",
|
||
" <td>73.312725</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>530_R_30_10013_10012</td>\n",
|
||
" <td>0.883422</td>\n",
|
||
" <td>88.342157</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>531_R_31_10007_10008</td>\n",
|
||
" <td>0.808754</td>\n",
|
||
" <td>80.875372</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>532_R_31_10007_10016</td>\n",
|
||
" <td>0.932651</td>\n",
|
||
" <td>93.265104</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>533_R_31_10007_10017</td>\n",
|
||
" <td>0.814071</td>\n",
|
||
" <td>81.407058</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>534_R_31_10007_10015</td>\n",
|
||
" <td>0.903756</td>\n",
|
||
" <td>90.375586</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>535_R_31_10007_10003</td>\n",
|
||
" <td>0.896575</td>\n",
|
||
" <td>89.657489</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>536_R_31_10007_10008</td>\n",
|
||
" <td>0.808754</td>\n",
|
||
" <td>80.875371</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>537_R_31_10007_10016</td>\n",
|
||
" <td>0.932651</td>\n",
|
||
" <td>93.265126</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>538_R_31_10007_10017</td>\n",
|
||
" <td>0.814070</td>\n",
|
||
" <td>81.406985</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>539_R_31_10007_10015</td>\n",
|
||
" <td>0.903756</td>\n",
|
||
" <td>90.375637</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>540_R_31_10007_10003</td>\n",
|
||
" <td>0.896576</td>\n",
|
||
" <td>89.657607</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>541_R_31_10007_10008</td>\n",
|
||
" <td>0.808754</td>\n",
|
||
" <td>80.875372</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>542_R_31_10007_10016</td>\n",
|
||
" <td>0.932651</td>\n",
|
||
" <td>93.265126</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>543_R_31_10007_10017</td>\n",
|
||
" <td>0.814069</td>\n",
|
||
" <td>81.406937</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>544_R_31_10007_10015</td>\n",
|
||
" <td>0.903755</td>\n",
|
||
" <td>90.375457</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>545_R_31_10007_10003</td>\n",
|
||
" <td>0.896575</td>\n",
|
||
" <td>89.657489</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>546_R_32_10016_10007</td>\n",
|
||
" <td>0.914115</td>\n",
|
||
" <td>91.411496</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>547_R_32_10016_10031</td>\n",
|
||
" <td>0.796260</td>\n",
|
||
" <td>79.626005</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>548_R_32_10016_10017</td>\n",
|
||
" <td>0.922970</td>\n",
|
||
" <td>92.297006</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>549_R_32_10016_10014</td>\n",
|
||
" <td>0.925945</td>\n",
|
||
" <td>92.594488</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>550_R_32_10016_10012</td>\n",
|
||
" <td>0.911955</td>\n",
|
||
" <td>91.195478</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>551_R_32_10016_10015</td>\n",
|
||
" <td>0.941896</td>\n",
|
||
" <td>94.189638</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>552_R_32_10016_10003</td>\n",
|
||
" <td>0.848090</td>\n",
|
||
" <td>84.809010</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>553_R_32_10016_10007</td>\n",
|
||
" <td>0.914113</td>\n",
|
||
" <td>91.411327</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>554_R_32_10016_10031</td>\n",
|
||
" <td>0.796259</td>\n",
|
||
" <td>79.625941</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>555_R_32_10016_10017</td>\n",
|
||
" <td>0.922972</td>\n",
|
||
" <td>92.297217</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>556_R_32_10016_10014</td>\n",
|
||
" <td>0.925945</td>\n",
|
||
" <td>92.594538</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>557_R_32_10016_10012</td>\n",
|
||
" <td>0.911954</td>\n",
|
||
" <td>91.195433</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>558_R_32_10016_10015</td>\n",
|
||
" <td>0.941894</td>\n",
|
||
" <td>94.189433</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>559_R_32_10016_10003</td>\n",
|
||
" <td>0.848089</td>\n",
|
||
" <td>84.808949</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>560_R_32_10016_10007</td>\n",
|
||
" <td>0.914115</td>\n",
|
||
" <td>91.411468</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>561_R_32_10016_10031</td>\n",
|
||
" <td>0.796259</td>\n",
|
||
" <td>79.625940</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>562_R_32_10016_10017</td>\n",
|
||
" <td>0.922972</td>\n",
|
||
" <td>92.297199</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>563_R_32_10016_10014</td>\n",
|
||
" <td>0.925945</td>\n",
|
||
" <td>92.594512</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>564_R_32_10016_10012</td>\n",
|
||
" <td>0.911954</td>\n",
|
||
" <td>91.195433</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>565_R_32_10016_10015</td>\n",
|
||
" <td>0.941896</td>\n",
|
||
" <td>94.189559</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>566_R_32_10016_10003</td>\n",
|
||
" <td>0.848090</td>\n",
|
||
" <td>84.809028</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>567_R_33_10015_10007</td>\n",
|
||
" <td>0.774660</td>\n",
|
||
" <td>77.465963</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>568_R_33_10015_10016</td>\n",
|
||
" <td>0.912125</td>\n",
|
||
" <td>91.212506</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>569_R_33_10015_10014</td>\n",
|
||
" <td>0.881664</td>\n",
|
||
" <td>88.166369</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>570_R_33_10015_10012</td>\n",
|
||
" <td>0.860781</td>\n",
|
||
" <td>86.078138</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>571_R_33_10015_10007</td>\n",
|
||
" <td>0.774666</td>\n",
|
||
" <td>77.466551</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>572_R_33_10015_10016</td>\n",
|
||
" <td>0.912129</td>\n",
|
||
" <td>91.212918</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>573_R_33_10015_10014</td>\n",
|
||
" <td>0.881660</td>\n",
|
||
" <td>88.165995</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>574_R_33_10015_10012</td>\n",
|
||
" <td>0.860786</td>\n",
|
||
" <td>86.078569</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>575_R_33_10015_10007</td>\n",
|
||
" <td>0.774666</td>\n",
|
||
" <td>77.466610</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>576_R_33_10015_10016</td>\n",
|
||
" <td>0.912127</td>\n",
|
||
" <td>91.212712</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>577_R_33_10015_10014</td>\n",
|
||
" <td>0.881657</td>\n",
|
||
" <td>88.165746</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>578_R_33_10015_10012</td>\n",
|
||
" <td>0.860785</td>\n",
|
||
" <td>86.078519</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>579_R_34_10014_10017</td>\n",
|
||
" <td>0.828580</td>\n",
|
||
" <td>82.858041</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>580_R_34_10014_10012</td>\n",
|
||
" <td>0.873075</td>\n",
|
||
" <td>87.307484</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>581_R_34_10014_10015</td>\n",
|
||
" <td>0.898679</td>\n",
|
||
" <td>89.867852</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>582_R_34_10014_10016</td>\n",
|
||
" <td>0.841894</td>\n",
|
||
" <td>84.189357</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>583_R_34_10014_10017</td>\n",
|
||
" <td>0.828578</td>\n",
|
||
" <td>82.857769</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>584_R_34_10014_10012</td>\n",
|
||
" <td>0.873076</td>\n",
|
||
" <td>87.307550</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>585_R_34_10014_10015</td>\n",
|
||
" <td>0.898676</td>\n",
|
||
" <td>89.867564</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>586_R_34_10014_10016</td>\n",
|
||
" <td>0.841889</td>\n",
|
||
" <td>84.188859</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>587_R_34_10014_10017</td>\n",
|
||
" <td>0.828579</td>\n",
|
||
" <td>82.857906</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>588_R_34_10014_10012</td>\n",
|
||
" <td>0.873080</td>\n",
|
||
" <td>87.307954</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>589_R_34_10014_10015</td>\n",
|
||
" <td>0.898675</td>\n",
|
||
" <td>89.867479</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>590_R_34_10014_10016</td>\n",
|
||
" <td>0.841892</td>\n",
|
||
" <td>84.189238</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>591_R_35_10012_10015</td>\n",
|
||
" <td>0.918604</td>\n",
|
||
" <td>91.860412</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>592_R_35_10012_10016</td>\n",
|
||
" <td>0.862074</td>\n",
|
||
" <td>86.207436</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>593_R_35_10012_10014</td>\n",
|
||
" <td>0.929241</td>\n",
|
||
" <td>92.924118</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>594_R_35_10012_10017</td>\n",
|
||
" <td>0.843605</td>\n",
|
||
" <td>84.360530</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>595_R_35_10012_10013</td>\n",
|
||
" <td>0.894251</td>\n",
|
||
" <td>89.425097</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>596_R_35_10012_10015</td>\n",
|
||
" <td>0.918603</td>\n",
|
||
" <td>91.860341</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>597_R_35_10012_10016</td>\n",
|
||
" <td>0.862072</td>\n",
|
||
" <td>86.207152</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>598_R_35_10012_10014</td>\n",
|
||
" <td>0.929241</td>\n",
|
||
" <td>92.924081</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>599_R_35_10012_10017</td>\n",
|
||
" <td>0.843606</td>\n",
|
||
" <td>84.360585</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>600_R_35_10012_10013</td>\n",
|
||
" <td>0.894252</td>\n",
|
||
" <td>89.425215</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>601_R_35_10012_10015</td>\n",
|
||
" <td>0.918603</td>\n",
|
||
" <td>91.860303</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>602_R_35_10012_10016</td>\n",
|
||
" <td>0.862073</td>\n",
|
||
" <td>86.207259</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>603_R_35_10012_10014</td>\n",
|
||
" <td>0.929242</td>\n",
|
||
" <td>92.924227</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>604_R_35_10012_10017</td>\n",
|
||
" <td>0.843605</td>\n",
|
||
" <td>84.360486</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>605_R_35_10012_10013</td>\n",
|
||
" <td>0.894250</td>\n",
|
||
" <td>89.425029</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>606_R_36_10033_10019</td>\n",
|
||
" <td>0.827301</td>\n",
|
||
" <td>82.730065</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>607_R_36_10033_10025</td>\n",
|
||
" <td>0.859691</td>\n",
|
||
" <td>85.969101</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>608_R_36_10033_10039</td>\n",
|
||
" <td>0.839733</td>\n",
|
||
" <td>83.973264</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>609_R_36_10033_10032</td>\n",
|
||
" <td>0.918682</td>\n",
|
||
" <td>91.868203</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>610_R_36_10033_10031</td>\n",
|
||
" <td>0.891714</td>\n",
|
||
" <td>89.171375</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>611_R_36_10033_10019</td>\n",
|
||
" <td>0.827304</td>\n",
|
||
" <td>82.730393</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>612_R_36_10033_10025</td>\n",
|
||
" <td>0.859692</td>\n",
|
||
" <td>85.969228</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>613_R_36_10033_10039</td>\n",
|
||
" <td>0.839735</td>\n",
|
||
" <td>83.973534</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>614_R_36_10033_10032</td>\n",
|
||
" <td>0.918680</td>\n",
|
||
" <td>91.868020</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>615_R_36_10033_10031</td>\n",
|
||
" <td>0.891717</td>\n",
|
||
" <td>89.171651</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>616_R_36_10033_10019</td>\n",
|
||
" <td>0.827302</td>\n",
|
||
" <td>82.730186</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>617_R_36_10033_10025</td>\n",
|
||
" <td>0.859693</td>\n",
|
||
" <td>85.969269</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>618_R_36_10033_10039</td>\n",
|
||
" <td>0.839731</td>\n",
|
||
" <td>83.973055</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>619_R_36_10033_10032</td>\n",
|
||
" <td>0.918678</td>\n",
|
||
" <td>91.867838</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>620_R_36_10033_10031</td>\n",
|
||
" <td>0.891716</td>\n",
|
||
" <td>89.171613</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>621_R_37_10032_10033</td>\n",
|
||
" <td>0.877589</td>\n",
|
||
" <td>87.758919</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>622_R_37_10032_10039</td>\n",
|
||
" <td>0.886772</td>\n",
|
||
" <td>88.677249</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>623_R_37_10032_10038</td>\n",
|
||
" <td>0.795209</td>\n",
|
||
" <td>79.520909</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>624_R_37_10032_10031</td>\n",
|
||
" <td>0.880265</td>\n",
|
||
" <td>88.026485</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>625_R_37_10032_10033</td>\n",
|
||
" <td>0.877590</td>\n",
|
||
" <td>87.758966</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>626_R_37_10032_10039</td>\n",
|
||
" <td>0.886773</td>\n",
|
||
" <td>88.677335</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>627_R_37_10032_10038</td>\n",
|
||
" <td>0.795212</td>\n",
|
||
" <td>79.521153</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>628_R_37_10032_10031</td>\n",
|
||
" <td>0.880264</td>\n",
|
||
" <td>88.026371</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>629_R_37_10032_10033</td>\n",
|
||
" <td>0.877594</td>\n",
|
||
" <td>87.759405</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>630_R_37_10032_10039</td>\n",
|
||
" <td>0.886775</td>\n",
|
||
" <td>88.677509</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>631_R_37_10032_10038</td>\n",
|
||
" <td>0.795210</td>\n",
|
||
" <td>79.521008</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>632_R_37_10032_10031</td>\n",
|
||
" <td>0.880264</td>\n",
|
||
" <td>88.026425</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>633_R_38_10031_10017</td>\n",
|
||
" <td>0.798225</td>\n",
|
||
" <td>79.822516</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>634_R_38_10031_10033</td>\n",
|
||
" <td>0.888541</td>\n",
|
||
" <td>88.854074</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>635_R_38_10031_10032</td>\n",
|
||
" <td>0.907290</td>\n",
|
||
" <td>90.729011</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>636_R_38_10031_10030</td>\n",
|
||
" <td>0.815690</td>\n",
|
||
" <td>81.569016</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>637_R_38_10031_10017</td>\n",
|
||
" <td>0.798228</td>\n",
|
||
" <td>79.822774</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>638_R_38_10031_10033</td>\n",
|
||
" <td>0.888540</td>\n",
|
||
" <td>88.853993</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>639_R_38_10031_10032</td>\n",
|
||
" <td>0.907292</td>\n",
|
||
" <td>90.729239</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>640_R_38_10031_10030</td>\n",
|
||
" <td>0.815689</td>\n",
|
||
" <td>81.568923</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>641_R_38_10031_10017</td>\n",
|
||
" <td>0.798227</td>\n",
|
||
" <td>79.822688</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>642_R_38_10031_10033</td>\n",
|
||
" <td>0.888537</td>\n",
|
||
" <td>88.853710</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>643_R_38_10031_10032</td>\n",
|
||
" <td>0.907293</td>\n",
|
||
" <td>90.729285</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>644_R_38_10031_10030</td>\n",
|
||
" <td>0.815688</td>\n",
|
||
" <td>81.568783</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>645_R_39_10038_10041</td>\n",
|
||
" <td>0.861509</td>\n",
|
||
" <td>86.150866</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>646_R_39_10038_10037</td>\n",
|
||
" <td>0.897069</td>\n",
|
||
" <td>89.706851</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>647_R_39_10038_10036</td>\n",
|
||
" <td>0.845353</td>\n",
|
||
" <td>84.535343</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>648_R_39_10038_10032</td>\n",
|
||
" <td>0.827870</td>\n",
|
||
" <td>82.787002</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>649_R_39_10038_10039</td>\n",
|
||
" <td>0.922753</td>\n",
|
||
" <td>92.275276</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>650_R_39_10038_10041</td>\n",
|
||
" <td>0.861508</td>\n",
|
||
" <td>86.150791</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>651_R_39_10038_10037</td>\n",
|
||
" <td>0.897071</td>\n",
|
||
" <td>89.707076</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>652_R_39_10038_10036</td>\n",
|
||
" <td>0.845352</td>\n",
|
||
" <td>84.535210</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>653_R_39_10038_10032</td>\n",
|
||
" <td>0.827871</td>\n",
|
||
" <td>82.787084</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>654_R_39_10038_10039</td>\n",
|
||
" <td>0.922753</td>\n",
|
||
" <td>92.275274</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>655_R_39_10038_10041</td>\n",
|
||
" <td>0.861506</td>\n",
|
||
" <td>86.150641</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>656_R_39_10038_10037</td>\n",
|
||
" <td>0.897069</td>\n",
|
||
" <td>89.706884</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>657_R_39_10038_10036</td>\n",
|
||
" <td>0.845357</td>\n",
|
||
" <td>84.535671</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>658_R_39_10038_10032</td>\n",
|
||
" <td>0.827871</td>\n",
|
||
" <td>82.787125</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>659_R_39_10038_10039</td>\n",
|
||
" <td>0.922755</td>\n",
|
||
" <td>92.275524</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>660_R_40_10039_10032</td>\n",
|
||
" <td>0.904020</td>\n",
|
||
" <td>90.401981</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>661_R_40_10039_10033</td>\n",
|
||
" <td>0.856615</td>\n",
|
||
" <td>85.661537</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>662_R_40_10039_10037</td>\n",
|
||
" <td>0.840795</td>\n",
|
||
" <td>84.079468</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>663_R_40_10039_10038</td>\n",
|
||
" <td>0.927008</td>\n",
|
||
" <td>92.700826</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>664_R_40_10039_10029</td>\n",
|
||
" <td>0.829764</td>\n",
|
||
" <td>82.976352</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>665_R_40_10039_10032</td>\n",
|
||
" <td>0.904018</td>\n",
|
||
" <td>90.401800</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>666_R_40_10039_10033</td>\n",
|
||
" <td>0.856619</td>\n",
|
||
" <td>85.661932</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>667_R_40_10039_10037</td>\n",
|
||
" <td>0.840797</td>\n",
|
||
" <td>84.079670</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>668_R_40_10039_10038</td>\n",
|
||
" <td>0.927007</td>\n",
|
||
" <td>92.700738</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>669_R_40_10039_10029</td>\n",
|
||
" <td>0.829764</td>\n",
|
||
" <td>82.976415</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>670_R_40_10039_10032</td>\n",
|
||
" <td>0.904019</td>\n",
|
||
" <td>90.401910</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>671_R_40_10039_10033</td>\n",
|
||
" <td>0.856619</td>\n",
|
||
" <td>85.661898</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>672_R_40_10039_10037</td>\n",
|
||
" <td>0.840798</td>\n",
|
||
" <td>84.079771</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>673_R_40_10039_10038</td>\n",
|
||
" <td>0.927010</td>\n",
|
||
" <td>92.700975</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>674_R_40_10039_10029</td>\n",
|
||
" <td>0.829764</td>\n",
|
||
" <td>82.976415</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>675_R_41_10035_10037</td>\n",
|
||
" <td>0.870322</td>\n",
|
||
" <td>87.032161</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>676_R_41_10035_10036</td>\n",
|
||
" <td>0.905237</td>\n",
|
||
" <td>90.523672</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>677_R_41_10035_10034</td>\n",
|
||
" <td>0.842140</td>\n",
|
||
" <td>84.214006</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>678_R_41_10035_10030</td>\n",
|
||
" <td>0.860996</td>\n",
|
||
" <td>86.099552</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>679_R_41_10035_10029</td>\n",
|
||
" <td>0.897654</td>\n",
|
||
" <td>89.765449</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>680_R_41_10035_10037</td>\n",
|
||
" <td>0.870320</td>\n",
|
||
" <td>87.032027</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>681_R_41_10035_10036</td>\n",
|
||
" <td>0.905237</td>\n",
|
||
" <td>90.523744</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>682_R_41_10035_10034</td>\n",
|
||
" <td>0.842140</td>\n",
|
||
" <td>84.214006</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>683_R_41_10035_10030</td>\n",
|
||
" <td>0.860996</td>\n",
|
||
" <td>86.099597</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>684_R_41_10035_10029</td>\n",
|
||
" <td>0.897656</td>\n",
|
||
" <td>89.765629</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>685_R_41_10035_10037</td>\n",
|
||
" <td>0.870320</td>\n",
|
||
" <td>87.032027</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>686_R_41_10035_10036</td>\n",
|
||
" <td>0.905237</td>\n",
|
||
" <td>90.523721</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>687_R_41_10035_10034</td>\n",
|
||
" <td>0.842140</td>\n",
|
||
" <td>84.214037</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>688_R_41_10035_10030</td>\n",
|
||
" <td>0.860997</td>\n",
|
||
" <td>86.099663</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>689_R_41_10035_10029</td>\n",
|
||
" <td>0.897657</td>\n",
|
||
" <td>89.765650</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>690_R_42_10036_10038</td>\n",
|
||
" <td>0.878802</td>\n",
|
||
" <td>87.880199</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>691_R_42_10036_10037</td>\n",
|
||
" <td>0.929257</td>\n",
|
||
" <td>92.925746</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>692_R_42_10036_10034</td>\n",
|
||
" <td>0.754936</td>\n",
|
||
" <td>75.493593</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>693_R_42_10036_10035</td>\n",
|
||
" <td>0.914396</td>\n",
|
||
" <td>91.439567</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>694_R_42_10036_10038</td>\n",
|
||
" <td>0.878803</td>\n",
|
||
" <td>87.880340</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>695_R_42_10036_10037</td>\n",
|
||
" <td>0.929255</td>\n",
|
||
" <td>92.925526</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>696_R_42_10036_10034</td>\n",
|
||
" <td>0.754936</td>\n",
|
||
" <td>75.493645</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>697_R_42_10036_10035</td>\n",
|
||
" <td>0.914395</td>\n",
|
||
" <td>91.439546</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>698_R_42_10036_10038</td>\n",
|
||
" <td>0.878804</td>\n",
|
||
" <td>87.880368</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>699_R_42_10036_10037</td>\n",
|
||
" <td>0.929254</td>\n",
|
||
" <td>92.925426</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>700_R_42_10036_10034</td>\n",
|
||
" <td>0.754935</td>\n",
|
||
" <td>75.493517</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>701_R_42_10036_10035</td>\n",
|
||
" <td>0.914395</td>\n",
|
||
" <td>91.439524</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>702_R_43_10028_10011</td>\n",
|
||
" <td>0.788915</td>\n",
|
||
" <td>78.891462</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>703_R_43_10028_10030</td>\n",
|
||
" <td>0.877349</td>\n",
|
||
" <td>87.734854</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>704_R_43_10028_10029</td>\n",
|
||
" <td>0.880687</td>\n",
|
||
" <td>88.068695</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>705_R_43_10028_10034</td>\n",
|
||
" <td>0.840586</td>\n",
|
||
" <td>84.058589</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>706_R_43_10028_10011</td>\n",
|
||
" <td>0.788914</td>\n",
|
||
" <td>78.891356</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>707_R_43_10028_10030</td>\n",
|
||
" <td>0.877348</td>\n",
|
||
" <td>87.734832</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>708_R_43_10028_10029</td>\n",
|
||
" <td>0.880688</td>\n",
|
||
" <td>88.068757</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>709_R_43_10028_10034</td>\n",
|
||
" <td>0.840585</td>\n",
|
||
" <td>84.058454</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>710_R_43_10028_10011</td>\n",
|
||
" <td>0.788911</td>\n",
|
||
" <td>78.891118</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>711_R_43_10028_10030</td>\n",
|
||
" <td>0.877347</td>\n",
|
||
" <td>87.734726</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>712_R_43_10028_10029</td>\n",
|
||
" <td>0.880687</td>\n",
|
||
" <td>88.068694</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>713_R_43_10028_10034</td>\n",
|
||
" <td>0.840586</td>\n",
|
||
" <td>84.058589</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>714_R_44_10034_10028</td>\n",
|
||
" <td>0.869468</td>\n",
|
||
" <td>86.946805</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>715_R_44_10034_10035</td>\n",
|
||
" <td>0.924417</td>\n",
|
||
" <td>92.441678</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>716_R_44_10034_10037</td>\n",
|
||
" <td>0.846999</td>\n",
|
||
" <td>84.699920</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>717_R_44_10034_10036</td>\n",
|
||
" <td>0.878295</td>\n",
|
||
" <td>87.829527</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>718_R_44_10034_10045</td>\n",
|
||
" <td>0.844048</td>\n",
|
||
" <td>84.404756</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>719_R_44_10034_10028</td>\n",
|
||
" <td>0.869467</td>\n",
|
||
" <td>86.946744</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>720_R_44_10034_10035</td>\n",
|
||
" <td>0.924416</td>\n",
|
||
" <td>92.441620</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>721_R_44_10034_10037</td>\n",
|
||
" <td>0.847000</td>\n",
|
||
" <td>84.699959</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>722_R_44_10034_10036</td>\n",
|
||
" <td>0.878294</td>\n",
|
||
" <td>87.829437</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>723_R_44_10034_10045</td>\n",
|
||
" <td>0.844046</td>\n",
|
||
" <td>84.404644</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>724_R_44_10034_10028</td>\n",
|
||
" <td>0.869470</td>\n",
|
||
" <td>86.946976</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>725_R_44_10034_10035</td>\n",
|
||
" <td>0.924416</td>\n",
|
||
" <td>92.441605</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>726_R_44_10034_10037</td>\n",
|
||
" <td>0.847000</td>\n",
|
||
" <td>84.699998</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>727_R_44_10034_10036</td>\n",
|
||
" <td>0.878295</td>\n",
|
||
" <td>87.829476</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>728_R_44_10034_10045</td>\n",
|
||
" <td>0.844047</td>\n",
|
||
" <td>84.404700</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>729_R_45_10030_10028</td>\n",
|
||
" <td>0.821650</td>\n",
|
||
" <td>82.165011</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>730_R_45_10030_10031</td>\n",
|
||
" <td>0.836106</td>\n",
|
||
" <td>83.610593</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>731_R_45_10030_10029</td>\n",
|
||
" <td>0.926812</td>\n",
|
||
" <td>92.681190</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>732_R_45_10030_10035</td>\n",
|
||
" <td>0.816459</td>\n",
|
||
" <td>81.645943</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>733_R_45_10030_10028</td>\n",
|
||
" <td>0.821651</td>\n",
|
||
" <td>82.165073</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>734_R_45_10030_10031</td>\n",
|
||
" <td>0.836107</td>\n",
|
||
" <td>83.610676</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>735_R_45_10030_10029</td>\n",
|
||
" <td>0.926812</td>\n",
|
||
" <td>92.681230</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>736_R_45_10030_10035</td>\n",
|
||
" <td>0.816460</td>\n",
|
||
" <td>81.645972</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>737_R_45_10030_10028</td>\n",
|
||
" <td>0.821650</td>\n",
|
||
" <td>82.165011</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>738_R_45_10030_10031</td>\n",
|
||
" <td>0.836108</td>\n",
|
||
" <td>83.610800</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>739_R_45_10030_10029</td>\n",
|
||
" <td>0.926813</td>\n",
|
||
" <td>92.681298</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>740_R_45_10030_10035</td>\n",
|
||
" <td>0.816459</td>\n",
|
||
" <td>81.645913</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>741_R_46_10029_10030</td>\n",
|
||
" <td>0.914413</td>\n",
|
||
" <td>91.441316</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>742_R_46_10029_10039</td>\n",
|
||
" <td>0.818427</td>\n",
|
||
" <td>81.842734</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>743_R_46_10029_10035</td>\n",
|
||
" <td>0.852114</td>\n",
|
||
" <td>85.211391</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>744_R_46_10029_10028</td>\n",
|
||
" <td>0.808557</td>\n",
|
||
" <td>80.855745</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>745_R_46_10029_10030</td>\n",
|
||
" <td>0.914410</td>\n",
|
||
" <td>91.441034</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>746_R_46_10029_10039</td>\n",
|
||
" <td>0.818429</td>\n",
|
||
" <td>81.842942</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>747_R_46_10029_10035</td>\n",
|
||
" <td>0.852113</td>\n",
|
||
" <td>85.211298</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>748_R_46_10029_10028</td>\n",
|
||
" <td>0.808557</td>\n",
|
||
" <td>80.855712</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>749_R_46_10029_10030</td>\n",
|
||
" <td>0.914415</td>\n",
|
||
" <td>91.441525</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>750_R_46_10029_10039</td>\n",
|
||
" <td>0.818428</td>\n",
|
||
" <td>81.842775</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>751_R_46_10029_10035</td>\n",
|
||
" <td>0.852113</td>\n",
|
||
" <td>85.211267</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>752_R_46_10029_10028</td>\n",
|
||
" <td>0.808558</td>\n",
|
||
" <td>80.855779</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>753_R_47_10053_10044</td>\n",
|
||
" <td>0.860611</td>\n",
|
||
" <td>86.061117</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>754_R_47_10053_10052</td>\n",
|
||
" <td>0.923191</td>\n",
|
||
" <td>92.319071</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>755_R_47_10053_10059</td>\n",
|
||
" <td>0.811362</td>\n",
|
||
" <td>81.136168</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>756_R_47_10053_10049</td>\n",
|
||
" <td>0.879014</td>\n",
|
||
" <td>87.901359</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>757_R_47_10053_10050</td>\n",
|
||
" <td>0.936935</td>\n",
|
||
" <td>93.693474</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>758_R_47_10053_10051</td>\n",
|
||
" <td>0.914435</td>\n",
|
||
" <td>91.443473</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>759_R_47_10053_10044</td>\n",
|
||
" <td>0.860612</td>\n",
|
||
" <td>86.061179</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>760_R_47_10053_10052</td>\n",
|
||
" <td>0.923190</td>\n",
|
||
" <td>92.318960</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>761_R_47_10053_10059</td>\n",
|
||
" <td>0.811364</td>\n",
|
||
" <td>81.136351</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>762_R_47_10053_10049</td>\n",
|
||
" <td>0.879012</td>\n",
|
||
" <td>87.901222</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>763_R_47_10053_10050</td>\n",
|
||
" <td>0.936934</td>\n",
|
||
" <td>93.693416</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>764_R_47_10053_10051</td>\n",
|
||
" <td>0.914434</td>\n",
|
||
" <td>91.443379</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>765_R_47_10053_10044</td>\n",
|
||
" <td>0.860612</td>\n",
|
||
" <td>86.061235</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>766_R_47_10053_10052</td>\n",
|
||
" <td>0.923191</td>\n",
|
||
" <td>92.319093</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>767_R_47_10053_10059</td>\n",
|
||
" <td>0.811362</td>\n",
|
||
" <td>81.136229</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>768_R_47_10053_10049</td>\n",
|
||
" <td>0.879013</td>\n",
|
||
" <td>87.901259</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>769_R_47_10053_10050</td>\n",
|
||
" <td>0.936935</td>\n",
|
||
" <td>93.693498</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>770_R_47_10053_10051</td>\n",
|
||
" <td>0.914435</td>\n",
|
||
" <td>91.443503</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>771_R_48_10049_10050</td>\n",
|
||
" <td>0.903469</td>\n",
|
||
" <td>90.346916</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>772_R_48_10049_10053</td>\n",
|
||
" <td>0.835516</td>\n",
|
||
" <td>83.551621</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>773_R_48_10049_10047</td>\n",
|
||
" <td>0.882731</td>\n",
|
||
" <td>88.273095</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>774_R_48_10049_10046</td>\n",
|
||
" <td>0.822216</td>\n",
|
||
" <td>82.221560</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>775_R_48_10049_10048</td>\n",
|
||
" <td>0.928741</td>\n",
|
||
" <td>92.874104</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>776_R_48_10049_10050</td>\n",
|
||
" <td>0.903467</td>\n",
|
||
" <td>90.346695</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>777_R_48_10049_10053</td>\n",
|
||
" <td>0.835515</td>\n",
|
||
" <td>83.551479</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>778_R_48_10049_10047</td>\n",
|
||
" <td>0.882731</td>\n",
|
||
" <td>88.273126</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>779_R_48_10049_10046</td>\n",
|
||
" <td>0.822216</td>\n",
|
||
" <td>82.221554</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>780_R_48_10049_10048</td>\n",
|
||
" <td>0.928740</td>\n",
|
||
" <td>92.874008</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>781_R_48_10049_10050</td>\n",
|
||
" <td>0.903466</td>\n",
|
||
" <td>90.346646</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>782_R_48_10049_10053</td>\n",
|
||
" <td>0.835516</td>\n",
|
||
" <td>83.551621</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>783_R_48_10049_10047</td>\n",
|
||
" <td>0.882731</td>\n",
|
||
" <td>88.273102</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>784_R_48_10049_10046</td>\n",
|
||
" <td>0.822214</td>\n",
|
||
" <td>82.221413</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>785_R_48_10049_10048</td>\n",
|
||
" <td>0.928741</td>\n",
|
||
" <td>92.874052</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>786_R_49_10050_10051</td>\n",
|
||
" <td>0.908163</td>\n",
|
||
" <td>90.816338</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>787_R_49_10050_10052</td>\n",
|
||
" <td>0.853968</td>\n",
|
||
" <td>85.396835</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>788_R_49_10050_10053</td>\n",
|
||
" <td>0.908635</td>\n",
|
||
" <td>90.863467</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>789_R_49_10050_10049</td>\n",
|
||
" <td>0.906110</td>\n",
|
||
" <td>90.611026</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>790_R_49_10050_10048</td>\n",
|
||
" <td>0.804588</td>\n",
|
||
" <td>80.458846</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>791_R_49_10050_10051</td>\n",
|
||
" <td>0.908166</td>\n",
|
||
" <td>90.816621</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>792_R_49_10050_10052</td>\n",
|
||
" <td>0.853966</td>\n",
|
||
" <td>85.396569</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>793_R_49_10050_10053</td>\n",
|
||
" <td>0.908634</td>\n",
|
||
" <td>90.863448</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>794_R_49_10050_10049</td>\n",
|
||
" <td>0.906111</td>\n",
|
||
" <td>90.611101</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>795_R_49_10050_10048</td>\n",
|
||
" <td>0.804588</td>\n",
|
||
" <td>80.458803</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>796_R_49_10050_10051</td>\n",
|
||
" <td>0.908164</td>\n",
|
||
" <td>90.816399</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>797_R_49_10050_10052</td>\n",
|
||
" <td>0.853965</td>\n",
|
||
" <td>85.396482</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>798_R_49_10050_10053</td>\n",
|
||
" <td>0.908634</td>\n",
|
||
" <td>90.863363</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>799_R_49_10050_10049</td>\n",
|
||
" <td>0.906110</td>\n",
|
||
" <td>90.610981</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>800_R_49_10050_10048</td>\n",
|
||
" <td>0.804588</td>\n",
|
||
" <td>80.458801</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>801_R_50_10048_10050</td>\n",
|
||
" <td>0.843041</td>\n",
|
||
" <td>84.304070</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>802_R_50_10048_10049</td>\n",
|
||
" <td>0.912174</td>\n",
|
||
" <td>91.217375</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>803_R_50_10048_10057</td>\n",
|
||
" <td>0.824892</td>\n",
|
||
" <td>82.489160</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>804_R_50_10048_10047</td>\n",
|
||
" <td>0.916574</td>\n",
|
||
" <td>91.657412</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>805_R_50_10048_10046</td>\n",
|
||
" <td>0.863797</td>\n",
|
||
" <td>86.379658</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>806_R_50_10048_10050</td>\n",
|
||
" <td>0.843040</td>\n",
|
||
" <td>84.303961</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>807_R_50_10048_10049</td>\n",
|
||
" <td>0.912174</td>\n",
|
||
" <td>91.217447</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>808_R_50_10048_10057</td>\n",
|
||
" <td>0.824891</td>\n",
|
||
" <td>82.489063</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>809_R_50_10048_10047</td>\n",
|
||
" <td>0.916575</td>\n",
|
||
" <td>91.657472</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>810_R_50_10048_10046</td>\n",
|
||
" <td>0.863798</td>\n",
|
||
" <td>86.379840</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>811_R_50_10048_10050</td>\n",
|
||
" <td>0.843041</td>\n",
|
||
" <td>84.304111</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>812_R_50_10048_10049</td>\n",
|
||
" <td>0.912175</td>\n",
|
||
" <td>91.217508</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>813_R_50_10048_10057</td>\n",
|
||
" <td>0.824890</td>\n",
|
||
" <td>82.489040</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>814_R_50_10048_10047</td>\n",
|
||
" <td>0.916575</td>\n",
|
||
" <td>91.657536</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>815_R_50_10048_10046</td>\n",
|
||
" <td>0.863798</td>\n",
|
||
" <td>86.379815</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>816_R_51_10047_10048</td>\n",
|
||
" <td>0.913794</td>\n",
|
||
" <td>91.379399</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>817_R_51_10047_10049</td>\n",
|
||
" <td>0.810516</td>\n",
|
||
" <td>81.051578</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>818_R_51_10047_10045</td>\n",
|
||
" <td>0.777838</td>\n",
|
||
" <td>77.783835</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>819_R_51_10047_10046</td>\n",
|
||
" <td>0.931518</td>\n",
|
||
" <td>93.151755</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>820_R_51_10047_10048</td>\n",
|
||
" <td>0.913793</td>\n",
|
||
" <td>91.379347</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>821_R_51_10047_10049</td>\n",
|
||
" <td>0.810516</td>\n",
|
||
" <td>81.051558</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>822_R_51_10047_10045</td>\n",
|
||
" <td>0.777837</td>\n",
|
||
" <td>77.783658</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>823_R_51_10047_10046</td>\n",
|
||
" <td>0.931518</td>\n",
|
||
" <td>93.151811</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>824_R_51_10047_10048</td>\n",
|
||
" <td>0.913795</td>\n",
|
||
" <td>91.379480</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>825_R_51_10047_10049</td>\n",
|
||
" <td>0.810518</td>\n",
|
||
" <td>81.051789</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>826_R_51_10047_10045</td>\n",
|
||
" <td>0.777838</td>\n",
|
||
" <td>77.783829</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>827_R_51_10047_10046</td>\n",
|
||
" <td>0.931518</td>\n",
|
||
" <td>93.151762</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>828_R_52_10046_10048</td>\n",
|
||
" <td>0.864638</td>\n",
|
||
" <td>86.463782</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>829_R_52_10046_10047</td>\n",
|
||
" <td>0.936534</td>\n",
|
||
" <td>93.653352</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>830_R_52_10046_10055</td>\n",
|
||
" <td>0.797946</td>\n",
|
||
" <td>79.794595</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>831_R_52_10046_10045</td>\n",
|
||
" <td>0.844996</td>\n",
|
||
" <td>84.499570</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>832_R_52_10046_10048</td>\n",
|
||
" <td>0.864638</td>\n",
|
||
" <td>86.463828</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>833_R_52_10046_10047</td>\n",
|
||
" <td>0.936533</td>\n",
|
||
" <td>93.653297</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>834_R_52_10046_10055</td>\n",
|
||
" <td>0.797947</td>\n",
|
||
" <td>79.794675</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>835_R_52_10046_10045</td>\n",
|
||
" <td>0.844997</td>\n",
|
||
" <td>84.499686</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>836_R_52_10046_10048</td>\n",
|
||
" <td>0.864639</td>\n",
|
||
" <td>86.463882</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>837_R_52_10046_10047</td>\n",
|
||
" <td>0.936532</td>\n",
|
||
" <td>93.653192</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>838_R_52_10046_10055</td>\n",
|
||
" <td>0.797945</td>\n",
|
||
" <td>79.794491</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>839_R_52_10046_10045</td>\n",
|
||
" <td>0.844998</td>\n",
|
||
" <td>84.499754</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>840_R_53_10045_10034</td>\n",
|
||
" <td>0.823348</td>\n",
|
||
" <td>82.334849</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>841_R_53_10045_10046</td>\n",
|
||
" <td>0.895830</td>\n",
|
||
" <td>89.583023</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>842_R_53_10045_10047</td>\n",
|
||
" <td>0.856514</td>\n",
|
||
" <td>85.651358</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>843_R_53_10045_10054</td>\n",
|
||
" <td>0.792468</td>\n",
|
||
" <td>79.246800</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>844_R_53_10045_10034</td>\n",
|
||
" <td>0.823350</td>\n",
|
||
" <td>82.334964</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>845_R_53_10045_10046</td>\n",
|
||
" <td>0.895829</td>\n",
|
||
" <td>89.582927</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>846_R_53_10045_10047</td>\n",
|
||
" <td>0.856514</td>\n",
|
||
" <td>85.651386</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>847_R_53_10045_10054</td>\n",
|
||
" <td>0.792469</td>\n",
|
||
" <td>79.246916</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>848_R_53_10045_10034</td>\n",
|
||
" <td>0.823348</td>\n",
|
||
" <td>82.334774</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>849_R_53_10045_10046</td>\n",
|
||
" <td>0.895830</td>\n",
|
||
" <td>89.583005</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>850_R_53_10045_10047</td>\n",
|
||
" <td>0.856515</td>\n",
|
||
" <td>85.651456</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>851_R_53_10045_10054</td>\n",
|
||
" <td>0.792470</td>\n",
|
||
" <td>79.246998</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>852_R_54_10059_10053</td>\n",
|
||
" <td>0.902373</td>\n",
|
||
" <td>90.237270</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>853_R_54_10059_10052</td>\n",
|
||
" <td>0.843315</td>\n",
|
||
" <td>84.331510</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>854_R_54_10059_10058</td>\n",
|
||
" <td>0.914145</td>\n",
|
||
" <td>91.414532</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>855_R_54_10059_10056</td>\n",
|
||
" <td>0.835182</td>\n",
|
||
" <td>83.518159</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>856_R_54_10059_10057</td>\n",
|
||
" <td>0.896165</td>\n",
|
||
" <td>89.616515</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>857_R_54_10059_10053</td>\n",
|
||
" <td>0.902372</td>\n",
|
||
" <td>90.237175</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>858_R_54_10059_10052</td>\n",
|
||
" <td>0.843314</td>\n",
|
||
" <td>84.331437</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>859_R_54_10059_10058</td>\n",
|
||
" <td>0.914145</td>\n",
|
||
" <td>91.414489</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>860_R_54_10059_10056</td>\n",
|
||
" <td>0.835182</td>\n",
|
||
" <td>83.518240</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>861_R_54_10059_10057</td>\n",
|
||
" <td>0.896166</td>\n",
|
||
" <td>89.616575</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>862_R_54_10059_10053</td>\n",
|
||
" <td>0.902372</td>\n",
|
||
" <td>90.237220</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>863_R_54_10059_10052</td>\n",
|
||
" <td>0.843313</td>\n",
|
||
" <td>84.331323</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>864_R_54_10059_10058</td>\n",
|
||
" <td>0.914146</td>\n",
|
||
" <td>91.414558</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>865_R_54_10059_10056</td>\n",
|
||
" <td>0.835182</td>\n",
|
||
" <td>83.518183</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>866_R_54_10059_10057</td>\n",
|
||
" <td>0.896166</td>\n",
|
||
" <td>89.616580</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>867_R_55_10058_10059</td>\n",
|
||
" <td>0.835988</td>\n",
|
||
" <td>83.598751</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>868_R_55_10058_10056</td>\n",
|
||
" <td>0.871484</td>\n",
|
||
" <td>87.148418</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>869_R_55_10058_10055</td>\n",
|
||
" <td>0.828934</td>\n",
|
||
" <td>82.893402</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>870_R_55_10058_10057</td>\n",
|
||
" <td>0.919615</td>\n",
|
||
" <td>91.961521</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>871_R_55_10058_10059</td>\n",
|
||
" <td>0.835988</td>\n",
|
||
" <td>83.598841</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>872_R_55_10058_10056</td>\n",
|
||
" <td>0.871484</td>\n",
|
||
" <td>87.148417</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>873_R_55_10058_10055</td>\n",
|
||
" <td>0.828934</td>\n",
|
||
" <td>82.893436</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>874_R_55_10058_10057</td>\n",
|
||
" <td>0.919615</td>\n",
|
||
" <td>91.961482</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>875_R_55_10058_10059</td>\n",
|
||
" <td>0.835988</td>\n",
|
||
" <td>83.598753</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>876_R_55_10058_10056</td>\n",
|
||
" <td>0.871485</td>\n",
|
||
" <td>87.148515</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>877_R_55_10058_10055</td>\n",
|
||
" <td>0.828933</td>\n",
|
||
" <td>82.893294</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>878_R_55_10058_10057</td>\n",
|
||
" <td>0.919614</td>\n",
|
||
" <td>91.961383</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>879_R_56_10057_10059</td>\n",
|
||
" <td>0.814066</td>\n",
|
||
" <td>81.406594</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>880_R_56_10057_10058</td>\n",
|
||
" <td>0.891858</td>\n",
|
||
" <td>89.185807</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>881_R_56_10057_10056</td>\n",
|
||
" <td>0.909430</td>\n",
|
||
" <td>90.942965</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>882_R_56_10057_10055</td>\n",
|
||
" <td>0.886776</td>\n",
|
||
" <td>88.677608</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>883_R_56_10057_10048</td>\n",
|
||
" <td>0.851779</td>\n",
|
||
" <td>85.177908</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>884_R_56_10057_10059</td>\n",
|
||
" <td>0.814067</td>\n",
|
||
" <td>81.406712</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>885_R_56_10057_10058</td>\n",
|
||
" <td>0.891861</td>\n",
|
||
" <td>89.186053</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>886_R_56_10057_10056</td>\n",
|
||
" <td>0.909431</td>\n",
|
||
" <td>90.943068</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>887_R_56_10057_10055</td>\n",
|
||
" <td>0.886776</td>\n",
|
||
" <td>88.677596</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>888_R_56_10057_10048</td>\n",
|
||
" <td>0.851780</td>\n",
|
||
" <td>85.177997</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>889_R_56_10057_10059</td>\n",
|
||
" <td>0.814064</td>\n",
|
||
" <td>81.406433</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>890_R_56_10057_10058</td>\n",
|
||
" <td>0.891860</td>\n",
|
||
" <td>89.186007</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>891_R_56_10057_10056</td>\n",
|
||
" <td>0.909429</td>\n",
|
||
" <td>90.942876</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>892_R_56_10057_10055</td>\n",
|
||
" <td>0.886776</td>\n",
|
||
" <td>88.677603</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>893_R_56_10057_10048</td>\n",
|
||
" <td>0.851780</td>\n",
|
||
" <td>85.177992</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>894_R_57_10055_10057</td>\n",
|
||
" <td>0.916697</td>\n",
|
||
" <td>91.669662</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>895_R_57_10055_10058</td>\n",
|
||
" <td>0.816724</td>\n",
|
||
" <td>81.672351</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>896_R_57_10055_10056</td>\n",
|
||
" <td>0.944661</td>\n",
|
||
" <td>94.466096</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>897_R_57_10055_10054</td>\n",
|
||
" <td>0.833182</td>\n",
|
||
" <td>83.318232</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>898_R_57_10055_10046</td>\n",
|
||
" <td>0.846550</td>\n",
|
||
" <td>84.654988</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>899_R_57_10055_10057</td>\n",
|
||
" <td>0.916697</td>\n",
|
||
" <td>91.669676</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>900_R_57_10055_10058</td>\n",
|
||
" <td>0.816724</td>\n",
|
||
" <td>81.672369</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>901_R_57_10055_10056</td>\n",
|
||
" <td>0.944660</td>\n",
|
||
" <td>94.466017</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>902_R_57_10055_10054</td>\n",
|
||
" <td>0.833182</td>\n",
|
||
" <td>83.318158</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>903_R_57_10055_10046</td>\n",
|
||
" <td>0.846551</td>\n",
|
||
" <td>84.655062</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>904_R_57_10055_10057</td>\n",
|
||
" <td>0.916698</td>\n",
|
||
" <td>91.669759</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>905_R_57_10055_10058</td>\n",
|
||
" <td>0.816723</td>\n",
|
||
" <td>81.672348</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>906_R_57_10055_10056</td>\n",
|
||
" <td>0.944661</td>\n",
|
||
" <td>94.466083</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>907_R_57_10055_10054</td>\n",
|
||
" <td>0.833181</td>\n",
|
||
" <td>83.318138</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>908_R_57_10055_10046</td>\n",
|
||
" <td>0.846551</td>\n",
|
||
" <td>84.655053</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>909_R_58_10056_10058</td>\n",
|
||
" <td>0.800779</td>\n",
|
||
" <td>80.077927</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>910_R_58_10056_10057</td>\n",
|
||
" <td>0.915237</td>\n",
|
||
" <td>91.523685</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>911_R_58_10056_10054</td>\n",
|
||
" <td>0.776553</td>\n",
|
||
" <td>77.655306</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>912_R_58_10056_10055</td>\n",
|
||
" <td>0.940606</td>\n",
|
||
" <td>94.060606</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>913_R_58_10056_10058</td>\n",
|
||
" <td>0.800778</td>\n",
|
||
" <td>80.077763</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>914_R_58_10056_10057</td>\n",
|
||
" <td>0.915235</td>\n",
|
||
" <td>91.523536</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>915_R_58_10056_10054</td>\n",
|
||
" <td>0.776553</td>\n",
|
||
" <td>77.655279</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>916_R_58_10056_10055</td>\n",
|
||
" <td>0.940606</td>\n",
|
||
" <td>94.060637</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>917_R_58_10056_10058</td>\n",
|
||
" <td>0.800780</td>\n",
|
||
" <td>80.078002</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>918_R_58_10056_10057</td>\n",
|
||
" <td>0.915236</td>\n",
|
||
" <td>91.523586</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>919_R_58_10056_10054</td>\n",
|
||
" <td>0.776553</td>\n",
|
||
" <td>77.655269</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>920_R_58_10056_10055</td>\n",
|
||
" <td>0.940605</td>\n",
|
||
" <td>94.060547</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>921_R_59_10054_10045</td>\n",
|
||
" <td>0.822587</td>\n",
|
||
" <td>82.258699</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>922_R_59_10054_10055</td>\n",
|
||
" <td>0.880675</td>\n",
|
||
" <td>88.067520</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>923_R_59_10054_10056</td>\n",
|
||
" <td>0.831876</td>\n",
|
||
" <td>83.187594</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>924_R_59_10054_10045</td>\n",
|
||
" <td>0.822587</td>\n",
|
||
" <td>82.258717</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>925_R_59_10054_10055</td>\n",
|
||
" <td>0.880675</td>\n",
|
||
" <td>88.067458</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>926_R_59_10054_10056</td>\n",
|
||
" <td>0.831876</td>\n",
|
||
" <td>83.187584</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>927_R_59_10054_10045</td>\n",
|
||
" <td>0.822588</td>\n",
|
||
" <td>82.258760</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>928_R_59_10054_10055</td>\n",
|
||
" <td>0.880675</td>\n",
|
||
" <td>88.067462</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>929_R_59_10054_10056</td>\n",
|
||
" <td>0.831875</td>\n",
|
||
" <td>83.187543</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>930_R_60_10047_10048</td>\n",
|
||
" <td>0.849412</td>\n",
|
||
" <td>84.941231</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>931_R_60_10047_812</td>\n",
|
||
" <td>0.797291</td>\n",
|
||
" <td>79.729089</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>932_R_60_10047_816</td>\n",
|
||
" <td>0.806802</td>\n",
|
||
" <td>80.680213</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>933_R_60_10047_FH3</td>\n",
|
||
" <td>0.817233</td>\n",
|
||
" <td>81.723339</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>934_R_60_10047_10048</td>\n",
|
||
" <td>0.849407</td>\n",
|
||
" <td>84.940695</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>935_R_60_10047_812</td>\n",
|
||
" <td>0.797292</td>\n",
|
||
" <td>79.729201</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>936_R_60_10047_816</td>\n",
|
||
" <td>0.806801</td>\n",
|
||
" <td>80.680130</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>937_R_60_10047_FH3</td>\n",
|
||
" <td>0.817235</td>\n",
|
||
" <td>81.723537</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>938_R_60_10047_10048</td>\n",
|
||
" <td>0.849408</td>\n",
|
||
" <td>84.940821</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>939_R_60_10047_812</td>\n",
|
||
" <td>0.797289</td>\n",
|
||
" <td>79.728904</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>940_R_60_10047_816</td>\n",
|
||
" <td>0.806800</td>\n",
|
||
" <td>80.679989</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>941_R_60_10047_FH3</td>\n",
|
||
" <td>0.817237</td>\n",
|
||
" <td>81.723724</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>942_R_61_10046_10048</td>\n",
|
||
" <td>0.788813</td>\n",
|
||
" <td>78.881323</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>943_R_61_10046_FH3</td>\n",
|
||
" <td>0.798822</td>\n",
|
||
" <td>79.882214</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>944_R_61_10046_812</td>\n",
|
||
" <td>0.832218</td>\n",
|
||
" <td>83.221808</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>945_R_61_10046_10048</td>\n",
|
||
" <td>0.788812</td>\n",
|
||
" <td>78.881155</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>946_R_61_10046_FH3</td>\n",
|
||
" <td>0.798822</td>\n",
|
||
" <td>79.882201</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>947_R_61_10046_812</td>\n",
|
||
" <td>0.832219</td>\n",
|
||
" <td>83.221867</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>948_R_61_10046_10048</td>\n",
|
||
" <td>0.788814</td>\n",
|
||
" <td>78.881364</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>949_R_61_10046_FH3</td>\n",
|
||
" <td>0.798822</td>\n",
|
||
" <td>79.882168</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>950_R_61_10046_812</td>\n",
|
||
" <td>0.832223</td>\n",
|
||
" <td>83.222296</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>951_R_62_10048_10046</td>\n",
|
||
" <td>0.813814</td>\n",
|
||
" <td>81.381380</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>952_R_62_10048_812</td>\n",
|
||
" <td>0.786421</td>\n",
|
||
" <td>78.642089</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>953_R_62_10048_816</td>\n",
|
||
" <td>0.819543</td>\n",
|
||
" <td>81.954318</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>954_R_62_10048_FH3</td>\n",
|
||
" <td>0.868975</td>\n",
|
||
" <td>86.897535</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>955_R_62_10048_10046</td>\n",
|
||
" <td>0.813812</td>\n",
|
||
" <td>81.381178</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>956_R_62_10048_812</td>\n",
|
||
" <td>0.786420</td>\n",
|
||
" <td>78.642044</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>957_R_62_10048_816</td>\n",
|
||
" <td>0.819544</td>\n",
|
||
" <td>81.954418</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>958_R_62_10048_FH3</td>\n",
|
||
" <td>0.868987</td>\n",
|
||
" <td>86.898698</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>959_R_62_10048_10046</td>\n",
|
||
" <td>0.813810</td>\n",
|
||
" <td>81.380951</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>960_R_62_10048_812</td>\n",
|
||
" <td>0.786419</td>\n",
|
||
" <td>78.641859</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>961_R_62_10048_816</td>\n",
|
||
" <td>0.819540</td>\n",
|
||
" <td>81.954009</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>962_R_62_10048_FH3</td>\n",
|
||
" <td>0.868996</td>\n",
|
||
" <td>86.899643</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>963_R_63_10056_10055</td>\n",
|
||
" <td>0.918435</td>\n",
|
||
" <td>91.843546</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>964_R_63_10056_666</td>\n",
|
||
" <td>0.701645</td>\n",
|
||
" <td>70.164497</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>965_R_63_10056_10055</td>\n",
|
||
" <td>0.918437</td>\n",
|
||
" <td>91.843676</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>966_R_63_10056_666</td>\n",
|
||
" <td>0.701646</td>\n",
|
||
" <td>70.164593</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>967_R_63_10056_10055</td>\n",
|
||
" <td>0.918435</td>\n",
|
||
" <td>91.843542</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>968_R_63_10056_666</td>\n",
|
||
" <td>0.701645</td>\n",
|
||
" <td>70.164488</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>969_R_64_10055_10056</td>\n",
|
||
" <td>0.855941</td>\n",
|
||
" <td>85.594142</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>970_R_64_10055_666</td>\n",
|
||
" <td>0.722192</td>\n",
|
||
" <td>72.219208</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>971_R_64_10055_10056</td>\n",
|
||
" <td>0.855940</td>\n",
|
||
" <td>85.593997</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>972_R_64_10055_666</td>\n",
|
||
" <td>0.722192</td>\n",
|
||
" <td>72.219249</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>973_R_64_10055_10056</td>\n",
|
||
" <td>0.855940</td>\n",
|
||
" <td>85.594037</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>974_R_64_10055_666</td>\n",
|
||
" <td>0.722191</td>\n",
|
||
" <td>72.219061</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>975_R_65_10054_10055</td>\n",
|
||
" <td>0.681958</td>\n",
|
||
" <td>68.195820</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>976_R_65_10054_666</td>\n",
|
||
" <td>0.749356</td>\n",
|
||
" <td>74.935636</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>977_R_65_10054_10055</td>\n",
|
||
" <td>0.681955</td>\n",
|
||
" <td>68.195467</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>978_R_65_10054_666</td>\n",
|
||
" <td>0.749358</td>\n",
|
||
" <td>74.935842</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>979_R_65_10054_10055</td>\n",
|
||
" <td>0.681956</td>\n",
|
||
" <td>68.195578</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>980_R_65_10054_666</td>\n",
|
||
" <td>0.749355</td>\n",
|
||
" <td>74.935451</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>981_R_66_10035_10037</td>\n",
|
||
" <td>0.687113</td>\n",
|
||
" <td>68.711293</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>982_R_66_10035_FH11</td>\n",
|
||
" <td>0.821119</td>\n",
|
||
" <td>82.111950</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>983_R_66_10035_FH14</td>\n",
|
||
" <td>0.848167</td>\n",
|
||
" <td>84.816732</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>984_R_66_10035_10037</td>\n",
|
||
" <td>0.687112</td>\n",
|
||
" <td>68.711223</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>985_R_66_10035_FH11</td>\n",
|
||
" <td>0.821119</td>\n",
|
||
" <td>82.111862</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>986_R_66_10035_FH14</td>\n",
|
||
" <td>0.848163</td>\n",
|
||
" <td>84.816330</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>987_R_66_10035_10037</td>\n",
|
||
" <td>0.687114</td>\n",
|
||
" <td>68.711379</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>988_R_66_10035_FH11</td>\n",
|
||
" <td>0.821116</td>\n",
|
||
" <td>82.111636</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>989_R_66_10035_FH14</td>\n",
|
||
" <td>0.848159</td>\n",
|
||
" <td>84.815941</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>990_R_67_10036_10037</td>\n",
|
||
" <td>0.891967</td>\n",
|
||
" <td>89.196676</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>991_R_67_10036_FH11</td>\n",
|
||
" <td>0.773088</td>\n",
|
||
" <td>77.308829</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>992_R_67_10036_FH14</td>\n",
|
||
" <td>0.774511</td>\n",
|
||
" <td>77.451122</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>993_R_67_10036_10037</td>\n",
|
||
" <td>0.891966</td>\n",
|
||
" <td>89.196570</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>994_R_67_10036_FH11</td>\n",
|
||
" <td>0.773088</td>\n",
|
||
" <td>77.308823</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>995_R_67_10036_FH14</td>\n",
|
||
" <td>0.774506</td>\n",
|
||
" <td>77.450599</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>996_R_67_10036_10037</td>\n",
|
||
" <td>0.891965</td>\n",
|
||
" <td>89.196455</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>997_R_67_10036_FH11</td>\n",
|
||
" <td>0.773087</td>\n",
|
||
" <td>77.308667</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>998_R_67_10036_FH14</td>\n",
|
||
" <td>0.774508</td>\n",
|
||
" <td>77.450786</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>999_R_68_10034_10035</td>\n",
|
||
" <td>0.756838</td>\n",
|
||
" <td>75.683826</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1000_R_68_10034_FH14</td>\n",
|
||
" <td>0.806599</td>\n",
|
||
" <td>80.659864</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1001_R_68_10034_10035</td>\n",
|
||
" <td>0.756836</td>\n",
|
||
" <td>75.683568</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1002_R_68_10034_FH14</td>\n",
|
||
" <td>0.806597</td>\n",
|
||
" <td>80.659709</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1003_R_68_10034_10035</td>\n",
|
||
" <td>0.756839</td>\n",
|
||
" <td>75.683943</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1004_R_68_10034_FH14</td>\n",
|
||
" <td>0.806598</td>\n",
|
||
" <td>80.659832</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1005_R_69_10037_10040</td>\n",
|
||
" <td>0.898712</td>\n",
|
||
" <td>89.871171</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1006_R_69_10037_FH4</td>\n",
|
||
" <td>0.758908</td>\n",
|
||
" <td>75.890755</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1007_R_69_10037_FH11</td>\n",
|
||
" <td>0.717330</td>\n",
|
||
" <td>71.732985</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1008_R_69_10037_10040</td>\n",
|
||
" <td>0.898712</td>\n",
|
||
" <td>89.871163</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1009_R_69_10037_FH4</td>\n",
|
||
" <td>0.758907</td>\n",
|
||
" <td>75.890696</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1010_R_69_10037_FH11</td>\n",
|
||
" <td>0.717328</td>\n",
|
||
" <td>71.732765</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1011_R_69_10037_10040</td>\n",
|
||
" <td>0.898715</td>\n",
|
||
" <td>89.871459</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1012_R_69_10037_FH4</td>\n",
|
||
" <td>0.758906</td>\n",
|
||
" <td>75.890629</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1013_R_69_10037_FH11</td>\n",
|
||
" <td>0.717329</td>\n",
|
||
" <td>71.732865</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1014_R_70_10041_10040</td>\n",
|
||
" <td>0.853404</td>\n",
|
||
" <td>85.340433</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1015_R_70_10041_FH4</td>\n",
|
||
" <td>0.718662</td>\n",
|
||
" <td>71.866162</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1016_R_70_10041_10040</td>\n",
|
||
" <td>0.853404</td>\n",
|
||
" <td>85.340396</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1017_R_70_10041_FH4</td>\n",
|
||
" <td>0.718665</td>\n",
|
||
" <td>71.866467</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1018_R_70_10041_10040</td>\n",
|
||
" <td>0.853403</td>\n",
|
||
" <td>85.340321</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1019_R_70_10041_FH4</td>\n",
|
||
" <td>0.718663</td>\n",
|
||
" <td>71.866286</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1020_R_71_10007_10015</td>\n",
|
||
" <td>0.669222</td>\n",
|
||
" <td>66.922177</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1021_R_71_10007_FH13</td>\n",
|
||
" <td>0.855381</td>\n",
|
||
" <td>85.538052</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1022_R_71_10007_10015</td>\n",
|
||
" <td>0.669226</td>\n",
|
||
" <td>66.922607</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1023_R_71_10007_FH13</td>\n",
|
||
" <td>0.855378</td>\n",
|
||
" <td>85.537816</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1024_R_71_10007_10015</td>\n",
|
||
" <td>0.669222</td>\n",
|
||
" <td>66.922221</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1025_R_71_10007_FH13</td>\n",
|
||
" <td>0.855358</td>\n",
|
||
" <td>85.535766</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1026_R_72_10015_10007</td>\n",
|
||
" <td>0.811050</td>\n",
|
||
" <td>81.104952</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1027_R_72_10015_FH13</td>\n",
|
||
" <td>0.787503</td>\n",
|
||
" <td>78.750347</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1028_R_72_10015_10007</td>\n",
|
||
" <td>0.811053</td>\n",
|
||
" <td>81.105299</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1029_R_72_10015_FH13</td>\n",
|
||
" <td>0.787504</td>\n",
|
||
" <td>78.750417</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1030_R_72_10015_10007</td>\n",
|
||
" <td>0.811053</td>\n",
|
||
" <td>81.105284</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1031_R_72_10015_FH13</td>\n",
|
||
" <td>0.787505</td>\n",
|
||
" <td>78.750469</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1032_R_73_10008_10007</td>\n",
|
||
" <td>0.798888</td>\n",
|
||
" <td>79.888821</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1033_R_73_10008_FH13</td>\n",
|
||
" <td>0.796650</td>\n",
|
||
" <td>79.665004</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1034_R_73_10008_10007</td>\n",
|
||
" <td>0.798888</td>\n",
|
||
" <td>79.888767</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1035_R_73_10008_FH13</td>\n",
|
||
" <td>0.796651</td>\n",
|
||
" <td>79.665058</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1036_R_73_10008_10007</td>\n",
|
||
" <td>0.798888</td>\n",
|
||
" <td>79.888824</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1037_R_73_10008_FH13</td>\n",
|
||
" <td>0.796650</td>\n",
|
||
" <td>79.665037</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1038_R_74_10033_10032</td>\n",
|
||
" <td>0.687852</td>\n",
|
||
" <td>68.785190</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1039_R_74_10033_FH15</td>\n",
|
||
" <td>0.746207</td>\n",
|
||
" <td>74.620742</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1040_R_74_10033_10032</td>\n",
|
||
" <td>0.687850</td>\n",
|
||
" <td>68.785038</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1041_R_74_10033_FH15</td>\n",
|
||
" <td>0.746199</td>\n",
|
||
" <td>74.619931</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1042_R_74_10033_10032</td>\n",
|
||
" <td>0.687846</td>\n",
|
||
" <td>68.784631</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1043_R_74_10033_FH15</td>\n",
|
||
" <td>0.746202</td>\n",
|
||
" <td>74.620236</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1044_R_75_10032_10033</td>\n",
|
||
" <td>0.831646</td>\n",
|
||
" <td>83.164554</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1045_R_75_10032_FH15</td>\n",
|
||
" <td>0.742146</td>\n",
|
||
" <td>74.214648</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1046_R_75_10032_10033</td>\n",
|
||
" <td>0.831643</td>\n",
|
||
" <td>83.164267</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1047_R_75_10032_FH15</td>\n",
|
||
" <td>0.742153</td>\n",
|
||
" <td>74.215319</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1048_R_75_10032_10033</td>\n",
|
||
" <td>0.831645</td>\n",
|
||
" <td>83.164477</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1049_R_75_10032_FH15</td>\n",
|
||
" <td>0.742152</td>\n",
|
||
" <td>74.215163</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>54_ZW_1_10009_10006</td>\n",
|
||
" <td>0.999544</td>\n",
|
||
" <td>99.954361</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>55_ZW_1_10009_10010</td>\n",
|
||
" <td>0.999091</td>\n",
|
||
" <td>99.909131</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>56_ZW_1_10009_10018</td>\n",
|
||
" <td>0.999481</td>\n",
|
||
" <td>99.948097</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>57_ZW_1_10009_10008</td>\n",
|
||
" <td>0.998819</td>\n",
|
||
" <td>99.881856</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>58_ZW_1_10009_10006</td>\n",
|
||
" <td>0.999544</td>\n",
|
||
" <td>99.954360</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>59_ZW_1_10009_10010</td>\n",
|
||
" <td>0.999091</td>\n",
|
||
" <td>99.909133</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>60_ZW_1_10009_10018</td>\n",
|
||
" <td>0.999481</td>\n",
|
||
" <td>99.948097</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>61_ZW_1_10009_10008</td>\n",
|
||
" <td>0.998819</td>\n",
|
||
" <td>99.881857</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>62_ZW_1_10009_10006</td>\n",
|
||
" <td>0.999544</td>\n",
|
||
" <td>99.954362</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>63_ZW_1_10009_10010</td>\n",
|
||
" <td>0.999091</td>\n",
|
||
" <td>99.909133</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>64_ZW_1_10009_10018</td>\n",
|
||
" <td>0.999481</td>\n",
|
||
" <td>99.948097</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>65_ZW_1_10009_10008</td>\n",
|
||
" <td>0.998819</td>\n",
|
||
" <td>99.881860</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>66_ZW_2_10006_10009</td>\n",
|
||
" <td>0.999544</td>\n",
|
||
" <td>99.954365</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>67_ZW_2_10006_10005</td>\n",
|
||
" <td>0.999540</td>\n",
|
||
" <td>99.954009</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>68_ZW_2_10006_10003</td>\n",
|
||
" <td>0.998730</td>\n",
|
||
" <td>99.873026</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>69_ZW_2_10006_10004</td>\n",
|
||
" <td>0.999465</td>\n",
|
||
" <td>99.946515</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>70_ZW_2_10006_10010</td>\n",
|
||
" <td>0.999499</td>\n",
|
||
" <td>99.949897</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>71_ZW_2_10006_10018</td>\n",
|
||
" <td>0.999163</td>\n",
|
||
" <td>99.916279</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>72_ZW_2_10006_10009</td>\n",
|
||
" <td>0.999544</td>\n",
|
||
" <td>99.954365</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>73_ZW_2_10006_10005</td>\n",
|
||
" <td>0.999540</td>\n",
|
||
" <td>99.954010</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>74_ZW_2_10006_10003</td>\n",
|
||
" <td>0.998730</td>\n",
|
||
" <td>99.873027</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>75_ZW_2_10006_10004</td>\n",
|
||
" <td>0.999465</td>\n",
|
||
" <td>99.946517</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>76_ZW_2_10006_10010</td>\n",
|
||
" <td>0.999499</td>\n",
|
||
" <td>99.949897</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>77_ZW_2_10006_10018</td>\n",
|
||
" <td>0.999163</td>\n",
|
||
" <td>99.916279</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>78_ZW_2_10006_10009</td>\n",
|
||
" <td>0.999544</td>\n",
|
||
" <td>99.954365</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>79_ZW_2_10006_10005</td>\n",
|
||
" <td>0.999540</td>\n",
|
||
" <td>99.954009</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>80_ZW_2_10006_10003</td>\n",
|
||
" <td>0.998730</td>\n",
|
||
" <td>99.873027</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>81_ZW_2_10006_10004</td>\n",
|
||
" <td>0.999465</td>\n",
|
||
" <td>99.946516</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>82_ZW_2_10006_10010</td>\n",
|
||
" <td>0.999499</td>\n",
|
||
" <td>99.949897</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>83_ZW_2_10006_10018</td>\n",
|
||
" <td>0.999163</td>\n",
|
||
" <td>99.916279</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>84_ZW_3_10008_10009</td>\n",
|
||
" <td>0.998819</td>\n",
|
||
" <td>99.881873</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>85_ZW_3_10008_10007</td>\n",
|
||
" <td>0.999493</td>\n",
|
||
" <td>99.949282</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>86_ZW_3_10008_10005</td>\n",
|
||
" <td>0.999570</td>\n",
|
||
" <td>99.956979</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>87_ZW_3_10008_10009</td>\n",
|
||
" <td>0.998819</td>\n",
|
||
" <td>99.881874</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>88_ZW_3_10008_10007</td>\n",
|
||
" <td>0.999493</td>\n",
|
||
" <td>99.949282</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>89_ZW_3_10008_10005</td>\n",
|
||
" <td>0.999570</td>\n",
|
||
" <td>99.956978</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>90_ZW_3_10008_10009</td>\n",
|
||
" <td>0.998819</td>\n",
|
||
" <td>99.881870</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>91_ZW_3_10008_10007</td>\n",
|
||
" <td>0.999493</td>\n",
|
||
" <td>99.949281</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>92_ZW_3_10008_10005</td>\n",
|
||
" <td>0.999570</td>\n",
|
||
" <td>99.956978</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>93_ZW_4_10005_10008</td>\n",
|
||
" <td>0.999570</td>\n",
|
||
" <td>99.956977</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>94_ZW_4_10005_10003</td>\n",
|
||
" <td>0.998853</td>\n",
|
||
" <td>99.885327</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>95_ZW_4_10005_10001</td>\n",
|
||
" <td>0.998496</td>\n",
|
||
" <td>99.849575</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>96_ZW_4_10005_10002</td>\n",
|
||
" <td>0.998133</td>\n",
|
||
" <td>99.813322</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>97_ZW_4_10005_10004</td>\n",
|
||
" <td>0.999002</td>\n",
|
||
" <td>99.900199</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>98_ZW_4_10005_10006</td>\n",
|
||
" <td>0.999540</td>\n",
|
||
" <td>99.954007</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>99_ZW_4_10005_10008</td>\n",
|
||
" <td>0.999570</td>\n",
|
||
" <td>99.956977</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>100_ZW_4_10005_10003</td>\n",
|
||
" <td>0.998853</td>\n",
|
||
" <td>99.885328</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>101_ZW_4_10005_10001</td>\n",
|
||
" <td>0.998496</td>\n",
|
||
" <td>99.849575</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>102_ZW_4_10005_10002</td>\n",
|
||
" <td>0.998133</td>\n",
|
||
" <td>99.813322</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>103_ZW_4_10005_10004</td>\n",
|
||
" <td>0.999002</td>\n",
|
||
" <td>99.900195</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>104_ZW_4_10005_10006</td>\n",
|
||
" <td>0.999540</td>\n",
|
||
" <td>99.954007</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>105_ZW_4_10005_10008</td>\n",
|
||
" <td>0.999570</td>\n",
|
||
" <td>99.956976</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>106_ZW_4_10005_10003</td>\n",
|
||
" <td>0.998853</td>\n",
|
||
" <td>99.885327</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>107_ZW_4_10005_10001</td>\n",
|
||
" <td>0.998496</td>\n",
|
||
" <td>99.849575</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>108_ZW_4_10005_10002</td>\n",
|
||
" <td>0.998133</td>\n",
|
||
" <td>99.813320</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>109_ZW_4_10005_10004</td>\n",
|
||
" <td>0.999002</td>\n",
|
||
" <td>99.900199</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>110_ZW_4_10005_10006</td>\n",
|
||
" <td>0.999540</td>\n",
|
||
" <td>99.954007</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>111_ZW_5_10004_10005</td>\n",
|
||
" <td>0.999002</td>\n",
|
||
" <td>99.900205</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>112_ZW_5_10004_10003</td>\n",
|
||
" <td>0.998151</td>\n",
|
||
" <td>99.815112</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>113_ZW_5_10004_10002</td>\n",
|
||
" <td>0.999017</td>\n",
|
||
" <td>99.901686</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>114_ZW_5_10004_10006</td>\n",
|
||
" <td>0.999465</td>\n",
|
||
" <td>99.946514</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>115_ZW_5_10004_10005</td>\n",
|
||
" <td>0.999002</td>\n",
|
||
" <td>99.900206</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>116_ZW_5_10004_10003</td>\n",
|
||
" <td>0.998151</td>\n",
|
||
" <td>99.815111</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>117_ZW_5_10004_10002</td>\n",
|
||
" <td>0.999017</td>\n",
|
||
" <td>99.901686</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>118_ZW_5_10004_10006</td>\n",
|
||
" <td>0.999465</td>\n",
|
||
" <td>99.946514</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>119_ZW_5_10004_10005</td>\n",
|
||
" <td>0.999002</td>\n",
|
||
" <td>99.900206</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>120_ZW_5_10004_10003</td>\n",
|
||
" <td>0.998151</td>\n",
|
||
" <td>99.815111</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>121_ZW_5_10004_10002</td>\n",
|
||
" <td>0.999017</td>\n",
|
||
" <td>99.901686</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>122_ZW_5_10004_10006</td>\n",
|
||
" <td>0.999465</td>\n",
|
||
" <td>99.946514</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>123_ZW_6_10003_10004</td>\n",
|
||
" <td>0.998151</td>\n",
|
||
" <td>99.815107</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>124_ZW_6_10003_10006</td>\n",
|
||
" <td>0.998730</td>\n",
|
||
" <td>99.873025</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>125_ZW_6_10003_10005</td>\n",
|
||
" <td>0.998853</td>\n",
|
||
" <td>99.885327</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>126_ZW_6_10003_10007</td>\n",
|
||
" <td>0.999560</td>\n",
|
||
" <td>99.956043</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>127_ZW_6_10003_10016</td>\n",
|
||
" <td>0.999173</td>\n",
|
||
" <td>99.917341</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>128_ZW_6_10003_10001</td>\n",
|
||
" <td>0.999162</td>\n",
|
||
" <td>99.916231</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>129_ZW_6_10003_10002</td>\n",
|
||
" <td>0.997150</td>\n",
|
||
" <td>99.715035</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>130_ZW_6_10003_10004</td>\n",
|
||
" <td>0.998151</td>\n",
|
||
" <td>99.815109</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>131_ZW_6_10003_10006</td>\n",
|
||
" <td>0.998730</td>\n",
|
||
" <td>99.873024</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>132_ZW_6_10003_10005</td>\n",
|
||
" <td>0.998853</td>\n",
|
||
" <td>99.885328</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>133_ZW_6_10003_10007</td>\n",
|
||
" <td>0.999560</td>\n",
|
||
" <td>99.956043</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>134_ZW_6_10003_10016</td>\n",
|
||
" <td>0.999173</td>\n",
|
||
" <td>99.917342</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>135_ZW_6_10003_10001</td>\n",
|
||
" <td>0.999162</td>\n",
|
||
" <td>99.916230</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>136_ZW_6_10003_10002</td>\n",
|
||
" <td>0.997150</td>\n",
|
||
" <td>99.715032</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>137_ZW_6_10003_10004</td>\n",
|
||
" <td>0.998151</td>\n",
|
||
" <td>99.815108</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>138_ZW_6_10003_10006</td>\n",
|
||
" <td>0.998730</td>\n",
|
||
" <td>99.873025</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>139_ZW_6_10003_10005</td>\n",
|
||
" <td>0.998853</td>\n",
|
||
" <td>99.885326</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>140_ZW_6_10003_10007</td>\n",
|
||
" <td>0.999560</td>\n",
|
||
" <td>99.956042</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>141_ZW_6_10003_10016</td>\n",
|
||
" <td>0.999173</td>\n",
|
||
" <td>99.917342</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>142_ZW_6_10003_10001</td>\n",
|
||
" <td>0.999162</td>\n",
|
||
" <td>99.916231</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>143_ZW_6_10003_10002</td>\n",
|
||
" <td>0.997150</td>\n",
|
||
" <td>99.715032</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>144_ZW_7_10002_10003</td>\n",
|
||
" <td>0.997150</td>\n",
|
||
" <td>99.715043</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>145_ZW_7_10002_10001</td>\n",
|
||
" <td>0.996703</td>\n",
|
||
" <td>99.670348</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>146_ZW_7_10002_10004</td>\n",
|
||
" <td>0.999017</td>\n",
|
||
" <td>99.901687</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>147_ZW_7_10002_10006</td>\n",
|
||
" <td>0.998633</td>\n",
|
||
" <td>99.863348</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>148_ZW_7_10002_10005</td>\n",
|
||
" <td>0.998133</td>\n",
|
||
" <td>99.813324</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>149_ZW_7_10002_10003</td>\n",
|
||
" <td>0.997150</td>\n",
|
||
" <td>99.715046</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>150_ZW_7_10002_10001</td>\n",
|
||
" <td>0.996703</td>\n",
|
||
" <td>99.670346</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>151_ZW_7_10002_10004</td>\n",
|
||
" <td>0.999017</td>\n",
|
||
" <td>99.901687</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>152_ZW_7_10002_10006</td>\n",
|
||
" <td>0.998633</td>\n",
|
||
" <td>99.863349</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>153_ZW_7_10002_10005</td>\n",
|
||
" <td>0.998133</td>\n",
|
||
" <td>99.813325</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>154_ZW_7_10002_10003</td>\n",
|
||
" <td>0.997150</td>\n",
|
||
" <td>99.715044</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>155_ZW_7_10002_10001</td>\n",
|
||
" <td>0.996703</td>\n",
|
||
" <td>99.670348</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>156_ZW_7_10002_10004</td>\n",
|
||
" <td>0.999017</td>\n",
|
||
" <td>99.901686</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>157_ZW_7_10002_10006</td>\n",
|
||
" <td>0.998633</td>\n",
|
||
" <td>99.863349</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>158_ZW_7_10002_10005</td>\n",
|
||
" <td>0.998133</td>\n",
|
||
" <td>99.813324</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>159_ZW_8_10001_10002</td>\n",
|
||
" <td>0.996703</td>\n",
|
||
" <td>99.670337</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>160_ZW_8_10001_10005</td>\n",
|
||
" <td>0.998496</td>\n",
|
||
" <td>99.849574</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>161_ZW_8_10001_10003</td>\n",
|
||
" <td>0.999162</td>\n",
|
||
" <td>99.916230</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>162_ZW_8_10001_10011</td>\n",
|
||
" <td>0.999145</td>\n",
|
||
" <td>99.914543</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>163_ZW_8_10001_10002</td>\n",
|
||
" <td>0.996703</td>\n",
|
||
" <td>99.670341</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>164_ZW_8_10001_10005</td>\n",
|
||
" <td>0.998496</td>\n",
|
||
" <td>99.849575</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>165_ZW_8_10001_10003</td>\n",
|
||
" <td>0.999162</td>\n",
|
||
" <td>99.916231</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>166_ZW_8_10001_10011</td>\n",
|
||
" <td>0.999145</td>\n",
|
||
" <td>99.914543</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>167_ZW_8_10001_10002</td>\n",
|
||
" <td>0.996703</td>\n",
|
||
" <td>99.670341</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>168_ZW_8_10001_10005</td>\n",
|
||
" <td>0.998496</td>\n",
|
||
" <td>99.849575</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>169_ZW_8_10001_10003</td>\n",
|
||
" <td>0.999162</td>\n",
|
||
" <td>99.916232</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>170_ZW_8_10001_10011</td>\n",
|
||
" <td>0.999145</td>\n",
|
||
" <td>99.914543</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>171_ZW_9_10010_10006</td>\n",
|
||
" <td>0.999499</td>\n",
|
||
" <td>99.949900</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>172_ZW_9_10010_10026</td>\n",
|
||
" <td>0.999258</td>\n",
|
||
" <td>99.925780</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>173_ZW_9_10010_10027</td>\n",
|
||
" <td>0.998456</td>\n",
|
||
" <td>99.845648</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>174_ZW_9_10010_10018</td>\n",
|
||
" <td>0.998727</td>\n",
|
||
" <td>99.872704</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>175_ZW_9_10010_10009</td>\n",
|
||
" <td>0.999091</td>\n",
|
||
" <td>99.909143</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>176_ZW_9_10010_10006</td>\n",
|
||
" <td>0.999499</td>\n",
|
||
" <td>99.949901</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>177_ZW_9_10010_10026</td>\n",
|
||
" <td>0.999258</td>\n",
|
||
" <td>99.925781</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>178_ZW_9_10010_10027</td>\n",
|
||
" <td>0.998456</td>\n",
|
||
" <td>99.845648</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>179_ZW_9_10010_10018</td>\n",
|
||
" <td>0.998727</td>\n",
|
||
" <td>99.872703</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>180_ZW_9_10010_10009</td>\n",
|
||
" <td>0.999091</td>\n",
|
||
" <td>99.909144</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>181_ZW_9_10010_10006</td>\n",
|
||
" <td>0.999499</td>\n",
|
||
" <td>99.949900</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>182_ZW_9_10010_10026</td>\n",
|
||
" <td>0.999258</td>\n",
|
||
" <td>99.925780</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>183_ZW_9_10010_10027</td>\n",
|
||
" <td>0.998456</td>\n",
|
||
" <td>99.845649</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>184_ZW_9_10010_10018</td>\n",
|
||
" <td>0.998727</td>\n",
|
||
" <td>99.872703</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>185_ZW_9_10010_10009</td>\n",
|
||
" <td>0.999091</td>\n",
|
||
" <td>99.909145</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>186_ZW_10_10018_10010</td>\n",
|
||
" <td>0.998727</td>\n",
|
||
" <td>99.872695</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>187_ZW_10_10018_10026</td>\n",
|
||
" <td>0.998422</td>\n",
|
||
" <td>99.842211</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>188_ZW_10_10018_10043</td>\n",
|
||
" <td>0.997931</td>\n",
|
||
" <td>99.793059</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>189_ZW_10_10018_10027</td>\n",
|
||
" <td>0.999169</td>\n",
|
||
" <td>99.916936</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>190_ZW_10_10018_10009</td>\n",
|
||
" <td>0.999481</td>\n",
|
||
" <td>99.948097</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>191_ZW_10_10018_10010</td>\n",
|
||
" <td>0.998727</td>\n",
|
||
" <td>99.872694</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>192_ZW_10_10018_10026</td>\n",
|
||
" <td>0.998422</td>\n",
|
||
" <td>99.842209</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>193_ZW_10_10018_10043</td>\n",
|
||
" <td>0.997931</td>\n",
|
||
" <td>99.793058</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>194_ZW_10_10018_10027</td>\n",
|
||
" <td>0.999169</td>\n",
|
||
" <td>99.916936</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>195_ZW_10_10018_10009</td>\n",
|
||
" <td>0.999481</td>\n",
|
||
" <td>99.948097</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>196_ZW_10_10018_10010</td>\n",
|
||
" <td>0.998727</td>\n",
|
||
" <td>99.872693</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>197_ZW_10_10018_10026</td>\n",
|
||
" <td>0.998422</td>\n",
|
||
" <td>99.842210</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>198_ZW_10_10018_10043</td>\n",
|
||
" <td>0.997931</td>\n",
|
||
" <td>99.793059</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>199_ZW_10_10018_10027</td>\n",
|
||
" <td>0.999169</td>\n",
|
||
" <td>99.916936</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>200_ZW_10_10018_10009</td>\n",
|
||
" <td>0.999481</td>\n",
|
||
" <td>99.948097</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>201_ZW_11_10026_10018</td>\n",
|
||
" <td>0.998422</td>\n",
|
||
" <td>99.842235</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>202_ZW_11_10026_10010</td>\n",
|
||
" <td>0.999258</td>\n",
|
||
" <td>99.925782</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>203_ZW_11_10026_10043</td>\n",
|
||
" <td>0.999103</td>\n",
|
||
" <td>99.910306</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>204_ZW_11_10026_10044</td>\n",
|
||
" <td>0.998532</td>\n",
|
||
" <td>99.853177</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>205_ZW_11_10026_10027</td>\n",
|
||
" <td>0.998208</td>\n",
|
||
" <td>99.820778</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>206_ZW_11_10026_10021</td>\n",
|
||
" <td>0.999567</td>\n",
|
||
" <td>99.956712</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>207_ZW_11_10026_10020</td>\n",
|
||
" <td>0.999571</td>\n",
|
||
" <td>99.957085</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>208_ZW_11_10026_10018</td>\n",
|
||
" <td>0.998422</td>\n",
|
||
" <td>99.842236</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>209_ZW_11_10026_10010</td>\n",
|
||
" <td>0.999258</td>\n",
|
||
" <td>99.925783</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>210_ZW_11_10026_10043</td>\n",
|
||
" <td>0.999103</td>\n",
|
||
" <td>99.910306</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>211_ZW_11_10026_10044</td>\n",
|
||
" <td>0.998532</td>\n",
|
||
" <td>99.853177</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>212_ZW_11_10026_10027</td>\n",
|
||
" <td>0.998208</td>\n",
|
||
" <td>99.820778</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>213_ZW_11_10026_10021</td>\n",
|
||
" <td>0.999567</td>\n",
|
||
" <td>99.956712</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>214_ZW_11_10026_10020</td>\n",
|
||
" <td>0.999571</td>\n",
|
||
" <td>99.957085</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>215_ZW_11_10026_10018</td>\n",
|
||
" <td>0.998422</td>\n",
|
||
" <td>99.842236</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>216_ZW_11_10026_10010</td>\n",
|
||
" <td>0.999258</td>\n",
|
||
" <td>99.925782</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>217_ZW_11_10026_10043</td>\n",
|
||
" <td>0.999103</td>\n",
|
||
" <td>99.910306</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>218_ZW_11_10026_10044</td>\n",
|
||
" <td>0.998532</td>\n",
|
||
" <td>99.853177</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>219_ZW_11_10026_10027</td>\n",
|
||
" <td>0.998208</td>\n",
|
||
" <td>99.820775</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>220_ZW_11_10026_10021</td>\n",
|
||
" <td>0.999567</td>\n",
|
||
" <td>99.956711</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>221_ZW_11_10026_10020</td>\n",
|
||
" <td>0.999571</td>\n",
|
||
" <td>99.957085</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>222_ZW_12_10021_10026</td>\n",
|
||
" <td>0.999567</td>\n",
|
||
" <td>99.956712</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>223_ZW_12_10021_10024</td>\n",
|
||
" <td>0.999089</td>\n",
|
||
" <td>99.908898</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>224_ZW_12_10021_10025</td>\n",
|
||
" <td>0.998933</td>\n",
|
||
" <td>99.893309</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>225_ZW_12_10021_10022</td>\n",
|
||
" <td>0.999619</td>\n",
|
||
" <td>99.961929</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>226_ZW_12_10021_10023</td>\n",
|
||
" <td>0.999322</td>\n",
|
||
" <td>99.932223</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>227_ZW_12_10021_10020</td>\n",
|
||
" <td>0.999202</td>\n",
|
||
" <td>99.920168</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>228_ZW_12_10021_10019</td>\n",
|
||
" <td>0.999006</td>\n",
|
||
" <td>99.900645</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>229_ZW_12_10021_10026</td>\n",
|
||
" <td>0.999567</td>\n",
|
||
" <td>99.956712</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>230_ZW_12_10021_10024</td>\n",
|
||
" <td>0.999089</td>\n",
|
||
" <td>99.908898</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>231_ZW_12_10021_10025</td>\n",
|
||
" <td>0.998933</td>\n",
|
||
" <td>99.893310</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>232_ZW_12_10021_10022</td>\n",
|
||
" <td>0.999619</td>\n",
|
||
" <td>99.961927</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>233_ZW_12_10021_10023</td>\n",
|
||
" <td>0.999322</td>\n",
|
||
" <td>99.932221</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>234_ZW_12_10021_10020</td>\n",
|
||
" <td>0.999202</td>\n",
|
||
" <td>99.920172</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>235_ZW_12_10021_10019</td>\n",
|
||
" <td>0.999006</td>\n",
|
||
" <td>99.900645</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>236_ZW_12_10021_10026</td>\n",
|
||
" <td>0.999567</td>\n",
|
||
" <td>99.956712</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>237_ZW_12_10021_10024</td>\n",
|
||
" <td>0.999089</td>\n",
|
||
" <td>99.908897</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>238_ZW_12_10021_10025</td>\n",
|
||
" <td>0.998933</td>\n",
|
||
" <td>99.893309</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>239_ZW_12_10021_10022</td>\n",
|
||
" <td>0.999619</td>\n",
|
||
" <td>99.961927</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>240_ZW_12_10021_10023</td>\n",
|
||
" <td>0.999322</td>\n",
|
||
" <td>99.932219</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>241_ZW_12_10021_10020</td>\n",
|
||
" <td>0.999202</td>\n",
|
||
" <td>99.920171</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>242_ZW_12_10021_10019</td>\n",
|
||
" <td>0.999006</td>\n",
|
||
" <td>99.900645</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>243_ZW_13_10020_10021</td>\n",
|
||
" <td>0.999202</td>\n",
|
||
" <td>99.920177</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>244_ZW_13_10020_10022</td>\n",
|
||
" <td>0.998965</td>\n",
|
||
" <td>99.896501</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>245_ZW_13_10020_10024</td>\n",
|
||
" <td>0.998712</td>\n",
|
||
" <td>99.871213</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>246_ZW_13_10020_10025</td>\n",
|
||
" <td>0.998697</td>\n",
|
||
" <td>99.869711</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>247_ZW_13_10020_10023</td>\n",
|
||
" <td>0.998804</td>\n",
|
||
" <td>99.880391</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>248_ZW_13_10020_10019</td>\n",
|
||
" <td>0.999600</td>\n",
|
||
" <td>99.960015</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>249_ZW_13_10020_10026</td>\n",
|
||
" <td>0.999571</td>\n",
|
||
" <td>99.957087</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>250_ZW_13_10020_10021</td>\n",
|
||
" <td>0.999202</td>\n",
|
||
" <td>99.920177</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>251_ZW_13_10020_10022</td>\n",
|
||
" <td>0.998965</td>\n",
|
||
" <td>99.896497</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>252_ZW_13_10020_10024</td>\n",
|
||
" <td>0.998712</td>\n",
|
||
" <td>99.871213</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>253_ZW_13_10020_10025</td>\n",
|
||
" <td>0.998697</td>\n",
|
||
" <td>99.869710</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>254_ZW_13_10020_10023</td>\n",
|
||
" <td>0.998804</td>\n",
|
||
" <td>99.880392</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>255_ZW_13_10020_10019</td>\n",
|
||
" <td>0.999600</td>\n",
|
||
" <td>99.960015</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>256_ZW_13_10020_10026</td>\n",
|
||
" <td>0.999571</td>\n",
|
||
" <td>99.957086</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>257_ZW_13_10020_10021</td>\n",
|
||
" <td>0.999202</td>\n",
|
||
" <td>99.920184</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>258_ZW_13_10020_10022</td>\n",
|
||
" <td>0.998965</td>\n",
|
||
" <td>99.896494</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>259_ZW_13_10020_10024</td>\n",
|
||
" <td>0.998712</td>\n",
|
||
" <td>99.871213</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>260_ZW_13_10020_10025</td>\n",
|
||
" <td>0.998697</td>\n",
|
||
" <td>99.869711</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>261_ZW_13_10020_10023</td>\n",
|
||
" <td>0.998804</td>\n",
|
||
" <td>99.880396</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>262_ZW_13_10020_10019</td>\n",
|
||
" <td>0.999600</td>\n",
|
||
" <td>99.960016</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>263_ZW_13_10020_10026</td>\n",
|
||
" <td>0.999571</td>\n",
|
||
" <td>99.957086</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>264_ZW_14_10019_10020</td>\n",
|
||
" <td>0.999600</td>\n",
|
||
" <td>99.960016</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>265_ZW_14_10019_10033</td>\n",
|
||
" <td>0.998797</td>\n",
|
||
" <td>99.879684</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>266_ZW_14_10019_10017</td>\n",
|
||
" <td>0.999580</td>\n",
|
||
" <td>99.958029</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>267_ZW_14_10019_10026</td>\n",
|
||
" <td>0.999328</td>\n",
|
||
" <td>99.932752</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>268_ZW_14_10019_10021</td>\n",
|
||
" <td>0.999006</td>\n",
|
||
" <td>99.900649</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>269_ZW_14_10019_10020</td>\n",
|
||
" <td>0.999600</td>\n",
|
||
" <td>99.960016</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>270_ZW_14_10019_10033</td>\n",
|
||
" <td>0.998797</td>\n",
|
||
" <td>99.879683</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>271_ZW_14_10019_10017</td>\n",
|
||
" <td>0.999580</td>\n",
|
||
" <td>99.958030</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>272_ZW_14_10019_10026</td>\n",
|
||
" <td>0.999328</td>\n",
|
||
" <td>99.932752</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>273_ZW_14_10019_10021</td>\n",
|
||
" <td>0.999006</td>\n",
|
||
" <td>99.900649</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>274_ZW_14_10019_10020</td>\n",
|
||
" <td>0.999600</td>\n",
|
||
" <td>99.960016</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>275_ZW_14_10019_10033</td>\n",
|
||
" <td>0.998797</td>\n",
|
||
" <td>99.879685</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>276_ZW_14_10019_10017</td>\n",
|
||
" <td>0.999580</td>\n",
|
||
" <td>99.958028</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>277_ZW_14_10019_10026</td>\n",
|
||
" <td>0.999328</td>\n",
|
||
" <td>99.932751</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>278_ZW_14_10019_10021</td>\n",
|
||
" <td>0.999006</td>\n",
|
||
" <td>99.900648</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>279_ZW_15_10027_10026</td>\n",
|
||
" <td>0.998208</td>\n",
|
||
" <td>99.820788</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>280_ZW_15_10027_10010</td>\n",
|
||
" <td>0.998456</td>\n",
|
||
" <td>99.845647</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>281_ZW_15_10027_10018</td>\n",
|
||
" <td>0.999169</td>\n",
|
||
" <td>99.916933</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>282_ZW_15_10027_10043</td>\n",
|
||
" <td>0.997539</td>\n",
|
||
" <td>99.753878</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>283_ZW_15_10027_10044</td>\n",
|
||
" <td>0.998429</td>\n",
|
||
" <td>99.842937</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>284_ZW_15_10027_10025</td>\n",
|
||
" <td>0.997595</td>\n",
|
||
" <td>99.759534</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>285_ZW_15_10027_10026</td>\n",
|
||
" <td>0.998208</td>\n",
|
||
" <td>99.820785</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>286_ZW_15_10027_10010</td>\n",
|
||
" <td>0.998456</td>\n",
|
||
" <td>99.845646</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>287_ZW_15_10027_10018</td>\n",
|
||
" <td>0.999169</td>\n",
|
||
" <td>99.916935</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>288_ZW_15_10027_10043</td>\n",
|
||
" <td>0.997539</td>\n",
|
||
" <td>99.753876</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>289_ZW_15_10027_10044</td>\n",
|
||
" <td>0.998429</td>\n",
|
||
" <td>99.842937</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>290_ZW_15_10027_10025</td>\n",
|
||
" <td>0.997595</td>\n",
|
||
" <td>99.759535</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>291_ZW_15_10027_10026</td>\n",
|
||
" <td>0.998208</td>\n",
|
||
" <td>99.820783</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>292_ZW_15_10027_10010</td>\n",
|
||
" <td>0.998456</td>\n",
|
||
" <td>99.845646</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>293_ZW_15_10027_10018</td>\n",
|
||
" <td>0.999169</td>\n",
|
||
" <td>99.916934</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>294_ZW_15_10027_10043</td>\n",
|
||
" <td>0.997539</td>\n",
|
||
" <td>99.753874</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>295_ZW_15_10027_10044</td>\n",
|
||
" <td>0.998429</td>\n",
|
||
" <td>99.842937</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>296_ZW_15_10027_10025</td>\n",
|
||
" <td>0.997595</td>\n",
|
||
" <td>99.759543</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>297_ZW_16_10022_10021</td>\n",
|
||
" <td>0.999619</td>\n",
|
||
" <td>99.961934</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>298_ZW_16_10022_10024</td>\n",
|
||
" <td>0.999314</td>\n",
|
||
" <td>99.931362</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>299_ZW_16_10022_10025</td>\n",
|
||
" <td>0.999079</td>\n",
|
||
" <td>99.907909</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>300_ZW_16_10022_10023</td>\n",
|
||
" <td>0.999624</td>\n",
|
||
" <td>99.962410</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>301_ZW_16_10022_10020</td>\n",
|
||
" <td>0.998965</td>\n",
|
||
" <td>99.896500</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>302_ZW_16_10022_10021</td>\n",
|
||
" <td>0.999619</td>\n",
|
||
" <td>99.961932</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>303_ZW_16_10022_10024</td>\n",
|
||
" <td>0.999314</td>\n",
|
||
" <td>99.931359</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>304_ZW_16_10022_10025</td>\n",
|
||
" <td>0.999079</td>\n",
|
||
" <td>99.907909</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>305_ZW_16_10022_10023</td>\n",
|
||
" <td>0.999624</td>\n",
|
||
" <td>99.962410</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>306_ZW_16_10022_10020</td>\n",
|
||
" <td>0.998965</td>\n",
|
||
" <td>99.896494</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>307_ZW_16_10022_10021</td>\n",
|
||
" <td>0.999619</td>\n",
|
||
" <td>99.961932</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>308_ZW_16_10022_10024</td>\n",
|
||
" <td>0.999314</td>\n",
|
||
" <td>99.931357</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>309_ZW_16_10022_10025</td>\n",
|
||
" <td>0.999079</td>\n",
|
||
" <td>99.907909</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>310_ZW_16_10022_10023</td>\n",
|
||
" <td>0.999624</td>\n",
|
||
" <td>99.962408</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>311_ZW_16_10022_10020</td>\n",
|
||
" <td>0.998965</td>\n",
|
||
" <td>99.896496</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>312_ZW_17_10023_10022</td>\n",
|
||
" <td>0.999624</td>\n",
|
||
" <td>99.962410</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>313_ZW_17_10023_10024</td>\n",
|
||
" <td>0.999609</td>\n",
|
||
" <td>99.960869</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>314_ZW_17_10023_10025</td>\n",
|
||
" <td>0.999296</td>\n",
|
||
" <td>99.929553</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>315_ZW_17_10023_10020</td>\n",
|
||
" <td>0.998804</td>\n",
|
||
" <td>99.880389</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>316_ZW_17_10023_10021</td>\n",
|
||
" <td>0.999322</td>\n",
|
||
" <td>99.932221</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>317_ZW_17_10023_10022</td>\n",
|
||
" <td>0.999624</td>\n",
|
||
" <td>99.962406</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>318_ZW_17_10023_10024</td>\n",
|
||
" <td>0.999609</td>\n",
|
||
" <td>99.960867</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>319_ZW_17_10023_10025</td>\n",
|
||
" <td>0.999296</td>\n",
|
||
" <td>99.929554</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>320_ZW_17_10023_10020</td>\n",
|
||
" <td>0.998804</td>\n",
|
||
" <td>99.880389</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>321_ZW_17_10023_10021</td>\n",
|
||
" <td>0.999322</td>\n",
|
||
" <td>99.932222</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>322_ZW_17_10023_10022</td>\n",
|
||
" <td>0.999624</td>\n",
|
||
" <td>99.962405</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>323_ZW_17_10023_10024</td>\n",
|
||
" <td>0.999609</td>\n",
|
||
" <td>99.960869</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>324_ZW_17_10023_10025</td>\n",
|
||
" <td>0.999296</td>\n",
|
||
" <td>99.929554</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>325_ZW_17_10023_10020</td>\n",
|
||
" <td>0.998804</td>\n",
|
||
" <td>99.880385</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>326_ZW_17_10023_10021</td>\n",
|
||
" <td>0.999322</td>\n",
|
||
" <td>99.932222</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>327_ZW_18_10024_10023</td>\n",
|
||
" <td>0.999609</td>\n",
|
||
" <td>99.960867</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>328_ZW_18_10024_10020</td>\n",
|
||
" <td>0.998712</td>\n",
|
||
" <td>99.871208</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>329_ZW_18_10024_10022</td>\n",
|
||
" <td>0.999314</td>\n",
|
||
" <td>99.931356</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>330_ZW_18_10024_10021</td>\n",
|
||
" <td>0.999089</td>\n",
|
||
" <td>99.908897</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>331_ZW_18_10024_10025</td>\n",
|
||
" <td>0.999602</td>\n",
|
||
" <td>99.960164</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>332_ZW_18_10024_10023</td>\n",
|
||
" <td>0.999609</td>\n",
|
||
" <td>99.960867</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>333_ZW_18_10024_10020</td>\n",
|
||
" <td>0.998712</td>\n",
|
||
" <td>99.871204</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>334_ZW_18_10024_10022</td>\n",
|
||
" <td>0.999314</td>\n",
|
||
" <td>99.931360</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>335_ZW_18_10024_10021</td>\n",
|
||
" <td>0.999089</td>\n",
|
||
" <td>99.908898</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>336_ZW_18_10024_10025</td>\n",
|
||
" <td>0.999602</td>\n",
|
||
" <td>99.960166</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>337_ZW_18_10024_10023</td>\n",
|
||
" <td>0.999609</td>\n",
|
||
" <td>99.960867</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>338_ZW_18_10024_10020</td>\n",
|
||
" <td>0.998712</td>\n",
|
||
" <td>99.871207</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>339_ZW_18_10024_10022</td>\n",
|
||
" <td>0.999314</td>\n",
|
||
" <td>99.931358</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>340_ZW_18_10024_10021</td>\n",
|
||
" <td>0.999089</td>\n",
|
||
" <td>99.908897</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>341_ZW_18_10024_10025</td>\n",
|
||
" <td>0.999602</td>\n",
|
||
" <td>99.960166</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>342_ZW_19_10025_10024</td>\n",
|
||
" <td>0.999602</td>\n",
|
||
" <td>99.960162</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>343_ZW_19_10025_10021</td>\n",
|
||
" <td>0.998933</td>\n",
|
||
" <td>99.893313</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>344_ZW_19_10025_10022</td>\n",
|
||
" <td>0.999079</td>\n",
|
||
" <td>99.907909</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>345_ZW_19_10025_10020</td>\n",
|
||
" <td>0.998697</td>\n",
|
||
" <td>99.869717</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>346_ZW_19_10025_10023</td>\n",
|
||
" <td>0.999296</td>\n",
|
||
" <td>99.929556</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>347_ZW_19_10025_10033</td>\n",
|
||
" <td>0.999552</td>\n",
|
||
" <td>99.955232</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>348_ZW_19_10025_10027</td>\n",
|
||
" <td>0.997595</td>\n",
|
||
" <td>99.759524</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>349_ZW_19_10025_10024</td>\n",
|
||
" <td>0.999602</td>\n",
|
||
" <td>99.960160</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>350_ZW_19_10025_10021</td>\n",
|
||
" <td>0.998933</td>\n",
|
||
" <td>99.893315</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>351_ZW_19_10025_10022</td>\n",
|
||
" <td>0.999079</td>\n",
|
||
" <td>99.907910</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>352_ZW_19_10025_10020</td>\n",
|
||
" <td>0.998697</td>\n",
|
||
" <td>99.869714</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>353_ZW_19_10025_10023</td>\n",
|
||
" <td>0.999296</td>\n",
|
||
" <td>99.929553</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>354_ZW_19_10025_10033</td>\n",
|
||
" <td>0.999552</td>\n",
|
||
" <td>99.955233</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>355_ZW_19_10025_10027</td>\n",
|
||
" <td>0.997595</td>\n",
|
||
" <td>99.759518</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>356_ZW_19_10025_10024</td>\n",
|
||
" <td>0.999602</td>\n",
|
||
" <td>99.960162</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>357_ZW_19_10025_10021</td>\n",
|
||
" <td>0.998933</td>\n",
|
||
" <td>99.893315</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>358_ZW_19_10025_10022</td>\n",
|
||
" <td>0.999079</td>\n",
|
||
" <td>99.907909</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>359_ZW_19_10025_10020</td>\n",
|
||
" <td>0.998697</td>\n",
|
||
" <td>99.869715</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>360_ZW_19_10025_10023</td>\n",
|
||
" <td>0.999296</td>\n",
|
||
" <td>99.929554</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>361_ZW_19_10025_10033</td>\n",
|
||
" <td>0.999552</td>\n",
|
||
" <td>99.955232</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>362_ZW_19_10025_10027</td>\n",
|
||
" <td>0.997595</td>\n",
|
||
" <td>99.759521</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>363_ZW_20_10043_10027</td>\n",
|
||
" <td>0.997539</td>\n",
|
||
" <td>99.753864</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>364_ZW_20_10043_10026</td>\n",
|
||
" <td>0.999103</td>\n",
|
||
" <td>99.910309</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>365_ZW_20_10043_10052</td>\n",
|
||
" <td>0.999130</td>\n",
|
||
" <td>99.913012</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>366_ZW_20_10043_10044</td>\n",
|
||
" <td>0.997816</td>\n",
|
||
" <td>99.781646</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>367_ZW_20_10043_10042</td>\n",
|
||
" <td>0.997579</td>\n",
|
||
" <td>99.757867</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>368_ZW_20_10043_10027</td>\n",
|
||
" <td>0.997539</td>\n",
|
||
" <td>99.753858</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>369_ZW_20_10043_10026</td>\n",
|
||
" <td>0.999103</td>\n",
|
||
" <td>99.910309</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>370_ZW_20_10043_10052</td>\n",
|
||
" <td>0.999130</td>\n",
|
||
" <td>99.913012</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>371_ZW_20_10043_10044</td>\n",
|
||
" <td>0.997816</td>\n",
|
||
" <td>99.781647</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>372_ZW_20_10043_10042</td>\n",
|
||
" <td>0.997579</td>\n",
|
||
" <td>99.757874</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>373_ZW_20_10043_10027</td>\n",
|
||
" <td>0.997539</td>\n",
|
||
" <td>99.753859</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>374_ZW_20_10043_10026</td>\n",
|
||
" <td>0.999103</td>\n",
|
||
" <td>99.910309</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>375_ZW_20_10043_10052</td>\n",
|
||
" <td>0.999130</td>\n",
|
||
" <td>99.913012</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>376_ZW_20_10043_10044</td>\n",
|
||
" <td>0.997816</td>\n",
|
||
" <td>99.781648</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>377_ZW_20_10043_10042</td>\n",
|
||
" <td>0.997579</td>\n",
|
||
" <td>99.757866</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>378_ZW_21_10044_10027</td>\n",
|
||
" <td>0.998429</td>\n",
|
||
" <td>99.842933</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>379_ZW_21_10044_10043</td>\n",
|
||
" <td>0.997816</td>\n",
|
||
" <td>99.781650</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>380_ZW_21_10044_10052</td>\n",
|
||
" <td>0.997476</td>\n",
|
||
" <td>99.747592</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>381_ZW_21_10044_10053</td>\n",
|
||
" <td>0.999557</td>\n",
|
||
" <td>99.955669</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>382_ZW_21_10044_10037</td>\n",
|
||
" <td>0.999242</td>\n",
|
||
" <td>99.924170</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>383_ZW_21_10044_10040</td>\n",
|
||
" <td>0.999598</td>\n",
|
||
" <td>99.959785</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>384_ZW_21_10044_10042</td>\n",
|
||
" <td>0.998836</td>\n",
|
||
" <td>99.883643</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>385_ZW_21_10044_10027</td>\n",
|
||
" <td>0.998429</td>\n",
|
||
" <td>99.842933</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>386_ZW_21_10044_10043</td>\n",
|
||
" <td>0.997817</td>\n",
|
||
" <td>99.781660</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>387_ZW_21_10044_10052</td>\n",
|
||
" <td>0.997476</td>\n",
|
||
" <td>99.747590</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>388_ZW_21_10044_10053</td>\n",
|
||
" <td>0.999557</td>\n",
|
||
" <td>99.955669</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>389_ZW_21_10044_10037</td>\n",
|
||
" <td>0.999242</td>\n",
|
||
" <td>99.924171</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>390_ZW_21_10044_10040</td>\n",
|
||
" <td>0.999598</td>\n",
|
||
" <td>99.959786</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>391_ZW_21_10044_10042</td>\n",
|
||
" <td>0.998836</td>\n",
|
||
" <td>99.883642</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>392_ZW_21_10044_10027</td>\n",
|
||
" <td>0.998429</td>\n",
|
||
" <td>99.842934</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>393_ZW_21_10044_10043</td>\n",
|
||
" <td>0.997817</td>\n",
|
||
" <td>99.781654</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>394_ZW_21_10044_10052</td>\n",
|
||
" <td>0.997476</td>\n",
|
||
" <td>99.747589</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>395_ZW_21_10044_10053</td>\n",
|
||
" <td>0.999557</td>\n",
|
||
" <td>99.955669</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>396_ZW_21_10044_10037</td>\n",
|
||
" <td>0.999242</td>\n",
|
||
" <td>99.924171</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>397_ZW_21_10044_10040</td>\n",
|
||
" <td>0.999598</td>\n",
|
||
" <td>99.959785</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>398_ZW_21_10044_10042</td>\n",
|
||
" <td>0.998836</td>\n",
|
||
" <td>99.883646</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>399_ZW_22_10042_10043</td>\n",
|
||
" <td>0.997579</td>\n",
|
||
" <td>99.757859</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>400_ZW_22_10042_10044</td>\n",
|
||
" <td>0.998836</td>\n",
|
||
" <td>99.883636</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>401_ZW_22_10042_10040</td>\n",
|
||
" <td>0.999189</td>\n",
|
||
" <td>99.918858</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>402_ZW_22_10042_10041</td>\n",
|
||
" <td>0.999561</td>\n",
|
||
" <td>99.956100</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>403_ZW_22_10042_10043</td>\n",
|
||
" <td>0.997579</td>\n",
|
||
" <td>99.757860</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>404_ZW_22_10042_10044</td>\n",
|
||
" <td>0.998836</td>\n",
|
||
" <td>99.883642</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>405_ZW_22_10042_10040</td>\n",
|
||
" <td>0.999189</td>\n",
|
||
" <td>99.918859</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>406_ZW_22_10042_10041</td>\n",
|
||
" <td>0.999561</td>\n",
|
||
" <td>99.956100</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>407_ZW_22_10042_10043</td>\n",
|
||
" <td>0.997579</td>\n",
|
||
" <td>99.757862</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>408_ZW_22_10042_10044</td>\n",
|
||
" <td>0.998836</td>\n",
|
||
" <td>99.883641</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>409_ZW_22_10042_10040</td>\n",
|
||
" <td>0.999189</td>\n",
|
||
" <td>99.918858</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>410_ZW_22_10042_10041</td>\n",
|
||
" <td>0.999561</td>\n",
|
||
" <td>99.956100</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>411_ZW_23_10041_10042</td>\n",
|
||
" <td>0.999561</td>\n",
|
||
" <td>99.956101</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>412_ZW_23_10041_10044</td>\n",
|
||
" <td>0.999180</td>\n",
|
||
" <td>99.918029</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>413_ZW_23_10041_10040</td>\n",
|
||
" <td>0.999546</td>\n",
|
||
" <td>99.954595</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>414_ZW_23_10041_10038</td>\n",
|
||
" <td>0.998867</td>\n",
|
||
" <td>99.886729</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>415_ZW_23_10041_10042</td>\n",
|
||
" <td>0.999561</td>\n",
|
||
" <td>99.956101</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>416_ZW_23_10041_10044</td>\n",
|
||
" <td>0.999180</td>\n",
|
||
" <td>99.918029</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>417_ZW_23_10041_10040</td>\n",
|
||
" <td>0.999546</td>\n",
|
||
" <td>99.954594</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>418_ZW_23_10041_10038</td>\n",
|
||
" <td>0.998867</td>\n",
|
||
" <td>99.886729</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>419_ZW_23_10041_10042</td>\n",
|
||
" <td>0.999561</td>\n",
|
||
" <td>99.956101</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>420_ZW_23_10041_10044</td>\n",
|
||
" <td>0.999180</td>\n",
|
||
" <td>99.918026</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>421_ZW_23_10041_10040</td>\n",
|
||
" <td>0.999546</td>\n",
|
||
" <td>99.954595</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>422_ZW_23_10041_10038</td>\n",
|
||
" <td>0.998867</td>\n",
|
||
" <td>99.886730</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>423_ZW_24_10037_10044</td>\n",
|
||
" <td>0.999242</td>\n",
|
||
" <td>99.924170</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>424_ZW_24_10037_10051</td>\n",
|
||
" <td>0.998902</td>\n",
|
||
" <td>99.890172</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>425_ZW_24_10037_10036</td>\n",
|
||
" <td>0.997949</td>\n",
|
||
" <td>99.794939</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>426_ZW_24_10037_10035</td>\n",
|
||
" <td>0.998477</td>\n",
|
||
" <td>99.847666</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>427_ZW_24_10037_10038</td>\n",
|
||
" <td>0.999560</td>\n",
|
||
" <td>99.956035</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>428_ZW_24_10037_10039</td>\n",
|
||
" <td>0.999268</td>\n",
|
||
" <td>99.926831</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>429_ZW_24_10037_10040</td>\n",
|
||
" <td>0.999578</td>\n",
|
||
" <td>99.957760</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>430_ZW_24_10037_10044</td>\n",
|
||
" <td>0.999242</td>\n",
|
||
" <td>99.924169</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>431_ZW_24_10037_10051</td>\n",
|
||
" <td>0.998902</td>\n",
|
||
" <td>99.890171</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>432_ZW_24_10037_10036</td>\n",
|
||
" <td>0.997949</td>\n",
|
||
" <td>99.794941</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>433_ZW_24_10037_10035</td>\n",
|
||
" <td>0.998477</td>\n",
|
||
" <td>99.847666</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>434_ZW_24_10037_10038</td>\n",
|
||
" <td>0.999560</td>\n",
|
||
" <td>99.956034</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>435_ZW_24_10037_10039</td>\n",
|
||
" <td>0.999268</td>\n",
|
||
" <td>99.926831</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>436_ZW_24_10037_10040</td>\n",
|
||
" <td>0.999578</td>\n",
|
||
" <td>99.957760</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>437_ZW_24_10037_10044</td>\n",
|
||
" <td>0.999242</td>\n",
|
||
" <td>99.924169</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>438_ZW_24_10037_10051</td>\n",
|
||
" <td>0.998902</td>\n",
|
||
" <td>99.890171</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>439_ZW_24_10037_10036</td>\n",
|
||
" <td>0.997949</td>\n",
|
||
" <td>99.794945</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>440_ZW_24_10037_10035</td>\n",
|
||
" <td>0.998477</td>\n",
|
||
" <td>99.847666</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>441_ZW_24_10037_10038</td>\n",
|
||
" <td>0.999560</td>\n",
|
||
" <td>99.956034</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>442_ZW_24_10037_10039</td>\n",
|
||
" <td>0.999268</td>\n",
|
||
" <td>99.926829</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>443_ZW_24_10037_10040</td>\n",
|
||
" <td>0.999578</td>\n",
|
||
" <td>99.957759</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>444_ZW_25_10052_10043</td>\n",
|
||
" <td>0.999130</td>\n",
|
||
" <td>99.913015</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>445_ZW_25_10052_10059</td>\n",
|
||
" <td>0.997577</td>\n",
|
||
" <td>99.757679</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>446_ZW_25_10052_10053</td>\n",
|
||
" <td>0.997609</td>\n",
|
||
" <td>99.760854</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>447_ZW_25_10052_10050</td>\n",
|
||
" <td>0.997367</td>\n",
|
||
" <td>99.736680</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>448_ZW_25_10052_10051</td>\n",
|
||
" <td>0.997218</td>\n",
|
||
" <td>99.721797</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>449_ZW_25_10052_10044</td>\n",
|
||
" <td>0.997476</td>\n",
|
||
" <td>99.747616</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>450_ZW_25_10052_10043</td>\n",
|
||
" <td>0.999130</td>\n",
|
||
" <td>99.913015</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>451_ZW_25_10052_10059</td>\n",
|
||
" <td>0.997577</td>\n",
|
||
" <td>99.757678</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>452_ZW_25_10052_10053</td>\n",
|
||
" <td>0.997609</td>\n",
|
||
" <td>99.760852</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>453_ZW_25_10052_10050</td>\n",
|
||
" <td>0.997367</td>\n",
|
||
" <td>99.736681</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>454_ZW_25_10052_10051</td>\n",
|
||
" <td>0.997218</td>\n",
|
||
" <td>99.721793</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>455_ZW_25_10052_10044</td>\n",
|
||
" <td>0.997476</td>\n",
|
||
" <td>99.747612</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>456_ZW_25_10052_10043</td>\n",
|
||
" <td>0.999130</td>\n",
|
||
" <td>99.913015</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>457_ZW_25_10052_10059</td>\n",
|
||
" <td>0.997577</td>\n",
|
||
" <td>99.757679</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>458_ZW_25_10052_10053</td>\n",
|
||
" <td>0.997608</td>\n",
|
||
" <td>99.760849</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>459_ZW_25_10052_10050</td>\n",
|
||
" <td>0.997367</td>\n",
|
||
" <td>99.736679</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>460_ZW_25_10052_10051</td>\n",
|
||
" <td>0.997218</td>\n",
|
||
" <td>99.721791</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>461_ZW_25_10052_10044</td>\n",
|
||
" <td>0.997476</td>\n",
|
||
" <td>99.747606</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>462_ZW_26_10040_10037</td>\n",
|
||
" <td>0.999578</td>\n",
|
||
" <td>99.957759</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>463_ZW_26_10040_10041</td>\n",
|
||
" <td>0.999546</td>\n",
|
||
" <td>99.954591</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>464_ZW_26_10040_10042</td>\n",
|
||
" <td>0.999189</td>\n",
|
||
" <td>99.918857</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>465_ZW_26_10040_10044</td>\n",
|
||
" <td>0.999598</td>\n",
|
||
" <td>99.959784</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>466_ZW_26_10040_10037</td>\n",
|
||
" <td>0.999578</td>\n",
|
||
" <td>99.957759</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>467_ZW_26_10040_10041</td>\n",
|
||
" <td>0.999546</td>\n",
|
||
" <td>99.954592</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>468_ZW_26_10040_10042</td>\n",
|
||
" <td>0.999189</td>\n",
|
||
" <td>99.918857</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>469_ZW_26_10040_10044</td>\n",
|
||
" <td>0.999598</td>\n",
|
||
" <td>99.959785</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>470_ZW_26_10040_10037</td>\n",
|
||
" <td>0.999578</td>\n",
|
||
" <td>99.957760</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>471_ZW_26_10040_10041</td>\n",
|
||
" <td>0.999546</td>\n",
|
||
" <td>99.954592</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>472_ZW_26_10040_10042</td>\n",
|
||
" <td>0.999189</td>\n",
|
||
" <td>99.918858</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>473_ZW_26_10040_10044</td>\n",
|
||
" <td>0.999598</td>\n",
|
||
" <td>99.959784</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>474_ZW_27_10051_10037</td>\n",
|
||
" <td>0.998902</td>\n",
|
||
" <td>99.890176</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>475_ZW_27_10051_10052</td>\n",
|
||
" <td>0.997218</td>\n",
|
||
" <td>99.721791</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>476_ZW_27_10051_10053</td>\n",
|
||
" <td>0.999352</td>\n",
|
||
" <td>99.935231</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>477_ZW_27_10051_10050</td>\n",
|
||
" <td>0.999601</td>\n",
|
||
" <td>99.960128</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>478_ZW_27_10051_10037</td>\n",
|
||
" <td>0.998902</td>\n",
|
||
" <td>99.890175</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>479_ZW_27_10051_10052</td>\n",
|
||
" <td>0.997218</td>\n",
|
||
" <td>99.721790</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>480_ZW_27_10051_10053</td>\n",
|
||
" <td>0.999352</td>\n",
|
||
" <td>99.935230</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>481_ZW_27_10051_10050</td>\n",
|
||
" <td>0.999601</td>\n",
|
||
" <td>99.960128</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>482_ZW_27_10051_10037</td>\n",
|
||
" <td>0.998902</td>\n",
|
||
" <td>99.890176</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>483_ZW_27_10051_10052</td>\n",
|
||
" <td>0.997218</td>\n",
|
||
" <td>99.721784</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>484_ZW_27_10051_10053</td>\n",
|
||
" <td>0.999352</td>\n",
|
||
" <td>99.935230</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>485_ZW_27_10051_10050</td>\n",
|
||
" <td>0.999601</td>\n",
|
||
" <td>99.960127</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>486_ZW_28_10011_10001</td>\n",
|
||
" <td>0.999145</td>\n",
|
||
" <td>99.914542</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>487_ZW_28_10011_10013</td>\n",
|
||
" <td>0.998009</td>\n",
|
||
" <td>99.800894</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>488_ZW_28_10011_10017</td>\n",
|
||
" <td>0.998239</td>\n",
|
||
" <td>99.823857</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>489_ZW_28_10011_10028</td>\n",
|
||
" <td>0.999160</td>\n",
|
||
" <td>99.915976</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>490_ZW_28_10011_10001</td>\n",
|
||
" <td>0.999145</td>\n",
|
||
" <td>99.914543</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>491_ZW_28_10011_10013</td>\n",
|
||
" <td>0.998009</td>\n",
|
||
" <td>99.800891</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>492_ZW_28_10011_10017</td>\n",
|
||
" <td>0.998239</td>\n",
|
||
" <td>99.823857</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>493_ZW_28_10011_10028</td>\n",
|
||
" <td>0.999160</td>\n",
|
||
" <td>99.915976</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>494_ZW_28_10011_10001</td>\n",
|
||
" <td>0.999145</td>\n",
|
||
" <td>99.914543</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>495_ZW_28_10011_10013</td>\n",
|
||
" <td>0.998009</td>\n",
|
||
" <td>99.800891</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>496_ZW_28_10011_10017</td>\n",
|
||
" <td>0.998239</td>\n",
|
||
" <td>99.823857</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>497_ZW_28_10011_10028</td>\n",
|
||
" <td>0.999160</td>\n",
|
||
" <td>99.915976</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>498_ZW_29_10017_10011</td>\n",
|
||
" <td>0.998239</td>\n",
|
||
" <td>99.823858</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>499_ZW_29_10017_10013</td>\n",
|
||
" <td>0.999557</td>\n",
|
||
" <td>99.955710</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>500_ZW_29_10017_10012</td>\n",
|
||
" <td>0.999238</td>\n",
|
||
" <td>99.923804</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>501_ZW_29_10017_10014</td>\n",
|
||
" <td>0.998990</td>\n",
|
||
" <td>99.899016</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>502_ZW_29_10017_10007</td>\n",
|
||
" <td>0.998794</td>\n",
|
||
" <td>99.879413</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>503_ZW_29_10017_10016</td>\n",
|
||
" <td>0.998765</td>\n",
|
||
" <td>99.876501</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>504_ZW_29_10017_10019</td>\n",
|
||
" <td>0.999580</td>\n",
|
||
" <td>99.958038</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>505_ZW_29_10017_10031</td>\n",
|
||
" <td>0.999559</td>\n",
|
||
" <td>99.955861</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>506_ZW_29_10017_10011</td>\n",
|
||
" <td>0.998239</td>\n",
|
||
" <td>99.823859</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>507_ZW_29_10017_10013</td>\n",
|
||
" <td>0.999557</td>\n",
|
||
" <td>99.955709</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>508_ZW_29_10017_10012</td>\n",
|
||
" <td>0.999238</td>\n",
|
||
" <td>99.923802</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>509_ZW_29_10017_10014</td>\n",
|
||
" <td>0.998990</td>\n",
|
||
" <td>99.899013</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>510_ZW_29_10017_10007</td>\n",
|
||
" <td>0.998794</td>\n",
|
||
" <td>99.879413</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>511_ZW_29_10017_10016</td>\n",
|
||
" <td>0.998765</td>\n",
|
||
" <td>99.876502</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>512_ZW_29_10017_10019</td>\n",
|
||
" <td>0.999580</td>\n",
|
||
" <td>99.958038</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>513_ZW_29_10017_10031</td>\n",
|
||
" <td>0.999559</td>\n",
|
||
" <td>99.955861</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>514_ZW_29_10017_10011</td>\n",
|
||
" <td>0.998239</td>\n",
|
||
" <td>99.823858</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>515_ZW_29_10017_10013</td>\n",
|
||
" <td>0.999557</td>\n",
|
||
" <td>99.955710</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>516_ZW_29_10017_10012</td>\n",
|
||
" <td>0.999238</td>\n",
|
||
" <td>99.923802</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>517_ZW_29_10017_10014</td>\n",
|
||
" <td>0.998990</td>\n",
|
||
" <td>99.899015</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>518_ZW_29_10017_10007</td>\n",
|
||
" <td>0.998794</td>\n",
|
||
" <td>99.879412</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>519_ZW_29_10017_10016</td>\n",
|
||
" <td>0.998765</td>\n",
|
||
" <td>99.876502</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>520_ZW_29_10017_10019</td>\n",
|
||
" <td>0.999580</td>\n",
|
||
" <td>99.958038</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>521_ZW_29_10017_10031</td>\n",
|
||
" <td>0.999559</td>\n",
|
||
" <td>99.955861</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>522_ZW_30_10013_10017</td>\n",
|
||
" <td>0.999557</td>\n",
|
||
" <td>99.955709</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>523_ZW_30_10013_10011</td>\n",
|
||
" <td>0.998009</td>\n",
|
||
" <td>99.800891</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>524_ZW_30_10013_10012</td>\n",
|
||
" <td>0.999580</td>\n",
|
||
" <td>99.957975</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>525_ZW_30_10013_10017</td>\n",
|
||
" <td>0.999557</td>\n",
|
||
" <td>99.955709</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>526_ZW_30_10013_10011</td>\n",
|
||
" <td>0.998009</td>\n",
|
||
" <td>99.800893</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>527_ZW_30_10013_10012</td>\n",
|
||
" <td>0.999580</td>\n",
|
||
" <td>99.957975</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>528_ZW_30_10013_10017</td>\n",
|
||
" <td>0.999557</td>\n",
|
||
" <td>99.955709</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>529_ZW_30_10013_10011</td>\n",
|
||
" <td>0.998009</td>\n",
|
||
" <td>99.800889</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>530_ZW_30_10013_10012</td>\n",
|
||
" <td>0.999580</td>\n",
|
||
" <td>99.957975</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>531_ZW_31_10007_10008</td>\n",
|
||
" <td>0.999493</td>\n",
|
||
" <td>99.949286</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>532_ZW_31_10007_10016</td>\n",
|
||
" <td>0.999560</td>\n",
|
||
" <td>99.955968</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>533_ZW_31_10007_10017</td>\n",
|
||
" <td>0.998794</td>\n",
|
||
" <td>99.879413</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>534_ZW_31_10007_10015</td>\n",
|
||
" <td>0.999249</td>\n",
|
||
" <td>99.924851</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>535_ZW_31_10007_10003</td>\n",
|
||
" <td>0.999560</td>\n",
|
||
" <td>99.956037</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>536_ZW_31_10007_10008</td>\n",
|
||
" <td>0.999493</td>\n",
|
||
" <td>99.949286</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>537_ZW_31_10007_10016</td>\n",
|
||
" <td>0.999560</td>\n",
|
||
" <td>99.955968</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>538_ZW_31_10007_10017</td>\n",
|
||
" <td>0.998794</td>\n",
|
||
" <td>99.879413</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>539_ZW_31_10007_10015</td>\n",
|
||
" <td>0.999249</td>\n",
|
||
" <td>99.924852</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>540_ZW_31_10007_10003</td>\n",
|
||
" <td>0.999560</td>\n",
|
||
" <td>99.956038</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>541_ZW_31_10007_10008</td>\n",
|
||
" <td>0.999493</td>\n",
|
||
" <td>99.949286</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>542_ZW_31_10007_10016</td>\n",
|
||
" <td>0.999560</td>\n",
|
||
" <td>99.955968</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>543_ZW_31_10007_10017</td>\n",
|
||
" <td>0.998794</td>\n",
|
||
" <td>99.879413</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>544_ZW_31_10007_10015</td>\n",
|
||
" <td>0.999249</td>\n",
|
||
" <td>99.924850</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>545_ZW_31_10007_10003</td>\n",
|
||
" <td>0.999560</td>\n",
|
||
" <td>99.956037</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>546_ZW_32_10016_10007</td>\n",
|
||
" <td>0.999560</td>\n",
|
||
" <td>99.955972</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>547_ZW_32_10016_10031</td>\n",
|
||
" <td>0.998662</td>\n",
|
||
" <td>99.866163</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>548_ZW_32_10016_10017</td>\n",
|
||
" <td>0.998765</td>\n",
|
||
" <td>99.876502</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>549_ZW_32_10016_10014</td>\n",
|
||
" <td>0.999269</td>\n",
|
||
" <td>99.926949</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>550_ZW_32_10016_10012</td>\n",
|
||
" <td>0.999026</td>\n",
|
||
" <td>99.902644</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>551_ZW_32_10016_10015</td>\n",
|
||
" <td>0.999595</td>\n",
|
||
" <td>99.959518</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>552_ZW_32_10016_10003</td>\n",
|
||
" <td>0.999173</td>\n",
|
||
" <td>99.917335</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>553_ZW_32_10016_10007</td>\n",
|
||
" <td>0.999560</td>\n",
|
||
" <td>99.955971</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>554_ZW_32_10016_10031</td>\n",
|
||
" <td>0.998662</td>\n",
|
||
" <td>99.866163</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>555_ZW_32_10016_10017</td>\n",
|
||
" <td>0.998765</td>\n",
|
||
" <td>99.876506</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>556_ZW_32_10016_10014</td>\n",
|
||
" <td>0.999269</td>\n",
|
||
" <td>99.926949</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>557_ZW_32_10016_10012</td>\n",
|
||
" <td>0.999026</td>\n",
|
||
" <td>99.902644</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>558_ZW_32_10016_10015</td>\n",
|
||
" <td>0.999595</td>\n",
|
||
" <td>99.959517</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>559_ZW_32_10016_10003</td>\n",
|
||
" <td>0.999173</td>\n",
|
||
" <td>99.917335</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>560_ZW_32_10016_10007</td>\n",
|
||
" <td>0.999560</td>\n",
|
||
" <td>99.955971</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>561_ZW_32_10016_10031</td>\n",
|
||
" <td>0.998662</td>\n",
|
||
" <td>99.866163</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>562_ZW_32_10016_10017</td>\n",
|
||
" <td>0.998765</td>\n",
|
||
" <td>99.876505</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>563_ZW_32_10016_10014</td>\n",
|
||
" <td>0.999269</td>\n",
|
||
" <td>99.926949</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>564_ZW_32_10016_10012</td>\n",
|
||
" <td>0.999026</td>\n",
|
||
" <td>99.902644</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>565_ZW_32_10016_10015</td>\n",
|
||
" <td>0.999595</td>\n",
|
||
" <td>99.959517</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>566_ZW_32_10016_10003</td>\n",
|
||
" <td>0.999173</td>\n",
|
||
" <td>99.917335</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>567_ZW_33_10015_10007</td>\n",
|
||
" <td>0.999248</td>\n",
|
||
" <td>99.924850</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>568_ZW_33_10015_10016</td>\n",
|
||
" <td>0.999595</td>\n",
|
||
" <td>99.959513</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>569_ZW_33_10015_10014</td>\n",
|
||
" <td>0.999589</td>\n",
|
||
" <td>99.958878</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>570_ZW_33_10015_10012</td>\n",
|
||
" <td>0.999260</td>\n",
|
||
" <td>99.926011</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>571_ZW_33_10015_10007</td>\n",
|
||
" <td>0.999249</td>\n",
|
||
" <td>99.924852</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>572_ZW_33_10015_10016</td>\n",
|
||
" <td>0.999595</td>\n",
|
||
" <td>99.959515</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>573_ZW_33_10015_10014</td>\n",
|
||
" <td>0.999589</td>\n",
|
||
" <td>99.958876</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>574_ZW_33_10015_10012</td>\n",
|
||
" <td>0.999260</td>\n",
|
||
" <td>99.926013</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>575_ZW_33_10015_10007</td>\n",
|
||
" <td>0.999249</td>\n",
|
||
" <td>99.924852</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>576_ZW_33_10015_10016</td>\n",
|
||
" <td>0.999595</td>\n",
|
||
" <td>99.959514</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>577_ZW_33_10015_10014</td>\n",
|
||
" <td>0.999589</td>\n",
|
||
" <td>99.958876</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>578_ZW_33_10015_10012</td>\n",
|
||
" <td>0.999260</td>\n",
|
||
" <td>99.926013</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>579_ZW_34_10014_10017</td>\n",
|
||
" <td>0.998990</td>\n",
|
||
" <td>99.899012</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>580_ZW_34_10014_10012</td>\n",
|
||
" <td>0.999586</td>\n",
|
||
" <td>99.958643</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>581_ZW_34_10014_10015</td>\n",
|
||
" <td>0.999589</td>\n",
|
||
" <td>99.958874</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>582_ZW_34_10014_10016</td>\n",
|
||
" <td>0.999269</td>\n",
|
||
" <td>99.926945</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>583_ZW_34_10014_10017</td>\n",
|
||
" <td>0.998990</td>\n",
|
||
" <td>99.899010</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>584_ZW_34_10014_10012</td>\n",
|
||
" <td>0.999586</td>\n",
|
||
" <td>99.958643</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>585_ZW_34_10014_10015</td>\n",
|
||
" <td>0.999589</td>\n",
|
||
" <td>99.958872</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>586_ZW_34_10014_10016</td>\n",
|
||
" <td>0.999269</td>\n",
|
||
" <td>99.926943</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>587_ZW_34_10014_10017</td>\n",
|
||
" <td>0.998990</td>\n",
|
||
" <td>99.899011</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>588_ZW_34_10014_10012</td>\n",
|
||
" <td>0.999586</td>\n",
|
||
" <td>99.958645</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>589_ZW_34_10014_10015</td>\n",
|
||
" <td>0.999589</td>\n",
|
||
" <td>99.958872</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>590_ZW_34_10014_10016</td>\n",
|
||
" <td>0.999269</td>\n",
|
||
" <td>99.926945</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>591_ZW_35_10012_10015</td>\n",
|
||
" <td>0.999260</td>\n",
|
||
" <td>99.926015</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>592_ZW_35_10012_10016</td>\n",
|
||
" <td>0.999026</td>\n",
|
||
" <td>99.902645</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>593_ZW_35_10012_10014</td>\n",
|
||
" <td>0.999586</td>\n",
|
||
" <td>99.958646</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>594_ZW_35_10012_10017</td>\n",
|
||
" <td>0.999238</td>\n",
|
||
" <td>99.923804</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>595_ZW_35_10012_10013</td>\n",
|
||
" <td>0.999580</td>\n",
|
||
" <td>99.957975</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>596_ZW_35_10012_10015</td>\n",
|
||
" <td>0.999260</td>\n",
|
||
" <td>99.926015</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>597_ZW_35_10012_10016</td>\n",
|
||
" <td>0.999026</td>\n",
|
||
" <td>99.902643</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>598_ZW_35_10012_10014</td>\n",
|
||
" <td>0.999586</td>\n",
|
||
" <td>99.958646</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>599_ZW_35_10012_10017</td>\n",
|
||
" <td>0.999238</td>\n",
|
||
" <td>99.923804</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>600_ZW_35_10012_10013</td>\n",
|
||
" <td>0.999580</td>\n",
|
||
" <td>99.957976</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>601_ZW_35_10012_10015</td>\n",
|
||
" <td>0.999260</td>\n",
|
||
" <td>99.926014</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>602_ZW_35_10012_10016</td>\n",
|
||
" <td>0.999026</td>\n",
|
||
" <td>99.902643</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>603_ZW_35_10012_10014</td>\n",
|
||
" <td>0.999586</td>\n",
|
||
" <td>99.958646</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>604_ZW_35_10012_10017</td>\n",
|
||
" <td>0.999238</td>\n",
|
||
" <td>99.923804</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>605_ZW_35_10012_10013</td>\n",
|
||
" <td>0.999580</td>\n",
|
||
" <td>99.957975</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>606_ZW_36_10033_10019</td>\n",
|
||
" <td>0.998797</td>\n",
|
||
" <td>99.879675</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>607_ZW_36_10033_10025</td>\n",
|
||
" <td>0.999552</td>\n",
|
||
" <td>99.955236</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>608_ZW_36_10033_10039</td>\n",
|
||
" <td>0.998618</td>\n",
|
||
" <td>99.861823</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>609_ZW_36_10033_10032</td>\n",
|
||
" <td>0.998897</td>\n",
|
||
" <td>99.889706</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>610_ZW_36_10033_10031</td>\n",
|
||
" <td>0.999267</td>\n",
|
||
" <td>99.926715</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>611_ZW_36_10033_10019</td>\n",
|
||
" <td>0.998797</td>\n",
|
||
" <td>99.879677</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>612_ZW_36_10033_10025</td>\n",
|
||
" <td>0.999552</td>\n",
|
||
" <td>99.955236</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>613_ZW_36_10033_10039</td>\n",
|
||
" <td>0.998618</td>\n",
|
||
" <td>99.861825</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>614_ZW_36_10033_10032</td>\n",
|
||
" <td>0.998897</td>\n",
|
||
" <td>99.889704</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>615_ZW_36_10033_10031</td>\n",
|
||
" <td>0.999267</td>\n",
|
||
" <td>99.926716</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>616_ZW_36_10033_10019</td>\n",
|
||
" <td>0.998797</td>\n",
|
||
" <td>99.879676</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>617_ZW_36_10033_10025</td>\n",
|
||
" <td>0.999552</td>\n",
|
||
" <td>99.955236</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>618_ZW_36_10033_10039</td>\n",
|
||
" <td>0.998618</td>\n",
|
||
" <td>99.861821</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>619_ZW_36_10033_10032</td>\n",
|
||
" <td>0.998897</td>\n",
|
||
" <td>99.889702</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>620_ZW_36_10033_10031</td>\n",
|
||
" <td>0.999267</td>\n",
|
||
" <td>99.926716</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>621_ZW_37_10032_10033</td>\n",
|
||
" <td>0.998897</td>\n",
|
||
" <td>99.889716</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>622_ZW_37_10032_10039</td>\n",
|
||
" <td>0.999573</td>\n",
|
||
" <td>99.957314</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>623_ZW_37_10032_10038</td>\n",
|
||
" <td>0.999277</td>\n",
|
||
" <td>99.927705</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>624_ZW_37_10032_10031</td>\n",
|
||
" <td>0.999592</td>\n",
|
||
" <td>99.959207</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>625_ZW_37_10032_10033</td>\n",
|
||
" <td>0.998897</td>\n",
|
||
" <td>99.889716</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>626_ZW_37_10032_10039</td>\n",
|
||
" <td>0.999573</td>\n",
|
||
" <td>99.957315</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>627_ZW_37_10032_10038</td>\n",
|
||
" <td>0.999277</td>\n",
|
||
" <td>99.927706</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>628_ZW_37_10032_10031</td>\n",
|
||
" <td>0.999592</td>\n",
|
||
" <td>99.959207</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>629_ZW_37_10032_10033</td>\n",
|
||
" <td>0.998897</td>\n",
|
||
" <td>99.889720</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>630_ZW_37_10032_10039</td>\n",
|
||
" <td>0.999573</td>\n",
|
||
" <td>99.957315</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>631_ZW_37_10032_10038</td>\n",
|
||
" <td>0.999277</td>\n",
|
||
" <td>99.927705</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>632_ZW_37_10032_10031</td>\n",
|
||
" <td>0.999592</td>\n",
|
||
" <td>99.959207</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>633_ZW_38_10031_10017</td>\n",
|
||
" <td>0.999559</td>\n",
|
||
" <td>99.955859</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>634_ZW_38_10031_10033</td>\n",
|
||
" <td>0.999267</td>\n",
|
||
" <td>99.926718</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>635_ZW_38_10031_10032</td>\n",
|
||
" <td>0.999592</td>\n",
|
||
" <td>99.959203</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>636_ZW_38_10031_10030</td>\n",
|
||
" <td>0.999542</td>\n",
|
||
" <td>99.954188</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>637_ZW_38_10031_10017</td>\n",
|
||
" <td>0.999559</td>\n",
|
||
" <td>99.955860</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>638_ZW_38_10031_10033</td>\n",
|
||
" <td>0.999267</td>\n",
|
||
" <td>99.926717</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>639_ZW_38_10031_10032</td>\n",
|
||
" <td>0.999592</td>\n",
|
||
" <td>99.959204</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>640_ZW_38_10031_10030</td>\n",
|
||
" <td>0.999542</td>\n",
|
||
" <td>99.954188</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>641_ZW_38_10031_10017</td>\n",
|
||
" <td>0.999559</td>\n",
|
||
" <td>99.955859</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>642_ZW_38_10031_10033</td>\n",
|
||
" <td>0.999267</td>\n",
|
||
" <td>99.926716</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>643_ZW_38_10031_10032</td>\n",
|
||
" <td>0.999592</td>\n",
|
||
" <td>99.959204</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>644_ZW_38_10031_10030</td>\n",
|
||
" <td>0.999542</td>\n",
|
||
" <td>99.954187</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>645_ZW_39_10038_10041</td>\n",
|
||
" <td>0.998867</td>\n",
|
||
" <td>99.886724</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>646_ZW_39_10038_10037</td>\n",
|
||
" <td>0.999560</td>\n",
|
||
" <td>99.956039</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>647_ZW_39_10038_10036</td>\n",
|
||
" <td>0.997983</td>\n",
|
||
" <td>99.798251</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>648_ZW_39_10038_10032</td>\n",
|
||
" <td>0.999277</td>\n",
|
||
" <td>99.927698</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>649_ZW_39_10038_10039</td>\n",
|
||
" <td>0.999602</td>\n",
|
||
" <td>99.960200</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>650_ZW_39_10038_10041</td>\n",
|
||
" <td>0.998867</td>\n",
|
||
" <td>99.886724</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>651_ZW_39_10038_10037</td>\n",
|
||
" <td>0.999560</td>\n",
|
||
" <td>99.956040</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>652_ZW_39_10038_10036</td>\n",
|
||
" <td>0.997982</td>\n",
|
||
" <td>99.798249</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>653_ZW_39_10038_10032</td>\n",
|
||
" <td>0.999277</td>\n",
|
||
" <td>99.927699</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>654_ZW_39_10038_10039</td>\n",
|
||
" <td>0.999602</td>\n",
|
||
" <td>99.960200</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>655_ZW_39_10038_10041</td>\n",
|
||
" <td>0.998867</td>\n",
|
||
" <td>99.886723</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>656_ZW_39_10038_10037</td>\n",
|
||
" <td>0.999560</td>\n",
|
||
" <td>99.956039</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>657_ZW_39_10038_10036</td>\n",
|
||
" <td>0.997983</td>\n",
|
||
" <td>99.798255</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>658_ZW_39_10038_10032</td>\n",
|
||
" <td>0.999277</td>\n",
|
||
" <td>99.927699</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>659_ZW_39_10038_10039</td>\n",
|
||
" <td>0.999602</td>\n",
|
||
" <td>99.960201</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>660_ZW_40_10039_10032</td>\n",
|
||
" <td>0.999573</td>\n",
|
||
" <td>99.957314</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>661_ZW_40_10039_10033</td>\n",
|
||
" <td>0.998618</td>\n",
|
||
" <td>99.861825</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>662_ZW_40_10039_10037</td>\n",
|
||
" <td>0.999268</td>\n",
|
||
" <td>99.926834</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>663_ZW_40_10039_10038</td>\n",
|
||
" <td>0.999602</td>\n",
|
||
" <td>99.960207</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>664_ZW_40_10039_10029</td>\n",
|
||
" <td>0.998713</td>\n",
|
||
" <td>99.871348</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>665_ZW_40_10039_10032</td>\n",
|
||
" <td>0.999573</td>\n",
|
||
" <td>99.957313</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>666_ZW_40_10039_10033</td>\n",
|
||
" <td>0.998618</td>\n",
|
||
" <td>99.861828</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>667_ZW_40_10039_10037</td>\n",
|
||
" <td>0.999268</td>\n",
|
||
" <td>99.926835</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>668_ZW_40_10039_10038</td>\n",
|
||
" <td>0.999602</td>\n",
|
||
" <td>99.960206</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>669_ZW_40_10039_10029</td>\n",
|
||
" <td>0.998713</td>\n",
|
||
" <td>99.871348</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>670_ZW_40_10039_10032</td>\n",
|
||
" <td>0.999573</td>\n",
|
||
" <td>99.957313</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>671_ZW_40_10039_10033</td>\n",
|
||
" <td>0.998618</td>\n",
|
||
" <td>99.861828</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>672_ZW_40_10039_10037</td>\n",
|
||
" <td>0.999268</td>\n",
|
||
" <td>99.926835</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>673_ZW_40_10039_10038</td>\n",
|
||
" <td>0.999602</td>\n",
|
||
" <td>99.960208</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>674_ZW_40_10039_10029</td>\n",
|
||
" <td>0.998713</td>\n",
|
||
" <td>99.871348</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>675_ZW_41_10035_10037</td>\n",
|
||
" <td>0.998477</td>\n",
|
||
" <td>99.847682</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>676_ZW_41_10035_10036</td>\n",
|
||
" <td>0.999489</td>\n",
|
||
" <td>99.948871</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>677_ZW_41_10035_10034</td>\n",
|
||
" <td>0.999619</td>\n",
|
||
" <td>99.961906</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>678_ZW_41_10035_10030</td>\n",
|
||
" <td>0.999257</td>\n",
|
||
" <td>99.925739</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>679_ZW_41_10035_10029</td>\n",
|
||
" <td>0.999526</td>\n",
|
||
" <td>99.952613</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>680_ZW_41_10035_10037</td>\n",
|
||
" <td>0.998477</td>\n",
|
||
" <td>99.847681</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>681_ZW_41_10035_10036</td>\n",
|
||
" <td>0.999489</td>\n",
|
||
" <td>99.948872</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>682_ZW_41_10035_10034</td>\n",
|
||
" <td>0.999619</td>\n",
|
||
" <td>99.961906</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>683_ZW_41_10035_10030</td>\n",
|
||
" <td>0.999257</td>\n",
|
||
" <td>99.925739</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>684_ZW_41_10035_10029</td>\n",
|
||
" <td>0.999526</td>\n",
|
||
" <td>99.952614</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>685_ZW_41_10035_10037</td>\n",
|
||
" <td>0.998477</td>\n",
|
||
" <td>99.847681</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>686_ZW_41_10035_10036</td>\n",
|
||
" <td>0.999489</td>\n",
|
||
" <td>99.948872</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>687_ZW_41_10035_10034</td>\n",
|
||
" <td>0.999619</td>\n",
|
||
" <td>99.961906</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>688_ZW_41_10035_10030</td>\n",
|
||
" <td>0.999257</td>\n",
|
||
" <td>99.925740</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>689_ZW_41_10035_10029</td>\n",
|
||
" <td>0.999526</td>\n",
|
||
" <td>99.952614</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>690_ZW_42_10036_10038</td>\n",
|
||
" <td>0.997983</td>\n",
|
||
" <td>99.798262</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>691_ZW_42_10036_10037</td>\n",
|
||
" <td>0.997950</td>\n",
|
||
" <td>99.794979</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>692_ZW_42_10036_10034</td>\n",
|
||
" <td>0.999157</td>\n",
|
||
" <td>99.915668</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>693_ZW_42_10036_10035</td>\n",
|
||
" <td>0.999489</td>\n",
|
||
" <td>99.948871</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>694_ZW_42_10036_10038</td>\n",
|
||
" <td>0.997983</td>\n",
|
||
" <td>99.798264</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>695_ZW_42_10036_10037</td>\n",
|
||
" <td>0.997950</td>\n",
|
||
" <td>99.794973</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>696_ZW_42_10036_10034</td>\n",
|
||
" <td>0.999157</td>\n",
|
||
" <td>99.915668</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>697_ZW_42_10036_10035</td>\n",
|
||
" <td>0.999489</td>\n",
|
||
" <td>99.948871</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>698_ZW_42_10036_10038</td>\n",
|
||
" <td>0.997983</td>\n",
|
||
" <td>99.798265</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>699_ZW_42_10036_10037</td>\n",
|
||
" <td>0.997950</td>\n",
|
||
" <td>99.794970</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>700_ZW_42_10036_10034</td>\n",
|
||
" <td>0.999157</td>\n",
|
||
" <td>99.915668</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>701_ZW_42_10036_10035</td>\n",
|
||
" <td>0.999489</td>\n",
|
||
" <td>99.948871</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>702_ZW_43_10028_10011</td>\n",
|
||
" <td>0.999160</td>\n",
|
||
" <td>99.915986</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>703_ZW_43_10028_10030</td>\n",
|
||
" <td>0.998686</td>\n",
|
||
" <td>99.868553</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>704_ZW_43_10028_10029</td>\n",
|
||
" <td>0.998839</td>\n",
|
||
" <td>99.883863</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>705_ZW_43_10028_10034</td>\n",
|
||
" <td>0.999479</td>\n",
|
||
" <td>99.947881</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>706_ZW_43_10028_10011</td>\n",
|
||
" <td>0.999160</td>\n",
|
||
" <td>99.915986</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>707_ZW_43_10028_10030</td>\n",
|
||
" <td>0.998686</td>\n",
|
||
" <td>99.868553</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>708_ZW_43_10028_10029</td>\n",
|
||
" <td>0.998839</td>\n",
|
||
" <td>99.883863</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>709_ZW_43_10028_10034</td>\n",
|
||
" <td>0.999479</td>\n",
|
||
" <td>99.947880</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>710_ZW_43_10028_10011</td>\n",
|
||
" <td>0.999160</td>\n",
|
||
" <td>99.915985</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>711_ZW_43_10028_10030</td>\n",
|
||
" <td>0.998686</td>\n",
|
||
" <td>99.868552</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>712_ZW_43_10028_10029</td>\n",
|
||
" <td>0.998839</td>\n",
|
||
" <td>99.883863</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>713_ZW_43_10028_10034</td>\n",
|
||
" <td>0.999479</td>\n",
|
||
" <td>99.947881</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>714_ZW_44_10034_10028</td>\n",
|
||
" <td>0.999479</td>\n",
|
||
" <td>99.947877</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>715_ZW_44_10034_10035</td>\n",
|
||
" <td>0.999619</td>\n",
|
||
" <td>99.961908</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>716_ZW_44_10034_10037</td>\n",
|
||
" <td>0.998596</td>\n",
|
||
" <td>99.859564</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>717_ZW_44_10034_10036</td>\n",
|
||
" <td>0.999157</td>\n",
|
||
" <td>99.915668</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>718_ZW_44_10034_10045</td>\n",
|
||
" <td>0.999732</td>\n",
|
||
" <td>99.973209</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>719_ZW_44_10034_10028</td>\n",
|
||
" <td>0.999479</td>\n",
|
||
" <td>99.947877</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>720_ZW_44_10034_10035</td>\n",
|
||
" <td>0.999619</td>\n",
|
||
" <td>99.961908</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>721_ZW_44_10034_10037</td>\n",
|
||
" <td>0.998596</td>\n",
|
||
" <td>99.859565</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>722_ZW_44_10034_10036</td>\n",
|
||
" <td>0.999157</td>\n",
|
||
" <td>99.915668</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>723_ZW_44_10034_10045</td>\n",
|
||
" <td>0.999732</td>\n",
|
||
" <td>99.973209</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>724_ZW_44_10034_10028</td>\n",
|
||
" <td>0.999479</td>\n",
|
||
" <td>99.947878</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>725_ZW_44_10034_10035</td>\n",
|
||
" <td>0.999619</td>\n",
|
||
" <td>99.961908</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>726_ZW_44_10034_10037</td>\n",
|
||
" <td>0.998596</td>\n",
|
||
" <td>99.859565</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>727_ZW_44_10034_10036</td>\n",
|
||
" <td>0.999157</td>\n",
|
||
" <td>99.915668</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>728_ZW_44_10034_10045</td>\n",
|
||
" <td>0.999732</td>\n",
|
||
" <td>99.973209</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>729_ZW_45_10030_10028</td>\n",
|
||
" <td>0.998686</td>\n",
|
||
" <td>99.868552</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>730_ZW_45_10030_10031</td>\n",
|
||
" <td>0.999542</td>\n",
|
||
" <td>99.954187</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>731_ZW_45_10030_10029</td>\n",
|
||
" <td>0.999607</td>\n",
|
||
" <td>99.960696</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>732_ZW_45_10030_10035</td>\n",
|
||
" <td>0.999257</td>\n",
|
||
" <td>99.925740</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>733_ZW_45_10030_10028</td>\n",
|
||
" <td>0.998686</td>\n",
|
||
" <td>99.868553</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>734_ZW_45_10030_10031</td>\n",
|
||
" <td>0.999542</td>\n",
|
||
" <td>99.954187</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>735_ZW_45_10030_10029</td>\n",
|
||
" <td>0.999607</td>\n",
|
||
" <td>99.960696</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>736_ZW_45_10030_10035</td>\n",
|
||
" <td>0.999257</td>\n",
|
||
" <td>99.925740</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>737_ZW_45_10030_10028</td>\n",
|
||
" <td>0.998686</td>\n",
|
||
" <td>99.868552</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>738_ZW_45_10030_10031</td>\n",
|
||
" <td>0.999542</td>\n",
|
||
" <td>99.954188</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>739_ZW_45_10030_10029</td>\n",
|
||
" <td>0.999607</td>\n",
|
||
" <td>99.960696</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>740_ZW_45_10030_10035</td>\n",
|
||
" <td>0.999257</td>\n",
|
||
" <td>99.925740</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>741_ZW_46_10029_10030</td>\n",
|
||
" <td>0.999607</td>\n",
|
||
" <td>99.960696</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>742_ZW_46_10029_10039</td>\n",
|
||
" <td>0.998713</td>\n",
|
||
" <td>99.871345</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>743_ZW_46_10029_10035</td>\n",
|
||
" <td>0.999526</td>\n",
|
||
" <td>99.952613</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>744_ZW_46_10029_10028</td>\n",
|
||
" <td>0.998839</td>\n",
|
||
" <td>99.883861</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>745_ZW_46_10029_10030</td>\n",
|
||
" <td>0.999607</td>\n",
|
||
" <td>99.960695</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>746_ZW_46_10029_10039</td>\n",
|
||
" <td>0.998713</td>\n",
|
||
" <td>99.871347</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>747_ZW_46_10029_10035</td>\n",
|
||
" <td>0.999526</td>\n",
|
||
" <td>99.952613</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>748_ZW_46_10029_10028</td>\n",
|
||
" <td>0.998839</td>\n",
|
||
" <td>99.883861</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>749_ZW_46_10029_10030</td>\n",
|
||
" <td>0.999607</td>\n",
|
||
" <td>99.960697</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>750_ZW_46_10029_10039</td>\n",
|
||
" <td>0.998713</td>\n",
|
||
" <td>99.871345</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>751_ZW_46_10029_10035</td>\n",
|
||
" <td>0.999526</td>\n",
|
||
" <td>99.952613</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>752_ZW_46_10029_10028</td>\n",
|
||
" <td>0.998839</td>\n",
|
||
" <td>99.883861</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>753_ZW_47_10053_10044</td>\n",
|
||
" <td>0.999557</td>\n",
|
||
" <td>99.955662</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>754_ZW_47_10053_10052</td>\n",
|
||
" <td>0.997608</td>\n",
|
||
" <td>99.760832</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>755_ZW_47_10053_10059</td>\n",
|
||
" <td>0.999134</td>\n",
|
||
" <td>99.913404</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>756_ZW_47_10053_10049</td>\n",
|
||
" <td>0.999510</td>\n",
|
||
" <td>99.951035</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>757_ZW_47_10053_10050</td>\n",
|
||
" <td>0.999604</td>\n",
|
||
" <td>99.960366</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>758_ZW_47_10053_10051</td>\n",
|
||
" <td>0.999352</td>\n",
|
||
" <td>99.935226</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>759_ZW_47_10053_10044</td>\n",
|
||
" <td>0.999557</td>\n",
|
||
" <td>99.955662</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>760_ZW_47_10053_10052</td>\n",
|
||
" <td>0.997608</td>\n",
|
||
" <td>99.760828</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>761_ZW_47_10053_10059</td>\n",
|
||
" <td>0.999134</td>\n",
|
||
" <td>99.913405</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>762_ZW_47_10053_10049</td>\n",
|
||
" <td>0.999510</td>\n",
|
||
" <td>99.951034</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>763_ZW_47_10053_10050</td>\n",
|
||
" <td>0.999604</td>\n",
|
||
" <td>99.960365</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>764_ZW_47_10053_10051</td>\n",
|
||
" <td>0.999352</td>\n",
|
||
" <td>99.935226</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>765_ZW_47_10053_10044</td>\n",
|
||
" <td>0.999557</td>\n",
|
||
" <td>99.955663</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>766_ZW_47_10053_10052</td>\n",
|
||
" <td>0.997608</td>\n",
|
||
" <td>99.760832</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>767_ZW_47_10053_10059</td>\n",
|
||
" <td>0.999134</td>\n",
|
||
" <td>99.913404</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>768_ZW_47_10053_10049</td>\n",
|
||
" <td>0.999510</td>\n",
|
||
" <td>99.951034</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>769_ZW_47_10053_10050</td>\n",
|
||
" <td>0.999604</td>\n",
|
||
" <td>99.960366</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>770_ZW_47_10053_10051</td>\n",
|
||
" <td>0.999352</td>\n",
|
||
" <td>99.935227</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>771_ZW_48_10049_10050</td>\n",
|
||
" <td>0.999137</td>\n",
|
||
" <td>99.913715</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>772_ZW_48_10049_10053</td>\n",
|
||
" <td>0.999510</td>\n",
|
||
" <td>99.951035</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>773_ZW_48_10049_10047</td>\n",
|
||
" <td>0.998895</td>\n",
|
||
" <td>99.889506</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>774_ZW_48_10049_10046</td>\n",
|
||
" <td>0.998820</td>\n",
|
||
" <td>99.882008</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>775_ZW_48_10049_10048</td>\n",
|
||
" <td>0.998822</td>\n",
|
||
" <td>99.882210</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>776_ZW_48_10049_10050</td>\n",
|
||
" <td>0.999137</td>\n",
|
||
" <td>99.913713</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>777_ZW_48_10049_10053</td>\n",
|
||
" <td>0.999510</td>\n",
|
||
" <td>99.951034</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>778_ZW_48_10049_10047</td>\n",
|
||
" <td>0.998895</td>\n",
|
||
" <td>99.889506</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>779_ZW_48_10049_10046</td>\n",
|
||
" <td>0.998820</td>\n",
|
||
" <td>99.882007</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>780_ZW_48_10049_10048</td>\n",
|
||
" <td>0.998822</td>\n",
|
||
" <td>99.882208</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>781_ZW_48_10049_10050</td>\n",
|
||
" <td>0.999137</td>\n",
|
||
" <td>99.913713</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>782_ZW_48_10049_10053</td>\n",
|
||
" <td>0.999510</td>\n",
|
||
" <td>99.951035</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>783_ZW_48_10049_10047</td>\n",
|
||
" <td>0.998895</td>\n",
|
||
" <td>99.889506</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>784_ZW_48_10049_10046</td>\n",
|
||
" <td>0.998820</td>\n",
|
||
" <td>99.882007</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>785_ZW_48_10049_10048</td>\n",
|
||
" <td>0.998822</td>\n",
|
||
" <td>99.882209</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>786_ZW_49_10050_10051</td>\n",
|
||
" <td>0.999601</td>\n",
|
||
" <td>99.960129</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>787_ZW_49_10050_10052</td>\n",
|
||
" <td>0.997367</td>\n",
|
||
" <td>99.736704</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>788_ZW_49_10050_10053</td>\n",
|
||
" <td>0.999604</td>\n",
|
||
" <td>99.960369</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>789_ZW_49_10050_10049</td>\n",
|
||
" <td>0.999137</td>\n",
|
||
" <td>99.913722</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>790_ZW_49_10050_10048</td>\n",
|
||
" <td>0.998264</td>\n",
|
||
" <td>99.826356</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>791_ZW_49_10050_10051</td>\n",
|
||
" <td>0.999601</td>\n",
|
||
" <td>99.960131</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>792_ZW_49_10050_10052</td>\n",
|
||
" <td>0.997367</td>\n",
|
||
" <td>99.736699</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>793_ZW_49_10050_10053</td>\n",
|
||
" <td>0.999604</td>\n",
|
||
" <td>99.960369</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>794_ZW_49_10050_10049</td>\n",
|
||
" <td>0.999137</td>\n",
|
||
" <td>99.913723</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>795_ZW_49_10050_10048</td>\n",
|
||
" <td>0.998264</td>\n",
|
||
" <td>99.826355</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>796_ZW_49_10050_10051</td>\n",
|
||
" <td>0.999601</td>\n",
|
||
" <td>99.960130</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>797_ZW_49_10050_10052</td>\n",
|
||
" <td>0.997367</td>\n",
|
||
" <td>99.736698</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>798_ZW_49_10050_10053</td>\n",
|
||
" <td>0.999604</td>\n",
|
||
" <td>99.960369</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>799_ZW_49_10050_10049</td>\n",
|
||
" <td>0.999137</td>\n",
|
||
" <td>99.913722</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>800_ZW_49_10050_10048</td>\n",
|
||
" <td>0.998264</td>\n",
|
||
" <td>99.826355</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>801_ZW_50_10048_10050</td>\n",
|
||
" <td>0.998264</td>\n",
|
||
" <td>99.826351</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>802_ZW_50_10048_10049</td>\n",
|
||
" <td>0.998822</td>\n",
|
||
" <td>99.882207</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>803_ZW_50_10048_10057</td>\n",
|
||
" <td>0.997236</td>\n",
|
||
" <td>99.723613</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>804_ZW_50_10048_10047</td>\n",
|
||
" <td>0.999282</td>\n",
|
||
" <td>99.928235</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>805_ZW_50_10048_10046</td>\n",
|
||
" <td>0.999126</td>\n",
|
||
" <td>99.912592</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>806_ZW_50_10048_10050</td>\n",
|
||
" <td>0.998264</td>\n",
|
||
" <td>99.826350</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>807_ZW_50_10048_10049</td>\n",
|
||
" <td>0.998822</td>\n",
|
||
" <td>99.882208</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>808_ZW_50_10048_10057</td>\n",
|
||
" <td>0.997236</td>\n",
|
||
" <td>99.723612</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>809_ZW_50_10048_10047</td>\n",
|
||
" <td>0.999282</td>\n",
|
||
" <td>99.928236</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>810_ZW_50_10048_10046</td>\n",
|
||
" <td>0.999126</td>\n",
|
||
" <td>99.912593</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>811_ZW_50_10048_10050</td>\n",
|
||
" <td>0.998264</td>\n",
|
||
" <td>99.826352</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>812_ZW_50_10048_10049</td>\n",
|
||
" <td>0.998822</td>\n",
|
||
" <td>99.882209</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>813_ZW_50_10048_10057</td>\n",
|
||
" <td>0.997236</td>\n",
|
||
" <td>99.723611</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>814_ZW_50_10048_10047</td>\n",
|
||
" <td>0.999282</td>\n",
|
||
" <td>99.928236</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>815_ZW_50_10048_10046</td>\n",
|
||
" <td>0.999126</td>\n",
|
||
" <td>99.912593</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>816_ZW_51_10047_10048</td>\n",
|
||
" <td>0.999282</td>\n",
|
||
" <td>99.928239</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>817_ZW_51_10047_10049</td>\n",
|
||
" <td>0.998895</td>\n",
|
||
" <td>99.889506</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>818_ZW_51_10047_10045</td>\n",
|
||
" <td>0.999461</td>\n",
|
||
" <td>99.946135</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>819_ZW_51_10047_10046</td>\n",
|
||
" <td>0.999639</td>\n",
|
||
" <td>99.963850</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>820_ZW_51_10047_10048</td>\n",
|
||
" <td>0.999282</td>\n",
|
||
" <td>99.928238</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>821_ZW_51_10047_10049</td>\n",
|
||
" <td>0.998895</td>\n",
|
||
" <td>99.889506</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>822_ZW_51_10047_10045</td>\n",
|
||
" <td>0.999461</td>\n",
|
||
" <td>99.946134</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>823_ZW_51_10047_10046</td>\n",
|
||
" <td>0.999639</td>\n",
|
||
" <td>99.963850</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>824_ZW_51_10047_10048</td>\n",
|
||
" <td>0.999282</td>\n",
|
||
" <td>99.928239</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>825_ZW_51_10047_10049</td>\n",
|
||
" <td>0.998895</td>\n",
|
||
" <td>99.889507</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>826_ZW_51_10047_10045</td>\n",
|
||
" <td>0.999461</td>\n",
|
||
" <td>99.946135</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>827_ZW_51_10047_10046</td>\n",
|
||
" <td>0.999639</td>\n",
|
||
" <td>99.963850</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>828_ZW_52_10046_10048</td>\n",
|
||
" <td>0.999126</td>\n",
|
||
" <td>99.912592</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>829_ZW_52_10046_10047</td>\n",
|
||
" <td>0.999639</td>\n",
|
||
" <td>99.963851</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>830_ZW_52_10046_10055</td>\n",
|
||
" <td>0.997085</td>\n",
|
||
" <td>99.708451</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>831_ZW_52_10046_10045</td>\n",
|
||
" <td>0.999595</td>\n",
|
||
" <td>99.959462</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>832_ZW_52_10046_10048</td>\n",
|
||
" <td>0.999126</td>\n",
|
||
" <td>99.912593</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>833_ZW_52_10046_10047</td>\n",
|
||
" <td>0.999639</td>\n",
|
||
" <td>99.963851</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>834_ZW_52_10046_10055</td>\n",
|
||
" <td>0.997085</td>\n",
|
||
" <td>99.708452</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>835_ZW_52_10046_10045</td>\n",
|
||
" <td>0.999595</td>\n",
|
||
" <td>99.959462</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>836_ZW_52_10046_10048</td>\n",
|
||
" <td>0.999126</td>\n",
|
||
" <td>99.912593</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>837_ZW_52_10046_10047</td>\n",
|
||
" <td>0.999639</td>\n",
|
||
" <td>99.963850</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>838_ZW_52_10046_10055</td>\n",
|
||
" <td>0.997084</td>\n",
|
||
" <td>99.708450</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>839_ZW_52_10046_10045</td>\n",
|
||
" <td>0.999595</td>\n",
|
||
" <td>99.959462</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>840_ZW_53_10045_10034</td>\n",
|
||
" <td>0.999732</td>\n",
|
||
" <td>99.973206</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>841_ZW_53_10045_10046</td>\n",
|
||
" <td>0.999595</td>\n",
|
||
" <td>99.959461</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>842_ZW_53_10045_10047</td>\n",
|
||
" <td>0.999461</td>\n",
|
||
" <td>99.946134</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>843_ZW_53_10045_10054</td>\n",
|
||
" <td>0.996948</td>\n",
|
||
" <td>99.694764</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>844_ZW_53_10045_10034</td>\n",
|
||
" <td>0.999732</td>\n",
|
||
" <td>99.973207</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>845_ZW_53_10045_10046</td>\n",
|
||
" <td>0.999595</td>\n",
|
||
" <td>99.959461</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>846_ZW_53_10045_10047</td>\n",
|
||
" <td>0.999461</td>\n",
|
||
" <td>99.946134</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>847_ZW_53_10045_10054</td>\n",
|
||
" <td>0.996948</td>\n",
|
||
" <td>99.694766</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>848_ZW_53_10045_10034</td>\n",
|
||
" <td>0.999732</td>\n",
|
||
" <td>99.973206</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>849_ZW_53_10045_10046</td>\n",
|
||
" <td>0.999595</td>\n",
|
||
" <td>99.959461</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>850_ZW_53_10045_10047</td>\n",
|
||
" <td>0.999461</td>\n",
|
||
" <td>99.946134</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>851_ZW_53_10045_10054</td>\n",
|
||
" <td>0.996948</td>\n",
|
||
" <td>99.694767</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>852_ZW_54_10059_10053</td>\n",
|
||
" <td>0.999134</td>\n",
|
||
" <td>99.913404</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>853_ZW_54_10059_10052</td>\n",
|
||
" <td>0.997577</td>\n",
|
||
" <td>99.757671</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>854_ZW_54_10059_10058</td>\n",
|
||
" <td>0.997467</td>\n",
|
||
" <td>99.746731</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>855_ZW_54_10059_10056</td>\n",
|
||
" <td>0.997893</td>\n",
|
||
" <td>99.789280</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>856_ZW_54_10059_10057</td>\n",
|
||
" <td>0.999109</td>\n",
|
||
" <td>99.910896</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>857_ZW_54_10059_10053</td>\n",
|
||
" <td>0.999134</td>\n",
|
||
" <td>99.913403</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>858_ZW_54_10059_10052</td>\n",
|
||
" <td>0.997577</td>\n",
|
||
" <td>99.757670</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>859_ZW_54_10059_10058</td>\n",
|
||
" <td>0.997467</td>\n",
|
||
" <td>99.746730</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>860_ZW_54_10059_10056</td>\n",
|
||
" <td>0.997893</td>\n",
|
||
" <td>99.789281</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>861_ZW_54_10059_10057</td>\n",
|
||
" <td>0.999109</td>\n",
|
||
" <td>99.910897</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>862_ZW_54_10059_10053</td>\n",
|
||
" <td>0.999134</td>\n",
|
||
" <td>99.913404</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>863_ZW_54_10059_10052</td>\n",
|
||
" <td>0.997577</td>\n",
|
||
" <td>99.757668</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>864_ZW_54_10059_10058</td>\n",
|
||
" <td>0.997467</td>\n",
|
||
" <td>99.746732</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>865_ZW_54_10059_10056</td>\n",
|
||
" <td>0.997893</td>\n",
|
||
" <td>99.789281</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>866_ZW_54_10059_10057</td>\n",
|
||
" <td>0.999109</td>\n",
|
||
" <td>99.910897</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>867_ZW_55_10058_10059</td>\n",
|
||
" <td>0.997467</td>\n",
|
||
" <td>99.746720</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>868_ZW_55_10058_10056</td>\n",
|
||
" <td>0.999115</td>\n",
|
||
" <td>99.911486</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>869_ZW_55_10058_10055</td>\n",
|
||
" <td>0.998030</td>\n",
|
||
" <td>99.803028</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>870_ZW_55_10058_10057</td>\n",
|
||
" <td>0.997733</td>\n",
|
||
" <td>99.773266</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>871_ZW_55_10058_10059</td>\n",
|
||
" <td>0.997467</td>\n",
|
||
" <td>99.746721</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>872_ZW_55_10058_10056</td>\n",
|
||
" <td>0.999115</td>\n",
|
||
" <td>99.911486</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>873_ZW_55_10058_10055</td>\n",
|
||
" <td>0.998030</td>\n",
|
||
" <td>99.803028</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>874_ZW_55_10058_10057</td>\n",
|
||
" <td>0.997733</td>\n",
|
||
" <td>99.773265</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>875_ZW_55_10058_10059</td>\n",
|
||
" <td>0.997467</td>\n",
|
||
" <td>99.746720</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>876_ZW_55_10058_10056</td>\n",
|
||
" <td>0.999115</td>\n",
|
||
" <td>99.911487</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>877_ZW_55_10058_10055</td>\n",
|
||
" <td>0.998030</td>\n",
|
||
" <td>99.803027</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>878_ZW_55_10058_10057</td>\n",
|
||
" <td>0.997733</td>\n",
|
||
" <td>99.773262</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>879_ZW_56_10057_10059</td>\n",
|
||
" <td>0.999109</td>\n",
|
||
" <td>99.910898</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>880_ZW_56_10057_10058</td>\n",
|
||
" <td>0.997733</td>\n",
|
||
" <td>99.773270</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>881_ZW_56_10057_10056</td>\n",
|
||
" <td>0.998133</td>\n",
|
||
" <td>99.813265</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>882_ZW_56_10057_10055</td>\n",
|
||
" <td>0.999488</td>\n",
|
||
" <td>99.948848</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>883_ZW_56_10057_10048</td>\n",
|
||
" <td>0.997236</td>\n",
|
||
" <td>99.723617</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>884_ZW_56_10057_10059</td>\n",
|
||
" <td>0.999109</td>\n",
|
||
" <td>99.910898</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>885_ZW_56_10057_10058</td>\n",
|
||
" <td>0.997733</td>\n",
|
||
" <td>99.773275</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>886_ZW_56_10057_10056</td>\n",
|
||
" <td>0.998133</td>\n",
|
||
" <td>99.813267</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>887_ZW_56_10057_10055</td>\n",
|
||
" <td>0.999488</td>\n",
|
||
" <td>99.948848</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>888_ZW_56_10057_10048</td>\n",
|
||
" <td>0.997236</td>\n",
|
||
" <td>99.723619</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>889_ZW_56_10057_10059</td>\n",
|
||
" <td>0.999109</td>\n",
|
||
" <td>99.910897</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>890_ZW_56_10057_10058</td>\n",
|
||
" <td>0.997733</td>\n",
|
||
" <td>99.773274</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>891_ZW_56_10057_10056</td>\n",
|
||
" <td>0.998133</td>\n",
|
||
" <td>99.813263</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>892_ZW_56_10057_10055</td>\n",
|
||
" <td>0.999488</td>\n",
|
||
" <td>99.948848</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>893_ZW_56_10057_10048</td>\n",
|
||
" <td>0.997236</td>\n",
|
||
" <td>99.723619</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>894_ZW_57_10055_10057</td>\n",
|
||
" <td>0.999488</td>\n",
|
||
" <td>99.948847</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>895_ZW_57_10055_10058</td>\n",
|
||
" <td>0.998030</td>\n",
|
||
" <td>99.803029</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>896_ZW_57_10055_10056</td>\n",
|
||
" <td>0.998421</td>\n",
|
||
" <td>99.842099</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>897_ZW_57_10055_10054</td>\n",
|
||
" <td>0.999145</td>\n",
|
||
" <td>99.914480</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>898_ZW_57_10055_10046</td>\n",
|
||
" <td>0.997084</td>\n",
|
||
" <td>99.708447</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>899_ZW_57_10055_10057</td>\n",
|
||
" <td>0.999488</td>\n",
|
||
" <td>99.948847</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>900_ZW_57_10055_10058</td>\n",
|
||
" <td>0.998030</td>\n",
|
||
" <td>99.803029</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>901_ZW_57_10055_10056</td>\n",
|
||
" <td>0.998421</td>\n",
|
||
" <td>99.842096</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>902_ZW_57_10055_10054</td>\n",
|
||
" <td>0.999145</td>\n",
|
||
" <td>99.914480</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>903_ZW_57_10055_10046</td>\n",
|
||
" <td>0.997084</td>\n",
|
||
" <td>99.708449</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>904_ZW_57_10055_10057</td>\n",
|
||
" <td>0.999488</td>\n",
|
||
" <td>99.948847</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>905_ZW_57_10055_10058</td>\n",
|
||
" <td>0.998030</td>\n",
|
||
" <td>99.803029</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>906_ZW_57_10055_10056</td>\n",
|
||
" <td>0.998421</td>\n",
|
||
" <td>99.842098</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>907_ZW_57_10055_10054</td>\n",
|
||
" <td>0.999145</td>\n",
|
||
" <td>99.914480</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>908_ZW_57_10055_10046</td>\n",
|
||
" <td>0.997084</td>\n",
|
||
" <td>99.708449</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>909_ZW_58_10056_10058</td>\n",
|
||
" <td>0.999115</td>\n",
|
||
" <td>99.911490</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>910_ZW_58_10056_10057</td>\n",
|
||
" <td>0.998133</td>\n",
|
||
" <td>99.813280</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>911_ZW_58_10056_10054</td>\n",
|
||
" <td>0.999117</td>\n",
|
||
" <td>99.911707</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>912_ZW_58_10056_10055</td>\n",
|
||
" <td>0.998421</td>\n",
|
||
" <td>99.842117</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>913_ZW_58_10056_10058</td>\n",
|
||
" <td>0.999115</td>\n",
|
||
" <td>99.911490</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>914_ZW_58_10056_10057</td>\n",
|
||
" <td>0.998133</td>\n",
|
||
" <td>99.813277</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>915_ZW_58_10056_10054</td>\n",
|
||
" <td>0.999117</td>\n",
|
||
" <td>99.911707</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>916_ZW_58_10056_10055</td>\n",
|
||
" <td>0.998421</td>\n",
|
||
" <td>99.842118</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>917_ZW_58_10056_10058</td>\n",
|
||
" <td>0.999115</td>\n",
|
||
" <td>99.911491</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>918_ZW_58_10056_10057</td>\n",
|
||
" <td>0.998133</td>\n",
|
||
" <td>99.813278</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>919_ZW_58_10056_10054</td>\n",
|
||
" <td>0.999117</td>\n",
|
||
" <td>99.911707</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>920_ZW_58_10056_10055</td>\n",
|
||
" <td>0.998421</td>\n",
|
||
" <td>99.842116</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>921_ZW_59_10054_10045</td>\n",
|
||
" <td>0.996948</td>\n",
|
||
" <td>99.694759</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>922_ZW_59_10054_10055</td>\n",
|
||
" <td>0.999145</td>\n",
|
||
" <td>99.914480</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>923_ZW_59_10054_10056</td>\n",
|
||
" <td>0.999117</td>\n",
|
||
" <td>99.911705</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>924_ZW_59_10054_10045</td>\n",
|
||
" <td>0.996948</td>\n",
|
||
" <td>99.694759</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>925_ZW_59_10054_10055</td>\n",
|
||
" <td>0.999145</td>\n",
|
||
" <td>99.914480</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>926_ZW_59_10054_10056</td>\n",
|
||
" <td>0.999117</td>\n",
|
||
" <td>99.911705</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>927_ZW_59_10054_10045</td>\n",
|
||
" <td>0.996948</td>\n",
|
||
" <td>99.694760</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>928_ZW_59_10054_10055</td>\n",
|
||
" <td>0.999145</td>\n",
|
||
" <td>99.914480</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>929_ZW_59_10054_10056</td>\n",
|
||
" <td>0.999117</td>\n",
|
||
" <td>99.911705</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>930_ZW_60_10047_10048</td>\n",
|
||
" <td>0.999282</td>\n",
|
||
" <td>99.928236</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>931_ZW_60_10047_812</td>\n",
|
||
" <td>0.999630</td>\n",
|
||
" <td>99.962966</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>932_ZW_60_10047_816</td>\n",
|
||
" <td>0.999280</td>\n",
|
||
" <td>99.927957</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>933_ZW_60_10047_FH3</td>\n",
|
||
" <td>0.999165</td>\n",
|
||
" <td>99.916543</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>934_ZW_60_10047_10048</td>\n",
|
||
" <td>0.999282</td>\n",
|
||
" <td>99.928233</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>935_ZW_60_10047_812</td>\n",
|
||
" <td>0.999630</td>\n",
|
||
" <td>99.962966</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>936_ZW_60_10047_816</td>\n",
|
||
" <td>0.999280</td>\n",
|
||
" <td>99.927957</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>937_ZW_60_10047_FH3</td>\n",
|
||
" <td>0.999165</td>\n",
|
||
" <td>99.916544</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>938_ZW_60_10047_10048</td>\n",
|
||
" <td>0.999282</td>\n",
|
||
" <td>99.928234</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>939_ZW_60_10047_812</td>\n",
|
||
" <td>0.999630</td>\n",
|
||
" <td>99.962966</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>940_ZW_60_10047_816</td>\n",
|
||
" <td>0.999280</td>\n",
|
||
" <td>99.927956</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>941_ZW_60_10047_FH3</td>\n",
|
||
" <td>0.999165</td>\n",
|
||
" <td>99.916545</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>942_ZW_61_10046_10048</td>\n",
|
||
" <td>0.999126</td>\n",
|
||
" <td>99.912580</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>943_ZW_61_10046_FH3</td>\n",
|
||
" <td>0.999048</td>\n",
|
||
" <td>99.904824</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>944_ZW_61_10046_812</td>\n",
|
||
" <td>0.999429</td>\n",
|
||
" <td>99.942934</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>945_ZW_61_10046_10048</td>\n",
|
||
" <td>0.999126</td>\n",
|
||
" <td>99.912579</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>946_ZW_61_10046_FH3</td>\n",
|
||
" <td>0.999048</td>\n",
|
||
" <td>99.904824</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>947_ZW_61_10046_812</td>\n",
|
||
" <td>0.999429</td>\n",
|
||
" <td>99.942935</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>948_ZW_61_10046_10048</td>\n",
|
||
" <td>0.999126</td>\n",
|
||
" <td>99.912580</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>949_ZW_61_10046_FH3</td>\n",
|
||
" <td>0.999048</td>\n",
|
||
" <td>99.904824</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>950_ZW_61_10046_812</td>\n",
|
||
" <td>0.999429</td>\n",
|
||
" <td>99.942936</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>951_ZW_62_10048_10046</td>\n",
|
||
" <td>0.999126</td>\n",
|
||
" <td>99.912580</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>952_ZW_62_10048_812</td>\n",
|
||
" <td>0.999651</td>\n",
|
||
" <td>99.965081</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>953_ZW_62_10048_816</td>\n",
|
||
" <td>0.999682</td>\n",
|
||
" <td>99.968215</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>954_ZW_62_10048_FH3</td>\n",
|
||
" <td>0.998867</td>\n",
|
||
" <td>99.886662</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>955_ZW_62_10048_10046</td>\n",
|
||
" <td>0.999126</td>\n",
|
||
" <td>99.912579</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>956_ZW_62_10048_812</td>\n",
|
||
" <td>0.999651</td>\n",
|
||
" <td>99.965081</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>957_ZW_62_10048_816</td>\n",
|
||
" <td>0.999682</td>\n",
|
||
" <td>99.968215</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>958_ZW_62_10048_FH3</td>\n",
|
||
" <td>0.998867</td>\n",
|
||
" <td>99.886672</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>959_ZW_62_10048_10046</td>\n",
|
||
" <td>0.999126</td>\n",
|
||
" <td>99.912578</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>960_ZW_62_10048_812</td>\n",
|
||
" <td>0.999651</td>\n",
|
||
" <td>99.965080</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>961_ZW_62_10048_816</td>\n",
|
||
" <td>0.999682</td>\n",
|
||
" <td>99.968215</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>962_ZW_62_10048_FH3</td>\n",
|
||
" <td>0.998867</td>\n",
|
||
" <td>99.886680</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>963_ZW_63_10056_10055</td>\n",
|
||
" <td>0.998421</td>\n",
|
||
" <td>99.842125</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>964_ZW_63_10056_666</td>\n",
|
||
" <td>0.998756</td>\n",
|
||
" <td>99.875598</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>965_ZW_63_10056_10055</td>\n",
|
||
" <td>0.998421</td>\n",
|
||
" <td>99.842128</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>966_ZW_63_10056_666</td>\n",
|
||
" <td>0.998756</td>\n",
|
||
" <td>99.875598</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>967_ZW_63_10056_10055</td>\n",
|
||
" <td>0.998421</td>\n",
|
||
" <td>99.842125</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>968_ZW_63_10056_666</td>\n",
|
||
" <td>0.998756</td>\n",
|
||
" <td>99.875598</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>969_ZW_64_10055_10056</td>\n",
|
||
" <td>0.998421</td>\n",
|
||
" <td>99.842125</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>970_ZW_64_10055_666</td>\n",
|
||
" <td>0.999518</td>\n",
|
||
" <td>99.951762</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>971_ZW_64_10055_10056</td>\n",
|
||
" <td>0.998421</td>\n",
|
||
" <td>99.842123</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>972_ZW_64_10055_666</td>\n",
|
||
" <td>0.999518</td>\n",
|
||
" <td>99.951762</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>973_ZW_64_10055_10056</td>\n",
|
||
" <td>0.998421</td>\n",
|
||
" <td>99.842124</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>974_ZW_64_10055_666</td>\n",
|
||
" <td>0.999518</td>\n",
|
||
" <td>99.951762</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>975_ZW_65_10054_10055</td>\n",
|
||
" <td>0.999145</td>\n",
|
||
" <td>99.914480</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>976_ZW_65_10054_666</td>\n",
|
||
" <td>0.999545</td>\n",
|
||
" <td>99.954507</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>977_ZW_65_10054_10055</td>\n",
|
||
" <td>0.999145</td>\n",
|
||
" <td>99.914479</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>978_ZW_65_10054_666</td>\n",
|
||
" <td>0.999545</td>\n",
|
||
" <td>99.954508</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>979_ZW_65_10054_10055</td>\n",
|
||
" <td>0.999145</td>\n",
|
||
" <td>99.914480</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>980_ZW_65_10054_666</td>\n",
|
||
" <td>0.999545</td>\n",
|
||
" <td>99.954507</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>981_ZW_66_10035_10037</td>\n",
|
||
" <td>0.998477</td>\n",
|
||
" <td>99.847682</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>982_ZW_66_10035_FH11</td>\n",
|
||
" <td>0.999641</td>\n",
|
||
" <td>99.964101</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>983_ZW_66_10035_FH14</td>\n",
|
||
" <td>0.999426</td>\n",
|
||
" <td>99.942598</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>984_ZW_66_10035_10037</td>\n",
|
||
" <td>0.998477</td>\n",
|
||
" <td>99.847681</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>985_ZW_66_10035_FH11</td>\n",
|
||
" <td>0.999641</td>\n",
|
||
" <td>99.964101</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>986_ZW_66_10035_FH14</td>\n",
|
||
" <td>0.999426</td>\n",
|
||
" <td>99.942597</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>987_ZW_66_10035_10037</td>\n",
|
||
" <td>0.998477</td>\n",
|
||
" <td>99.847682</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>988_ZW_66_10035_FH11</td>\n",
|
||
" <td>0.999641</td>\n",
|
||
" <td>99.964101</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>989_ZW_66_10035_FH14</td>\n",
|
||
" <td>0.999426</td>\n",
|
||
" <td>99.942595</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>990_ZW_67_10036_10037</td>\n",
|
||
" <td>0.997949</td>\n",
|
||
" <td>99.794946</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>991_ZW_67_10036_FH11</td>\n",
|
||
" <td>0.999143</td>\n",
|
||
" <td>99.914291</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>992_ZW_67_10036_FH14</td>\n",
|
||
" <td>0.998935</td>\n",
|
||
" <td>99.893504</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>993_ZW_67_10036_10037</td>\n",
|
||
" <td>0.997949</td>\n",
|
||
" <td>99.794944</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>994_ZW_67_10036_FH11</td>\n",
|
||
" <td>0.999143</td>\n",
|
||
" <td>99.914291</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>995_ZW_67_10036_FH14</td>\n",
|
||
" <td>0.998935</td>\n",
|
||
" <td>99.893502</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>996_ZW_67_10036_10037</td>\n",
|
||
" <td>0.997949</td>\n",
|
||
" <td>99.794942</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>997_ZW_67_10036_FH11</td>\n",
|
||
" <td>0.999143</td>\n",
|
||
" <td>99.914291</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>998_ZW_67_10036_FH14</td>\n",
|
||
" <td>0.998935</td>\n",
|
||
" <td>99.893503</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>999_ZW_68_10034_10035</td>\n",
|
||
" <td>0.999619</td>\n",
|
||
" <td>99.961905</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1000_ZW_68_10034_FH14</td>\n",
|
||
" <td>0.999595</td>\n",
|
||
" <td>99.959454</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1001_ZW_68_10034_10035</td>\n",
|
||
" <td>0.999619</td>\n",
|
||
" <td>99.961905</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1002_ZW_68_10034_FH14</td>\n",
|
||
" <td>0.999595</td>\n",
|
||
" <td>99.959453</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1003_ZW_68_10034_10035</td>\n",
|
||
" <td>0.999619</td>\n",
|
||
" <td>99.961906</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1004_ZW_68_10034_FH14</td>\n",
|
||
" <td>0.999595</td>\n",
|
||
" <td>99.959453</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1005_ZW_69_10037_10040</td>\n",
|
||
" <td>0.999578</td>\n",
|
||
" <td>99.957751</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1006_ZW_69_10037_FH4</td>\n",
|
||
" <td>0.998989</td>\n",
|
||
" <td>99.898866</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1007_ZW_69_10037_FH11</td>\n",
|
||
" <td>0.998246</td>\n",
|
||
" <td>99.824600</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1008_ZW_69_10037_10040</td>\n",
|
||
" <td>0.999578</td>\n",
|
||
" <td>99.957751</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1009_ZW_69_10037_FH4</td>\n",
|
||
" <td>0.998989</td>\n",
|
||
" <td>99.898866</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1010_ZW_69_10037_FH11</td>\n",
|
||
" <td>0.998246</td>\n",
|
||
" <td>99.824598</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1011_ZW_69_10037_10040</td>\n",
|
||
" <td>0.999578</td>\n",
|
||
" <td>99.957752</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1012_ZW_69_10037_FH4</td>\n",
|
||
" <td>0.998989</td>\n",
|
||
" <td>99.898866</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1013_ZW_69_10037_FH11</td>\n",
|
||
" <td>0.998246</td>\n",
|
||
" <td>99.824599</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1014_ZW_70_10041_10040</td>\n",
|
||
" <td>0.999546</td>\n",
|
||
" <td>99.954593</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1015_ZW_70_10041_FH4</td>\n",
|
||
" <td>0.998957</td>\n",
|
||
" <td>99.895719</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1016_ZW_70_10041_10040</td>\n",
|
||
" <td>0.999546</td>\n",
|
||
" <td>99.954593</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1017_ZW_70_10041_FH4</td>\n",
|
||
" <td>0.998957</td>\n",
|
||
" <td>99.895720</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1018_ZW_70_10041_10040</td>\n",
|
||
" <td>0.999546</td>\n",
|
||
" <td>99.954592</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1019_ZW_70_10041_FH4</td>\n",
|
||
" <td>0.998957</td>\n",
|
||
" <td>99.895719</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1020_ZW_71_10007_10015</td>\n",
|
||
" <td>0.999248</td>\n",
|
||
" <td>99.924848</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1021_ZW_71_10007_FH13</td>\n",
|
||
" <td>0.999486</td>\n",
|
||
" <td>99.948637</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1022_ZW_71_10007_10015</td>\n",
|
||
" <td>0.999248</td>\n",
|
||
" <td>99.924849</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1023_ZW_71_10007_FH13</td>\n",
|
||
" <td>0.999486</td>\n",
|
||
" <td>99.948636</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1024_ZW_71_10007_10015</td>\n",
|
||
" <td>0.999248</td>\n",
|
||
" <td>99.924849</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1025_ZW_71_10007_FH13</td>\n",
|
||
" <td>0.999486</td>\n",
|
||
" <td>99.948628</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1026_ZW_72_10015_10007</td>\n",
|
||
" <td>0.999248</td>\n",
|
||
" <td>99.924846</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1027_ZW_72_10015_FH13</td>\n",
|
||
" <td>0.998853</td>\n",
|
||
" <td>99.885251</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1028_ZW_72_10015_10007</td>\n",
|
||
" <td>0.999248</td>\n",
|
||
" <td>99.924847</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1029_ZW_72_10015_FH13</td>\n",
|
||
" <td>0.998853</td>\n",
|
||
" <td>99.885251</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1030_ZW_72_10015_10007</td>\n",
|
||
" <td>0.999248</td>\n",
|
||
" <td>99.924847</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1031_ZW_72_10015_FH13</td>\n",
|
||
" <td>0.998853</td>\n",
|
||
" <td>99.885251</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1032_ZW_73_10008_10007</td>\n",
|
||
" <td>0.999493</td>\n",
|
||
" <td>99.949281</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1033_ZW_73_10008_FH13</td>\n",
|
||
" <td>0.999102</td>\n",
|
||
" <td>99.910202</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1034_ZW_73_10008_10007</td>\n",
|
||
" <td>0.999493</td>\n",
|
||
" <td>99.949281</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1035_ZW_73_10008_FH13</td>\n",
|
||
" <td>0.999102</td>\n",
|
||
" <td>99.910202</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1036_ZW_73_10008_10007</td>\n",
|
||
" <td>0.999493</td>\n",
|
||
" <td>99.949281</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1037_ZW_73_10008_FH13</td>\n",
|
||
" <td>0.999102</td>\n",
|
||
" <td>99.910202</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1038_ZW_74_10033_10032</td>\n",
|
||
" <td>0.998897</td>\n",
|
||
" <td>99.889746</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1039_ZW_74_10033_FH15</td>\n",
|
||
" <td>0.999553</td>\n",
|
||
" <td>99.955277</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1040_ZW_74_10033_10032</td>\n",
|
||
" <td>0.998897</td>\n",
|
||
" <td>99.889745</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1041_ZW_74_10033_FH15</td>\n",
|
||
" <td>0.999553</td>\n",
|
||
" <td>99.955275</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1042_ZW_74_10033_10032</td>\n",
|
||
" <td>0.998897</td>\n",
|
||
" <td>99.889744</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1043_ZW_74_10033_FH15</td>\n",
|
||
" <td>0.999553</td>\n",
|
||
" <td>99.955276</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1044_ZW_75_10032_10033</td>\n",
|
||
" <td>0.998898</td>\n",
|
||
" <td>99.889755</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1045_ZW_75_10032_FH15</td>\n",
|
||
" <td>0.999152</td>\n",
|
||
" <td>99.915224</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1046_ZW_75_10032_10033</td>\n",
|
||
" <td>0.998898</td>\n",
|
||
" <td>99.889753</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1047_ZW_75_10032_FH15</td>\n",
|
||
" <td>0.999152</td>\n",
|
||
" <td>99.915226</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1048_ZW_75_10032_10033</td>\n",
|
||
" <td>0.998898</td>\n",
|
||
" <td>99.889755</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1049_ZW_75_10032_FH15</td>\n",
|
||
" <td>0.999152</td>\n",
|
||
" <td>99.915225</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1_gnssbx_0645_10026</td>\n",
|
||
" <td>0.953135</td>\n",
|
||
" <td>95.313544</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>2_gnssbx_0645_10014</td>\n",
|
||
" <td>0.924480</td>\n",
|
||
" <td>92.448030</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>3_gnssbx_0645_10044</td>\n",
|
||
" <td>0.805470</td>\n",
|
||
" <td>80.547026</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>5_gnssbx_0645_10008</td>\n",
|
||
" <td>0.929799</td>\n",
|
||
" <td>92.979901</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>6_gnssbx_0645_10044</td>\n",
|
||
" <td>0.912981</td>\n",
|
||
" <td>91.298106</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>7_gnssbx_0656_10014</td>\n",
|
||
" <td>0.834665</td>\n",
|
||
" <td>83.466492</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>8_gnssbx_0656_10026</td>\n",
|
||
" <td>0.975986</td>\n",
|
||
" <td>97.598575</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>9_gnssbx_0656_10001</td>\n",
|
||
" <td>0.968890</td>\n",
|
||
" <td>96.888977</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10_gnssbx_0656_10028</td>\n",
|
||
" <td>0.961255</td>\n",
|
||
" <td>96.125487</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>11_gnssbx_0656_10014</td>\n",
|
||
" <td>0.873755</td>\n",
|
||
" <td>87.375525</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>13_gnssbx_0656_10001</td>\n",
|
||
" <td>0.937872</td>\n",
|
||
" <td>93.787202</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>14_gnssbx_0656_10059</td>\n",
|
||
" <td>0.897966</td>\n",
|
||
" <td>89.796600</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>15_gnssbx_0656_10044</td>\n",
|
||
" <td>0.735228</td>\n",
|
||
" <td>73.522790</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>17_gnssbx_0656_10026</td>\n",
|
||
" <td>0.978129</td>\n",
|
||
" <td>97.812903</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>18_gnssbx_0656_10059</td>\n",
|
||
" <td>0.861211</td>\n",
|
||
" <td>86.121135</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>19_gnssbx_0656_10008</td>\n",
|
||
" <td>0.839082</td>\n",
|
||
" <td>83.908214</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>23_gnssbx_0656_10028</td>\n",
|
||
" <td>0.967294</td>\n",
|
||
" <td>96.729437</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>24_gnssbx_0656_10008</td>\n",
|
||
" <td>0.932594</td>\n",
|
||
" <td>93.259425</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>25_gnssbx_0995_10014</td>\n",
|
||
" <td>0.843919</td>\n",
|
||
" <td>84.391939</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>26_gnssbx_0995_10026</td>\n",
|
||
" <td>0.943410</td>\n",
|
||
" <td>94.341037</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>27_gnssbx_0995_10014</td>\n",
|
||
" <td>0.906159</td>\n",
|
||
" <td>90.615948</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>28_gnssbx_0995_10037</td>\n",
|
||
" <td>0.980049</td>\n",
|
||
" <td>98.004868</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>29_gnssbx_0995_10059</td>\n",
|
||
" <td>0.908460</td>\n",
|
||
" <td>90.846000</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>30_gnssbx_0995_10008</td>\n",
|
||
" <td>0.924138</td>\n",
|
||
" <td>92.413823</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>31_gnssbx_1675_10014</td>\n",
|
||
" <td>0.895926</td>\n",
|
||
" <td>89.592631</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>32_gnssbx_1675_10026</td>\n",
|
||
" <td>0.967877</td>\n",
|
||
" <td>96.787694</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>33_gnssbx_1675_10014</td>\n",
|
||
" <td>0.911792</td>\n",
|
||
" <td>91.179237</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>34_gnssbx_1675_10037</td>\n",
|
||
" <td>0.959223</td>\n",
|
||
" <td>95.922265</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>35_gnssbx_1675_10044</td>\n",
|
||
" <td>0.772256</td>\n",
|
||
" <td>77.225599</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>37_gnssbx_1675_10008</td>\n",
|
||
" <td>0.948147</td>\n",
|
||
" <td>94.814711</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>38_gnssbx_1675_10044</td>\n",
|
||
" <td>0.885541</td>\n",
|
||
" <td>88.554131</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>39_gnssbx_ESTE_10014</td>\n",
|
||
" <td>0.878277</td>\n",
|
||
" <td>87.827686</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>40_gnssbx_ESTE_10026</td>\n",
|
||
" <td>0.969003</td>\n",
|
||
" <td>96.900295</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>41_gnssbx_ESTE_10014</td>\n",
|
||
" <td>0.915900</td>\n",
|
||
" <td>91.590027</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>42_gnssbx_ESTE_10037</td>\n",
|
||
" <td>0.983654</td>\n",
|
||
" <td>98.365362</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>43_gnssbx_ESTE_10044</td>\n",
|
||
" <td>0.731468</td>\n",
|
||
" <td>73.146819</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>44_gnssbx_ESTE_10008</td>\n",
|
||
" <td>0.943598</td>\n",
|
||
" <td>94.359827</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>45_gnssbx_ESTE_10044</td>\n",
|
||
" <td>0.908031</td>\n",
|
||
" <td>90.803143</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>46_gnssbx_GNA2_10014</td>\n",
|
||
" <td>0.895999</td>\n",
|
||
" <td>89.599890</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>47_gnssbx_GNA2_10026</td>\n",
|
||
" <td>0.963085</td>\n",
|
||
" <td>96.308453</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>48_gnssbx_GNA2_10014</td>\n",
|
||
" <td>0.915762</td>\n",
|
||
" <td>91.576167</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>49_gnssbx_GNA2_10037</td>\n",
|
||
" <td>0.990206</td>\n",
|
||
" <td>99.020583</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>50_gnssbx_GNA2_10044</td>\n",
|
||
" <td>0.759915</td>\n",
|
||
" <td>75.991533</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>51_gnssbx_GNA2_10059</td>\n",
|
||
" <td>0.943882</td>\n",
|
||
" <td>94.388213</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>52_gnssbx_GNA2_10008</td>\n",
|
||
" <td>0.944460</td>\n",
|
||
" <td>94.446036</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>53_gnssbx_GNA2_10044</td>\n",
|
||
" <td>0.940752</td>\n",
|
||
" <td>94.075199</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1_gnssby_0645_10026</td>\n",
|
||
" <td>0.909374</td>\n",
|
||
" <td>90.937397</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>2_gnssby_0645_10014</td>\n",
|
||
" <td>0.810212</td>\n",
|
||
" <td>81.021201</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>3_gnssby_0645_10044</td>\n",
|
||
" <td>0.787729</td>\n",
|
||
" <td>78.772948</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>5_gnssby_0645_10008</td>\n",
|
||
" <td>0.901812</td>\n",
|
||
" <td>90.181228</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>6_gnssby_0645_10044</td>\n",
|
||
" <td>0.853018</td>\n",
|
||
" <td>85.301753</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>7_gnssby_0656_10014</td>\n",
|
||
" <td>0.790027</td>\n",
|
||
" <td>79.002736</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>8_gnssby_0656_10026</td>\n",
|
||
" <td>0.932042</td>\n",
|
||
" <td>93.204219</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>9_gnssby_0656_10001</td>\n",
|
||
" <td>0.897035</td>\n",
|
||
" <td>89.703471</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10_gnssby_0656_10028</td>\n",
|
||
" <td>0.899698</td>\n",
|
||
" <td>89.969817</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>11_gnssby_0656_10014</td>\n",
|
||
" <td>0.864272</td>\n",
|
||
" <td>86.427249</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>13_gnssby_0656_10001</td>\n",
|
||
" <td>0.902651</td>\n",
|
||
" <td>90.265113</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>14_gnssby_0656_10059</td>\n",
|
||
" <td>0.965408</td>\n",
|
||
" <td>96.540787</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>15_gnssby_0656_10044</td>\n",
|
||
" <td>0.855887</td>\n",
|
||
" <td>85.588680</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>17_gnssby_0656_10026</td>\n",
|
||
" <td>0.944992</td>\n",
|
||
" <td>94.499234</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>18_gnssby_0656_10059</td>\n",
|
||
" <td>0.833323</td>\n",
|
||
" <td>83.332330</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>19_gnssby_0656_10008</td>\n",
|
||
" <td>0.844054</td>\n",
|
||
" <td>84.405394</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>23_gnssby_0656_10028</td>\n",
|
||
" <td>0.904585</td>\n",
|
||
" <td>90.458508</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>24_gnssby_0656_10008</td>\n",
|
||
" <td>0.930120</td>\n",
|
||
" <td>93.011975</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>25_gnssby_0995_10014</td>\n",
|
||
" <td>0.778132</td>\n",
|
||
" <td>77.813217</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>26_gnssby_0995_10026</td>\n",
|
||
" <td>0.895320</td>\n",
|
||
" <td>89.531977</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>27_gnssby_0995_10014</td>\n",
|
||
" <td>0.776523</td>\n",
|
||
" <td>77.652340</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>28_gnssby_0995_10037</td>\n",
|
||
" <td>0.957649</td>\n",
|
||
" <td>95.764857</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>29_gnssby_0995_10059</td>\n",
|
||
" <td>0.914204</td>\n",
|
||
" <td>91.420419</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>30_gnssby_0995_10008</td>\n",
|
||
" <td>0.900461</td>\n",
|
||
" <td>90.046053</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>31_gnssby_1675_10014</td>\n",
|
||
" <td>0.843137</td>\n",
|
||
" <td>84.313727</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>32_gnssby_1675_10026</td>\n",
|
||
" <td>0.939934</td>\n",
|
||
" <td>93.993388</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>33_gnssby_1675_10014</td>\n",
|
||
" <td>0.813559</td>\n",
|
||
" <td>81.355942</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>34_gnssby_1675_10037</td>\n",
|
||
" <td>0.939031</td>\n",
|
||
" <td>93.903109</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>35_gnssby_1675_10044</td>\n",
|
||
" <td>0.793961</td>\n",
|
||
" <td>79.396099</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>37_gnssby_1675_10008</td>\n",
|
||
" <td>0.944825</td>\n",
|
||
" <td>94.482522</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>38_gnssby_1675_10044</td>\n",
|
||
" <td>0.838713</td>\n",
|
||
" <td>83.871263</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>39_gnssby_ESTE_10014</td>\n",
|
||
" <td>0.827572</td>\n",
|
||
" <td>82.757184</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>40_gnssby_ESTE_10026</td>\n",
|
||
" <td>0.938567</td>\n",
|
||
" <td>93.856705</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>41_gnssby_ESTE_10014</td>\n",
|
||
" <td>0.825245</td>\n",
|
||
" <td>82.524547</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>42_gnssby_ESTE_10037</td>\n",
|
||
" <td>0.969601</td>\n",
|
||
" <td>96.960148</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>43_gnssby_ESTE_10044</td>\n",
|
||
" <td>0.753446</td>\n",
|
||
" <td>75.344640</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>44_gnssby_ESTE_10008</td>\n",
|
||
" <td>0.938479</td>\n",
|
||
" <td>93.847864</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>45_gnssby_ESTE_10044</td>\n",
|
||
" <td>0.858015</td>\n",
|
||
" <td>85.801512</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>46_gnssby_GNA2_10014</td>\n",
|
||
" <td>0.847638</td>\n",
|
||
" <td>84.763832</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>47_gnssby_GNA2_10026</td>\n",
|
||
" <td>0.927347</td>\n",
|
||
" <td>92.734732</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>48_gnssby_GNA2_10014</td>\n",
|
||
" <td>0.822080</td>\n",
|
||
" <td>82.208047</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>49_gnssby_GNA2_10037</td>\n",
|
||
" <td>0.981103</td>\n",
|
||
" <td>98.110343</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>50_gnssby_GNA2_10044</td>\n",
|
||
" <td>0.762559</td>\n",
|
||
" <td>76.255929</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>51_gnssby_GNA2_10059</td>\n",
|
||
" <td>0.950557</td>\n",
|
||
" <td>95.055721</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>52_gnssby_GNA2_10008</td>\n",
|
||
" <td>0.932872</td>\n",
|
||
" <td>93.287247</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>53_gnssby_GNA2_10044</td>\n",
|
||
" <td>0.910161</td>\n",
|
||
" <td>91.016100</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1_gnssbz_0645_10026</td>\n",
|
||
" <td>0.871403</td>\n",
|
||
" <td>87.140344</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>2_gnssbz_0645_10014</td>\n",
|
||
" <td>0.942971</td>\n",
|
||
" <td>94.297056</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>3_gnssbz_0645_10044</td>\n",
|
||
" <td>0.789636</td>\n",
|
||
" <td>78.963618</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>5_gnssbz_0645_10008</td>\n",
|
||
" <td>0.954913</td>\n",
|
||
" <td>95.491323</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>6_gnssbz_0645_10044</td>\n",
|
||
" <td>0.908202</td>\n",
|
||
" <td>90.820198</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>7_gnssbz_0656_10014</td>\n",
|
||
" <td>0.720856</td>\n",
|
||
" <td>72.085590</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>8_gnssbz_0656_10026</td>\n",
|
||
" <td>0.923390</td>\n",
|
||
" <td>92.338997</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>9_gnssbz_0656_10001</td>\n",
|
||
" <td>0.913369</td>\n",
|
||
" <td>91.336864</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10_gnssbz_0656_10028</td>\n",
|
||
" <td>0.966977</td>\n",
|
||
" <td>96.697662</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>11_gnssbz_0656_10014</td>\n",
|
||
" <td>0.932203</td>\n",
|
||
" <td>93.220251</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>13_gnssbz_0656_10001</td>\n",
|
||
" <td>0.965431</td>\n",
|
||
" <td>96.543115</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>14_gnssbz_0656_10059</td>\n",
|
||
" <td>0.908579</td>\n",
|
||
" <td>90.857852</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>15_gnssbz_0656_10044</td>\n",
|
||
" <td>0.838121</td>\n",
|
||
" <td>83.812095</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>17_gnssbz_0656_10026</td>\n",
|
||
" <td>0.963828</td>\n",
|
||
" <td>96.382820</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>18_gnssbz_0656_10059</td>\n",
|
||
" <td>0.926669</td>\n",
|
||
" <td>92.666932</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>19_gnssbz_0656_10008</td>\n",
|
||
" <td>0.924119</td>\n",
|
||
" <td>92.411880</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>23_gnssbz_0656_10028</td>\n",
|
||
" <td>0.956851</td>\n",
|
||
" <td>95.685114</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>24_gnssbz_0656_10008</td>\n",
|
||
" <td>0.969020</td>\n",
|
||
" <td>96.901994</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>25_gnssbz_0995_10014</td>\n",
|
||
" <td>0.717659</td>\n",
|
||
" <td>71.765946</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>26_gnssbz_0995_10026</td>\n",
|
||
" <td>0.859041</td>\n",
|
||
" <td>85.904077</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>27_gnssbz_0995_10014</td>\n",
|
||
" <td>0.936317</td>\n",
|
||
" <td>93.631737</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>28_gnssbz_0995_10037</td>\n",
|
||
" <td>0.991223</td>\n",
|
||
" <td>99.122325</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>29_gnssbz_0995_10059</td>\n",
|
||
" <td>0.946040</td>\n",
|
||
" <td>94.603978</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>30_gnssbz_0995_10008</td>\n",
|
||
" <td>0.958491</td>\n",
|
||
" <td>95.849068</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>31_gnssbz_1675_10014</td>\n",
|
||
" <td>0.779135</td>\n",
|
||
" <td>77.913514</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>32_gnssbz_1675_10026</td>\n",
|
||
" <td>0.910892</td>\n",
|
||
" <td>91.089234</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>33_gnssbz_1675_10014</td>\n",
|
||
" <td>0.941123</td>\n",
|
||
" <td>94.112289</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>34_gnssbz_1675_10037</td>\n",
|
||
" <td>0.988211</td>\n",
|
||
" <td>98.821077</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>35_gnssbz_1675_10044</td>\n",
|
||
" <td>0.794626</td>\n",
|
||
" <td>79.462598</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>37_gnssbz_1675_10008</td>\n",
|
||
" <td>0.973711</td>\n",
|
||
" <td>97.371139</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>38_gnssbz_1675_10044</td>\n",
|
||
" <td>0.892130</td>\n",
|
||
" <td>89.213036</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>39_gnssbz_ESTE_10014</td>\n",
|
||
" <td>0.765107</td>\n",
|
||
" <td>76.510661</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>40_gnssbz_ESTE_10026</td>\n",
|
||
" <td>0.916884</td>\n",
|
||
" <td>91.688440</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>41_gnssbz_ESTE_10014</td>\n",
|
||
" <td>0.947667</td>\n",
|
||
" <td>94.766673</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>42_gnssbz_ESTE_10037</td>\n",
|
||
" <td>0.993242</td>\n",
|
||
" <td>99.324217</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>43_gnssbz_ESTE_10044</td>\n",
|
||
" <td>0.765359</td>\n",
|
||
" <td>76.535935</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>44_gnssbz_ESTE_10008</td>\n",
|
||
" <td>0.972246</td>\n",
|
||
" <td>97.224565</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>45_gnssbz_ESTE_10044</td>\n",
|
||
" <td>0.902824</td>\n",
|
||
" <td>90.282444</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>46_gnssbz_GNA2_10014</td>\n",
|
||
" <td>0.794282</td>\n",
|
||
" <td>79.428232</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>47_gnssbz_GNA2_10026</td>\n",
|
||
" <td>0.899421</td>\n",
|
||
" <td>89.942136</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>48_gnssbz_GNA2_10014</td>\n",
|
||
" <td>0.958978</td>\n",
|
||
" <td>95.897834</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>49_gnssbz_GNA2_10037</td>\n",
|
||
" <td>0.995761</td>\n",
|
||
" <td>99.576081</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>50_gnssbz_GNA2_10044</td>\n",
|
||
" <td>0.764595</td>\n",
|
||
" <td>76.459474</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>51_gnssbz_GNA2_10059</td>\n",
|
||
" <td>0.963218</td>\n",
|
||
" <td>96.321809</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>52_gnssbz_GNA2_10008</td>\n",
|
||
" <td>0.970144</td>\n",
|
||
" <td>97.014354</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>53_gnssbz_GNA2_10044</td>\n",
|
||
" <td>0.944182</td>\n",
|
||
" <td>94.418217</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1050_niv_812_10047</td>\n",
|
||
" <td>0.610136</td>\n",
|
||
" <td>61.013639</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1051_niv_10047_10046</td>\n",
|
||
" <td>0.604151</td>\n",
|
||
" <td>60.415108</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1052_niv_10046_10045</td>\n",
|
||
" <td>0.623707</td>\n",
|
||
" <td>62.370657</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1053_niv_10045_10034</td>\n",
|
||
" <td>0.763807</td>\n",
|
||
" <td>76.380703</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1054_niv_10034_FH14</td>\n",
|
||
" <td>0.614698</td>\n",
|
||
" <td>61.469807</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1055_niv_FH14_FH11</td>\n",
|
||
" <td>0.687107</td>\n",
|
||
" <td>68.710695</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1056_niv_FH11_10035</td>\n",
|
||
" <td>0.596200</td>\n",
|
||
" <td>59.620045</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1057_niv_10035_10029</td>\n",
|
||
" <td>0.565764</td>\n",
|
||
" <td>56.576369</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1058_niv_10029_10030</td>\n",
|
||
" <td>0.552051</td>\n",
|
||
" <td>55.205087</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1059_niv_10030_10031</td>\n",
|
||
" <td>0.561309</td>\n",
|
||
" <td>56.130875</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1060_niv_10031_10017</td>\n",
|
||
" <td>0.593186</td>\n",
|
||
" <td>59.318617</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1061_niv_10017_10013</td>\n",
|
||
" <td>0.552717</td>\n",
|
||
" <td>55.271664</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1062_niv_10013_10012</td>\n",
|
||
" <td>0.549076</td>\n",
|
||
" <td>54.907630</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1063_niv_10012_10014</td>\n",
|
||
" <td>0.548936</td>\n",
|
||
" <td>54.893551</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1064_niv_10014_10015</td>\n",
|
||
" <td>0.548878</td>\n",
|
||
" <td>54.887771</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1065_niv_10015_10016</td>\n",
|
||
" <td>0.549371</td>\n",
|
||
" <td>54.937053</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1066_niv_10016_10007</td>\n",
|
||
" <td>0.553737</td>\n",
|
||
" <td>55.373715</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1067_niv_10007_FH13</td>\n",
|
||
" <td>0.501878</td>\n",
|
||
" <td>50.187831</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1068_niv_FH13_10007</td>\n",
|
||
" <td>0.501874</td>\n",
|
||
" <td>50.187399</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1069_niv_10007_10016</td>\n",
|
||
" <td>0.553800</td>\n",
|
||
" <td>55.380025</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1070_niv_10016_10015</td>\n",
|
||
" <td>0.549344</td>\n",
|
||
" <td>54.934414</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1071_niv_10015_10014</td>\n",
|
||
" <td>0.548860</td>\n",
|
||
" <td>54.886037</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1072_niv_10014_10012</td>\n",
|
||
" <td>0.548891</td>\n",
|
||
" <td>54.889068</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1073_niv_10012_10013</td>\n",
|
||
" <td>0.549071</td>\n",
|
||
" <td>54.907122</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1074_niv_10013_10017</td>\n",
|
||
" <td>0.552658</td>\n",
|
||
" <td>55.265834</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1075_niv_10017_10031</td>\n",
|
||
" <td>0.593171</td>\n",
|
||
" <td>59.317064</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1076_niv_10031_10030</td>\n",
|
||
" <td>0.561277</td>\n",
|
||
" <td>56.127666</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1077_niv_10030_10029</td>\n",
|
||
" <td>0.552063</td>\n",
|
||
" <td>55.206341</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1078_niv_10029_10035</td>\n",
|
||
" <td>0.565847</td>\n",
|
||
" <td>56.584749</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1079_niv_10035_FH11</td>\n",
|
||
" <td>0.596236</td>\n",
|
||
" <td>59.623555</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1080_niv_FH11_FH14</td>\n",
|
||
" <td>0.687334</td>\n",
|
||
" <td>68.733437</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1081_niv_FH14_10034</td>\n",
|
||
" <td>0.614683</td>\n",
|
||
" <td>61.468283</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1082_niv_10034_10045</td>\n",
|
||
" <td>0.763779</td>\n",
|
||
" <td>76.377918</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1083_niv_10045_10046</td>\n",
|
||
" <td>0.623738</td>\n",
|
||
" <td>62.373795</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1084_niv_10046_10047</td>\n",
|
||
" <td>0.604080</td>\n",
|
||
" <td>60.407967</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1085_niv_10047_812</td>\n",
|
||
" <td>0.610134</td>\n",
|
||
" <td>61.013351</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1086_niv_666_10054</td>\n",
|
||
" <td>0.529631</td>\n",
|
||
" <td>52.963088</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1087_niv_10054_10056</td>\n",
|
||
" <td>0.562521</td>\n",
|
||
" <td>56.252073</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1088_niv_10056_10058</td>\n",
|
||
" <td>0.554862</td>\n",
|
||
" <td>55.486161</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1089_niv_10058_10052</td>\n",
|
||
" <td>0.580149</td>\n",
|
||
" <td>58.014858</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1090_niv_10052_10043</td>\n",
|
||
" <td>0.554008</td>\n",
|
||
" <td>55.400818</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1091_niv_10043_10026</td>\n",
|
||
" <td>0.564274</td>\n",
|
||
" <td>56.427357</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1092_niv_10026_10010</td>\n",
|
||
" <td>0.614390</td>\n",
|
||
" <td>61.439006</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1093_niv_10010_10006</td>\n",
|
||
" <td>0.572606</td>\n",
|
||
" <td>57.260641</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1094_niv_10006_10010</td>\n",
|
||
" <td>0.572601</td>\n",
|
||
" <td>57.260144</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1095_niv_10010_10026</td>\n",
|
||
" <td>0.614364</td>\n",
|
||
" <td>61.436410</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1096_niv_10026_10043</td>\n",
|
||
" <td>0.564268</td>\n",
|
||
" <td>56.426802</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1097_niv_10043_10052</td>\n",
|
||
" <td>0.554007</td>\n",
|
||
" <td>55.400741</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1098_niv_10052_10058</td>\n",
|
||
" <td>0.580145</td>\n",
|
||
" <td>58.014550</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1099_niv_10058_10056</td>\n",
|
||
" <td>0.554839</td>\n",
|
||
" <td>55.483906</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1100_niv_10056_10054</td>\n",
|
||
" <td>0.562652</td>\n",
|
||
" <td>56.265223</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1101_niv_10054_666</td>\n",
|
||
" <td>0.530706</td>\n",
|
||
" <td>53.070600</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1102_niv_816_10048</td>\n",
|
||
" <td>0.644285</td>\n",
|
||
" <td>64.428536</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1103_niv_10048_812</td>\n",
|
||
" <td>0.687791</td>\n",
|
||
" <td>68.779085</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1104_niv_812_FH3</td>\n",
|
||
" <td>0.557960</td>\n",
|
||
" <td>55.795997</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1105_niv_FH3_10049</td>\n",
|
||
" <td>0.548871</td>\n",
|
||
" <td>54.887105</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1106_niv_10049_10053</td>\n",
|
||
" <td>0.555600</td>\n",
|
||
" <td>55.560030</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1107_niv_10053_10050</td>\n",
|
||
" <td>0.580258</td>\n",
|
||
" <td>58.025760</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1108_niv_10050_10051</td>\n",
|
||
" <td>0.578090</td>\n",
|
||
" <td>57.809043</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1109_niv_10051_FH4</td>\n",
|
||
" <td>0.567805</td>\n",
|
||
" <td>56.780456</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1110_niv_FH4_10040</td>\n",
|
||
" <td>0.648095</td>\n",
|
||
" <td>64.809513</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1111_niv_10040_10037</td>\n",
|
||
" <td>0.557991</td>\n",
|
||
" <td>55.799102</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1112_niv_10037_10038</td>\n",
|
||
" <td>0.557999</td>\n",
|
||
" <td>55.799857</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1113_niv_10038_10039</td>\n",
|
||
" <td>0.551753</td>\n",
|
||
" <td>55.175313</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1114_niv_10039_10032</td>\n",
|
||
" <td>0.556682</td>\n",
|
||
" <td>55.668187</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1115_niv_10032_10031</td>\n",
|
||
" <td>0.555675</td>\n",
|
||
" <td>55.567510</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1116_niv_10031_FH15</td>\n",
|
||
" <td>0.559601</td>\n",
|
||
" <td>55.960147</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1117_niv_FH15_10033</td>\n",
|
||
" <td>0.548662</td>\n",
|
||
" <td>54.866234</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1118_niv_10033_10025</td>\n",
|
||
" <td>0.555092</td>\n",
|
||
" <td>55.509196</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1119_niv_10025_10024</td>\n",
|
||
" <td>0.549896</td>\n",
|
||
" <td>54.989565</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1120_niv_10024_10023</td>\n",
|
||
" <td>0.550689</td>\n",
|
||
" <td>55.068948</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1121_niv_10023_10022</td>\n",
|
||
" <td>0.548725</td>\n",
|
||
" <td>54.872467</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1122_niv_10022_10021</td>\n",
|
||
" <td>0.548639</td>\n",
|
||
" <td>54.863912</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1123_niv_10021_10026</td>\n",
|
||
" <td>0.556365</td>\n",
|
||
" <td>55.636466</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1124_niv_10026_10020</td>\n",
|
||
" <td>0.582728</td>\n",
|
||
" <td>58.272821</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1125_niv_10020_10019</td>\n",
|
||
" <td>0.572040</td>\n",
|
||
" <td>57.204015</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1126_niv_10019_10017</td>\n",
|
||
" <td>0.576445</td>\n",
|
||
" <td>57.644493</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1127_niv_10017_10019</td>\n",
|
||
" <td>0.576452</td>\n",
|
||
" <td>57.645238</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1128_niv_10019_10020</td>\n",
|
||
" <td>0.572072</td>\n",
|
||
" <td>57.207229</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1129_niv_10020_10026</td>\n",
|
||
" <td>0.582769</td>\n",
|
||
" <td>58.276909</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1130_niv_10026_10021</td>\n",
|
||
" <td>0.556379</td>\n",
|
||
" <td>55.637895</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1131_niv_10021_10022</td>\n",
|
||
" <td>0.548647</td>\n",
|
||
" <td>54.864666</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1132_niv_10022_10023</td>\n",
|
||
" <td>0.548757</td>\n",
|
||
" <td>54.875710</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1133_niv_10023_10024</td>\n",
|
||
" <td>0.550680</td>\n",
|
||
" <td>55.068043</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1134_niv_10024_10025</td>\n",
|
||
" <td>0.549876</td>\n",
|
||
" <td>54.987601</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1135_niv_10025_10033</td>\n",
|
||
" <td>0.555103</td>\n",
|
||
" <td>55.510277</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1136_niv_10033_FH15</td>\n",
|
||
" <td>0.548713</td>\n",
|
||
" <td>54.871308</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1137_niv_FH15_10031</td>\n",
|
||
" <td>0.559610</td>\n",
|
||
" <td>55.961044</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1138_niv_10031_10032</td>\n",
|
||
" <td>0.555639</td>\n",
|
||
" <td>55.563947</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1139_niv_10032_10039</td>\n",
|
||
" <td>0.556750</td>\n",
|
||
" <td>55.674953</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1140_niv_10039_10038</td>\n",
|
||
" <td>0.551762</td>\n",
|
||
" <td>55.176198</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1141_niv_10038_10037</td>\n",
|
||
" <td>0.558037</td>\n",
|
||
" <td>55.803729</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1142_niv_10037_10040</td>\n",
|
||
" <td>0.558062</td>\n",
|
||
" <td>55.806217</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1143_niv_10040_FH4</td>\n",
|
||
" <td>0.648092</td>\n",
|
||
" <td>64.809175</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1144_niv_FH4_10051</td>\n",
|
||
" <td>0.567631</td>\n",
|
||
" <td>56.763096</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1145_niv_10051_10050</td>\n",
|
||
" <td>0.578083</td>\n",
|
||
" <td>57.808262</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1146_niv_10050_10053</td>\n",
|
||
" <td>0.580138</td>\n",
|
||
" <td>58.013778</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1147_niv_10053_10049</td>\n",
|
||
" <td>0.555636</td>\n",
|
||
" <td>55.563643</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1148_niv_10049_FH3</td>\n",
|
||
" <td>0.548986</td>\n",
|
||
" <td>54.898585</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1149_niv_FH3_812</td>\n",
|
||
" <td>0.557772</td>\n",
|
||
" <td>55.777224</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1150_niv_812_10048</td>\n",
|
||
" <td>0.687687</td>\n",
|
||
" <td>68.768721</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1151_niv_10048_816</td>\n",
|
||
" <td>0.644302</td>\n",
|
||
" <td>64.430216</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1152_niv_816_812</td>\n",
|
||
" <td>0.677004</td>\n",
|
||
" <td>67.700389</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1153_niv_812_10045</td>\n",
|
||
" <td>0.728884</td>\n",
|
||
" <td>72.888388</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1154_niv_10045_10034</td>\n",
|
||
" <td>0.763731</td>\n",
|
||
" <td>76.373134</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1155_niv_10034_10035</td>\n",
|
||
" <td>0.657831</td>\n",
|
||
" <td>65.783095</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1156_niv_10035_10036</td>\n",
|
||
" <td>0.508499</td>\n",
|
||
" <td>50.849884</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1157_niv_10036_10036</td>\n",
|
||
" <td>0.001502</td>\n",
|
||
" <td>0.150214</td>\n",
|
||
" <td>nicht kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1158_niv_10036_10035</td>\n",
|
||
" <td>0.508438</td>\n",
|
||
" <td>50.843816</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1159_niv_10035_10034</td>\n",
|
||
" <td>0.657770</td>\n",
|
||
" <td>65.776962</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1160_niv_10034_10028</td>\n",
|
||
" <td>0.547000</td>\n",
|
||
" <td>54.700047</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1161_niv_10028_10011</td>\n",
|
||
" <td>0.579150</td>\n",
|
||
" <td>57.915030</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1162_niv_10011_10001</td>\n",
|
||
" <td>0.581794</td>\n",
|
||
" <td>58.179362</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1163_niv_10001_10003</td>\n",
|
||
" <td>0.580971</td>\n",
|
||
" <td>58.097147</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1164_niv_10003_10007</td>\n",
|
||
" <td>0.542027</td>\n",
|
||
" <td>54.202651</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1165_niv_10007_10008</td>\n",
|
||
" <td>0.566682</td>\n",
|
||
" <td>56.668249</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1166_niv_10008_10005</td>\n",
|
||
" <td>0.553258</td>\n",
|
||
" <td>55.325809</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1167_niv_10005_10006</td>\n",
|
||
" <td>0.559123</td>\n",
|
||
" <td>55.912332</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1168_niv_10006_10004</td>\n",
|
||
" <td>0.510041</td>\n",
|
||
" <td>51.004067</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1169_niv_10004_10002</td>\n",
|
||
" <td>0.513156</td>\n",
|
||
" <td>51.315564</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1170_niv_10002_10004</td>\n",
|
||
" <td>0.513115</td>\n",
|
||
" <td>51.311477</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1171_niv_10004_10006</td>\n",
|
||
" <td>0.510019</td>\n",
|
||
" <td>51.001900</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1172_niv_10006_10005</td>\n",
|
||
" <td>0.559229</td>\n",
|
||
" <td>55.922895</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1173_niv_10005_10008</td>\n",
|
||
" <td>0.553286</td>\n",
|
||
" <td>55.328564</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1174_niv_10008_10007</td>\n",
|
||
" <td>0.566623</td>\n",
|
||
" <td>56.662319</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1175_niv_10007_10003</td>\n",
|
||
" <td>0.541876</td>\n",
|
||
" <td>54.187633</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1176_niv_10003_10001</td>\n",
|
||
" <td>0.581011</td>\n",
|
||
" <td>58.101143</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1177_niv_10001_10011</td>\n",
|
||
" <td>0.581796</td>\n",
|
||
" <td>58.179564</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1178_niv_10011_10028</td>\n",
|
||
" <td>0.579139</td>\n",
|
||
" <td>57.913901</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1179_niv_10028_10034</td>\n",
|
||
" <td>0.547026</td>\n",
|
||
" <td>54.702604</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1180_niv_10034_10045</td>\n",
|
||
" <td>0.763761</td>\n",
|
||
" <td>76.376134</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1181_niv_10045_812</td>\n",
|
||
" <td>0.728884</td>\n",
|
||
" <td>72.888388</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1182_niv_812_816</td>\n",
|
||
" <td>0.676958</td>\n",
|
||
" <td>67.695833</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1183_niv_666_10055</td>\n",
|
||
" <td>0.531695</td>\n",
|
||
" <td>53.169532</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1184_niv_10055_10057</td>\n",
|
||
" <td>0.530811</td>\n",
|
||
" <td>53.081084</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1185_niv_10057_10059</td>\n",
|
||
" <td>0.557579</td>\n",
|
||
" <td>55.757887</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1186_niv_10059_10053</td>\n",
|
||
" <td>0.553914</td>\n",
|
||
" <td>55.391415</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1187_niv_10053_10044</td>\n",
|
||
" <td>0.619256</td>\n",
|
||
" <td>61.925606</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1188_niv_10044_10040</td>\n",
|
||
" <td>0.604972</td>\n",
|
||
" <td>60.497174</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1189_niv_10040_10041</td>\n",
|
||
" <td>0.545997</td>\n",
|
||
" <td>54.599750</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1190_niv_10041_10042</td>\n",
|
||
" <td>0.541109</td>\n",
|
||
" <td>54.110900</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1191_niv_10042_10027</td>\n",
|
||
" <td>0.580044</td>\n",
|
||
" <td>58.004369</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1192_niv_10027_10018</td>\n",
|
||
" <td>0.584798</td>\n",
|
||
" <td>58.479828</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1193_niv_10018_10009</td>\n",
|
||
" <td>0.550544</td>\n",
|
||
" <td>55.054366</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1194_niv_10009_10006</td>\n",
|
||
" <td>0.545245</td>\n",
|
||
" <td>54.524464</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1195_niv_10006_10009</td>\n",
|
||
" <td>0.545210</td>\n",
|
||
" <td>54.520986</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1196_niv_10009_10018</td>\n",
|
||
" <td>0.550574</td>\n",
|
||
" <td>55.057425</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1197_niv_10018_10027</td>\n",
|
||
" <td>0.584804</td>\n",
|
||
" <td>58.480383</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1198_niv_10027_10042</td>\n",
|
||
" <td>0.579981</td>\n",
|
||
" <td>57.998134</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1199_niv_10042_10041</td>\n",
|
||
" <td>0.541285</td>\n",
|
||
" <td>54.128505</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1200_niv_10041_10040</td>\n",
|
||
" <td>0.545777</td>\n",
|
||
" <td>54.577725</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1201_niv_10040_10044</td>\n",
|
||
" <td>0.604978</td>\n",
|
||
" <td>60.497849</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1202_niv_10044_10053</td>\n",
|
||
" <td>0.619221</td>\n",
|
||
" <td>61.922148</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1203_niv_10053_10059</td>\n",
|
||
" <td>0.553953</td>\n",
|
||
" <td>55.395321</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1204_niv_10059_10057</td>\n",
|
||
" <td>0.557564</td>\n",
|
||
" <td>55.756423</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1205_niv_10057_10055</td>\n",
|
||
" <td>0.530936</td>\n",
|
||
" <td>53.093556</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1206_niv_10055_666</td>\n",
|
||
" <td>0.531793</td>\n",
|
||
" <td>53.179335</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>lA_X0645</td>\n",
|
||
" <td>0.370338</td>\n",
|
||
" <td>37.033760</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>lA_X0656</td>\n",
|
||
" <td>0.745234</td>\n",
|
||
" <td>74.523434</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>lA_X0995</td>\n",
|
||
" <td>0.378619</td>\n",
|
||
" <td>37.861881</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>lA_X1675</td>\n",
|
||
" <td>0.510349</td>\n",
|
||
" <td>51.034925</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>lA_XESTE</td>\n",
|
||
" <td>0.518393</td>\n",
|
||
" <td>51.839257</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>lA_XGNA2</td>\n",
|
||
" <td>0.495302</td>\n",
|
||
" <td>49.530201</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>lA_Y0645</td>\n",
|
||
" <td>0.588648</td>\n",
|
||
" <td>58.864824</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>lA_Y0656</td>\n",
|
||
" <td>0.781463</td>\n",
|
||
" <td>78.146345</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>lA_Y0995</td>\n",
|
||
" <td>0.616062</td>\n",
|
||
" <td>61.606204</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>lA_Y1675</td>\n",
|
||
" <td>0.692325</td>\n",
|
||
" <td>69.232541</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>lA_YESTE</td>\n",
|
||
" <td>0.693855</td>\n",
|
||
" <td>69.385516</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>lA_YGNA2</td>\n",
|
||
" <td>0.678187</td>\n",
|
||
" <td>67.818728</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>lA_Z0645</td>\n",
|
||
" <td>0.492019</td>\n",
|
||
" <td>49.201877</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>lA_Z0656</td>\n",
|
||
" <td>0.892277</td>\n",
|
||
" <td>89.227656</td>\n",
|
||
" <td>nahezu vollständig redundant</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>lA_Z0995</td>\n",
|
||
" <td>0.542295</td>\n",
|
||
" <td>54.229492</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>lA_Z1675</td>\n",
|
||
" <td>0.664610</td>\n",
|
||
" <td>66.460954</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>lA_ZESTE</td>\n",
|
||
" <td>0.679638</td>\n",
|
||
" <td>67.963800</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>lA_ZGNA2</td>\n",
|
||
" <td>0.651720</td>\n",
|
||
" <td>65.171996</td>\n",
|
||
" <td>gut kontrollierbar</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data",
|
||
"jetTransient": {
|
||
"display_id": null
|
||
}
|
||
}
|
||
],
|
||
"execution_count": 49
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "14db90a3d4d9118b",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2026-01-30T18:52:44.855917Z",
|
||
"start_time": "2026-01-30T18:52:39.848773Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"# Globaltest des Ausgleichungsmodells\n",
|
||
"sigma0_apriori = 1.0\n",
|
||
"\n",
|
||
"alpha_input = input(\"Irrtumswahrscheinlichkeit α wählen (z.B. 0.05, 0.01) [Standard=0.001]: \").strip()\n",
|
||
"alpha_ds = 0.001 if alpha_input == \"\" else float(alpha_input)\n",
|
||
"\n",
|
||
"gt = Netzqualität_Zuverlässigkeit.Zuverlaessigkeit.globaltest(\n",
|
||
" r_gesamt=r_gesamt,\n",
|
||
" sigma0_apost=s0_aposteriori,\n",
|
||
" sigma0_apriori=sigma0_apriori,\n",
|
||
" alpha=alpha_ds\n",
|
||
")\n",
|
||
"\n",
|
||
"df_globaltest = pd.DataFrame([\n",
|
||
" [\"Freiheitsgrad\", gt[\"r_gesamt\"]],\n",
|
||
" [\"σ̂₀ a posteriori\", gt[\"sigma0_apost\"]],\n",
|
||
" [\"σ₀ a priori\", gt[\"sigma0_apriori\"]],\n",
|
||
" [\"Signifikanzniveau α\", gt[\"alpha\"],],\n",
|
||
" [\"Testgröße T_G\", gt[\"T_G\"],],\n",
|
||
" [\"Kritischer Wert Fₖ\", gt[\"F_krit\"]],\n",
|
||
" [\"Nullhypothese H₀\", \"angenommen\" if gt[\"H0_angenommen\"] else \"verworfen\"],], columns=[\"Größe\", \"Wert\"])\n",
|
||
"\n",
|
||
"display(HTML(df_globaltest.to_html(index=False)))\n",
|
||
"print(gt[\"Interpretation\"])\n"
|
||
],
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"<IPython.core.display.HTML object>"
|
||
],
|
||
"text/html": [
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th>Größe</th>\n",
|
||
" <th>Wert</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <td>Freiheitsgrad</td>\n",
|
||
" <td>3004</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>σ̂₀ a posteriori</td>\n",
|
||
" <td>2.114998</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>σ₀ a priori</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>Signifikanzniveau α</td>\n",
|
||
" <td>0.001</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>Testgröße T_G</td>\n",
|
||
" <td>4.473218</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>Kritischer Wert Fₖ</td>\n",
|
||
" <td>1.081637</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>Nullhypothese H₀</td>\n",
|
||
" <td>verworfen</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data",
|
||
"jetTransient": {
|
||
"display_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Nullhypothese H₀ verworfen!\n",
|
||
"Dies kann folgende Gründe haben:\n",
|
||
"→ Es befinden sich grobe Fehler im Datenmaterial. Bitte Lokaltest durchführen und ggf. grobe Fehler im Datenmaterial entfernen.\n",
|
||
"→ Das stochastische Modell ist zu optimistisch. Bitte Gewichte überprüfen und ggf. anpassen.\n"
|
||
]
|
||
}
|
||
],
|
||
"execution_count": 50
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "1a84fbfb3db101c9",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2026-01-30T18:52:50.119781Z",
|
||
"start_time": "2026-01-30T18:52:44.908151Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"# Lokaltest und innere Zuverlässigkeit\n",
|
||
"import ipywidgets as widgets\n",
|
||
"from IPython.display import display, clear_output\n",
|
||
"\n",
|
||
"itables.init_notebook_mode()\n",
|
||
"labels = [str(s) for s in Jacobimatrix_symbolisch_liste_beobachtungsvektor]\n",
|
||
"\n",
|
||
"alpha_ds = 0.001 if alpha_input == \"\" else float(alpha_input)\n",
|
||
"\n",
|
||
"beta_input = input(\"Macht des Tests (1-β) wählen [Standard: 80 % -> 0.80]: \").strip()\n",
|
||
"beta_ds = 0.80 if beta_input == \"\" else float(beta_input)\n",
|
||
"\n",
|
||
"Lokaltest = Netzqualität_Zuverlässigkeit.Zuverlaessigkeit.lokaltest_innere_Zuverlaessigkeit(\n",
|
||
" v=res[\"v\"],\n",
|
||
" Q_vv=res[\"Q_vv\"],\n",
|
||
" ri=ri,\n",
|
||
" labels=labels,\n",
|
||
" s0_apost=s0_aposteriori,\n",
|
||
" alpha=alpha_ds,\n",
|
||
" beta=beta_ds\n",
|
||
")\n",
|
||
"\n",
|
||
"if \"v_i\" in Lokaltest.columns:\n",
|
||
" Lokaltest[\"v_i\"] = Lokaltest[\"v_i\"].round(6)\n",
|
||
"if \"r_i\" in Lokaltest.columns:\n",
|
||
" Lokaltest[\"r_i\"] = Lokaltest[\"r_i\"].round(4)\n",
|
||
"if \"s_vi\" in Lokaltest.columns:\n",
|
||
" Lokaltest[\"s_vi\"] = Lokaltest[\"s_vi\"].round(6)\n",
|
||
"if \"GF_i\" in Lokaltest.columns:\n",
|
||
" Lokaltest[\"GF_i\"] = Lokaltest[\"GF_i\"].round(6)\n",
|
||
"if \"GRZW_i\" in Lokaltest.columns:\n",
|
||
" Lokaltest[\"GRZW_i\"] = Lokaltest[\"GRZW_i\"].round(6)\n",
|
||
"\n",
|
||
"df = Lokaltest.copy()\n",
|
||
"\n",
|
||
"if \"Beobachtung\" not in df.columns:\n",
|
||
" if df.index.name == \"Beobachtung\":\n",
|
||
" df = df.reset_index()\n",
|
||
" else:\n",
|
||
" df = df.reset_index().rename(columns={\"index\": \"Beobachtung\"})\n",
|
||
"\n",
|
||
"if \"Beobachtung_ausschalten\" not in df.columns:\n",
|
||
" df.insert(0, \"Beobachtung_ausschalten\", \"\")\n",
|
||
"else:\n",
|
||
" col = df.pop(\"Beobachtung_ausschalten\")\n",
|
||
" df.insert(0, \"Beobachtung_ausschalten\", col)\n",
|
||
"\n",
|
||
"tabelle = ITable(\n",
|
||
" df,\n",
|
||
" maxBytes=5 * 1024 * 1024, # 5 MB\n",
|
||
" columnDefs=[\n",
|
||
" {\"targets\": 0, \"orderable\": False, \"className\": \"select-checkbox\", \"width\": \"26px\"},\n",
|
||
" ],\n",
|
||
" select={\"style\": \"multi\", \"selector\": \"td:first-child\"},\n",
|
||
" order=[[1, \"asc\"]],\n",
|
||
")\n",
|
||
"\n",
|
||
"beob_list = tabelle.df[\"Beobachtung\"].astype(str).tolist()\n",
|
||
"dict_gnss_key_zu_index = {}\n",
|
||
"\n",
|
||
"for i, beob in enumerate(beob_list):\n",
|
||
" beob = str(beob).strip()\n",
|
||
"\n",
|
||
" if \"_gnssbx_\" in beob:\n",
|
||
" key = beob.split(\"_gnssbx_\", 1)[1].strip()\n",
|
||
" if key not in dict_gnss_key_zu_index:\n",
|
||
" dict_gnss_key_zu_index[key] = {}\n",
|
||
" dict_gnss_key_zu_index[key][\"bx\"] = i\n",
|
||
"\n",
|
||
" elif \"_gnssby_\" in beob:\n",
|
||
" key = beob.split(\"_gnssby_\", 1)[1].strip()\n",
|
||
" if key not in dict_gnss_key_zu_index:\n",
|
||
" dict_gnss_key_zu_index[key] = {}\n",
|
||
" dict_gnss_key_zu_index[key][\"by\"] = i\n",
|
||
"\n",
|
||
" elif \"_gnssbz_\" in beob:\n",
|
||
" key = beob.split(\"_gnssbz_\", 1)[1].strip()\n",
|
||
" if key not in dict_gnss_key_zu_index:\n",
|
||
" dict_gnss_key_zu_index[key] = {}\n",
|
||
" dict_gnss_key_zu_index[key][\"bz\"] = i\n",
|
||
"\n",
|
||
"\n",
|
||
"auswahl_zeilen_vorher = set(tabelle.selected_rows or [])\n",
|
||
"update_durch_code = False\n",
|
||
"\n",
|
||
"def gnss_komponente_und_key_aus_beobachtung(beob: str):\n",
|
||
" \"\"\"Extrahiert Komponente und einen eindeutigen Key für das Trio.\"\"\"\n",
|
||
" beob = str(beob).strip()\n",
|
||
" for komp in [\"bx\", \"by\", \"bz\"]:\n",
|
||
" marker = f\"_gnss{komp}_\"\n",
|
||
" if marker in beob:\n",
|
||
" # Ersetzt z.B. '_gnssbx_' durch '_gnss_'.\n",
|
||
" # So haben '39_gnssbx_...' und '39_gnssby_...' den identischen Key.\n",
|
||
" key = beob.replace(marker, \"_gnss_\")\n",
|
||
" return komp, key\n",
|
||
" return None, None\n",
|
||
"\n",
|
||
"# 1. Eindeutiges Dictionary aufbauen\n",
|
||
"dict_gnss_key_zu_alle_indizes = {}\n",
|
||
"for idx, row in df.iterrows():\n",
|
||
" komp, key = gnss_komponente_und_key_aus_beobachtung(row[\"Beobachtung\"])\n",
|
||
" if key:\n",
|
||
" if key not in dict_gnss_key_zu_alle_indizes:\n",
|
||
" dict_gnss_key_zu_alle_indizes[key] = []\n",
|
||
" dict_gnss_key_zu_alle_indizes[key].append(idx)\n",
|
||
"\n",
|
||
"def on_selected_rows_change(change):\n",
|
||
" global auswahl_zeilen_vorher, update_durch_code\n",
|
||
" if update_durch_code:\n",
|
||
" return\n",
|
||
"\n",
|
||
" # Aktuelle Auswahl vom Widget (DF-Indizes)\n",
|
||
" auswahl_aktuell = set(change[\"new\"] or [])\n",
|
||
"\n",
|
||
" hinzu = auswahl_aktuell - auswahl_zeilen_vorher\n",
|
||
" entfernt = auswahl_zeilen_vorher - auswahl_aktuell\n",
|
||
" auswahl_final = set(auswahl_aktuell)\n",
|
||
"\n",
|
||
" # LOGIK: Hinzufügen (Trio vervollständigen)\n",
|
||
" for idx in hinzu:\n",
|
||
" # Sicherstellen, dass der Index im DF existiert\n",
|
||
" beob_name = str(df.loc[idx, \"Beobachtung\"])\n",
|
||
" _, key = gnss_komponente_und_key_aus_beobachtung(beob_name)\n",
|
||
" if key in dict_gnss_key_zu_alle_indizes:\n",
|
||
" for p_idx in dict_gnss_key_zu_alle_indizes[key]:\n",
|
||
" auswahl_final.add(p_idx)\n",
|
||
"\n",
|
||
" # LOGIK: Abwählen (Ganzes Trio entfernen)\n",
|
||
" for idx in entfernt:\n",
|
||
" beob_name = str(df.loc[idx, \"Beobachtung\"])\n",
|
||
" _, key = gnss_komponente_und_key_aus_beobachtung(beob_name)\n",
|
||
" if key in dict_gnss_key_zu_alle_indizes:\n",
|
||
" for p_idx in dict_gnss_key_zu_alle_indizes[key]:\n",
|
||
" if p_idx in auswahl_final:\n",
|
||
" auswahl_final.remove(p_idx)\n",
|
||
"\n",
|
||
" # Nur bei Änderungen das Widget-Update triggern\n",
|
||
" if auswahl_final != auswahl_aktuell:\n",
|
||
" update_durch_code = True\n",
|
||
" tabelle.selected_rows = sorted(list(auswahl_final))\n",
|
||
" update_durch_code = False\n",
|
||
"\n",
|
||
" auswahl_zeilen_vorher = set(tabelle.selected_rows or [])\n",
|
||
" refresh_panel()\n",
|
||
"\n",
|
||
"def export_ausschalten_dict(Eintrag_Auswahl=\"beobachtung_ausschalten\", Wert_nicht_ausgewaehlt=\"\"):\n",
|
||
" auswahl = set(tabelle.selected_rows or [])\n",
|
||
" beob_list = tabelle.df[\"Beobachtung\"].astype(str).tolist()\n",
|
||
"\n",
|
||
" return {\n",
|
||
" beob_list[i]: (Eintrag_Auswahl if i in auswahl else Wert_nicht_ausgewaehlt)\n",
|
||
" for i in range(len(beob_list))\n",
|
||
" }\n",
|
||
"\n",
|
||
"ausschalten_dict = export_ausschalten_dict()\n",
|
||
"\n",
|
||
"out = widgets.Output()\n",
|
||
"btn_export = widgets.Button(description=\"Auswahl speichern\", icon=\"download\")\n",
|
||
"btn_reset = widgets.Button(description=\"Rückgängig\", icon=\"refresh\")\n",
|
||
"\n",
|
||
"def refresh_panel(_=None):\n",
|
||
" global ausschalten_dict\n",
|
||
" ausschalten_dict = export_ausschalten_dict()\n",
|
||
"\n",
|
||
" with out:\n",
|
||
" clear_output(wait=True)\n",
|
||
" auswahl = tabelle.selected_rows or []\n",
|
||
" print(f\"AUSGESCHALTET: {len(auswahl)}\")\n",
|
||
"\n",
|
||
" #Vorschau\n",
|
||
" if len(auswahl) > 0:\n",
|
||
" cols = [c for c in [\"Beobachtung\", \"v_i\", \"r_i\", \"auffaellig\", \"GF_i\", \"GRZW_i\"] if c in tabelle.df.columns]\n",
|
||
" display(tabelle.df.iloc[auswahl][cols].head(30))\n",
|
||
"\n",
|
||
"def exportieren(_):\n",
|
||
" global ausschalten_dict\n",
|
||
" ausschalten_dict = export_ausschalten_dict()\n",
|
||
"\n",
|
||
" with out:\n",
|
||
" clear_output(wait=True)\n",
|
||
" print(\"ausschalten_dict ist aktualisiert.\")\n",
|
||
" ausgeschaltet = [k for k, v in ausschalten_dict.items() if v == \"X\"]\n",
|
||
" print(f\"Nur ausgeschaltete Beobachtungen ({len(ausgeschaltet)}):\")\n",
|
||
" display(ausgeschaltet[:300])\n",
|
||
"\n",
|
||
"def on_reset(_):\n",
|
||
" tabelle.selected_rows = []\n",
|
||
" refresh_panel()\n",
|
||
"\n",
|
||
"btn_export.on_click(exportieren)\n",
|
||
"btn_reset.on_click(on_reset)\n",
|
||
"\n",
|
||
"tabelle.observe(on_selected_rows_change, names=\"selected_rows\")\n",
|
||
"\n",
|
||
"\n",
|
||
"display(widgets.VBox([tabelle, widgets.HBox([btn_export, btn_reset]), out]))\n",
|
||
"refresh_panel()\n",
|
||
"\n",
|
||
"Lokaltest.to_excel(r\"Zwischenergebnisse\\Lokaltest_innere_Zuverlaessugkeit.xlsx\", index=False)\n"
|
||
],
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"<IPython.core.display.HTML object>"
|
||
],
|
||
"text/html": [
|
||
"<script type=\"module\">\n",
|
||
" const { set_or_remove_dark_class } = await import(window._itables_2_6_2);\n",
|
||
" set_or_remove_dark_class();\n",
|
||
"</script>\n"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data",
|
||
"jetTransient": {
|
||
"display_id": null
|
||
}
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"<IPython.core.display.HTML object>"
|
||
],
|
||
"text/html": [
|
||
"<script>\n",
|
||
"function injectCSS(base64CSS) {\n",
|
||
" const cssText = atob(base64CSS);\n",
|
||
" const style = document.createElement('style');\n",
|
||
" style.textContent = cssText;\n",
|
||
" document.head.appendChild(style);\n",
|
||
"}\n",
|
||
"\n",
|
||
"async function injectModule(base64JS) {\n",
|
||
" const jsText = atob(base64JS);\n",
|
||
" const blob = new Blob([jsText], { type: 'application/javascript' });\n",
|
||
" const url = URL.createObjectURL(blob);\n",
|
||
" const module = await import(url);\n",
|
||
" URL.revokeObjectURL(url);\n",
|
||
" return module;\n",
|
||
"}\n",
|
||
"\n",
|
||
"if (!window._itables_2_6_2) {\n",
|
||
" injectCSS(\"OnJvb3QsIDpob3N0ey0tZHQtcm93LXNlbGVjdGVkOiAxMywgMTEwLCAyNTM7LS1kdC1yb3ctc2VsZWN0ZWQtdGV4dDogMjU1LCAyNTUsIDI1NTstLWR0LXJvdy1zZWxlY3RlZC1saW5rOiAyMjgsIDIyOCwgMjI4Oy0tZHQtcm93LXN0cmlwZTogMCwgMCwgMDstLWR0LXJvdy1ob3ZlcjogMCwgMCwgMDstLWR0LWNvbHVtbi1vcmRlcmluZzogMCwgMCwgMDstLWR0LWhlYWRlci1hbGlnbi1pdGVtczogY2VudGVyOy0tZHQtaGVhZGVyLXZlcnRpY2FsLWFsaWduOiBtaWRkbGU7LS1kdC1odG1sLWJhY2tncm91bmQ6IHdoaXRlfTpyb290LmRhcmssIDpob3N0LmRhcmt7LS1kdC1odG1sLWJhY2tncm91bmQ6IHJnYigzMywgMzcsIDQxKX10YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQuZHQtY29udHJvbHt0ZXh0LWFsaWduOmNlbnRlcjtjdXJzb3I6cG9pbnRlcn10YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQuZHQtY29udHJvbDpiZWZvcmV7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7Ym9yZGVyLXRvcDo1cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWxlZnQ6MTBweCBzb2xpZCByZ2JhKDAsMCwwLC41KTtib3JkZXItYm90dG9tOjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6MHB4IHNvbGlkIHRyYW5zcGFyZW50fXRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0ci5kdC1oYXNDaGlsZCB0ZC5kdC1jb250cm9sOmJlZm9yZXtib3JkZXItdG9wOjEwcHggc29saWQgcmdiYSgwLDAsMCwuNSk7Ym9yZGVyLWxlZnQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206MHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDo1cHggc29saWQgdHJhbnNwYXJlbnR9dGFibGUuZGF0YVRhYmxlIHRmb290OmVtcHR5e2Rpc3BsYXk6bm9uZX1odG1sLmRhcmsgdGFibGUuZGF0YVRhYmxlIHRkLmR0LWNvbnRyb2w6YmVmb3JlLCA6cm9vdFtkYXRhLWJzLXRoZW1lPWRhcmtdIHRhYmxlLmRhdGFUYWJsZSB0ZC5kdC1jb250cm9sOmJlZm9yZSwgOmhvc3RbZGF0YS1icy10aGVtZT1kYXJrXSB0YWJsZS5kYXRhVGFibGUgdGQuZHQtY29udHJvbDpiZWZvcmUsIDpyb290W2RhdGEtdGhlbWU9ZGFya10gdGFibGUuZGF0YVRhYmxlIHRkLmR0LWNvbnRyb2w6YmVmb3JlLCA6aG9zdFtkYXRhLXRoZW1lPWRhcmtdIHRhYmxlLmRhdGFUYWJsZSB0ZC5kdC1jb250cm9sOmJlZm9yZXtib3JkZXItbGVmdC1jb2xvcjojZmZmZmZmODB9aHRtbC5kYXJrIHRhYmxlLmRhdGFUYWJsZSB0ci5kdC1oYXNDaGlsZCB0ZC5kdC1jb250cm9sOmJlZm9yZSwgOnJvb3RbZGF0YS1icy10aGVtZT1kYXJrXSB0YWJsZS5kYXRhVGFibGUgdHIuZHQtaGFzQ2hpbGQgdGQuZHQtY29udHJvbDpiZWZvcmUsIDpob3N0W2RhdGEtYnMtdGhlbWU9ZGFya10gdGFibGUuZGF0YVRhYmxlIHRyLmR0LWhhc0NoaWxkIHRkLmR0LWNvbnRyb2w6YmVmb3JlLCA6cm9vdFtkYXRhLXRoZW1lPWRhcmtdIHRhYmxlLmRhdGFUYWJsZSB0ci5kdC1oYXNDaGlsZCB0ZC5kdC1jb250cm9sOmJlZm9yZSwgOmhvc3RbZGF0YS10aGVtZT1kYXJrXSB0YWJsZS5kYXRhVGFibGUgdHIuZHQtaGFzQ2hpbGQgdGQuZHQtY29udHJvbDpiZWZvcmV7Ym9yZGVyLXRvcC1jb2xvcjojZmZmZmZmODA7Ym9yZGVyLWxlZnQtY29sb3I6dHJhbnNwYXJlbnR9ZGl2LmR0LXNjcm9sbHt3aWR0aDoxMDAlfWRpdi5kdC1zY3JvbGwtYm9keSB0aGVhZCB0cixkaXYuZHQtc2Nyb2xsLWJvZHkgdGZvb3QgdHJ7aGVpZ2h0OjB9ZGl2LmR0LXNjcm9sbC1ib2R5IHRoZWFkIHRyIHRoLGRpdi5kdC1zY3JvbGwtYm9keSB0aGVhZCB0ciB0ZCxkaXYuZHQtc2Nyb2xsLWJvZHkgdGZvb3QgdHIgdGgsZGl2LmR0LXNjcm9sbC1ib2R5IHRmb290IHRyIHRke2hlaWdodDowIWltcG9ydGFudDtwYWRkaW5nLXRvcDowIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTowIWltcG9ydGFudDtib3JkZXItdG9wLXdpZHRoOjBweCFpbXBvcnRhbnQ7Ym9yZGVyLWJvdHRvbS13aWR0aDowcHghaW1wb3J0YW50fWRpdi5kdC1zY3JvbGwtYm9keSB0aGVhZCB0ciB0aCBkaXYuZHQtc2Nyb2xsLXNpemluZyxkaXYuZHQtc2Nyb2xsLWJvZHkgdGhlYWQgdHIgdGQgZGl2LmR0LXNjcm9sbC1zaXppbmcsZGl2LmR0LXNjcm9sbC1ib2R5IHRmb290IHRyIHRoIGRpdi5kdC1zY3JvbGwtc2l6aW5nLGRpdi5kdC1zY3JvbGwtYm9keSB0Zm9vdCB0ciB0ZCBkaXYuZHQtc2Nyb2xsLXNpemluZ3toZWlnaHQ6MCFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuIWltcG9ydGFudH10YWJsZS5kYXRhVGFibGUgdGhlYWQ+dHI+dGguZHQtb3JkZXJhYmxlLWFzYyBzcGFuLmR0LWNvbHVtbi1vcmRlcjpiZWZvcmUsdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRoLmR0LW9yZGVyaW5nLWFzYyBzcGFuLmR0LWNvbHVtbi1vcmRlcjpiZWZvcmUsdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRkLmR0LW9yZGVyYWJsZS1hc2Mgc3Bhbi5kdC1jb2x1bW4tb3JkZXI6YmVmb3JlLHRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50ZC5kdC1vcmRlcmluZy1hc2Mgc3Bhbi5kdC1jb2x1bW4tb3JkZXI6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7Ym90dG9tOjUwJTtjb250ZW50OiJcMjViMiI7Y29udGVudDoiXDI1YjIiLyIifXRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50aC5kdC1vcmRlcmFibGUtZGVzYyBzcGFuLmR0LWNvbHVtbi1vcmRlcjphZnRlcix0YWJsZS5kYXRhVGFibGUgdGhlYWQ+dHI+dGguZHQtb3JkZXJpbmctZGVzYyBzcGFuLmR0LWNvbHVtbi1vcmRlcjphZnRlcix0YWJsZS5kYXRhVGFibGUgdGhlYWQ+dHI+dGQuZHQtb3JkZXJhYmxlLWRlc2Mgc3Bhbi5kdC1jb2x1bW4tb3JkZXI6YWZ0ZXIsdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRkLmR0LW9yZGVyaW5nLWRlc2Mgc3Bhbi5kdC1jb2x1bW4tb3JkZXI6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt0b3A6NTAlO2NvbnRlbnQ6IlwyNWJjIjtjb250ZW50OiJcMjViYyIvIiJ9dGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRoLmR0LW9yZGVyYWJsZS1hc2Mgc3Bhbi5kdC1jb2x1bW4tb3JkZXIsdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRoLmR0LW9yZGVyYWJsZS1kZXNjIHNwYW4uZHQtY29sdW1uLW9yZGVyLHRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50aC5kdC1vcmRlcmluZy1hc2Mgc3Bhbi5kdC1jb2x1bW4tb3JkZXIsdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRoLmR0LW9yZGVyaW5nLWRlc2Mgc3Bhbi5kdC1jb2x1bW4tb3JkZXIsdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRkLmR0LW9yZGVyYWJsZS1hc2Mgc3Bhbi5kdC1jb2x1bW4tb3JkZXIsdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRkLmR0LW9yZGVyYWJsZS1kZXNjIHNwYW4uZHQtY29sdW1uLW9yZGVyLHRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50ZC5kdC1vcmRlcmluZy1hc2Mgc3Bhbi5kdC1jb2x1bW4tb3JkZXIsdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRkLmR0LW9yZGVyaW5nLWRlc2Mgc3Bhbi5kdC1jb2x1bW4tb3JkZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTJweDtoZWlnaHQ6MjBweH10YWJsZS5kYXRhVGFibGUgdGhlYWQ+dHI+dGguZHQtb3JkZXJhYmxlLWFzYyBzcGFuLmR0LWNvbHVtbi1vcmRlcjpiZWZvcmUsdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRoLmR0LW9yZGVyYWJsZS1hc2Mgc3Bhbi5kdC1jb2x1bW4tb3JkZXI6YWZ0ZXIsdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRoLmR0LW9yZGVyYWJsZS1kZXNjIHNwYW4uZHQtY29sdW1uLW9yZGVyOmJlZm9yZSx0YWJsZS5kYXRhVGFibGUgdGhlYWQ+dHI+dGguZHQtb3JkZXJhYmxlLWRlc2Mgc3Bhbi5kdC1jb2x1bW4tb3JkZXI6YWZ0ZXIsdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRoLmR0LW9yZGVyaW5nLWFzYyBzcGFuLmR0LWNvbHVtbi1vcmRlcjpiZWZvcmUsdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRoLmR0LW9yZGVyaW5nLWFzYyBzcGFuLmR0LWNvbHVtbi1vcmRlcjphZnRlcix0YWJsZS5kYXRhVGFibGUgdGhlYWQ+dHI+dGguZHQtb3JkZXJpbmctZGVzYyBzcGFuLmR0LWNvbHVtbi1vcmRlcjpiZWZvcmUsdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRoLmR0LW9yZGVyaW5nLWRlc2Mgc3Bhbi5kdC1jb2x1bW4tb3JkZXI6YWZ0ZXIsdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRkLmR0LW9yZGVyYWJsZS1hc2Mgc3Bhbi5kdC1jb2x1bW4tb3JkZXI6YmVmb3JlLHRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50ZC5kdC1vcmRlcmFibGUtYXNjIHNwYW4uZHQtY29sdW1uLW9yZGVyOmFmdGVyLHRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50ZC5kdC1vcmRlcmFibGUtZGVzYyBzcGFuLmR0LWNvbHVtbi1vcmRlcjpiZWZvcmUsdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRkLmR0LW9yZGVyYWJsZS1kZXNjIHNwYW4uZHQtY29sdW1uLW9yZGVyOmFmdGVyLHRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50ZC5kdC1vcmRlcmluZy1hc2Mgc3Bhbi5kdC1jb2x1bW4tb3JkZXI6YmVmb3JlLHRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50ZC5kdC1vcmRlcmluZy1hc2Mgc3Bhbi5kdC1jb2x1bW4tb3JkZXI6YWZ0ZXIsdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRkLmR0LW9yZGVyaW5nLWRlc2Mgc3Bhbi5kdC1jb2x1bW4tb3JkZXI6YmVmb3JlLHRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50ZC5kdC1vcmRlcmluZy1kZXNjIHNwYW4uZHQtY29sdW1uLW9yZGVyOmFmdGVye2xlZnQ6MDtvcGFjaXR5Oi4xMjU7bGluZS1oZWlnaHQ6OXB4O2ZvbnQtc2l6ZTouOGVtfXRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50aC5kdC1vcmRlcmFibGUtYXNjLHRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50aC5kdC1vcmRlcmFibGUtZGVzYyx0YWJsZS5kYXRhVGFibGUgdGhlYWQ+dHI+dGQuZHQtb3JkZXJhYmxlLWFzYyx0YWJsZS5kYXRhVGFibGUgdGhlYWQ+dHI+dGQuZHQtb3JkZXJhYmxlLWRlc2N7Y3Vyc29yOnBvaW50ZXJ9dGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRoLmR0LW9yZGVyYWJsZS1hc2M6aG92ZXIsdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRoLmR0LW9yZGVyYWJsZS1kZXNjOmhvdmVyLHRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50ZC5kdC1vcmRlcmFibGUtYXNjOmhvdmVyLHRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50ZC5kdC1vcmRlcmFibGUtZGVzYzpob3ZlcntvdXRsaW5lOjJweCBzb2xpZCByZ2JhKDAsMCwwLC4wNSk7b3V0bGluZS1vZmZzZXQ6LTJweH10YWJsZS5kYXRhVGFibGUgdGhlYWQ+dHI+dGguZHQtb3JkZXJpbmctYXNjIHNwYW4uZHQtY29sdW1uLW9yZGVyOmJlZm9yZSx0YWJsZS5kYXRhVGFibGUgdGhlYWQ+dHI+dGguZHQtb3JkZXJpbmctZGVzYyBzcGFuLmR0LWNvbHVtbi1vcmRlcjphZnRlcix0YWJsZS5kYXRhVGFibGUgdGhlYWQ+dHI+dGQuZHQtb3JkZXJpbmctYXNjIHNwYW4uZHQtY29sdW1uLW9yZGVyOmJlZm9yZSx0YWJsZS5kYXRhVGFibGUgdGhlYWQ+dHI+dGQuZHQtb3JkZXJpbmctZGVzYyBzcGFuLmR0LWNvbHVtbi1vcmRlcjphZnRlcntvcGFjaXR5Oi42fXRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50aC5kdC1vcmRlcmFibGUtbm9uZTpub3QoLmR0LW9yZGVyaW5nLWFzYywuZHQtb3JkZXJpbmctZGVzYykgc3Bhbi5kdC1jb2x1bW4tb3JkZXI6ZW1wdHksdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRoLnNvcnRpbmdfZGVzY19kaXNhYmxlZCBzcGFuLmR0LWNvbHVtbi1vcmRlcjphZnRlcix0YWJsZS5kYXRhVGFibGUgdGhlYWQ+dHI+dGguc29ydGluZ19hc2NfZGlzYWJsZWQgc3Bhbi5kdC1jb2x1bW4tb3JkZXI6YmVmb3JlLHRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50ZC5kdC1vcmRlcmFibGUtbm9uZTpub3QoLmR0LW9yZGVyaW5nLWFzYywuZHQtb3JkZXJpbmctZGVzYykgc3Bhbi5kdC1jb2x1bW4tb3JkZXI6ZW1wdHksdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRkLnNvcnRpbmdfZGVzY19kaXNhYmxlZCBzcGFuLmR0LWNvbHVtbi1vcmRlcjphZnRlcix0YWJsZS5kYXRhVGFibGUgdGhlYWQ+dHI+dGQuc29ydGluZ19hc2NfZGlzYWJsZWQgc3Bhbi5kdC1jb2x1bW4tb3JkZXI6YmVmb3Jle2Rpc3BsYXk6bm9uZX10YWJsZS5kYXRhVGFibGUgdGhlYWQ+dHI+dGg6YWN0aXZlLHRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50ZDphY3RpdmV7b3V0bGluZTpub25lfXRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50aCBkaXYuZHQtY29sdW1uLWhlYWRlcix0YWJsZS5kYXRhVGFibGUgdGhlYWQ+dHI+dGggZGl2LmR0LWNvbHVtbi1mb290ZXIsdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRkIGRpdi5kdC1jb2x1bW4taGVhZGVyLHRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50ZCBkaXYuZHQtY29sdW1uLWZvb3Rlcix0YWJsZS5kYXRhVGFibGUgdGZvb3Q+dHI+dGggZGl2LmR0LWNvbHVtbi1oZWFkZXIsdGFibGUuZGF0YVRhYmxlIHRmb290PnRyPnRoIGRpdi5kdC1jb2x1bW4tZm9vdGVyLHRhYmxlLmRhdGFUYWJsZSB0Zm9vdD50cj50ZCBkaXYuZHQtY29sdW1uLWhlYWRlcix0YWJsZS5kYXRhVGFibGUgdGZvb3Q+dHI+dGQgZGl2LmR0LWNvbHVtbi1mb290ZXJ7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOnZhcigtLWR0LWhlYWRlci1hbGlnbi1pdGVtcyk7Z2FwOjRweH10YWJsZS5kYXRhVGFibGUgdGhlYWQ+dHI+dGggZGl2LmR0LWNvbHVtbi1oZWFkZXIgc3Bhbi5kdC1jb2x1bW4tdGl0bGUsdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRoIGRpdi5kdC1jb2x1bW4tZm9vdGVyIHNwYW4uZHQtY29sdW1uLXRpdGxlLHRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50ZCBkaXYuZHQtY29sdW1uLWhlYWRlciBzcGFuLmR0LWNvbHVtbi10aXRsZSx0YWJsZS5kYXRhVGFibGUgdGhlYWQ+dHI+dGQgZGl2LmR0LWNvbHVtbi1mb290ZXIgc3Bhbi5kdC1jb2x1bW4tdGl0bGUsdGFibGUuZGF0YVRhYmxlIHRmb290PnRyPnRoIGRpdi5kdC1jb2x1bW4taGVhZGVyIHNwYW4uZHQtY29sdW1uLXRpdGxlLHRhYmxlLmRhdGFUYWJsZSB0Zm9vdD50cj50aCBkaXYuZHQtY29sdW1uLWZvb3RlciBzcGFuLmR0LWNvbHVtbi10aXRsZSx0YWJsZS5kYXRhVGFibGUgdGZvb3Q+dHI+dGQgZGl2LmR0LWNvbHVtbi1oZWFkZXIgc3Bhbi5kdC1jb2x1bW4tdGl0bGUsdGFibGUuZGF0YVRhYmxlIHRmb290PnRyPnRkIGRpdi5kdC1jb2x1bW4tZm9vdGVyIHNwYW4uZHQtY29sdW1uLXRpdGxle2ZsZXgtZ3JvdzoxfXRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50aCBkaXYuZHQtY29sdW1uLWhlYWRlciBzcGFuLmR0LWNvbHVtbi10aXRsZTplbXB0eSx0YWJsZS5kYXRhVGFibGUgdGhlYWQ+dHI+dGggZGl2LmR0LWNvbHVtbi1mb290ZXIgc3Bhbi5kdC1jb2x1bW4tdGl0bGU6ZW1wdHksdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRkIGRpdi5kdC1jb2x1bW4taGVhZGVyIHNwYW4uZHQtY29sdW1uLXRpdGxlOmVtcHR5LHRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50ZCBkaXYuZHQtY29sdW1uLWZvb3RlciBzcGFuLmR0LWNvbHVtbi10aXRsZTplbXB0eSx0YWJsZS5kYXRhVGFibGUgdGZvb3Q+dHI+dGggZGl2LmR0LWNvbHVtbi1oZWFkZXIgc3Bhbi5kdC1jb2x1bW4tdGl0bGU6ZW1wdHksdGFibGUuZGF0YVRhYmxlIHRmb290PnRyPnRoIGRpdi5kdC1jb2x1bW4tZm9vdGVyIHNwYW4uZHQtY29sdW1uLXRpdGxlOmVtcHR5LHRhYmxlLmRhdGFUYWJsZSB0Zm9vdD50cj50ZCBkaXYuZHQtY29sdW1uLWhlYWRlciBzcGFuLmR0LWNvbHVtbi10aXRsZTplbXB0eSx0YWJsZS5kYXRhVGFibGUgdGZvb3Q+dHI+dGQgZGl2LmR0LWNvbHVtbi1mb290ZXIgc3Bhbi5kdC1jb2x1bW4tdGl0bGU6ZW1wdHl7ZGlzcGxheTpub25lfWRpdi5kdC1zY3JvbGwtYm9keT50YWJsZS5kYXRhVGFibGU+dGhlYWQ+dHI+dGgsZGl2LmR0LXNjcm9sbC1ib2R5PnRhYmxlLmRhdGFUYWJsZT50aGVhZD50cj50ZHtvdmVyZmxvdzpoaWRkZW59OnJvb3QuZGFyayB0YWJsZS5kYXRhVGFibGUgdGhlYWQ+dHI+dGguZHQtb3JkZXJhYmxlLWFzYzpob3ZlciwgOmhvc3QuZGFyayB0YWJsZS5kYXRhVGFibGUgdGhlYWQ+dHI+dGguZHQtb3JkZXJhYmxlLWFzYzpob3ZlciwgOnJvb3QuZGFyayB0YWJsZS5kYXRhVGFibGUgdGhlYWQ+dHI+dGguZHQtb3JkZXJhYmxlLWRlc2M6aG92ZXIsIDpob3N0LmRhcmsgdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRoLmR0LW9yZGVyYWJsZS1kZXNjOmhvdmVyLCA6cm9vdC5kYXJrIHRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50ZC5kdC1vcmRlcmFibGUtYXNjOmhvdmVyLCA6aG9zdC5kYXJrIHRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50ZC5kdC1vcmRlcmFibGUtYXNjOmhvdmVyLCA6cm9vdC5kYXJrIHRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50ZC5kdC1vcmRlcmFibGUtZGVzYzpob3ZlciwgOmhvc3QuZGFyayB0YWJsZS5kYXRhVGFibGUgdGhlYWQ+dHI+dGQuZHQtb3JkZXJhYmxlLWRlc2M6aG92ZXIsIDpyb290W2RhdGEtYnMtdGhlbWU9ZGFya10gdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRoLmR0LW9yZGVyYWJsZS1hc2M6aG92ZXIsIDpob3N0W2RhdGEtYnMtdGhlbWU9ZGFya10gdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRoLmR0LW9yZGVyYWJsZS1hc2M6aG92ZXIsIDpyb290W2RhdGEtYnMtdGhlbWU9ZGFya10gdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRoLmR0LW9yZGVyYWJsZS1kZXNjOmhvdmVyLCA6aG9zdFtkYXRhLWJzLXRoZW1lPWRhcmtdIHRhYmxlLmRhdGFUYWJsZSB0aGVhZD50cj50aC5kdC1vcmRlcmFibGUtZGVzYzpob3ZlciwgOnJvb3RbZGF0YS1icy10aGVtZT1kYXJrXSB0YWJsZS5kYXRhVGFibGUgdGhlYWQ+dHI+dGQuZHQtb3JkZXJhYmxlLWFzYzpob3ZlciwgOmhvc3RbZGF0YS1icy10aGVtZT1kYXJrXSB0YWJsZS5kYXRhVGFibGUgdGhlYWQ+dHI+dGQuZHQtb3JkZXJhYmxlLWFzYzpob3ZlciwgOnJvb3RbZGF0YS1icy10aGVtZT1kYXJrXSB0YWJsZS5kYXRhVGFibGUgdGhlYWQ+dHI+dGQuZHQtb3JkZXJhYmxlLWRlc2M6aG92ZXIsIDpob3N0W2RhdGEtYnMtdGhlbWU9ZGFya10gdGFibGUuZGF0YVRhYmxlIHRoZWFkPnRyPnRkLmR0LW9yZGVyYWJsZS1kZXNjOmhvdmVye291dGxpbmU6MnB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjA1KX1kaXYuZHQtcHJvY2Vzc2luZ3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO3dpZHRoOjIwMHB4O21hcmdpbi1sZWZ0Oi0xMDBweDttYXJnaW4tdG9wOi0yMnB4O3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MnB4O3otaW5kZXg6MTB9ZGl2LmR0LXByb2Nlc3Npbmc+ZGl2Omxhc3QtY2hpbGR7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6ODBweDtoZWlnaHQ6MTVweDttYXJnaW46MWVtIGF1dG99ZGl2LmR0LXByb2Nlc3Npbmc+ZGl2Omxhc3QtY2hpbGQ+ZGl2e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEzcHg7aGVpZ2h0OjEzcHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojMGQ2ZWZkO2JhY2tncm91bmQ6cmdiKHZhcigtLWR0LXJvdy1zZWxlY3RlZCkpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAsMSwxLDApfWRpdi5kdC1wcm9jZXNzaW5nPmRpdjpsYXN0LWNoaWxkPmRpdjpudGgtY2hpbGQoMSl7bGVmdDo4cHg7YW5pbWF0aW9uOmRhdGF0YWJsZXMtbG9hZGVyLTEgLjZzIGluZmluaXRlfWRpdi5kdC1wcm9jZXNzaW5nPmRpdjpsYXN0LWNoaWxkPmRpdjpudGgtY2hpbGQoMil7bGVmdDo4cHg7YW5pbWF0aW9uOmRhdGF0YWJsZXMtbG9hZGVyLTIgLjZzIGluZmluaXRlfWRpdi5kdC1wcm9jZXNzaW5nPmRpdjpsYXN0LWNoaWxkPmRpdjpudGgtY2hpbGQoMyl7bGVmdDozMnB4O2FuaW1hdGlvbjpkYXRhdGFibGVzLWxvYWRlci0yIC42cyBpbmZpbml0ZX1kaXYuZHQtcHJvY2Vzc2luZz5kaXY6bGFzdC1jaGlsZD5kaXY6bnRoLWNoaWxkKDQpe2xlZnQ6NTZweDthbmltYXRpb246ZGF0YXRhYmxlcy1sb2FkZXItMyAuNnMgaW5maW5pdGV9QGtleWZyYW1lcyBkYXRhdGFibGVzLWxvYWRlci0xezAle3RyYW5zZm9ybTpzY2FsZSgwKX10b3t0cmFuc2Zvcm06c2NhbGUoMSl9fUBrZXlmcmFtZXMgZGF0YXRhYmxlcy1sb2FkZXItM3swJXt0cmFuc2Zvcm06c2NhbGUoMSl9dG97dHJhbnNmb3JtOnNjYWxlKDApfX1Aa2V5ZnJhbWVzIGRhdGF0YWJsZXMtbG9hZGVyLTJ7MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX10b3t0cmFuc2Zvcm06dHJhbnNsYXRlKDI0cHgpfX10YWJsZS5kYXRhVGFibGUubm93cmFwIHRoLHRhYmxlLmRhdGFUYWJsZS5ub3dyYXAgdGR7d2hpdGUtc3BhY2U6bm93cmFwfXRhYmxlLmRhdGFUYWJsZSB0aCx0YWJsZS5kYXRhVGFibGUgdGR7Ym94LXNpemluZzpib3JkZXItYm94fXRhYmxlLmRhdGFUYWJsZSB0aC5kdC10eXBlLW51bWVyaWMsdGFibGUuZGF0YVRhYmxlIHRoLmR0LXR5cGUtZGF0ZSx0YWJsZS5kYXRhVGFibGUgdGQuZHQtdHlwZS1udW1lcmljLHRhYmxlLmRhdGFUYWJsZSB0ZC5kdC10eXBlLWRhdGV7dGV4dC1hbGlnbjpyaWdodH10YWJsZS5kYXRhVGFibGUgdGguZHQtdHlwZS1udW1lcmljIGRpdi5kdC1jb2x1bW4taGVhZGVyLHRhYmxlLmRhdGFUYWJsZSB0aC5kdC10eXBlLW51bWVyaWMgZGl2LmR0LWNvbHVtbi1mb290ZXIsdGFibGUuZGF0YVRhYmxlIHRoLmR0LXR5cGUtZGF0ZSBkaXYuZHQtY29sdW1uLWhlYWRlcix0YWJsZS5kYXRhVGFibGUgdGguZHQtdHlwZS1kYXRlIGRpdi5kdC1jb2x1bW4tZm9vdGVyLHRhYmxlLmRhdGFUYWJsZSB0ZC5kdC10eXBlLW51bWVyaWMgZGl2LmR0LWNvbHVtbi1oZWFkZXIsdGFibGUuZGF0YVRhYmxlIHRkLmR0LXR5cGUtbnVtZXJpYyBkaXYuZHQtY29sdW1uLWZvb3Rlcix0YWJsZS5kYXRhVGFibGUgdGQuZHQtdHlwZS1kYXRlIGRpdi5kdC1jb2x1bW4taGVhZGVyLHRhYmxlLmRhdGFUYWJsZSB0ZC5kdC10eXBlLWRhdGUgZGl2LmR0LWNvbHVtbi1mb290ZXJ7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2V9dGFibGUuZGF0YVRhYmxlIHRoLmR0LWxlZnQsdGFibGUuZGF0YVRhYmxlIHRkLmR0LWxlZnR7dGV4dC1hbGlnbjpsZWZ0fXRhYmxlLmRhdGFUYWJsZSB0aC5kdC1sZWZ0IGRpdi5kdC1jb2x1bW4taGVhZGVyLHRhYmxlLmRhdGFUYWJsZSB0aC5kdC1sZWZ0IGRpdi5kdC1jb2x1bW4tZm9vdGVyLHRhYmxlLmRhdGFUYWJsZSB0ZC5kdC1sZWZ0IGRpdi5kdC1jb2x1bW4taGVhZGVyLHRhYmxlLmRhdGFUYWJsZSB0ZC5kdC1sZWZ0IGRpdi5kdC1jb2x1bW4tZm9vdGVye2ZsZXgtZGlyZWN0aW9uOnJvd310YWJsZS5kYXRhVGFibGUgdGguZHQtY2VudGVyLHRhYmxlLmRhdGFUYWJsZSB0ZC5kdC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9dGFibGUuZGF0YVRhYmxlIHRoLmR0LXJpZ2h0LHRhYmxlLmRhdGFUYWJsZSB0ZC5kdC1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0fXRhYmxlLmRhdGFUYWJsZSB0aC5kdC1yaWdodCBkaXYuZHQtY29sdW1uLWhlYWRlcix0YWJsZS5kYXRhVGFibGUgdGguZHQtcmlnaHQgZGl2LmR0LWNvbHVtbi1mb290ZXIsdGFibGUuZGF0YVRhYmxlIHRkLmR0LXJpZ2h0IGRpdi5kdC1jb2x1bW4taGVhZGVyLHRhYmxlLmRhdGFUYWJsZSB0ZC5kdC1yaWdodCBkaXYuZHQtY29sdW1uLWZvb3RlcntmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZX10YWJsZS5kYXRhVGFibGUgdGguZHQtanVzdGlmeSx0YWJsZS5kYXRhVGFibGUgdGQuZHQtanVzdGlmeXt0ZXh0LWFsaWduOmp1c3RpZnl9dGFibGUuZGF0YVRhYmxlIHRoLmR0LWp1c3RpZnkgZGl2LmR0LWNvbHVtbi1oZWFkZXIsdGFibGUuZGF0YVRhYmxlIHRoLmR0LWp1c3RpZnkgZGl2LmR0LWNvbHVtbi1mb290ZXIsdGFibGUuZGF0YVRhYmxlIHRkLmR0LWp1c3RpZnkgZGl2LmR0LWNvbHVtbi1oZWFkZXIsdGFibGUuZGF0YVRhYmxlIHRkLmR0LWp1c3RpZnkgZGl2LmR0LWNvbHVtbi1mb290ZXJ7ZmxleC1kaXJlY3Rpb246cm93fXRhYmxlLmRhdGFUYWJsZSB0aC5kdC1ub3dyYXAsdGFibGUuZGF0YVRhYmxlIHRkLmR0LW5vd3JhcHt3aGl0ZS1zcGFjZTpub3dyYXB9dGFibGUuZGF0YVRhYmxlIHRoLmR0LWVtcHR5LHRhYmxlLmRhdGFUYWJsZSB0ZC5kdC1lbXB0eXt0ZXh0LWFsaWduOmNlbnRlcjt2ZXJ0aWNhbC1hbGlnbjp0b3B9dGFibGUuZGF0YVRhYmxlIHRoZWFkIHRoLHRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0ZCx0YWJsZS5kYXRhVGFibGUgdGZvb3QgdGgsdGFibGUuZGF0YVRhYmxlIHRmb290IHRke3RleHQtYWxpZ246bGVmdDt2ZXJ0aWNhbC1hbGlnbjp2YXIoLS1kdC1oZWFkZXItdmVydGljYWwtYWxpZ24pfXRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0aC5kdC1oZWFkLWxlZnQsdGFibGUuZGF0YVRhYmxlIHRoZWFkIHRkLmR0LWhlYWQtbGVmdCx0YWJsZS5kYXRhVGFibGUgdGZvb3QgdGguZHQtaGVhZC1sZWZ0LHRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0ZC5kdC1oZWFkLWxlZnR7dGV4dC1hbGlnbjpsZWZ0fXRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0aC5kdC1oZWFkLWxlZnQgZGl2LmR0LWNvbHVtbi1oZWFkZXIsdGFibGUuZGF0YVRhYmxlIHRoZWFkIHRoLmR0LWhlYWQtbGVmdCBkaXYuZHQtY29sdW1uLWZvb3Rlcix0YWJsZS5kYXRhVGFibGUgdGhlYWQgdGQuZHQtaGVhZC1sZWZ0IGRpdi5kdC1jb2x1bW4taGVhZGVyLHRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0ZC5kdC1oZWFkLWxlZnQgZGl2LmR0LWNvbHVtbi1mb290ZXIsdGFibGUuZGF0YVRhYmxlIHRmb290IHRoLmR0LWhlYWQtbGVmdCBkaXYuZHQtY29sdW1uLWhlYWRlcix0YWJsZS5kYXRhVGFibGUgdGZvb3QgdGguZHQtaGVhZC1sZWZ0IGRpdi5kdC1jb2x1bW4tZm9vdGVyLHRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0ZC5kdC1oZWFkLWxlZnQgZGl2LmR0LWNvbHVtbi1oZWFkZXIsdGFibGUuZGF0YVRhYmxlIHRmb290IHRkLmR0LWhlYWQtbGVmdCBkaXYuZHQtY29sdW1uLWZvb3RlcntmbGV4LWRpcmVjdGlvbjpyb3d9dGFibGUuZGF0YVRhYmxlIHRoZWFkIHRoLmR0LWhlYWQtY2VudGVyLHRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0ZC5kdC1oZWFkLWNlbnRlcix0YWJsZS5kYXRhVGFibGUgdGZvb3QgdGguZHQtaGVhZC1jZW50ZXIsdGFibGUuZGF0YVRhYmxlIHRmb290IHRkLmR0LWhlYWQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfXRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0aC5kdC1oZWFkLXJpZ2h0LHRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0ZC5kdC1oZWFkLXJpZ2h0LHRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0aC5kdC1oZWFkLXJpZ2h0LHRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0ZC5kdC1oZWFkLXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9dGFibGUuZGF0YVRhYmxlIHRoZWFkIHRoLmR0LWhlYWQtcmlnaHQgZGl2LmR0LWNvbHVtbi1oZWFkZXIsdGFibGUuZGF0YVRhYmxlIHRoZWFkIHRoLmR0LWhlYWQtcmlnaHQgZGl2LmR0LWNvbHVtbi1mb290ZXIsdGFibGUuZGF0YVRhYmxlIHRoZWFkIHRkLmR0LWhlYWQtcmlnaHQgZGl2LmR0LWNvbHVtbi1oZWFkZXIsdGFibGUuZGF0YVRhYmxlIHRoZWFkIHRkLmR0LWhlYWQtcmlnaHQgZGl2LmR0LWNvbHVtbi1mb290ZXIsdGFibGUuZGF0YVRhYmxlIHRmb290IHRoLmR0LWhlYWQtcmlnaHQgZGl2LmR0LWNvbHVtbi1oZWFkZXIsdGFibGUuZGF0YVRhYmxlIHRmb290IHRoLmR0LWhlYWQtcmlnaHQgZGl2LmR0LWNvbHVtbi1mb290ZXIsdGFibGUuZGF0YVRhYmxlIHRmb290IHRkLmR0LWhlYWQtcmlnaHQgZGl2LmR0LWNvbHVtbi1oZWFkZXIsdGFibGUuZGF0YVRhYmxlIHRmb290IHRkLmR0LWhlYWQtcmlnaHQgZGl2LmR0LWNvbHVtbi1mb290ZXJ7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2V9dGFibGUuZGF0YVRhYmxlIHRoZWFkIHRoLmR0LWhlYWQtanVzdGlmeSx0YWJsZS5kYXRhVGFibGUgdGhlYWQgdGQuZHQtaGVhZC1qdXN0aWZ5LHRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0aC5kdC1oZWFkLWp1c3RpZnksdGFibGUuZGF0YVRhYmxlIHRmb290IHRkLmR0LWhlYWQtanVzdGlmeXt0ZXh0LWFsaWduOmp1c3RpZnl9dGFibGUuZGF0YVRhYmxlIHRoZWFkIHRoLmR0LWhlYWQtanVzdGlmeSBkaXYuZHQtY29sdW1uLWhlYWRlcix0YWJsZS5kYXRhVGFibGUgdGhlYWQgdGguZHQtaGVhZC1qdXN0aWZ5IGRpdi5kdC1jb2x1bW4tZm9vdGVyLHRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0ZC5kdC1oZWFkLWp1c3RpZnkgZGl2LmR0LWNvbHVtbi1oZWFkZXIsdGFibGUuZGF0YVRhYmxlIHRoZWFkIHRkLmR0LWhlYWQtanVzdGlmeSBkaXYuZHQtY29sdW1uLWZvb3Rlcix0YWJsZS5kYXRhVGFibGUgdGZvb3QgdGguZHQtaGVhZC1qdXN0aWZ5IGRpdi5kdC1jb2x1bW4taGVhZGVyLHRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0aC5kdC1oZWFkLWp1c3RpZnkgZGl2LmR0LWNvbHVtbi1mb290ZXIsdGFibGUuZGF0YVRhYmxlIHRmb290IHRkLmR0LWhlYWQtanVzdGlmeSBkaXYuZHQtY29sdW1uLWhlYWRlcix0YWJsZS5kYXRhVGFibGUgdGZvb3QgdGQuZHQtaGVhZC1qdXN0aWZ5IGRpdi5kdC1jb2x1bW4tZm9vdGVye2ZsZXgtZGlyZWN0aW9uOnJvd310YWJsZS5kYXRhVGFibGUgdGhlYWQgdGguZHQtaGVhZC1ub3dyYXAsdGFibGUuZGF0YVRhYmxlIHRoZWFkIHRkLmR0LWhlYWQtbm93cmFwLHRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0aC5kdC1oZWFkLW5vd3JhcCx0YWJsZS5kYXRhVGFibGUgdGZvb3QgdGQuZHQtaGVhZC1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwfXRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0aC5kdC1ib2R5LWxlZnQsdGFibGUuZGF0YVRhYmxlIHRib2R5IHRkLmR0LWJvZHktbGVmdHt0ZXh0LWFsaWduOmxlZnR9dGFibGUuZGF0YVRhYmxlIHRib2R5IHRoLmR0LWJvZHktY2VudGVyLHRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0ZC5kdC1ib2R5LWNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlcn10YWJsZS5kYXRhVGFibGUgdGJvZHkgdGguZHQtYm9keS1yaWdodCx0YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQuZHQtYm9keS1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0fXRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0aC5kdC1ib2R5LWp1c3RpZnksdGFibGUuZGF0YVRhYmxlIHRib2R5IHRkLmR0LWJvZHktanVzdGlmeXt0ZXh0LWFsaWduOmp1c3RpZnl9dGFibGUuZGF0YVRhYmxlIHRib2R5IHRoLmR0LWJvZHktbm93cmFwLHRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0ZC5kdC1ib2R5LW5vd3JhcHt3aGl0ZS1zcGFjZTpub3dyYXB9OnJvb3QsIDpob3N0ey0tZHQtcm93LWhvdmVyLWFscGhhOiAuMDM1Oy0tZHQtcm93LXN0cmlwZS1hbHBoYTogLjAyMzstLWR0LWNvbHVtbi1vcmRlcmluZy1hbHBoYTogLjAxOTstLWR0LXJvdy1zZWxlY3RlZC1zdHJpcGUtYWxwaGE6IC45MjM7LS1kdC1yb3ctc2VsZWN0ZWQtY29sdW1uLW9yZGVyaW5nLWFscGhhOiAuOTE5fXRhYmxlLmRhdGFUYWJsZXt3aWR0aDoxMDAlO21hcmdpbjowIGF1dG87Ym9yZGVyLXNwYWNpbmc6MH10YWJsZS5kYXRhVGFibGUgdGhlYWQgdGgsdGFibGUuZGF0YVRhYmxlIHRmb290IHRoe2ZvbnQtd2VpZ2h0OjcwMH10YWJsZS5kYXRhVGFibGU+dGhlYWQ+dHI+dGgsdGFibGUuZGF0YVRhYmxlPnRoZWFkPnRyPnRke3BhZGRpbmc6MTBweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4zKX10YWJsZS5kYXRhVGFibGU+dGhlYWQ+dHI+dGg6YWN0aXZlLHRhYmxlLmRhdGFUYWJsZT50aGVhZD50cj50ZDphY3RpdmV7b3V0bGluZTpub25lfXRhYmxlLmRhdGFUYWJsZT50Zm9vdD50cj50aCx0YWJsZS5kYXRhVGFibGU+dGZvb3Q+dHI+dGR7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgwLDAsMCwuMyk7cGFkZGluZzoxMHB4IDEwcHggNnB4fXRhYmxlLmRhdGFUYWJsZT50Ym9keT50cntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fXRhYmxlLmRhdGFUYWJsZT50Ym9keT50cjpmaXJzdC1jaGlsZD4qe2JvcmRlci10b3A6bm9uZX10YWJsZS5kYXRhVGFibGU+dGJvZHk+dHI6bGFzdC1jaGlsZD4qe2JvcmRlci1ib3R0b206bm9uZX10YWJsZS5kYXRhVGFibGU+dGJvZHk+dHIuc2VsZWN0ZWQ+Kntib3gtc2hhZG93Omluc2V0IDAgMCAwIDk5OTlweCAjMGQ2ZWZkZTY7Ym94LXNoYWRvdzppbnNldCAwIDAgMCA5OTk5cHggcmdiYSh2YXIoLS1kdC1yb3ctc2VsZWN0ZWQpLC45KTtjb2xvcjojZmZmO2NvbG9yOnJnYih2YXIoLS1kdC1yb3ctc2VsZWN0ZWQtdGV4dCkpfXRhYmxlLmRhdGFUYWJsZT50Ym9keT50ci5zZWxlY3RlZCBhe2NvbG9yOiNlNGU0ZTQ7Y29sb3I6cmdiKHZhcigtLWR0LXJvdy1zZWxlY3RlZC1saW5rKSl9dGFibGUuZGF0YVRhYmxlPnRib2R5PnRyPnRoLHRhYmxlLmRhdGFUYWJsZT50Ym9keT50cj50ZHtwYWRkaW5nOjhweCAxMHB4fXRhYmxlLmRhdGFUYWJsZS5yb3ctYm9yZGVyPnRib2R5PnRyPiosdGFibGUuZGF0YVRhYmxlLmRpc3BsYXk+dGJvZHk+dHI+Kntib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xNSl9dGFibGUuZGF0YVRhYmxlLnJvdy1ib3JkZXI+dGJvZHk+dHI6Zmlyc3QtY2hpbGQ+Kix0YWJsZS5kYXRhVGFibGUuZGlzcGxheT50Ym9keT50cjpmaXJzdC1jaGlsZD4qe2JvcmRlci10b3A6bm9uZX10YWJsZS5kYXRhVGFibGUucm93LWJvcmRlcj50Ym9keT50ci5zZWxlY3RlZCt0ci5zZWxlY3RlZD50ZCx0YWJsZS5kYXRhVGFibGUuZGlzcGxheT50Ym9keT50ci5zZWxlY3RlZCt0ci5zZWxlY3RlZD50ZHtib3JkZXItdG9wLWNvbG9yOiMwZDZlZmRhNjtib3JkZXItdG9wLWNvbG9yOnJnYmEodmFyKC0tZHQtcm93LXNlbGVjdGVkKSwuNjUpfXRhYmxlLmRhdGFUYWJsZS5jZWxsLWJvcmRlcj50Ym9keT50cj4qe2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjE1KTtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjE1KX10YWJsZS5kYXRhVGFibGUuY2VsbC1ib3JkZXI+dGJvZHk+dHI+KjpmaXJzdC1jaGlsZHtib3JkZXItbGVmdDoxcHggc29saWQgcmdiYSgwLDAsMCwuMTUpfXRhYmxlLmRhdGFUYWJsZS5jZWxsLWJvcmRlcj50Ym9keT50cjpmaXJzdC1jaGlsZD4qe2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjMpfXRhYmxlLmRhdGFUYWJsZS5zdHJpcGU+dGJvZHk+dHI6bnRoLWNoaWxkKG9kZCk+Kix0YWJsZS5kYXRhVGFibGUuZGlzcGxheT50Ym9keT50cjpudGgtY2hpbGQob2RkKT4qe2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgOTk5OXB4ICMwMDAwMDAwNjtib3gtc2hhZG93Omluc2V0IDAgMCAwIDk5OTlweCByZ2JhKHZhcigtLWR0LXJvdy1zdHJpcGUpLHZhcigtLWR0LXJvdy1zdHJpcGUtYWxwaGEpKX10YWJsZS5kYXRhVGFibGUuc3RyaXBlPnRib2R5PnRyOm50aC1jaGlsZChvZGQpLnNlbGVjdGVkPiosdGFibGUuZGF0YVRhYmxlLmRpc3BsYXk+dGJvZHk+dHI6bnRoLWNoaWxkKG9kZCkuc2VsZWN0ZWQ+Kntib3gtc2hhZG93Omluc2V0IDAgMCAwIDk5OTlweCAjMGQ2ZWZkZWI7Ym94LXNoYWRvdzppbnNldCAwIDAgMCA5OTk5cHggcmdiYSh2YXIoLS1kdC1yb3ctc2VsZWN0ZWQpLHZhcigtLWR0LXJvdy1zZWxlY3RlZC1zdHJpcGUtYWxwaGEpKX10YWJsZS5kYXRhVGFibGUuaG92ZXI+dGJvZHk+dHI6aG92ZXI+Kix0YWJsZS5kYXRhVGFibGUuZGlzcGxheT50Ym9keT50cjpob3Zlcj4qe2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgOTk5OXB4ICMwMDAwMDAwOTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDk5OTlweCByZ2JhKHZhcigtLWR0LXJvdy1ob3ZlciksdmFyKC0tZHQtcm93LWhvdmVyLWFscGhhKSl9dGFibGUuZGF0YVRhYmxlLmhvdmVyPnRib2R5PnRyLnNlbGVjdGVkOmhvdmVyPiosdGFibGUuZGF0YVRhYmxlLmRpc3BsYXk+dGJvZHk+dHIuc2VsZWN0ZWQ6aG92ZXI+Kntib3gtc2hhZG93Omluc2V0IDAgMCAwIDk5OTlweCAjMGQ2ZWZkIWltcG9ydGFudDtib3gtc2hhZG93Omluc2V0IDAgMCAwIDk5OTlweCByZ2JhKHZhcigtLWR0LXJvdy1zZWxlY3RlZCksMSkhaW1wb3J0YW50fXRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4+dGJvZHkgdHI+LnNvcnRpbmdfMSx0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uPnRib2R5IHRyPi5zb3J0aW5nXzIsdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbj50Ym9keSB0cj4uc29ydGluZ18zLHRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5PnRib2R5IHRyPi5zb3J0aW5nXzEsdGFibGUuZGF0YVRhYmxlLmRpc3BsYXk+dGJvZHkgdHI+LnNvcnRpbmdfMix0YWJsZS5kYXRhVGFibGUuZGlzcGxheT50Ym9keSB0cj4uc29ydGluZ18ze2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgOTk5OXB4ICMwMDAwMDAwNTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDk5OTlweCByZ2JhKHZhcigtLWR0LWNvbHVtbi1vcmRlcmluZyksdmFyKC0tZHQtY29sdW1uLW9yZGVyaW5nLWFscGhhKSl9dGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbj50Ym9keSB0ci5zZWxlY3RlZD4uc29ydGluZ18xLHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4+dGJvZHkgdHIuc2VsZWN0ZWQ+LnNvcnRpbmdfMix0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uPnRib2R5IHRyLnNlbGVjdGVkPi5zb3J0aW5nXzMsdGFibGUuZGF0YVRhYmxlLmRpc3BsYXk+dGJvZHkgdHIuc2VsZWN0ZWQ+LnNvcnRpbmdfMSx0YWJsZS5kYXRhVGFibGUuZGlzcGxheT50Ym9keSB0ci5zZWxlY3RlZD4uc29ydGluZ18yLHRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5PnRib2R5IHRyLnNlbGVjdGVkPi5zb3J0aW5nXzN7Ym94LXNoYWRvdzppbnNldCAwIDAgMCA5OTk5cHggIzBkNmVmZGVhO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgOTk5OXB4IHJnYmEodmFyKC0tZHQtcm93LXNlbGVjdGVkKSx2YXIoLS1kdC1yb3ctc2VsZWN0ZWQtY29sdW1uLW9yZGVyaW5nLWFscGhhKSl9dGFibGUuZGF0YVRhYmxlLmRpc3BsYXk+dGJvZHk+dHI6bnRoLWNoaWxkKG9kZCk+LnNvcnRpbmdfMSx0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLnN0cmlwZT50Ym9keT50cjpudGgtY2hpbGQob2RkKT4uc29ydGluZ18xe2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgOTk5OXB4ICMwMDAwMDAwZTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDk5OTlweCByZ2JhKHZhcigtLWR0LWNvbHVtbi1vcmRlcmluZyksY2FsYyh2YXIoLS1kdC1yb3ctc3RyaXBlLWFscGhhKSArIHZhcigtLWR0LWNvbHVtbi1vcmRlcmluZy1hbHBoYSkpKX10YWJsZS5kYXRhVGFibGUuZGlzcGxheT50Ym9keT50cjpudGgtY2hpbGQob2RkKT4uc29ydGluZ18yLHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlPnRib2R5PnRyOm50aC1jaGlsZChvZGQpPi5zb3J0aW5nXzJ7Ym94LXNoYWRvdzppbnNldCAwIDAgMCA5OTk5cHggIzAwMDAwMDBjO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgOTk5OXB4IHJnYmEodmFyKC0tZHQtY29sdW1uLW9yZGVyaW5nKSxjYWxjKHZhcigtLWR0LXJvdy1zdHJpcGUtYWxwaGEpICsgdmFyKC0tZHQtY29sdW1uLW9yZGVyaW5nLWFscGhhKSAtIC4wMDcpKX10YWJsZS5kYXRhVGFibGUuZGlzcGxheT50Ym9keT50cjpudGgtY2hpbGQob2RkKT4uc29ydGluZ18zLHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlPnRib2R5PnRyOm50aC1jaGlsZChvZGQpPi5zb3J0aW5nXzN7Ym94LXNoYWRvdzppbnNldCAwIDAgMCA5OTk5cHggIzAwMDAwMDBhO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgOTk5OXB4IHJnYmEodmFyKC0tZHQtY29sdW1uLW9yZGVyaW5nKSxjYWxjKHZhcigtLWR0LXJvdy1zdHJpcGUtYWxwaGEpICsgdmFyKC0tZHQtY29sdW1uLW9yZGVyaW5nLWFscGhhKSAtIC4wMTUpKX10YWJsZS5kYXRhVGFibGUuZGlzcGxheT50Ym9keT50cjpudGgtY2hpbGQob2RkKS5zZWxlY3RlZD4uc29ydGluZ18xLHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlPnRib2R5PnRyOm50aC1jaGlsZChvZGQpLnNlbGVjdGVkPi5zb3J0aW5nXzF7Ym94LXNoYWRvdzppbnNldCAwIDAgMCA5OTk5cHggIzBkNmVmZGYzO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgOTk5OXB4IHJnYmEodmFyKC0tZHQtcm93LXNlbGVjdGVkKSxjYWxjKHZhcigtLWR0LXJvdy1zZWxlY3RlZC1zdHJpcGUtYWxwaGEpICsgdmFyKC0tZHQtY29sdW1uLW9yZGVyaW5nLWFscGhhKSkpfXRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5PnRib2R5PnRyOm50aC1jaGlsZChvZGQpLnNlbGVjdGVkPi5zb3J0aW5nXzIsdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zdHJpcGU+dGJvZHk+dHI6bnRoLWNoaWxkKG9kZCkuc2VsZWN0ZWQ+LnNvcnRpbmdfMntib3gtc2hhZG93Omluc2V0IDAgMCAwIDk5OTlweCAjMGQ2ZWZkZjE7Ym94LXNoYWRvdzppbnNldCAwIDAgMCA5OTk5cHggcmdiYSh2YXIoLS1kdC1yb3ctc2VsZWN0ZWQpLGNhbGModmFyKC0tZHQtcm93LXNlbGVjdGVkLXN0cmlwZS1hbHBoYSkgKyB2YXIoLS1kdC1jb2x1bW4tb3JkZXJpbmctYWxwaGEpIC0gLjAwNykpfXRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5PnRib2R5PnRyOm50aC1jaGlsZChvZGQpLnNlbGVjdGVkPi5zb3J0aW5nXzMsdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zdHJpcGU+dGJvZHk+dHI6bnRoLWNoaWxkKG9kZCkuc2VsZWN0ZWQ+LnNvcnRpbmdfM3tib3gtc2hhZG93Omluc2V0IDAgMCAwIDk5OTlweCAjMGQ2ZWZkZWY7Ym94LXNoYWRvdzppbnNldCAwIDAgMCA5OTk5cHggcmdiYSh2YXIoLS1kdC1yb3ctc2VsZWN0ZWQpLGNhbGModmFyKC0tZHQtcm93LXNlbGVjdGVkLXN0cmlwZS1hbHBoYSkgKyB2YXIoLS1kdC1jb2x1bW4tb3JkZXJpbmctYWxwaGEpIC0gLjAxNSkpfXRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyOmhvdmVyPi5zb3J0aW5nXzEsdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5ob3ZlciB0Ym9keSB0cjpob3Zlcj4uc29ydGluZ18xe2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgOTk5OXB4ICMwMDAwMDAxNTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDk5OTlweCByZ2JhKHZhcigtLWR0LXJvdy1ob3ZlciksY2FsYyh2YXIoLS1kdC1yb3ctc3RyaXBlLWFscGhhKSArIHZhcigtLWR0LWNvbHVtbi1vcmRlcmluZy1hbHBoYSkgKyB2YXIoLS1kdC1yb3ctaG92ZXItYWxwaGEpKSl9dGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG92ZXI+LnNvcnRpbmdfMix0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLmhvdmVyIHRib2R5IHRyOmhvdmVyPi5zb3J0aW5nXzJ7Ym94LXNoYWRvdzppbnNldCAwIDAgMCA5OTk5cHggIzAwMDAwMDEzO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgOTk5OXB4IHJnYmEodmFyKC0tZHQtcm93LWhvdmVyKSxjYWxjKHZhcigtLWR0LXJvdy1zdHJpcGUtYWxwaGEpICsgdmFyKC0tZHQtY29sdW1uLW9yZGVyaW5nLWFscGhhKSArIHZhcigtLWR0LXJvdy1ob3Zlci1hbHBoYSkgLSAuMDA3KSl9dGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG92ZXI+LnNvcnRpbmdfMyx0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLmhvdmVyIHRib2R5IHRyOmhvdmVyPi5zb3J0aW5nXzN7Ym94LXNoYWRvdzppbnNldCAwIDAgMCA5OTk5cHggIzAwMDAwMDEwO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgOTk5OXB4IHJnYmEodmFyKC0tZHQtcm93LWhvdmVyKSxjYWxjKHZhcigtLWR0LXJvdy1zdHJpcGUtYWxwaGEpICsgdmFyKC0tZHQtY29sdW1uLW9yZGVyaW5nLWFscGhhKSArIHZhcigtLWR0LXJvdy1ob3Zlci1hbHBoYSkgLSAuMDE1KSl9dGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG92ZXIuc2VsZWN0ZWQ+LnNvcnRpbmdfMSx0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLmhvdmVyIHRib2R5IHRyOmhvdmVyLnNlbGVjdGVkPi5zb3J0aW5nXzF7Ym94LXNoYWRvdzppbnNldCAwIDAgMCA5OTk5cHggIzBkNmVmZGZhO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgOTk5OXB4IHJnYmEodmFyKC0tZHQtcm93LXNlbGVjdGVkKSxjYWxjKHZhcigtLWR0LXJvdy1zZWxlY3RlZC1zdHJpcGUtYWxwaGEpICsgdmFyKC0tZHQtY29sdW1uLW9yZGVyaW5nLWFscGhhKSkpfXRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyOmhvdmVyLnNlbGVjdGVkPi5zb3J0aW5nXzIsdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5ob3ZlciB0Ym9keSB0cjpob3Zlci5zZWxlY3RlZD4uc29ydGluZ18ye2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgOTk5OXB4ICMwZDZlZmRmODtib3gtc2hhZG93Omluc2V0IDAgMCAwIDk5OTlweCByZ2JhKHZhcigtLWR0LXJvdy1zZWxlY3RlZCksY2FsYyh2YXIoLS1kdC1yb3ctc2VsZWN0ZWQtc3RyaXBlLWFscGhhKSArIHZhcigtLWR0LWNvbHVtbi1vcmRlcmluZy1hbHBoYSkgKyB2YXIoLS1kdC1yb3ctaG92ZXItYWxwaGEpIC0gLjAwNykpfXRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyOmhvdmVyLnNlbGVjdGVkPi5zb3J0aW5nXzMsdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5ob3ZlciB0Ym9keSB0cjpob3Zlci5zZWxlY3RlZD4uc29ydGluZ18ze2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgOTk5OXB4ICMwZDZlZmRmNTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDk5OTlweCByZ2JhKHZhcigtLWR0LXJvdy1zZWxlY3RlZCksY2FsYyh2YXIoLS1kdC1yb3ctc2VsZWN0ZWQtc3RyaXBlLWFscGhhKSArIHZhcigtLWR0LWNvbHVtbi1vcmRlcmluZy1hbHBoYSkgKyB2YXIoLS1kdC1yb3ctaG92ZXItYWxwaGEpIC0gLjAxNSkpfXRhYmxlLmRhdGFUYWJsZS5jb21wYWN0IHRoZWFkIHRoLHRhYmxlLmRhdGFUYWJsZS5jb21wYWN0IHRoZWFkIHRkLHRhYmxlLmRhdGFUYWJsZS5jb21wYWN0IHRmb290IHRoLHRhYmxlLmRhdGFUYWJsZS5jb21wYWN0IHRmb290IHRkLHRhYmxlLmRhdGFUYWJsZS5jb21wYWN0IHRib2R5IHRoLHRhYmxlLmRhdGFUYWJsZS5jb21wYWN0IHRib2R5IHRke3BhZGRpbmc6NHB4fWRpdi5kdC1jb250YWluZXIgZGl2LmR0LWxheW91dC1yb3d7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlO21hcmdpbjouNzVlbSAwfWRpdi5kdC1jb250YWluZXIgZGl2LmR0LWxheW91dC1yb3cgZGl2LmR0LWxheW91dC1jZWxse2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXJ9ZGl2LmR0LWNvbnRhaW5lciBkaXYuZHQtbGF5b3V0LXJvdyBkaXYuZHQtbGF5b3V0LWNlbGwuZHQtbGF5b3V0LXN0YXJ0e2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O21hcmdpbi1yaWdodDphdXRvfWRpdi5kdC1jb250YWluZXIgZGl2LmR0LWxheW91dC1yb3cgZGl2LmR0LWxheW91dC1jZWxsLmR0LWxheW91dC1lbmR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO21hcmdpbi1sZWZ0OmF1dG99ZGl2LmR0LWNvbnRhaW5lciBkaXYuZHQtbGF5b3V0LXJvdyBkaXYuZHQtbGF5b3V0LWNlbGw6ZW1wdHl7ZGlzcGxheTpub25lfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KXtkaXYuZHQtY29udGFpbmVyIGRpdi5kdC1sYXlvdXQtcm93Om5vdCguZHQtbGF5b3V0LXRhYmxlKXtkaXNwbGF5OmJsb2NrfWRpdi5kdC1jb250YWluZXIgZGl2LmR0LWxheW91dC1yb3c6bm90KC5kdC1sYXlvdXQtdGFibGUpIGRpdi5kdC1sYXlvdXQtY2VsbHtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246Y2VudGVyfWRpdi5kdC1jb250YWluZXIgZGl2LmR0LWxheW91dC1yb3c6bm90KC5kdC1sYXlvdXQtdGFibGUpIGRpdi5kdC1sYXlvdXQtY2VsbD4qe21hcmdpbjouNWVtIDB9ZGl2LmR0LWNvbnRhaW5lciBkaXYuZHQtbGF5b3V0LXJvdzpub3QoLmR0LWxheW91dC10YWJsZSkgZGl2LmR0LWxheW91dC1jZWxsLmR0LWxheW91dC1zdGFydHttYXJnaW4tcmlnaHQ6MH1kaXYuZHQtY29udGFpbmVyIGRpdi5kdC1sYXlvdXQtcm93Om5vdCguZHQtbGF5b3V0LXRhYmxlKSBkaXYuZHQtbGF5b3V0LWNlbGwuZHQtbGF5b3V0LWVuZHttYXJnaW4tbGVmdDowfX1kaXYuZHQtY29udGFpbmVyIGRpdi5kdC1sYXlvdXQtc3RhcnQ+Kjpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1yaWdodDoxZW19ZGl2LmR0LWNvbnRhaW5lciBkaXYuZHQtbGF5b3V0LWVuZD4qOm5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1sZWZ0OjFlbX1kaXYuZHQtY29udGFpbmVyIGRpdi5kdC1sYXlvdXQtZnVsbHt3aWR0aDoxMDAlfWRpdi5kdC1jb250YWluZXIgZGl2LmR0LWxheW91dC1mdWxsPio6b25seS1jaGlsZHttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvfWRpdi5kdC1jb250YWluZXIgZGl2LmR0LWxheW91dC10YWJsZT5kaXZ7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpe2Rpdi5kdC1jb250YWluZXIgZGl2LmR0LWxheW91dC1zdGFydD4qOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLXJpZ2h0OjB9ZGl2LmR0LWNvbnRhaW5lciBkaXYuZHQtbGF5b3V0LWVuZD4qOm5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1sZWZ0OjB9fWRpdi5kdC1jb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7Y2xlYXI6Ym90aH1kaXYuZHQtY29udGFpbmVyIC5kdC1zZWFyY2ggaW5wdXR7Ym9yZGVyOjFweCBzb2xpZCAjYWFhO2JvcmRlci1yYWRpdXM6M3B4O3BhZGRpbmc6NXB4O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6aW5oZXJpdDttYXJnaW4tbGVmdDozcHh9ZGl2LmR0LWNvbnRhaW5lciAuZHQtaW5wdXR7Ym9yZGVyOjFweCBzb2xpZCAjYWFhO2JvcmRlci1yYWRpdXM6M3B4O3BhZGRpbmc6NXB4O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6aW5oZXJpdH1kaXYuZHQtY29udGFpbmVyIHNlbGVjdC5kdC1pbnB1dHtwYWRkaW5nOjRweH1kaXYuZHQtY29udGFpbmVyIC5kdC1wYWdpbmcgLmR0LXBhZ2luZy1idXR0b257Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6aW5saW5lLWJsb2NrO21pbi13aWR0aDoxLjVlbTtwYWRkaW5nOi41ZW0gMWVtO21hcmdpbi1sZWZ0OjJweDt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZSFpbXBvcnRhbnQ7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6aW5oZXJpdCFpbXBvcnRhbnQ7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjJweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fWRpdi5kdC1jb250YWluZXIgLmR0LXBhZ2luZyAuZHQtcGFnaW5nLWJ1dHRvbi5jdXJyZW50LGRpdi5kdC1jb250YWluZXIgLmR0LXBhZ2luZyAuZHQtcGFnaW5nLWJ1dHRvbi5jdXJyZW50OmhvdmVye2NvbG9yOmluaGVyaXQhaW1wb3J0YW50O2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMyk7YmFja2dyb3VuZC1jb2xvcjojMDAwMDAwMGQ7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxjb2xvci1zdG9wKDAlLHJnYmEoMjI5LjUsMjI5LjUsMjI5LjUsLjA1KSksY29sb3Itc3RvcCgxMDAlLHJnYmEoMCwwLDAsLjA1KSkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMjI5LjUsMjI5LjUsMjI5LjUsLjA1KSAwJSxyZ2JhKDAsMCwwLC4wNSkgMTAwJSk7YmFja2dyb3VuZDotbW96LWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgyMjkuNSwyMjkuNSwyMjkuNSwuMDUpIDAlLHJnYmEoMCwwLDAsLjA1KSAxMDAlKTtiYWNrZ3JvdW5kOi1tcy1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMjI5LjUsMjI5LjUsMjI5LjUsLjA1KSAwJSxyZ2JhKDAsMCwwLC4wNSkgMTAwJSk7YmFja2dyb3VuZDotby1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMjI5LjUsMjI5LjUsMjI5LjUsLjA1KSAwJSxyZ2JhKDAsMCwwLC4wNSkgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNlNmU2ZTYwZCwjMDAwMDAwMGQpfWRpdi5kdC1jb250YWluZXIgLmR0LXBhZ2luZyAuZHQtcGFnaW5nLWJ1dHRvbi5kaXNhYmxlZCxkaXYuZHQtY29udGFpbmVyIC5kdC1wYWdpbmcgLmR0LXBhZ2luZy1idXR0b24uZGlzYWJsZWQ6aG92ZXIsZGl2LmR0LWNvbnRhaW5lciAuZHQtcGFnaW5nIC5kdC1wYWdpbmctYnV0dG9uLmRpc2FibGVkOmFjdGl2ZXtjdXJzb3I6ZGVmYXVsdDtjb2xvcjojMDAwMDAwODAhaW1wb3J0YW50O2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3gtc2hhZG93Om5vbmV9ZGl2LmR0LWNvbnRhaW5lciAuZHQtcGFnaW5nIC5kdC1wYWdpbmctYnV0dG9uOmhvdmVye2NvbG9yOiNmZmYhaW1wb3J0YW50O2JvcmRlcjoxcHggc29saWQgIzExMTtiYWNrZ3JvdW5kLWNvbG9yOiMxMTE7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxjb2xvci1zdG9wKDAlLHJnYig4OC40LDg4LjQsODguNCkpLGNvbG9yLXN0b3AoMTAwJSwjMTExKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AscmdiKDg4LjQsODguNCw4OC40KSAwJSwjMTExIDEwMCUpO2JhY2tncm91bmQ6LW1vei1saW5lYXItZ3JhZGllbnQodG9wLHJnYig4OC40LDg4LjQsODguNCkgMCUsIzExMSAxMDAlKTtiYWNrZ3JvdW5kOi1tcy1saW5lYXItZ3JhZGllbnQodG9wLHJnYig4OC40LDg4LjQsODguNCkgMCUsIzExMSAxMDAlKTtiYWNrZ3JvdW5kOi1vLWxpbmVhci1ncmFkaWVudCh0b3AscmdiKDg4LjQsODguNCw4OC40KSAwJSwjMTExIDEwMCUpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjNTg1ODU4LCMxMTEpfWRpdi5kdC1jb250YWluZXIgLmR0LXBhZ2luZyAuZHQtcGFnaW5nLWJ1dHRvbjphY3RpdmV7b3V0bGluZTpub25lO2JhY2tncm91bmQtY29sb3I6IzBjMGMwYztiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMCUscmdiKDQyLjUsNDIuNSw0Mi41KSksY29sb3Itc3RvcCgxMDAlLHJnYigxMS45LDExLjksMTEuOSkpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2IoNDIuNSw0Mi41LDQyLjUpIDAlLHJnYigxMS45LDExLjksMTEuOSkgMTAwJSk7YmFja2dyb3VuZDotbW96LWxpbmVhci1ncmFkaWVudCh0b3AscmdiKDQyLjUsNDIuNSw0Mi41KSAwJSxyZ2IoMTEuOSwxMS45LDExLjkpIDEwMCUpO2JhY2tncm91bmQ6LW1zLWxpbmVhci1ncmFkaWVudCh0b3AscmdiKDQyLjUsNDIuNSw0Mi41KSAwJSxyZ2IoMTEuOSwxMS45LDExLjkpIDEwMCUpO2JhY2tncm91bmQ6LW8tbGluZWFyLWdyYWRpZW50KHRvcCxyZ2IoNDIuNSw0Mi41LDQyLjUpIDAlLHJnYigxMS45LDExLjksMTEuOSkgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCMyYjJiMmIsIzBjMGMwYyk7Ym94LXNoYWRvdzppbnNldCAwIDAgM3B4ICMxMTF9ZGl2LmR0LWNvbnRhaW5lciAuZHQtcGFnaW5nIC5lbGxpcHNpc3twYWRkaW5nOjAgMWVtfWRpdi5kdC1jb250YWluZXIgLmR0LWxlbmd0aCxkaXYuZHQtY29udGFpbmVyIC5kdC1zZWFyY2gsZGl2LmR0LWNvbnRhaW5lciAuZHQtaW5mbyxkaXYuZHQtY29udGFpbmVyIC5kdC1wcm9jZXNzaW5nLGRpdi5kdC1jb250YWluZXIgLmR0LXBhZ2luZ3tjb2xvcjppbmhlcml0fWRpdi5kdC1jb250YWluZXIgLmRhdGFUYWJsZXNfc2Nyb2xse2NsZWFyOmJvdGh9ZGl2LmR0LWNvbnRhaW5lciAuZGF0YVRhYmxlc19zY3JvbGwgZGl2LmR0LXNjcm9sbC1ib2R5ey13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNofWRpdi5kdC1jb250YWluZXIgLmRhdGFUYWJsZXNfc2Nyb2xsIGRpdi5kdC1zY3JvbGwtYm9keT50YWJsZT50aGVhZD50cj50aCxkaXYuZHQtY29udGFpbmVyIC5kYXRhVGFibGVzX3Njcm9sbCBkaXYuZHQtc2Nyb2xsLWJvZHk+dGFibGU+dGhlYWQ+dHI+dGQsZGl2LmR0LWNvbnRhaW5lciAuZGF0YVRhYmxlc19zY3JvbGwgZGl2LmR0LXNjcm9sbC1ib2R5PnRhYmxlPnRib2R5PnRyPnRoLGRpdi5kdC1jb250YWluZXIgLmRhdGFUYWJsZXNfc2Nyb2xsIGRpdi5kdC1zY3JvbGwtYm9keT50YWJsZT50Ym9keT50cj50ZHt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9ZGl2LmR0LWNvbnRhaW5lciAuZGF0YVRhYmxlc19zY3JvbGwgZGl2LmR0LXNjcm9sbC1ib2R5PnRhYmxlPnRoZWFkPnRyPnRoPmRpdi5kYXRhVGFibGVzX3NpemluZyxkaXYuZHQtY29udGFpbmVyIC5kYXRhVGFibGVzX3Njcm9sbCBkaXYuZHQtc2Nyb2xsLWJvZHk+dGFibGU+dGhlYWQ+dHI+dGQ+ZGl2LmRhdGFUYWJsZXNfc2l6aW5nLGRpdi5kdC1jb250YWluZXIgLmRhdGFUYWJsZXNfc2Nyb2xsIGRpdi5kdC1zY3JvbGwtYm9keT50YWJsZT50Ym9keT50cj50aD5kaXYuZGF0YVRhYmxlc19zaXppbmcsZGl2LmR0LWNvbnRhaW5lciAuZGF0YVRhYmxlc19zY3JvbGwgZGl2LmR0LXNjcm9sbC1ib2R5PnRhYmxlPnRib2R5PnRyPnRkPmRpdi5kYXRhVGFibGVzX3NpemluZ3toZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjAhaW1wb3J0YW50O3BhZGRpbmc6MCFpbXBvcnRhbnR9ZGl2LmR0LWNvbnRhaW5lci5kdC1lbXB0eS1mb290ZXIgdGJvZHk+dHI6bGFzdC1jaGlsZD4qe2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjMpfWRpdi5kdC1jb250YWluZXIuZHQtZW1wdHktZm9vdGVyIC5kdC1zY3JvbGwtYm9keXtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4zKX1kaXYuZHQtY29udGFpbmVyLmR0LWVtcHR5LWZvb3RlciAuZHQtc2Nyb2xsLWJvZHkgdGJvZHk+dHI6bGFzdC1jaGlsZD4qe2JvcmRlci1ib3R0b206bm9uZX1odG1sLmRhcmt7LS1kdC1yb3ctaG92ZXI6IDI1NSwgMjU1LCAyNTU7LS1kdC1yb3ctc3RyaXBlOiAyNTUsIDI1NSwgMjU1Oy0tZHQtY29sdW1uLW9yZGVyaW5nOiAyNTUsIDI1NSwgMjU1fWh0bWwuZGFyayB0YWJsZS5kYXRhVGFibGU+dGhlYWQ+dHI+dGgsaHRtbC5kYXJrIHRhYmxlLmRhdGFUYWJsZT50aGVhZD50cj50ZHtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2IoODksOTEsOTQpfWh0bWwuZGFyayB0YWJsZS5kYXRhVGFibGU+dGhlYWQ+dHI+dGg6YWN0aXZlLGh0bWwuZGFyayB0YWJsZS5kYXRhVGFibGU+dGhlYWQ+dHI+dGQ6YWN0aXZle291dGxpbmU6bm9uZX1odG1sLmRhcmsgdGFibGUuZGF0YVRhYmxlPnRmb290PnRyPnRoLGh0bWwuZGFyayB0YWJsZS5kYXRhVGFibGU+dGZvb3Q+dHI+dGR7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiKDg5LDkxLDk0KX1odG1sLmRhcmsgdGFibGUuZGF0YVRhYmxlLnJvdy1ib3JkZXI+dGJvZHk+dHI+KixodG1sLmRhcmsgdGFibGUuZGF0YVRhYmxlLmRpc3BsYXk+dGJvZHk+dHI+Kntib3JkZXItdG9wOjFweCBzb2xpZCByZ2IoNjQsNjcsNzApfWh0bWwuZGFyayB0YWJsZS5kYXRhVGFibGUucm93LWJvcmRlcj50Ym9keT50cjpmaXJzdC1jaGlsZD4qLGh0bWwuZGFyayB0YWJsZS5kYXRhVGFibGUuZGlzcGxheT50Ym9keT50cjpmaXJzdC1jaGlsZD4qe2JvcmRlci10b3A6bm9uZX1odG1sLmRhcmsgdGFibGUuZGF0YVRhYmxlLnJvdy1ib3JkZXI+dGJvZHk+dHIuc2VsZWN0ZWQrdHIuc2VsZWN0ZWQ+dGQsaHRtbC5kYXJrIHRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5PnRib2R5PnRyLnNlbGVjdGVkK3RyLnNlbGVjdGVkPnRke2JvcmRlci10b3AtY29sb3I6IzBkNmVmZGE2O2JvcmRlci10b3AtY29sb3I6cmdiYSh2YXIoLS1kdC1yb3ctc2VsZWN0ZWQpLC42NSl9aHRtbC5kYXJrIHRhYmxlLmRhdGFUYWJsZS5jZWxsLWJvcmRlcj50Ym9keT50cj50aCxodG1sLmRhcmsgdGFibGUuZGF0YVRhYmxlLmNlbGwtYm9yZGVyPnRib2R5PnRyPnRke2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYig2NCw2Nyw3MCk7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCByZ2IoNjQsNjcsNzApfWh0bWwuZGFyayB0YWJsZS5kYXRhVGFibGUuY2VsbC1ib3JkZXI+dGJvZHk+dHI+dGg6Zmlyc3QtY2hpbGQsaHRtbC5kYXJrIHRhYmxlLmRhdGFUYWJsZS5jZWxsLWJvcmRlcj50Ym9keT50cj50ZDpmaXJzdC1jaGlsZHtib3JkZXItbGVmdDoxcHggc29saWQgcmdiKDY0LDY3LDcwKX1odG1sLmRhcmsgLmR0LWNvbnRhaW5lci5kdC1lbXB0eS1mb290ZXIgdGFibGUuZGF0YVRhYmxle2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYig4OSw5MSw5NCl9aHRtbC5kYXJrIC5kdC1jb250YWluZXIgLmR0LXNlYXJjaCBpbnB1dCxodG1sLmRhcmsgLmR0LWNvbnRhaW5lciAuZHQtbGVuZ3RoIHNlbGVjdHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjIpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tZHQtaHRtbC1iYWNrZ3JvdW5kKX1odG1sLmRhcmsgLmR0LWNvbnRhaW5lciAuZHQtcGFnaW5nIC5kdC1wYWdpbmctYnV0dG9uLmN1cnJlbnQsaHRtbC5kYXJrIC5kdC1jb250YWluZXIgLmR0LXBhZ2luZyAuZHQtcGFnaW5nLWJ1dHRvbi5jdXJyZW50OmhvdmVye2JvcmRlcjoxcHggc29saWQgcmdiKDg5LDkxLDk0KTtiYWNrZ3JvdW5kOiNmZmZmZmYyNn1odG1sLmRhcmsgLmR0LWNvbnRhaW5lciAuZHQtcGFnaW5nIC5kdC1wYWdpbmctYnV0dG9uLmRpc2FibGVkLGh0bWwuZGFyayAuZHQtY29udGFpbmVyIC5kdC1wYWdpbmcgLmR0LXBhZ2luZy1idXR0b24uZGlzYWJsZWQ6aG92ZXIsaHRtbC5kYXJrIC5kdC1jb250YWluZXIgLmR0LXBhZ2luZyAuZHQtcGFnaW5nLWJ1dHRvbi5kaXNhYmxlZDphY3RpdmV7Y29sb3I6IzY2NiFpbXBvcnRhbnR9aHRtbC5kYXJrIC5kdC1jb250YWluZXIgLmR0LXBhZ2luZyAuZHQtcGFnaW5nLWJ1dHRvbjpob3Zlcntib3JkZXI6MXB4IHNvbGlkIHJnYig1Myw1Myw1Myk7YmFja2dyb3VuZDojMzUzNTM1fWh0bWwuZGFyayAuZHQtY29udGFpbmVyIC5kdC1wYWdpbmcgLmR0LXBhZ2luZy1idXR0b246YWN0aXZle2JhY2tncm91bmQ6IzNhM2EzYX0qW2Rpcj1ydGxdIHRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0aCwqW2Rpcj1ydGxdIHRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0ZCwqW2Rpcj1ydGxdIHRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0aCwqW2Rpcj1ydGxdIHRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0ZHt0ZXh0LWFsaWduOnJpZ2h0fSpbZGlyPXJ0bF0gdGFibGUuZGF0YVRhYmxlIHRoLmR0LXR5cGUtbnVtZXJpYywqW2Rpcj1ydGxdIHRhYmxlLmRhdGFUYWJsZSB0aC5kdC10eXBlLWRhdGUsKltkaXI9cnRsXSB0YWJsZS5kYXRhVGFibGUgdGQuZHQtdHlwZS1udW1lcmljLCpbZGlyPXJ0bF0gdGFibGUuZGF0YVRhYmxlIHRkLmR0LXR5cGUtZGF0ZXt0ZXh0LWFsaWduOmxlZnR9KltkaXI9cnRsXSBkaXYuZHQtY29udGFpbmVyIGRpdi5kdC1sYXlvdXQtY2VsbC5kdC1zdGFydHt0ZXh0LWFsaWduOnJpZ2h0fSpbZGlyPXJ0bF0gZGl2LmR0LWNvbnRhaW5lciBkaXYuZHQtbGF5b3V0LWNlbGwuZHQtZW5ke3RleHQtYWxpZ246bGVmdH0qW2Rpcj1ydGxdIGRpdi5kdC1jb250YWluZXIgZGl2LmR0LXNlYXJjaCBpbnB1dHttYXJnaW46MCAzcHggMCAwfUBrZXlmcmFtZXMgZHRiLXNwaW5uZXJ7dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1ALW8ta2V5ZnJhbWVzIGR0Yi1zcGlubmVye3Rvey1vLXRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fUAtbXMta2V5ZnJhbWVzIGR0Yi1zcGlubmVye3Rvey1tcy10cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1ALXdlYmtpdC1rZXlmcmFtZXMgZHRiLXNwaW5uZXJ7dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1ALW1vei1rZXlmcmFtZXMgZHRiLXNwaW5uZXJ7dG97LW1vei10cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1kaXYuZGF0YVRhYmxlc193cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlfWRpdi5kdC1idXR0b25ze3Bvc2l0aW9uOmluaXRpYWx9ZGl2LmR0LWJ1dHRvbnMgLmR0LWJ1dHRvbntvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9ZGl2LmR0LWJ1dHRvbi1pbmZve3Bvc2l0aW9uOmZpeGVkO3RvcDo1MCU7bGVmdDo1MCU7d2lkdGg6NDAwcHg7bWFyZ2luLXRvcDotMTAwcHg7bWFyZ2luLWxlZnQ6LTIwMHB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOi43NWVtO2JveC1zaGFkb3c6M3B4IDRweCAxMHB4IDFweCAjMDAwYzt0ZXh0LWFsaWduOmNlbnRlcjt6LWluZGV4OjIwMDM7b3ZlcmZsb3c6aGlkZGVufWRpdi5kdC1idXR0b24taW5mbyBoMntwYWRkaW5nOjJyZW0gMnJlbSAxcmVtO21hcmdpbjowO2ZvbnQtd2VpZ2h0OjQwMH1kaXYuZHQtYnV0dG9uLWluZm8+ZGl2e3BhZGRpbmc6MWVtIDJlbSAyZW19ZGl2LmR0Yi1wb3BvdmVyLWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo2cHg7cmlnaHQ6NnB4O3dpZHRoOjIycHg7aGVpZ2h0OjIycHg7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyLXJhZGl1czozcHg7Y3Vyc29yOnBvaW50ZXI7ei1pbmRleDoyMDAzfWJ1dHRvbi5kdGItaGlkZS1kcm9we2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9ZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uLXRpdGxle3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6LjNlbSAuNWVtIC41ZW07bWFyZ2luLWxlZnQ6LjVlbTttYXJnaW4tcmlnaHQ6LjVlbTtmb250LXNpemU6LjllbTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9ZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uLXRpdGxlOmVtcHR5e2Rpc3BsYXk6bm9uZX1zcGFuLmR0LWJ1dHRvbi1zcGFjZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luOi41ZW07d2hpdGUtc3BhY2U6bm93cmFwfXNwYW4uZHQtYnV0dG9uLXNwYWNlci5iYXJ7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjMpO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtwYWRkaW5nLWxlZnQ6LjVlbX1zcGFuLmR0LWJ1dHRvbi1zcGFjZXIuYmFyOmVtcHR5e2hlaWdodDoxZW07d2lkdGg6MXB4O3BhZGRpbmctbGVmdDowfWRpdi5kdC1idXR0b24tY29sbGVjdGlvbiAuZHQtYnV0dG9uLWFjdGl2ZXtwYWRkaW5nLXJpZ2h0OjNlbX1kaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gLmR0LWJ1dHRvbi1hY3RpdmU6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTttYXJnaW4tdG9wOi0xMHB4O3JpZ2h0OjFlbTtkaXNwbGF5OmlubGluZS1ibG9jaztjb250ZW50OiJcMjcxMyI7Y29sb3I6aW5oZXJpdH1kaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gLmR0LWJ1dHRvbi1hY3RpdmUuZHQtYnV0dG9uLXNwbGl0e3BhZGRpbmctcmlnaHQ6MH1kaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gLmR0LWJ1dHRvbi1hY3RpdmUuZHQtYnV0dG9uLXNwbGl0OmFmdGVye2Rpc3BsYXk6bm9uZX1kaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gLmR0LWJ1dHRvbi1hY3RpdmUuZHQtYnV0dG9uLXNwbGl0Pio6Zmlyc3QtY2hpbGR7cGFkZGluZy1yaWdodDozZW19ZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uIC5kdC1idXR0b24tYWN0aXZlLmR0LWJ1dHRvbi1zcGxpdD4qOmZpcnN0LWNoaWxkOmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bWFyZ2luLXRvcDotMTBweDtyaWdodDoxZW07ZGlzcGxheTppbmxpbmUtYmxvY2s7Y29udGVudDoiXDI3MTMiO2NvbG9yOmluaGVyaXR9ZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uIC5kdC1idXR0b24tYWN0aXZlLWEgYXtwYWRkaW5nLXJpZ2h0OjNlbX1kaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gLmR0LWJ1dHRvbi1hY3RpdmUtYSBhOmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjFlbTtkaXNwbGF5OmlubGluZS1ibG9jaztjb250ZW50OiJcMjcxMyI7Y29sb3I6aW5oZXJpdH1kaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gc3Bhbi5kdC1idXR0b24tc3BhY2Vye3dpZHRoOjEwMCU7Zm9udC1zaXplOi45ZW07dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOi41ZW0gMH1kaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gc3Bhbi5kdC1idXR0b24tc3BhY2VyOmVtcHR5e2hlaWdodDowO3dpZHRoOjEwMCV9ZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uIHNwYW4uZHQtYnV0dG9uLXNwYWNlci5iYXJ7Ym9yZGVyLWxlZnQ6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xKTtwYWRkaW5nLWxlZnQ6MH1AbWVkaWEgcHJpbnR7dGFibGUuZGF0YVRhYmxlIHRyPip7Ym94LXNoYWRvdzpub25lIWltcG9ydGFudH19ZGl2LmR0LWJ1dHRvbnM+LmR0LWJ1dHRvbixkaXYuZHQtYnV0dG9ucz5kaXYuZHQtYnV0dG9uLXNwbGl0IC5kdC1idXR0b257cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94O21hcmdpbi1sZWZ0Oi4xNjdlbTttYXJnaW4tcmlnaHQ6LjE2N2VtO21hcmdpbi1ib3R0b206LjMzM2VtO3BhZGRpbmc6LjVlbSAxZW07Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4zKTtib3JkZXItcmFkaXVzOjJweDtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6Ljg4ZW07bGluZS1oZWlnaHQ6MS42ZW07Y29sb3I6aW5oZXJpdDt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQtY29sb3I6IzAwMDAwMDFhO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjZTZlNmU2MWEsIzAwMDAwMDFhKTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KEdyYWRpZW50VHlwZT0wLFN0YXJ0Q29sb3JTdHI9InJnYmEoMjI5LjUsIDIyOS41LCAyMjkuNSwgMC4xKSIsRW5kQ29sb3JTdHI9InJnYmEoMCwgMCwgMCwgMC4xKSIpOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTt0ZXh0LWRlY29yYXRpb246bm9uZTtvdXRsaW5lOm5vbmU7dGV4dC1vdmVyZmxvdzplbGxpcHNpc31kaXYuZHQtYnV0dG9ucz4uZHQtYnV0dG9uOmZpcnN0LWNoaWxkLGRpdi5kdC1idXR0b25zPmRpdi5kdC1idXR0b24tc3BsaXQgLmR0LWJ1dHRvbjpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDowfWRpdi5kdC1idXR0b25zPi5kdC1idXR0b24uZGlzYWJsZWQsZGl2LmR0LWJ1dHRvbnM+ZGl2LmR0LWJ1dHRvbi1zcGxpdCAuZHQtYnV0dG9uLmRpc2FibGVke2N1cnNvcjpkZWZhdWx0O29wYWNpdHk6LjR9ZGl2LmR0LWJ1dHRvbnM+LmR0LWJ1dHRvbi5kdC1idXR0b24tYWN0aXZlOm5vdCguZGlzYWJsZWQpLGRpdi5kdC1idXR0b25zPmRpdi5kdC1idXR0b24tc3BsaXQgLmR0LWJ1dHRvbi5kdC1idXR0b24tYWN0aXZlOm5vdCguZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6IzAwMDAwMDFhO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjYjNiM2IzMWEsIzAwMDAwMDFhKTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KEdyYWRpZW50VHlwZT0wLFN0YXJ0Q29sb3JTdHI9InJnYmEoMTc4LjUsIDE3OC41LCAxNzguNSwgMC4xKSIsRW5kQ29sb3JTdHI9InJnYmEoMCwgMCwgMCwgMC4xKSIpO2JveC1zaGFkb3c6aW5zZXQgMXB4IDFweCAzcHggIzk5OX1kaXYuZHQtYnV0dG9ucz4uZHQtYnV0dG9uLmR0LWJ1dHRvbi1hY3RpdmU6bm90KC5kaXNhYmxlZCk6aG92ZXI6bm90KC5kaXNhYmxlZCksZGl2LmR0LWJ1dHRvbnM+ZGl2LmR0LWJ1dHRvbi1zcGxpdCAuZHQtYnV0dG9uLmR0LWJ1dHRvbi1hY3RpdmU6bm90KC5kaXNhYmxlZCk6aG92ZXI6bm90KC5kaXNhYmxlZCl7Ym94LXNoYWRvdzppbnNldCAxcHggMXB4IDNweCAjOTk5O2JhY2tncm91bmQtY29sb3I6IzAwMDAwMDFhO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjODA4MDgwMWEsIzAwMDAwMDFhKTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KEdyYWRpZW50VHlwZT0wLFN0YXJ0Q29sb3JTdHI9InJnYmEoMTI3LjUsIDEyNy41LCAxMjcuNSwgMC4xKSIsRW5kQ29sb3JTdHI9InJnYmEoMCwgMCwgMCwgMC4xKSIpfWRpdi5kdC1idXR0b25zPi5kdC1idXR0b246aG92ZXIsZGl2LmR0LWJ1dHRvbnM+ZGl2LmR0LWJ1dHRvbi1zcGxpdCAuZHQtYnV0dG9uOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfWRpdi5kdC1idXR0b25zPi5kdC1idXR0b246aG92ZXI6bm90KC5kaXNhYmxlZCksZGl2LmR0LWJ1dHRvbnM+ZGl2LmR0LWJ1dHRvbi1zcGxpdCAuZHQtYnV0dG9uOmhvdmVyOm5vdCguZGlzYWJsZWQpe2JvcmRlcjoxcHggc29saWQgIzY2NjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwMDAxYTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIzk5OTk5OTFhLCMwMDAwMDAxYSk7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChHcmFkaWVudFR5cGU9MCxTdGFydENvbG9yU3RyPSJyZ2JhKDE1MywgMTUzLCAxNTMsIDAuMSkiLEVuZENvbG9yU3RyPSJyZ2JhKDAsIDAsIDAsIDAuMSkiKX1kaXYuZHQtYnV0dG9ucz4uZHQtYnV0dG9uOmZvY3VzOm5vdCguZGlzYWJsZWQpLGRpdi5kdC1idXR0b25zPmRpdi5kdC1idXR0b24tc3BsaXQgLmR0LWJ1dHRvbjpmb2N1czpub3QoLmRpc2FibGVkKXtvdXRsaW5lOjJweCBzb2xpZCByZ2IoNTMsMTMyLDIyOCl9ZGl2LmR0LWJ1dHRvbnM+LmR0LWJ1dHRvbiBlbWJlZCxkaXYuZHQtYnV0dG9ucz5kaXYuZHQtYnV0dG9uLXNwbGl0IC5kdC1idXR0b24gZW1iZWR7b3V0bGluZTpub25lfWRpdi5kdC1idXR0b25zPmRpdi5kdC1idXR0b24tc3BsaXQgLmR0LWJ1dHRvbjpmaXJzdC1jaGlsZHtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjE1KTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjB9ZGl2LmR0LWJ1dHRvbnM+ZGl2LmR0LWJ1dHRvbi1zcGxpdCAuZHQtYnV0dG9uOmZpcnN0LWNoaWxkOmhvdmVye2JvcmRlci1yaWdodDoxcHggc29saWQgIzY2Nn1kaXYuZHQtYnV0dG9ucz5kaXYuZHQtYnV0dG9uLXNwbGl0IC5kdC1idXR0b246bGFzdC1jaGlsZHtib3JkZXItbGVmdDoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH1kaXYuZHQtYnV0dG9ucz5kaXYuZHQtYnV0dG9uLXNwbGl0IC5kdC1idXR0b246bGFzdC1jaGlsZDpob3Zlcntib3JkZXItbGVmdDoxcHggc29saWQgIzY2Nn1kaXYuZHQtYnV0dG9ucyBzcGFuLmR0LWJ1dHRvbi1kb3duLWFycm93e3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDotMnB4O2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctbGVmdDoxMHB4O2xpbmUtaGVpZ2h0OjFlbTtvcGFjaXR5Oi42fWRpdi5kdC1idXR0b25zIGRpdi5kdC1idXR0b24tc3BsaXR7ZGlzcGxheTppbmxpbmUtYmxvY2t9ZGl2LmR0LWJ1dHRvbnMgZGl2LmR0LWJ1dHRvbi1zcGxpdCAuZHQtYnV0dG9uOmZpcnN0LWNoaWxke21hcmdpbi1yaWdodDowfWRpdi5kdC1idXR0b25zIGRpdi5kdC1idXR0b24tc3BsaXQgLmR0LWJ1dHRvbjpsYXN0LWNoaWxke21hcmdpbi1sZWZ0Oi0xcHg7cGFkZGluZy1sZWZ0Oi43NWVtO3BhZGRpbmctcmlnaHQ6Ljc1ZW07ei1pbmRleDoyfWRpdi5kdC1idXR0b25zIGRpdi5kdC1idXR0b24tc3BsaXQgLmR0LWJ1dHRvbjpsYXN0LWNoaWxkIHNwYW57cGFkZGluZy1sZWZ0OjB9ZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoyMDBweDttYXJnaW4tdG9wOjNweDttYXJnaW4tYm90dG9tOjNweDtwYWRkaW5nOi43NWVtIDA7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC40KTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6MjAwMjtib3JkZXItcmFkaXVzOjVweDtib3gtc2hhZG93OjNweCA0cHggMTBweCAxcHggIzAwMDAwMDRkO2JveC1zaXppbmc6Ym9yZGVyLWJveH1kaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gLmR0LWJ1dHRvbntwb3NpdGlvbjpyZWxhdGl2ZTtsZWZ0OjA7cmlnaHQ6MDt3aWR0aDoxMDAlO2Rpc3BsYXk6ZmxleDtmbG9hdDpub25lO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kOm5vbmU7bWFyZ2luOjA7cGFkZGluZzouNWVtIDFlbTtib3JkZXI6bm9uZTt0ZXh0LWFsaWduOmxlZnQ7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6aW5oZXJpdH1kaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gLmR0LWJ1dHRvbi5kdC1idXR0b24tYWN0aXZle2JhY2tncm91bmQ6bm9uZTtib3gtc2hhZG93Om5vbmV9ZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uIC5kdC1idXR0b24uZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHQ7b3BhY2l0eTouNH1kaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gLmR0LWJ1dHRvbjpob3Zlcjpub3QoLmRpc2FibGVkKXtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOiM5OTk5OTkxYTtib3gtc2hhZG93Om5vbmV9ZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uIC5kdC1idXR0b246Zm9jdXN7b3V0bGluZS1vZmZzZXQ6LTJweH1kaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gZGl2LmR0LWJ1dHRvbi1zcGxpdHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtd3JhcDp3cmFwO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O2FsaWduLWNvbnRlbnQ6ZmxleC1zdGFydDthbGlnbi1pdGVtczpzdHJldGNofWRpdi5kdC1idXR0b24tY29sbGVjdGlvbiBkaXYuZHQtYnV0dG9uLXNwbGl0IGJ1dHRvbi5kdC1idXR0b257bWFyZ2luOjA7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MDtmbGV4LWdyb3c6MTtmbGV4LXNocmluazowO2ZsZXgtYmFzaXM6NTBweH1kaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24gZGl2LmR0LWJ1dHRvbi1zcGxpdCBidXR0b24uZHQtYnV0dG9uLXNwbGl0LWRyb3B7bWluLXdpZHRoOjMzcHg7ZmxleDowfWRpdi5kdC1idXR0b24tY29sbGVjdGlvbi5maXhlZCAuZHQtYnV0dG9ue2JvcmRlci1yYWRpdXM6LjI1ZW07YmFja2dyb3VuZDojZmZmZmZmMWF9ZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uLmZpeGVke3Bvc2l0aW9uOmZpeGVkO2Rpc3BsYXk6YmxvY2s7dG9wOjUwJTtsZWZ0OjUwJTttYXJnaW4tbGVmdDotNzVweDtib3JkZXItcmFkaXVzOjVweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7cGFkZGluZzouNWVtfWRpdi5kdC1idXR0b24tY29sbGVjdGlvbi5maXhlZC50d28tY29sdW1ue21hcmdpbi1sZWZ0Oi0yMDBweH1kaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24uZml4ZWQudGhyZWUtY29sdW1ue21hcmdpbi1sZWZ0Oi0yMjVweH1kaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24uZml4ZWQuZm91ci1jb2x1bW57bWFyZ2luLWxlZnQ6LTMwMHB4fWRpdi5kdC1idXR0b24tY29sbGVjdGlvbi5maXhlZC5jb2x1bW5ze21hcmdpbi1sZWZ0Oi00MDlweH1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpe2Rpdi5kdC1idXR0b24tY29sbGVjdGlvbi5maXhlZC5jb2x1bW5ze21hcmdpbi1sZWZ0Oi0zMDhweH19QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpe2Rpdi5kdC1idXR0b24tY29sbGVjdGlvbi5maXhlZC5jb2x1bW5ze21hcmdpbi1sZWZ0Oi0yMDNweH19QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYwcHgpe2Rpdi5kdC1idXR0b24tY29sbGVjdGlvbi5maXhlZC5jb2x1bW5ze21hcmdpbi1sZWZ0Oi0xMDBweH19ZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uLmZpeGVkPjpsYXN0LWNoaWxke21heC1oZWlnaHQ6MTAwdmg7b3ZlcmZsb3c6YXV0b31kaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24udHdvLWNvbHVtbj46bGFzdC1jaGlsZCxkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24udGhyZWUtY29sdW1uPjpsYXN0LWNoaWxkLGRpdi5kdC1idXR0b24tY29sbGVjdGlvbi5mb3VyLWNvbHVtbj46bGFzdC1jaGlsZHtkaXNwbGF5OmJsb2NrIWltcG9ydGFudDtjb2x1bW4tZ2FwOjhweH1kaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24udHdvLWNvbHVtbj46bGFzdC1jaGlsZD4qLGRpdi5kdC1idXR0b24tY29sbGVjdGlvbi50aHJlZS1jb2x1bW4+Omxhc3QtY2hpbGQ+KixkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24uZm91ci1jb2x1bW4+Omxhc3QtY2hpbGQ+Knstd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7YnJlYWstaW5zaWRlOmF2b2lkfWRpdi5kdC1idXR0b24tY29sbGVjdGlvbi50d28tY29sdW1ue3dpZHRoOjQwMHB4fWRpdi5kdC1idXR0b24tY29sbGVjdGlvbi50d28tY29sdW1uPjpsYXN0LWNoaWxke3BhZGRpbmctYm90dG9tOjFweDtjb2x1bW4tY291bnQ6Mn1kaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24udGhyZWUtY29sdW1ue3dpZHRoOjQ1MHB4fWRpdi5kdC1idXR0b24tY29sbGVjdGlvbi50aHJlZS1jb2x1bW4+Omxhc3QtY2hpbGR7cGFkZGluZy1ib3R0b206MXB4O2NvbHVtbi1jb3VudDozfWRpdi5kdC1idXR0b24tY29sbGVjdGlvbi5mb3VyLWNvbHVtbnt3aWR0aDo2MDBweH1kaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24uZm91ci1jb2x1bW4+Omxhc3QtY2hpbGR7cGFkZGluZy1ib3R0b206MXB4O2NvbHVtbi1jb3VudDo0fWRpdi5kdC1idXR0b24tY29sbGVjdGlvbiAuZHQtYnV0dG9ue2JvcmRlci1yYWRpdXM6MH1kaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24uY29sdW1uc3t3aWR0aDphdXRvfWRpdi5kdC1idXR0b24tY29sbGVjdGlvbi5jb2x1bW5zPjpsYXN0LWNoaWxke2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDt3aWR0aDo4MThweDtwYWRkaW5nLWJvdHRvbToxcHh9ZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uLmNvbHVtbnM+Omxhc3QtY2hpbGQgLmR0LWJ1dHRvbnttaW4td2lkdGg6MjAwcHg7ZmxleDowIDE7bWFyZ2luOjB9ZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uLmNvbHVtbnMuZHRiLWIzPjpsYXN0LWNoaWxkLGRpdi5kdC1idXR0b24tY29sbGVjdGlvbi5jb2x1bW5zLmR0Yi1iMj46bGFzdC1jaGlsZCxkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24uY29sdW1ucy5kdGItYjE+Omxhc3QtY2hpbGR7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59ZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uLmNvbHVtbnMuZHRiLWIzIC5kdC1idXR0b257ZmxleDoxIDEgMzIlfWRpdi5kdC1idXR0b24tY29sbGVjdGlvbi5jb2x1bW5zLmR0Yi1iMiAuZHQtYnV0dG9ue2ZsZXg6MSAxIDQ4JX1kaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24uY29sdW1ucy5kdGItYjEgLmR0LWJ1dHRvbntmbGV4OjEgMSAxMDAlfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCl7ZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uLmNvbHVtbnM+Omxhc3QtY2hpbGR7d2lkdGg6NjEycHh9fUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KXtkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24uY29sdW1ucz46bGFzdC1jaGlsZHt3aWR0aDo0MDZweH1kaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24uY29sdW1ucy5kdGItYjMgLmR0LWJ1dHRvbntmbGV4OjAgMSAzMiV9fUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ2MHB4KXtkaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb24uY29sdW1ucz46bGFzdC1jaGlsZHt3aWR0aDoyMDBweH19ZGl2LmR0LWJ1dHRvbi1iYWNrZ3JvdW5ke3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6IzAwMDAwMGIzO2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgZmFydGhlc3QtY29ybmVyIGF0IGNlbnRlciwjMDAwMDAwNGQsIzAwMDAwMGIzKTt6LWluZGV4OjIwMDF9LmR0LWJ1dHRvbi5wcm9jZXNzaW5ne2NvbG9yOiMwMDAzfS5kdC1idXR0b24ucHJvY2Vzc2luZzphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7bWFyZ2luOi04cHggMCAwIC04cHg7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7Y29udGVudDoiICI7Ym9yZGVyOjJweCBzb2xpZCByZ2IoNDAsNDAsNDApO2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlci1sZWZ0LWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1yaWdodC1jb2xvcjp0cmFuc3BhcmVudDthbmltYXRpb246ZHRiLXNwaW5uZXIgMS41cyBpbmZpbml0ZSBsaW5lYXI7LW8tYW5pbWF0aW9uOmR0Yi1zcGlubmVyIDEuNXMgaW5maW5pdGUgbGluZWFyOy1tcy1hbmltYXRpb246ZHRiLXNwaW5uZXIgMS41cyBpbmZpbml0ZSBsaW5lYXI7LXdlYmtpdC1hbmltYXRpb246ZHRiLXNwaW5uZXIgMS41cyBpbmZpbml0ZSBsaW5lYXI7LW1vei1hbmltYXRpb246ZHRiLXNwaW5uZXIgMS41cyBpbmZpbml0ZSBsaW5lYXJ9QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpe2Rpdi5kdC1idXR0b25ze2Zsb2F0Om5vbmUhaW1wb3J0YW50O3RleHQtYWxpZ246Y2VudGVyfX1odG1sLmRhcmsgZGl2LmR0LWJ1dHRvbnM+LmR0LWJ1dHRvbixodG1sLmRhcmsgZGl2LmR0LWJ1dHRvbnM+ZGl2LmR0LWJ1dHRvbi1zcGxpdCAuZHQtYnV0dG9ue2JvcmRlcjoxcHggc29saWQgcmdiKDg5LDkxLDk0KTtiYWNrZ3JvdW5kOiNmZmZmZmYyNn1odG1sLmRhcmsgZGl2LmR0LWJ1dHRvbnM+LmR0LWJ1dHRvbi5kdC1idXR0b24tYWN0aXZlOm5vdCguZGlzYWJsZWQpLGh0bWwuZGFyayBkaXYuZHQtYnV0dG9ucz5kaXYuZHQtYnV0dG9uLXNwbGl0IC5kdC1idXR0b24uZHQtYnV0dG9uLWFjdGl2ZTpub3QoLmRpc2FibGVkKXtiYWNrZ3JvdW5kOiNiM2IzYjMyNjtib3gtc2hhZG93Omluc2V0IDFweCAxcHggMnB4ICMwMDB9aHRtbC5kYXJrIGRpdi5kdC1idXR0b25zPi5kdC1idXR0b24uZHQtYnV0dG9uLWFjdGl2ZTpub3QoLmRpc2FibGVkKTpob3Zlcjpub3QoLmRpc2FibGVkKSxodG1sLmRhcmsgZGl2LmR0LWJ1dHRvbnM+ZGl2LmR0LWJ1dHRvbi1zcGxpdCAuZHQtYnV0dG9uLmR0LWJ1dHRvbi1hY3RpdmU6bm90KC5kaXNhYmxlZCk6aG92ZXI6bm90KC5kaXNhYmxlZCl7YmFja2dyb3VuZDojODA4MDgwMjY7Ym94LXNoYWRvdzppbnNldCAxcHggMXB4IDNweCAjMDAwfWh0bWwuZGFyayBkaXYuZHQtYnV0dG9ucz4uZHQtYnV0dG9uOmhvdmVyOm5vdCguZGlzYWJsZWQpLGh0bWwuZGFyayBkaXYuZHQtYnV0dG9ucz5kaXYuZHQtYnV0dG9uLXNwbGl0IC5kdC1idXR0b246aG92ZXI6bm90KC5kaXNhYmxlZCl7YmFja2dyb3VuZDojYjNiM2IzMjZ9aHRtbC5kYXJrIGRpdi5kdC1idXR0b25zPi5kdC1idXR0b246Zm9jdXM6bm90KC5kaXNhYmxlZCksaHRtbC5kYXJrIGRpdi5kdC1idXR0b25zPmRpdi5kdC1idXR0b24tc3BsaXQgLmR0LWJ1dHRvbjpmb2N1czpub3QoLmRpc2FibGVkKXtvdXRsaW5lOjJweCBzb2xpZCByZ2IoMTEwLDE2OCwyNTQpfWh0bWwuZGFyayBkaXYuZHQtYnV0dG9ucz5kaXYuZHQtYnV0dG9uLXNwbGl0IC5kdC1idXR0b246Zmlyc3QtY2hpbGR7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xKX1odG1sLmRhcmsgZGl2LmR0LWJ1dHRvbnM+ZGl2LmR0LWJ1dHRvbi1zcGxpdCAuZHQtYnV0dG9uOmZpcnN0LWNoaWxkOmhvdmVye2JvcmRlci1yaWdodDoxcHggc29saWQgcmdiKDg5LDkxLDk0KX1odG1sLmRhcmsgZGl2LmR0LWJ1dHRvbnM+ZGl2LmR0LWJ1dHRvbi1zcGxpdCAuZHQtYnV0dG9uOmxhc3QtY2hpbGQ6aG92ZXJ7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJnYig4OSw5MSw5NCl9aHRtbC5kYXJrIGRpdi5kdC1idXR0b24tY29sbGVjdGlvbntib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjE1KTtiYWNrZ3JvdW5kLWNvbG9yOiMyMTI1Mjk7Ym94LXNoYWRvdzozcHggNHB4IDEwcHggMXB4ICMwMDBjfWh0bWwuZGFyayBkaXYuZHQtYnV0dG9uLWluZm97YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kdC1odG1sLWJhY2tncm91bmQpO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMTUpfTpyb290LCA6aG9zdHstLWR0Y2MtYnV0dG9uX2JhY2tncm91bmQ6IHRyYW5zcGFyZW50Oy0tZHRjYy1idXR0b25fYm9yZGVyOiBub25lOy0tZHRjYy1idXR0b25fYm9yZGVyLXJhZGl1czogM3B4Oy0tZHRjYy1idXR0b25fb3BhY2l0eTogLjQ7LS1kdGNjLWJ1dHRvbl9wYWRkaW5nOiAzcHg7LS1kdGNjLWJ1dHRvbl9kaXNhYmxlZC1vcGFjaXR5OiAuNjstLWR0Y2MtYnV0dG9uX2VtcHR5LW9wYWNpdHk6IC44Oy0tZHRjYy1idXR0b25faG92ZXItYm9yZGVyOiBub25lOy0tZHRjYy1idXR0b25faG92ZXItYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuMSk7LS1kdGNjLWJ1dHRvbl9ob3Zlci1vcGFjaXR5OiAuOTstLWR0Y2MtYnV0dG9uLWljb25fY29sb3I6IGJsYWNrOy0tZHRjYy1idXR0b24taWNvbl9zaXplOiAxNnB4Oy0tZHRjYy1idXR0b24taWNvbl9tYXJnaW46IC41ZW07LS1kdGNjLWRyb3Bkb3duX2JhY2tncm91bmQ6IHdoaXRlOy0tZHRjYy1kcm9wZG93bl9ib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4yKTstLWR0Y2MtZHJvcGRvd25fYm9yZGVyLXJhZGl1czogNXB4Oy0tZHRjYy1kcm9wZG93bl9ib3gtc2hhZG93OiAzcHggNHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgLjMpOy0tZHRjYy1kcm9wZG93bl9tYXJnaW46IDNweCAwIDAgMDstLWR0Y2MtZHJvcGRvd25fcGFkZGluZzogLjc1ZW0gMDstLWR0Y2MtZHJvcGRvd25fd2lkdGg6IDIwMHB4Oy0tZHRjYy1kcm9wZG93bl96LWluZGV4OiAyMDAyOy0tZHRjYy1kcm9wZG93bi1idXR0b25fYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7LS1kdGNjLWRyb3Bkb3duLWJ1dHRvbl9ib3JkZXI6IG5vbmU7LS1kdGNjLWRyb3Bkb3duLWJ1dHRvbl9jb2xvcjogYmxhY2s7LS1kdGNjLWRyb3Bkb3duLWJ1dHRvbl9wYWRkaW5nOiAuNWVtIDFlbTstLWR0Y2MtZHJvcGRvd24tYnV0dG9uX2hvdmVyLWJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjA1KTstLWR0Y2MtZHJvcGRvd24taWNvbl92ZXJ0aWNhbC1hbGlnbjogaW5pdGlhbDstLWR0Y2MtZHJvcGRvd24tc2VhcmNoX3BhZGRpbmc6IC41ZW0gMWVtOy0tZHRjYy1zcGFjZXJfYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMik7LS1kdGNjLXNwYWNlcl9tYXJnaW46IC41ZW07LS1kdGNjLXRpdGxlX2JhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEpOy0tZHRjYy10aXRsZV9ib3JkZXItbGVmdDogbm9uZTstLWR0Y2MtdGl0bGVfYm9yZGVyLXJpZ2h0OiBub25lOy0tZHRjYy10aXRsZV9ib3JkZXItdG9wOiBub25lOy0tZHRjYy10aXRsZV9ib3JkZXItYm90dG9tOiA7LS1kdGNjLXRpdGxlX21hcmdpbjogMDstLWR0Y2MtdGl0bGVfcGFkZGluZzogLjVlbSAwOy0tZHRjYy10aXRsZV90ZXh0LWFsaWduOiBjZW50ZXI7LS1kdGNjLXNlYXJjaC1pY29uX2NvbG9yOiBibGFjazstLWR0Y2Mtc2VhcmNoLWljb25faG92ZXItYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuMSk7LS1kdGNjLXNlYXJjaC1pY29uX29wYWNpdHk6IC40Oy0tZHRjYy1zZWFyY2gtaWNvbl9zaXplOiAxNnB4Oy0tZHRjYy1zZWFyY2gtY2xlYXJfcmlnaHQ6IDhweDstLWR0Y2Mtc2VhcmNoLWNsZWFyX2JvdHRvbTogMnB4Oy0tZHRjYy1zZWFyY2gtaW5wdXRfbWFyZ2luLXRvcDogLjVlbTstLWR0Y2Mtc2VhcmNoLWlucHV0X3BhZGRpbmctcmlnaHQ6IDI0cHg7LS1kdGNjLXNlYXJjaC1pbnB1dF9ib3JkZXI6IDFweCBzb2xpZCAjYWFhOy0tZHRjYy1zZWFyY2gtaW5wdXRfYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZHQtaHRtbC1iYWNrZ3JvdW5kKTstLWR0Y2Mtc2VhcmNoLWlucHV0X2JhY2tncm91bmQ6IHZhcigtLWR0LWh0bWwtYmFja2dyb3VuZCk7LS1kdGNjLXNlYXJjaC1pbnB1dF9ib3JkZXItcmFkaXVzOiAzcHg7LS1kdGNjLXNlYXJjaC1pbnB1dF9wYWRkaW5nOiA1cHg7LS1kdGNjLXNlYXJjaC1pbnB1dF9mbGV4Q2FsYzogMjRweDstLWR0Y2MtbGlzdC1idXR0b25zX21heC1oZWlnaHQ6IDMwMHB4Oy0tZHRjYy1saXN0LWJ1dHRvbnNfYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuMDUpfTpyb290LmRhcmssIDpob3N0LmRhcmt7LS1kdGNjLWJ1dHRvbl9ob3Zlci1iYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKTstLWR0Y2MtYnV0dG9uLWljb25fY29sb3I6IHdoaXRlOy0tZHRjYy1zcGFjZXJfYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpOy0tZHRjYy1kcm9wZG93bl9iYWNrZ3JvdW5kOiByZ2IoMzMsIDM3LCA0MSk7LS1kdGNjLWRyb3Bkb3duX2JvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KTstLWR0Y2MtZHJvcGRvd25fYm94LXNoYWRvdzogM3B4IDRweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIC44KTstLWR0Y2MtZHJvcGRvd24tYnV0dG9uX2NvbG9yOiB3aGl0ZTstLWR0Y2MtZHJvcGRvd24tYnV0dG9uX2hvdmVyLWJhY2tncm91bmQ6IHJnYmEoMTUzLCAxNTMsIDE1MywgLjEpOy0tZHRjYy1zZWFyY2gtaWNvbl9jb2xvcjogd2hpdGU7LS1kdGNjLXNlYXJjaC1pY29uX2hvdmVyLWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEpOy0tZHRjYy1zZWFyY2gtaW5wdXRfYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7LS1kdGNjLWxpc3QtYnV0dG9uc19iYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4wNSl9dGFibGUuZGF0YVRhYmxlIGRpdi5kdC1jb2x1bW4taGVhZGVyIHNwYW4uZHQtY29sdW1uLXRpdGxlOmVtcHR5K3NwYW4uZHRjY3tmbGV4LWdyb3c6MTttYXJnaW4tbGVmdDphdXRvfXRhYmxlLmRhdGFUYWJsZSAuZHQtdHlwZS1udW1lcmljIGRpdi5kdC1jb2x1bW4taGVhZGVyIHNwYW4uZHQtY29sdW1uLXRpdGxlOmVtcHR5K3NwYW4uZHRjYyx0YWJsZS5kYXRhVGFibGUgLmR0LXR5cGUtZGF0ZSBkaXYuZHQtY29sdW1uLWhlYWRlciBzcGFuLmR0LWNvbHVtbi10aXRsZTplbXB0eStzcGFuLmR0Y2MsdGFibGUuZGF0YVRhYmxlIC5kdC1yaWdodCBkaXYuZHQtY29sdW1uLWhlYWRlciBzcGFuLmR0LWNvbHVtbi10aXRsZTplbXB0eStzcGFuLmR0Y2N7bWFyZ2luLXJpZ2h0OmF1dG87bWFyZ2luLWxlZnQ6MH10YWJsZS5kYXRhVGFibGU+dGhlYWQ+dHIuZHRjYy1yb3dfbm8tYm90dG9tLWJvcmRlcj4qe2JvcmRlci1ib3R0b206bm9uZSFpbXBvcnRhbnR9dGFibGUuZGF0YVRhYmxlPnRoZWFkPnRyLmR0Y2Mtcm93X25vLXRvcC1wYWRkaW5nPip7cGFkZGluZy10b3A6MCFpbXBvcnRhbnR9dGFibGUuZGF0YVRhYmxlIHNwYW4uZHRjY3tmb250LXdlaWdodDo0MDA7d2hpdGUtc3BhY2U6bm93cmFwO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfXRhYmxlLmRhdGFUYWJsZSBzcGFuLmR0Y2MgYnV0dG9uLmR0Y2MtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWZsZXg7cGFkZGluZzp2YXIoLS1kdGNjLWJ1dHRvbl9wYWRkaW5nKTtib3JkZXI6dmFyKC0tZHRjYy1idXR0b25fYm9yZGVyKTtib3JkZXItcmFkaXVzOnZhcigtLWR0Y2MtYnV0dG9uX2JvcmRlci1yYWRpdXMpO2JhY2tncm91bmQ6dmFyKC0tZHRjYy1idXR0b25fYmFja2dyb3VuZCk7Y3Vyc29yOnBvaW50ZXI7b3BhY2l0eTp2YXIoLS1kdGNjLWJ1dHRvbl9vcGFjaXR5KX10YWJsZS5kYXRhVGFibGUgc3Bhbi5kdGNjIGJ1dHRvbi5kdGNjLWJ1dHRvbjpob3Zlcntib3JkZXI6dmFyKC0tZHRjYy1idXR0b25faG92ZXItYm9yZGVyKTtiYWNrZ3JvdW5kOnZhcigtLWR0Y2MtYnV0dG9uX2hvdmVyLWJhY2tncm91bmQpO29wYWNpdHk6dmFyKC0tZHRjYy1idXR0b25faG92ZXItb3BhY2l0eSl9dGFibGUuZGF0YVRhYmxlIHNwYW4uZHRjYyBidXR0b24uZHRjYy1idXR0b24uZHRjYy1idXR0b25fZGlzYWJsZWR7Y3Vyc29yOmluaXRpYWw7b3BhY2l0eTp2YXIoLS1kdGNjLWJ1dHRvbl9kaXNhYmxlZC1vcGFjaXR5KX10YWJsZS5kYXRhVGFibGUgc3Bhbi5kdGNjIGJ1dHRvbi5kdGNjLWJ1dHRvbj5zcGFuLmR0Y2MtYnV0dG9uLXN0YXRle2Rpc3BsYXk6bm9uZX10YWJsZS5kYXRhVGFibGUgc3Bhbi5kdGNjIGJ1dHRvbi5kdGNjLWJ1dHRvbj5zcGFuLmR0Y2MtYnV0dG9uLWV4dHJhe2Rpc3BsYXk6bm9uZX10YWJsZS5kYXRhVGFibGUgc3Bhbi5kdGNjIGJ1dHRvbi5kdGNjLWJ1dHRvbl9hY3RpdmV7b3BhY2l0eToxfXRhYmxlLmRhdGFUYWJsZSBzcGFuLmR0Y2MgaW5wdXR7Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOjEwMCV9dGFibGUuZGF0YVRhYmxlIHNwYW4uZHRjYyBzcGFuLmR0Y2MtYnV0dG9uLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym94LXNpemluZzpjb250ZW50LWJveDtjb2xvcjp2YXIoLS1kdGNjLWJ1dHRvbi1pY29uX2NvbG9yKTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bGluZS1oZWlnaHQ6dmFyKC0tZHRjYy1idXR0b24taWNvbl9zaXplKTtoZWlnaHQ6dmFyKC0tZHRjYy1idXR0b24taWNvbl9zaXplKX10YWJsZS5kYXRhVGFibGUgc3Bhbi5kdGNjIHNwYW4uZHRjYy1idXR0b24taWNvbiBzdmd7d2lkdGg6dmFyKC0tZHRjYy1idXR0b24taWNvbl9zaXplKTtoZWlnaHQ6dmFyKC0tZHRjYy1idXR0b24taWNvbl9zaXplKTt2ZXJ0aWNhbC1hbGlnbjppbml0aWFsfXRhYmxlLmRhdGFUYWJsZSBzcGFuLmR0Y2Mgc3Bhbi5kdGNjLWJ1dHRvbi10ZXh0e2Rpc3BsYXk6bm9uZX10YWJsZS5kYXRhVGFibGUgc3Bhbi5kdGNjIGRpdi5kdGNjLXNwYWNlcntkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW46MCB2YXIoLS1kdGNjLXNwYWNlcl9tYXJnaW4pO3BhZGRpbmctbGVmdDouNWVtO2JvcmRlci1sZWZ0OnZhcigtLWR0Y2Mtc3BhY2VyX2JvcmRlcik7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcDtjdXJzb3I6aW5pdGlhbH10YWJsZS5kYXRhVGFibGUgc3Bhbi5kdGNjIGRpdi5kdGNjLXNwYWNlcjplbXB0eXt3aWR0aDoxcHg7aGVpZ2h0OjFlbTtwYWRkaW5nLWxlZnQ6MH10YWJsZS5kYXRhVGFibGUgc3Bhbi5kdGNjIGRpdi5kdGNjLXNlYXJjaHtmbGV4LWdyb3c6MX10YWJsZS5kYXRhVGFibGUgc3Bhbi5kdGNjIGRpdi5kdGNjLXNlYXJjaCBkaXYuZHRjYy1zZWFyY2gtdGl0bGV7bWFyZ2luLWJvdHRvbTouMjVlbTt0ZXh0LWFsaWduOmxlZnR9dGFibGUuZGF0YVRhYmxlIHNwYW4uZHRjYyBkaXYuZHRjYy1zZWFyY2g6ZW1wdHl7ZGlzcGxheTpub25lfXRhYmxlLmRhdGFUYWJsZSBzcGFuLmR0Y2MgZGl2LmR0Y2Mtc2VhcmNoLmR0Y2Mtc2VhcmNoX2FjdGl2ZT5kaXYgZGl2LmR0Y2Mtc2VhcmNoLXR5cGUtaWNvbiBzdmd7b3BhY2l0eToxfXRhYmxlLmRhdGFUYWJsZSBzcGFuLmR0Y2MgZGl2LmR0Y2Mtc2VhcmNoOm5vdCguZHRjYy1zZWFyY2hfYWN0aXZlKSBzcGFuLmR0Y2Mtc2VhcmNoLWNsZWFye2Rpc3BsYXk6bm9uZX10YWJsZS5kYXRhVGFibGUgc3Bhbi5kdGNjIGRpdi5kdGNjLXNlYXJjaD5kaXZ7cG9zaXRpb246cmVsYXRpdmV9dGFibGUuZGF0YVRhYmxlIHNwYW4uZHRjYyBkaXYuZHRjYy1zZWFyY2g+ZGl2IGRpdi5kdGNjLXNlYXJjaC10eXBlLWljb257ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjMwcHg7aGVpZ2h0OjEwMCV9dGFibGUuZGF0YVRhYmxlIHNwYW4uZHRjYyBkaXYuZHRjYy1zZWFyY2g+ZGl2IGRpdi5kdGNjLXNlYXJjaC10eXBlLWljb24gc3Zne3dpZHRoOnZhcigtLWR0Y2Mtc2VhcmNoLWljb25fc2l6ZSk7aGVpZ2h0OnZhcigtLWR0Y2Mtc2VhcmNoLWljb25fc2l6ZSk7Y29sb3I6dmFyKC0tZHRjYy1zZWFyY2gtaWNvbl9jb2xvcik7b3BhY2l0eTp2YXIoLS1kdGNjLXNlYXJjaC1pY29uX29wYWNpdHkpO3ZlcnRpY2FsLWFsaWduOmluaXRpYWx9dGFibGUuZGF0YVRhYmxlIHNwYW4uZHRjYyBkaXYuZHRjYy1zZWFyY2g+ZGl2IGRpdi5kdGNjLXNlYXJjaC10eXBlLWljb246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kdGNjLXNlYXJjaC1pY29uX2hvdmVyLWJhY2tncm91bmQpfXRhYmxlLmRhdGFUYWJsZSBzcGFuLmR0Y2MgZGl2LmR0Y2Mtc2VhcmNoPmRpdiBzZWxlY3R7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MzBweDtoZWlnaHQ6MTAwJTtjdXJzb3I6cG9pbnRlcjtvcGFjaXR5OjA7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kdGNjLXNlYXJjaC1pbnB1dF9iYWNrZ3JvdW5kKX10YWJsZS5kYXRhVGFibGUgc3Bhbi5kdGNjIGRpdi5kdGNjLXNlYXJjaD5kaXYgc3Bhbi5kdGNjLXNlYXJjaC1jbGVhcntkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTRweDtoZWlnaHQ6MTAwJTtjdXJzb3I6cG9pbnRlcn10YWJsZS5kYXRhVGFibGUgc3Bhbi5kdGNjIGRpdi5kdGNjLXNlYXJjaD5kaXYgZGl2LmR0Y2Mtc2VhcmNoLWljb257ZGlzcGxheTpub25lfXRhYmxlLmRhdGFUYWJsZSBzcGFuLmR0Y2MgZGl2LmR0Y2Mtc2VhcmNoPmRpdiBpbnB1dHtwYWRkaW5nOnZhcigtLWR0Y2Mtc2VhcmNoLWlucHV0X3BhZGRpbmcpO2JvcmRlcjp2YXIoLS1kdGNjLXNlYXJjaC1pbnB1dF9ib3JkZXIpO2JvcmRlci1yYWRpdXM6dmFyKC0tZHRjYy1zZWFyY2gtaW5wdXRfYm9yZGVyLXJhZGl1cyk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kdGNjLXNlYXJjaC1pbnB1dF9iYWNrZ3JvdW5kKTtjb2xvcjppbmhlcml0fXRhYmxlLmRhdGFUYWJsZSBzcGFuLmR0Y2MgZGl2LmR0Y2Mtc2VhcmNoVGV4dD5kaXYgZGl2LmR0Y2Mtc2VhcmNoLXR5cGUtaWNvbntyaWdodDowO3otaW5kZXg6MX10YWJsZS5kYXRhVGFibGUgc3Bhbi5kdGNjIGRpdi5kdGNjLXNlYXJjaFRleHQ+ZGl2IHNlbGVjdHtyaWdodDowO3otaW5kZXg6MjtwYWRkaW5nOjB9dGFibGUuZGF0YVRhYmxlIHNwYW4uZHRjYyBkaXYuZHRjYy1zZWFyY2hUZXh0PmRpdiBzcGFuLmR0Y2Mtc2VhcmNoLWNsZWFye3JpZ2h0OjI4cHg7ei1pbmRleDoxfXRhYmxlLmRhdGFUYWJsZSBzcGFuLmR0Y2MgZGl2LmR0Y2Mtc2VhcmNoVGV4dD5kaXYgaW5wdXR7cGFkZGluZy1yaWdodDo0NnB4fXRhYmxlLmRhdGFUYWJsZSBzcGFuLmR0Y2MgZGl2LmR0Y2Mtc2VhcmNoTnVtYmVyPmRpdiBkaXYuZHRjYy1zZWFyY2gtdHlwZS1pY29uLHRhYmxlLmRhdGFUYWJsZSBzcGFuLmR0Y2MgZGl2LmR0Y2Mtc2VhcmNoRGF0ZVRpbWU+ZGl2IGRpdi5kdGNjLXNlYXJjaC10eXBlLWljb257bGVmdDowO3otaW5kZXg6MX10YWJsZS5kYXRhVGFibGUgc3Bhbi5kdGNjIGRpdi5kdGNjLXNlYXJjaE51bWJlcj5kaXYgc2VsZWN0LHRhYmxlLmRhdGFUYWJsZSBzcGFuLmR0Y2MgZGl2LmR0Y2Mtc2VhcmNoRGF0ZVRpbWU+ZGl2IHNlbGVjdHtsZWZ0OjA7ei1pbmRleDoyfXRhYmxlLmRhdGFUYWJsZSBzcGFuLmR0Y2MgZGl2LmR0Y2Mtc2VhcmNoTnVtYmVyPmRpdiBzcGFuLmR0Y2Mtc2VhcmNoLWNsZWFyLHRhYmxlLmRhdGFUYWJsZSBzcGFuLmR0Y2MgZGl2LmR0Y2Mtc2VhcmNoRGF0ZVRpbWU+ZGl2IHNwYW4uZHRjYy1zZWFyY2gtY2xlYXJ7bGVmdDoyOHB4fXRhYmxlLmRhdGFUYWJsZSBzcGFuLmR0Y2MgZGl2LmR0Y2Mtc2VhcmNoTnVtYmVyPmRpdiBpbnB1dCx0YWJsZS5kYXRhVGFibGUgc3Bhbi5kdGNjIGRpdi5kdGNjLXNlYXJjaERhdGVUaW1lPmRpdiBpbnB1dHtwYWRkaW5nLWxlZnQ6NDZweDt0ZXh0LWFsaWduOnJpZ2h0fWRpdi5kdGNjLWRyb3Bkb3due2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6dmFyKC0tZHRjYy1kcm9wZG93bl96LWluZGV4KTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDp2YXIoLS1kdGNjLWRyb3Bkb3duX3dpZHRoKTttYXJnaW46dmFyKC0tZHRjYy1kcm9wZG93bl9tYXJnaW4pO3BhZGRpbmc6dmFyKC0tZHRjYy1kcm9wZG93bl9wYWRkaW5nKTtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyOnZhcigtLWR0Y2MtZHJvcGRvd25fYm9yZGVyKTtib3JkZXItcmFkaXVzOnZhcigtLWR0Y2MtZHJvcGRvd25fYm9yZGVyLXJhZGl1cyk7YmFja2dyb3VuZDp2YXIoLS1kdGNjLWRyb3Bkb3duX2JhY2tncm91bmQpO2JveC1zaGFkb3c6dmFyKC0tZHRjYy1kcm9wZG93bl9ib3gtc2hhZG93KX1kaXYuZHRjYy1kcm9wZG93biBidXR0b24uZHRjYy1idXR0b257ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlO3BhZGRpbmc6dmFyKC0tZHRjYy1kcm9wZG93bi1idXR0b25fcGFkZGluZyk7Ym9yZGVyOnZhcigtLWR0Y2MtZHJvcGRvd24tYnV0dG9uX2JvcmRlcik7YmFja2dyb3VuZDp2YXIoLS1kdGNjLWRyb3Bkb3duLWJ1dHRvbl9iYWNrZ3JvdW5kKTtjb2xvcjp2YXIoLS1kdGNjLWRyb3Bkb3duLWJ1dHRvbl9jb2xvcik7dGV4dC1hbGlnbjpsZWZ0O2N1cnNvcjpwb2ludGVyfWRpdi5kdGNjLWRyb3Bkb3duIGJ1dHRvbi5kdGNjLWJ1dHRvbjpmb2N1c3tvdXRsaW5lLW9mZnNldDotMnB4fWRpdi5kdGNjLWRyb3Bkb3duIGJ1dHRvbi5kdGNjLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWR0Y2MtZHJvcGRvd24tYnV0dG9uX2hvdmVyLWJhY2tncm91bmQpfWRpdi5kdGNjLWRyb3Bkb3duIGJ1dHRvbi5kdGNjLWJ1dHRvbi5kdGNjLWJ1dHRvbl9kaXNhYmxlZHtjdXJzb3I6aW5pdGlhbDtvcGFjaXR5OnZhcigtLWR0Y2MtYnV0dG9uX2Rpc2FibGVkLW9wYWNpdHkpfWRpdi5kdGNjLWRyb3Bkb3duIGJ1dHRvbi5kdGNjLWJ1dHRvbi5kdGNjLWJ1dHRvbl9lbXB0eSBzcGFuLmR0Y2MtYnV0dG9uLXRleHR7b3BhY2l0eTp2YXIoLS1kdGNjLWJ1dHRvbl9lbXB0eS1vcGFjaXR5KTtmb250LXN0eWxlOml0YWxpY31kaXYuZHRjYy1kcm9wZG93biBidXR0b24uZHRjYy1idXR0b24+c3Bhbi5kdGNjLWJ1dHRvbi1zdGF0ZXtkaXNwbGF5OmJsb2NrO3dpZHRoOnZhcigtLWR0Y2MtYnV0dG9uLWljb25fc2l6ZSk7aGVpZ2h0OnZhcigtLWR0Y2MtYnV0dG9uLWljb25fc2l6ZSk7bWFyZ2luOjAgMCAwIHZhcigtLWR0Y2MtYnV0dG9uLWljb25fbWFyZ2luKX1kaXYuZHRjYy1kcm9wZG93biBidXR0b24uZHRjYy1idXR0b24+c3Bhbi5kdGNjLWJ1dHRvbi1zdGF0ZTplbXB0eXtkaXNwbGF5Om5vbmV9ZGl2LmR0Y2MtZHJvcGRvd24gYnV0dG9uLmR0Y2MtYnV0dG9uPnNwYW4uZHRjYy1idXR0b24tc3RhdGUgc3Zne3dpZHRoOnZhcigtLWR0Y2MtYnV0dG9uLWljb25fc2l6ZSk7aGVpZ2h0OnZhcigtLWR0Y2MtYnV0dG9uLWljb25fc2l6ZSk7dmVydGljYWwtYWxpZ246aW5pdGlhbH1kaXYuZHRjYy1kcm9wZG93biBidXR0b24uZHRjYy1idXR0b24+c3Bhbi5kdGNjLWJ1dHRvbi1leHRyYTplbXB0eXtkaXNwbGF5Om5vbmV9ZGl2LmR0Y2MtZHJvcGRvd24gYnV0dG9uLmR0Y2MtYnV0dG9uIHNwYW4uZHRjYy1idXR0b24taWNvbnt3aWR0aDp2YXIoLS1kdGNjLWJ1dHRvbi1pY29uX3NpemUpO2hlaWdodDp2YXIoLS1kdGNjLWJ1dHRvbi1pY29uX3NpemUpO21hcmdpbjowIHZhcigtLWR0Y2MtYnV0dG9uLWljb25fbWFyZ2luKSAwIDB9ZGl2LmR0Y2MtZHJvcGRvd24gYnV0dG9uLmR0Y2MtYnV0dG9uIHNwYW4uZHRjYy1idXR0b24taWNvbiBzdmd7d2lkdGg6dmFyKC0tZHRjYy1idXR0b24taWNvbl9zaXplKTtoZWlnaHQ6dmFyKC0tZHRjYy1idXR0b24taWNvbl9zaXplKTt2ZXJ0aWNhbC1hbGlnbjp2YXIoLS1kdGNjLWRyb3Bkb3duLWljb25fdmVydGljYWwtYWxpZ24pfWRpdi5kdGNjLWRyb3Bkb3duIGJ1dHRvbi5kdGNjLWJ1dHRvbiBzcGFuLmR0Y2MtYnV0dG9uLXRleHR7ZmxleC1ncm93OjE7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfWRpdi5kdGNjLWRyb3Bkb3duIGRpdi5kdGNjLXNwYWNlcnttYXJnaW46dmFyKC0tZHRjYy1zcGFjZXJfbWFyZ2luKSAwO3BhZGRpbmc6MDtib3JkZXItYm90dG9tOnZhcigtLWR0Y2Mtc3BhY2VyX2JvcmRlcik7Ym9yZGVyLWxlZnQ6bm9uZX1kaXYuZHRjYy1kcm9wZG93biBkaXYuZHRjYy10aXRsZXttYXJnaW46dmFyKC0tZHRjYy10aXRsZV9tYXJnaW4pO3BhZGRpbmc6dmFyKC0tZHRjYy10aXRsZV9wYWRkaW5nKTtib3JkZXItdG9wOnZhcigtLWR0Y2MtdGl0bGVfYm9yZGVyLXRvcCk7Ym9yZGVyLXJpZ2h0OnZhcigtLWR0Y2MtdGl0bGVfYm9yZGVyLXJpZ2h0KTtib3JkZXItYm90dG9tOnZhcigtLWR0Y2MtdGl0bGVfYm9yZGVyLWJvdHRvbSk7Ym9yZGVyLWxlZnQ6dmFyKC0tZHRjYy10aXRsZV9ib3JkZXItbGVmdCk7YmFja2dyb3VuZDp2YXIoLS1kdGNjLXRpdGxlX2JhY2tncm91bmQpO3RleHQtYWxpZ246dmFyKC0tZHRjYy10aXRsZV90ZXh0LWFsaWduKX1kaXYuZHRjYy1kcm9wZG93biBkaXYuZHRjYy1zZWFyY2h7cGFkZGluZzp2YXIoLS1kdGNjLWRyb3Bkb3duLXNlYXJjaF9wYWRkaW5nKX1kaXYuZHRjYy1kcm9wZG93biBkaXYuZHRjYy1zZWFyY2g+ZGl2e2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpyZWxhdGl2ZTtmbGV4LXdyYXA6d3JhcDthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyOnZhcigtLWR0Y2MtZHJvcGRvd24tYnV0dG9uX2JvcmRlcik7YmFja2dyb3VuZDp2YXIoLS1kdGNjLWRyb3Bkb3duLWJ1dHRvbl9iYWNrZ3JvdW5kKTtjb2xvcjp2YXIoLS1kdGNjLWRyb3Bkb3duLWJ1dHRvbl9jb2xvcil9ZGl2LmR0Y2MtZHJvcGRvd24gZGl2LmR0Y2Mtc2VhcmNoPmRpdiBkaXZ7ZmxleDowIDAgdmFyKC0tZHRjYy1idXR0b24taWNvbl9zaXplKTt3aWR0aDp2YXIoLS1kdGNjLWJ1dHRvbi1pY29uX3NpemUpO2hlaWdodDp2YXIoLS1kdGNjLWJ1dHRvbi1pY29uX3NpemUpO21hcmdpbjowIHZhcigtLWR0Y2MtYnV0dG9uLWljb25fbWFyZ2luKSAwIDB9ZGl2LmR0Y2MtZHJvcGRvd24gZGl2LmR0Y2Mtc2VhcmNoPmRpdiBkaXYgc3Zne3dpZHRoOnZhcigtLWR0Y2Mtc2VhcmNoLWljb25fc2l6ZSk7aGVpZ2h0OnZhcigtLWR0Y2Mtc2VhcmNoLWljb25fc2l6ZSk7Y29sb3I6dmFyKC0tZHRjYy1zZWFyY2gtaWNvbl9jb2xvcik7dmVydGljYWwtYWxpZ246dmFyKC0tZHRjYy1kcm9wZG93bi1pY29uX3ZlcnRpY2FsLWFsaWduKX1kaXYuZHRjYy1kcm9wZG93biBkaXYuZHRjYy1zZWFyY2g+ZGl2IHNlbGVjdCxkaXYuZHRjYy1kcm9wZG93biBkaXYuZHRjYy1zZWFyY2g+ZGl2IGlucHV0e2JveC1zaXppbmc6Ym9yZGVyLWJveDtmbGV4OjEgMSBjYWxjKDEwMCUgLSB2YXIoLS1kdGNjLXNlYXJjaC1pbnB1dF9mbGV4Q2FsYykpO3dpZHRoOjEwMCU7bWluLXdpZHRoOjA7cGFkZGluZzp2YXIoLS1kdGNjLXNlYXJjaC1pbnB1dF9wYWRkaW5nKTtib3JkZXI6dmFyKC0tZHRjYy1zZWFyY2gtaW5wdXRfYm9yZGVyKTtib3JkZXItcmFkaXVzOnZhcigtLWR0Y2Mtc2VhcmNoLWlucHV0X2JvcmRlci1yYWRpdXMpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tZHRjYy1zZWFyY2gtaW5wdXRfYmFja2dyb3VuZC1jb2xvcil9ZGl2LmR0Y2MtZHJvcGRvd24gZGl2LmR0Y2Mtc2VhcmNoPmRpdiBzZWxlY3Qgb3B0aW9uLGRpdi5kdGNjLWRyb3Bkb3duIGRpdi5kdGNjLXNlYXJjaD5kaXYgaW5wdXQgb3B0aW9ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tZHRjYy1zZWFyY2gtaW5wdXRfYmFja2dyb3VuZC1jb2xvcil9ZGl2LmR0Y2MtZHJvcGRvd24gZGl2LmR0Y2Mtc2VhcmNoPmRpdiBpbnB1dCxkaXYuZHRjYy1kcm9wZG93biBkaXYuZHRjYy1zZWFyY2g+ZGl2IGRpdi5kdGNjLXNlYXJjaC1pY29ue21hcmdpbi10b3A6dmFyKC0tZHRjYy1zZWFyY2gtaW5wdXRfbWFyZ2luLXRvcCl9ZGl2LmR0Y2MtZHJvcGRvd24gZGl2LmR0Y2Mtc2VhcmNoPmRpdiBpbnB1dHtwYWRkaW5nLXJpZ2h0OnZhcigtLWR0Y2Mtc2VhcmNoLWlucHV0X3BhZGRpbmctcmlnaHQpfWRpdi5kdGNjLWRyb3Bkb3duIGRpdi5kdGNjLXNlYXJjaD5kaXYgc3Bhbi5kdGNjLXNlYXJjaC1jbGVhcntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDp2YXIoLS1kdGNjLXNlYXJjaC1jbGVhcl9yaWdodCk7Ym90dG9tOnZhcigtLWR0Y2Mtc2VhcmNoLWNsZWFyX2JvdHRvbSk7d2lkdGg6MTRweDtjdXJzb3I6cG9pbnRlcn1kaXYuZHRjYy1kcm9wZG93biBkaXYuZHRjYy1zZWFyY2g6bm90KC5kdGNjLXNlYXJjaF9hY3RpdmUpIHNwYW4uZHRjYy1zZWFyY2gtY2xlYXJ7ZGlzcGxheTpub25lfWRpdi5kdGNjLWRyb3Bkb3duIGRpdi5kdGNjLWxpc3QgZGl2LmR0Y2MtbGlzdC10aXRsZXtwYWRkaW5nOnZhcigtLWR0Y2MtZHJvcGRvd24tYnV0dG9uX3BhZGRpbmcpO2ZvbnQtc3R5bGU6aXRhbGljfWRpdi5kdGNjLWRyb3Bkb3duIGRpdi5kdGNjLWxpc3QgZGl2LmR0Y2MtbGlzdC10aXRsZTplbXB0eXtkaXNwbGF5Om5vbmV9ZGl2LmR0Y2MtZHJvcGRvd24gZGl2LmR0Y2MtbGlzdCBkaXYuZHRjYy1saXN0LWNvbnRyb2xze2Rpc3BsYXk6Z3JpZDtwYWRkaW5nOnZhcigtLWR0Y2MtZHJvcGRvd24tYnV0dG9uX3BhZGRpbmcpO2dhcDouNWVtfWRpdi5kdGNjLWRyb3Bkb3duIGRpdi5kdGNjLWxpc3QgZGl2LmR0Y2MtbGlzdC1jb250cm9sczplbXB0eXtkaXNwbGF5Om5vbmV9ZGl2LmR0Y2MtZHJvcGRvd24gZGl2LmR0Y2MtbGlzdCBkaXYuZHRjYy1saXN0LWNvbnRyb2xzIGJ1dHRvbi5kdGNjLWxpc3Qtc2VsZWN0QWxsLGRpdi5kdGNjLWRyb3Bkb3duIGRpdi5kdGNjLWxpc3QgZGl2LmR0Y2MtbGlzdC1jb250cm9scyBidXR0b24uZHRjYy1saXN0LXNlbGVjdE5vbmV7d2lkdGg6MTAwJTtwYWRkaW5nOjA7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtjb2xvcjppbmhlcml0O2ZvbnQtc2l6ZTo4MCU7dGV4dC1hbGlnbjpjZW50ZXI7Y3Vyc29yOnBvaW50ZXJ9ZGl2LmR0Y2MtZHJvcGRvd24gZGl2LmR0Y2MtbGlzdCBkaXYuZHRjYy1saXN0LWNvbnRyb2xzIGJ1dHRvbi5kdGNjLWxpc3Qtc2VsZWN0QWxsOmhvdmVyLGRpdi5kdGNjLWRyb3Bkb3duIGRpdi5kdGNjLWxpc3QgZGl2LmR0Y2MtbGlzdC1jb250cm9scyBidXR0b24uZHRjYy1saXN0LXNlbGVjdE5vbmU6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX1kaXYuZHRjYy1kcm9wZG93biBkaXYuZHRjYy1saXN0IGRpdi5kdGNjLWxpc3QtY29udHJvbHMgYnV0dG9uLmR0Y2MtbGlzdC1zZWxlY3RBbGwgc3BhbixkaXYuZHRjYy1kcm9wZG93biBkaXYuZHRjYy1saXN0IGRpdi5kdGNjLWxpc3QtY29udHJvbHMgYnV0dG9uLmR0Y2MtbGlzdC1zZWxlY3ROb25lIHNwYW57ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZy1sZWZ0Oi4yNWVtfWRpdi5kdGNjLWRyb3Bkb3duIGRpdi5kdGNjLWxpc3QgZGl2LmR0Y2MtbGlzdC1jb250cm9scyBpbnB1dC5kdGNjLWxpc3Qtc2VhcmNoe2JveC1zaXppbmc6Ym9yZGVyLWJveDtncmlkLWNvbHVtbjoxLzM7d2lkdGg6MTAwJTtwYWRkaW5nOnZhcigtLWR0Y2Mtc2VhcmNoLWlucHV0X3BhZGRpbmcpO2JvcmRlcjp2YXIoLS1kdGNjLXNlYXJjaC1pbnB1dF9ib3JkZXIpO2JvcmRlci1yYWRpdXM6dmFyKC0tZHRjYy1zZWFyY2gtaW5wdXRfYm9yZGVyLXJhZGl1cyk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kdGNjLXNlYXJjaC1pbnB1dF9iYWNrZ3JvdW5kLWNvbG9yKX1kaXYuZHRjYy1kcm9wZG93biBkaXYuZHRjYy1saXN0IGRpdi5kdGNjLWxpc3QtYnV0dG9uc3ttYXgtaGVpZ2h0OnZhcigtLWR0Y2MtbGlzdC1idXR0b25zX21heC1oZWlnaHQpO292ZXJmbG93OmF1dG87YmFja2dyb3VuZDp2YXIoLS1kdGNjLWxpc3QtYnV0dG9uc19iYWNrZ3JvdW5kKX1kaXYuZHRjYy1kcm9wZG93biBkaXYuZHRjYy1saXN0IHNwYW4uZHRjYy1idXR0b24taWNvbjplbXB0eXtkaXNwbGF5Om5vbmV9dGFibGUuZGF0YVRhYmxlIHRoZWFkIHRyPi5kdGZjLWZpeGVkLXN0YXJ0LHRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0cj4uZHRmYy1maXhlZC1lbmQsdGFibGUuZGF0YVRhYmxlIHRmb290IHRyPi5kdGZjLWZpeGVkLXN0YXJ0LHRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0cj4uZHRmYy1maXhlZC1lbmR7dG9wOjA7Ym90dG9tOjA7ei1pbmRleDozO2JhY2tncm91bmQtY29sb3I6I2ZmZn10YWJsZS5kYXRhVGFibGUgdGJvZHkgdHI+LmR0ZmMtZml4ZWQtc3RhcnQsdGFibGUuZGF0YVRhYmxlIHRib2R5IHRyPi5kdGZjLWZpeGVkLWVuZHt6LWluZGV4OjE7YmFja2dyb3VuZC1jb2xvcjojZmZmfXRhYmxlLmRhdGFUYWJsZSB0cj4uZHRmYy1maXhlZC1sZWZ0OmFmdGVyLHRhYmxlLmRhdGFUYWJsZSB0cj4uZHRmYy1maXhlZC1yaWdodDphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDt3aWR0aDoxMHB4O3RyYW5zaXRpb246Ym94LXNoYWRvdyAuM3M7Y29udGVudDoiIjtwb2ludGVyLWV2ZW50czpub25lfXRhYmxlLmRhdGFUYWJsZSB0cj4uZHRmYy1maXhlZC1sZWZ0OmFmdGVye3JpZ2h0OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxMDAlKX10YWJsZS5kYXRhVGFibGUgdHI+LmR0ZmMtZml4ZWQtcmlnaHQ6YWZ0ZXJ7bGVmdDowO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTgwJSl9dGFibGUuZGF0YVRhYmxlLmR0ZmMtc2Nyb2xsaW5nLWxlZnQgdHI+LmR0ZmMtZml4ZWQtbGVmdDphZnRlcntib3gtc2hhZG93Omluc2V0IDEwcHggMCA4cHggLThweCAjMDAwM310YWJsZS5kYXRhVGFibGUuZHRmYy1zY3JvbGxpbmctcmlnaHQgdHI+LmR0ZmMtZml4ZWQtcmlnaHQ6YWZ0ZXJ7Ym94LXNoYWRvdzppbnNldCAtMTBweCAwIDhweCAtOHB4ICMwMDAzfXRhYmxlLmRhdGFUYWJsZS5kdGZjLXNjcm9sbGluZy1yaWdodCB0cj4uZHRmYy1maXhlZC1yaWdodCsuZHRmYy1maXhlZC1yaWdodDphZnRlcntib3gtc2hhZG93Om5vbmV9ZGl2LmR0LXNjcm9sbCxkaXYuZHRmaC1mbG9hdGluZ3BhcmVudHtwb3NpdGlvbjpyZWxhdGl2ZX1kaXYuZHQtc2Nyb2xsIGRpdi5kdGZjLXRvcC1ibG9ja2VyLGRpdi5kdC1zY3JvbGwgZGl2LmR0ZmMtYm90dG9tLWJsb2NrZXIsZGl2LmR0ZmgtZmxvYXRpbmdwYXJlbnQgZGl2LmR0ZmMtdG9wLWJsb2NrZXIsZGl2LmR0ZmgtZmxvYXRpbmdwYXJlbnQgZGl2LmR0ZmMtYm90dG9tLWJsb2NrZXJ7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjojZmZmfWh0bWwuZGFyayB0YWJsZS5kYXRhVGFibGUgdGhlYWQgdHI+LmR0ZmMtZml4ZWQtc3RhcnQsaHRtbC5kYXJrIHRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0cj4uZHRmYy1maXhlZC1lbmQsaHRtbC5kYXJrIHRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0cj4uZHRmYy1maXhlZC1zdGFydCxodG1sLmRhcmsgdGFibGUuZGF0YVRhYmxlIHRmb290IHRyPi5kdGZjLWZpeGVkLWVuZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWR0LWh0bWwtYmFja2dyb3VuZCl9aHRtbC5kYXJrIHRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0cj4uZHRmYy1maXhlZC1zdGFydCxodG1sLmRhcmsgdGFibGUuZGF0YVRhYmxlIHRib2R5IHRyPi5kdGZjLWZpeGVkLWVuZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWR0LWh0bWwtYmFja2dyb3VuZCl9aHRtbC5kYXJrIHRhYmxlLmRhdGFUYWJsZS5kdGZjLXNjcm9sbGluZy1sZWZ0IHRib2R5PnRyPi5kdGZjLWZpeGVkLWxlZnQ6YWZ0ZXJ7Ym94LXNoYWRvdzppbnNldCAxMHB4IDAgOHB4IC04cHggIzAwMDAwMDRkfWh0bWwuZGFyayB0YWJsZS5kYXRhVGFibGUuZHRmYy1zY3JvbGxpbmctcmlnaHQgdGJvZHk+dHI+LmR0ZmMtZml4ZWQtcmlnaHQ6YWZ0ZXJ7Ym94LXNoYWRvdzppbnNldCAtMTBweCAwIDhweCAtOHB4ICMwMDAwMDA0ZH1odG1sLmRhcmsgdGFibGUuZGF0YVRhYmxlLmR0ZmMtc2Nyb2xsaW5nLXJpZ2h0IHRib2R5PnRyPi5kdGZjLWZpeGVkLXJpZ2h0Ky5kdGZjLWZpeGVkLXJpZ2h0OmFmdGVye2JveC1zaGFkb3c6bm9uZX1odG1sLmRhcmsgZGl2LmR0ZmMtdG9wLWJsb2NrZXIsaHRtbC5kYXJrIGRpdi5kdGZjLWJvdHRvbS1ibG9ja2Vye2JhY2tncm91bmQtY29sb3I6dmFyKC0tZHQtaHRtbC1iYWNrZ3JvdW5kKX10YWJsZS5kYXRhVGFibGUgdGJvZHkgdGguZm9jdXMsdGFibGUuZGF0YVRhYmxlIHRib2R5IHRkLmZvY3Vze291dGxpbmU6MnB4IHNvbGlkICMzNmY7b3V0bGluZS1vZmZzZXQ6LTJweH10YWJsZS5kYXRhVGFibGUgdGJvZHkgdHIuc2VsZWN0ZWQgdGguZm9jdXMsdGFibGUuZGF0YVRhYmxlIHRib2R5IHRyLnNlbGVjdGVkIHRkLmZvY3Vze291dGxpbmUtY29sb3I6IzAzY31kaXYuZHRrLWZvY3VzLWFsdCB0YWJsZS5kYXRhVGFibGUgdGJvZHkgdGguZm9jdXMsZGl2LmR0ay1mb2N1cy1hbHQgdGFibGUuZGF0YVRhYmxlIHRib2R5IHRkLmZvY3Vze291dGxpbmU6MnB4IHNvbGlkICNmZjhiMzM7b3V0bGluZS1vZmZzZXQ6LTJweH1odG1sLmRhcmsgdGFibGUuZGF0YVRhYmxlIHRib2R5IHRoLmZvY3VzLGh0bWwuZGFyayB0YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQuZm9jdXN7b3V0bGluZS1jb2xvcjojMGQ2ZWZkfWh0bWwuZGFyayB0YWJsZS5kYXRhVGFibGUgdGJvZHkgdHIuc2VsZWN0ZWQgdGguZm9jdXMsaHRtbC5kYXJrIHRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0ci5zZWxlY3RlZCB0ZC5mb2N1c3tvdXRsaW5lLWNvbG9yOiMwMTQzYTN9aHRtbC5kYXJrIGRpdi5kdGstZm9jdXMtYWx0IHRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0aC5mb2N1cyxodG1sLmRhcmsgZGl2LmR0ay1mb2N1cy1hbHQgdGFibGUuZGF0YVRhYmxlIHRib2R5IHRkLmZvY3Vze291dGxpbmUtY29sb3I6I2ZmOGIzM310YWJsZS5kYXRhVGFibGUgdHIuZHRyZy1ncm91cCB0aHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwMDAxYTt0ZXh0LWFsaWduOmxlZnR9dGFibGUuZGF0YVRhYmxlIHRyLmR0cmctZ3JvdXAuZHRyZy1sZXZlbC0wIHRoe2ZvbnQtd2VpZ2h0OjcwMH10YWJsZS5kYXRhVGFibGUgdHIuZHRyZy1ncm91cC5kdHJnLWxldmVsLTEgdGgsdGFibGUuZGF0YVRhYmxlIHRyLmR0cmctZ3JvdXAuZHRyZy1sZXZlbC0yIHRoLHRhYmxlLmRhdGFUYWJsZSB0ci5kdHJnLWdyb3VwLmR0cmctbGV2ZWwtMyB0aCx0YWJsZS5kYXRhVGFibGUgdHIuZHRyZy1ncm91cC5kdHJnLWxldmVsLTQgdGgsdGFibGUuZGF0YVRhYmxlIHRyLmR0cmctZ3JvdXAuZHRyZy1sZXZlbC01IHRoe2JhY2tncm91bmQtY29sb3I6IzAwMDAwMDBkO3BhZGRpbmctdG9wOi4yNWVtO3BhZGRpbmctYm90dG9tOi4yNWVtO3BhZGRpbmctbGVmdDoyZW07Zm9udC1zaXplOi45ZW19dGFibGUuZGF0YVRhYmxlIHRyLmR0cmctZ3JvdXAuZHRyZy1sZXZlbC0yIHRoe2JhY2tncm91bmQtY29sb3I6IzAwMDAwMDAzO3BhZGRpbmctbGVmdDoyLjVlbX10YWJsZS5kYXRhVGFibGUgdHIuZHRyZy1ncm91cC5kdHJnLWxldmVsLTMgdGh7YmFja2dyb3VuZC1jb2xvcjojMDAwMDAwMDM7cGFkZGluZy1sZWZ0OjNlbX10YWJsZS5kYXRhVGFibGUgdHIuZHRyZy1ncm91cC5kdHJnLWxldmVsLTQgdGh7YmFja2dyb3VuZC1jb2xvcjojMDAwMDAwMDM7cGFkZGluZy1sZWZ0OjMuNWVtfXRhYmxlLmRhdGFUYWJsZSB0ci5kdHJnLWdyb3VwLmR0cmctbGV2ZWwtNSB0aHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwMDAwMztwYWRkaW5nLWxlZnQ6NGVtfWh0bWwuZGFyayB0YWJsZS5kYXRhVGFibGUgdHIuZHRyZy1ncm91cCB0aHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYxYX1odG1sLmRhcmsgdGFibGUuZGF0YVRhYmxlIHRyLmR0cmctZ3JvdXAuZHRyZy1sZXZlbC0xIHRoe2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjBkfWh0bWwuZGFyayB0YWJsZS5kYXRhVGFibGUgdHIuZHRyZy1ncm91cC5kdHJnLWxldmVsLTIgdGgsaHRtbC5kYXJrIHRhYmxlLmRhdGFUYWJsZSB0ci5kdHJnLWdyb3VwLmR0cmctbGV2ZWwtMyB0aCxodG1sLmRhcmsgdGFibGUuZGF0YVRhYmxlIHRyLmR0cmctZ3JvdXAuZHRyZy1sZXZlbC00IHRoLGh0bWwuZGFyayB0YWJsZS5kYXRhVGFibGUgdHIuZHRyZy1ncm91cC5kdHJnLWxldmVsLTUgdGh7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMDN9ZGl2LmR0LWRhdGV0aW1le3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQtY29sb3I6I2ZmZjt6LWluZGV4OjIwNTA7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JveC1zaGFkb3c6MCA1cHggMTVweCAtNXB4ICMwMDAwMDA4MDtwYWRkaW5nOjZweCAyMHB4O3dpZHRoOjI3NXB4O2JvcmRlci1yYWRpdXM6NXB4fWRpdi5kdC1kYXRldGltZS5pbmxpbmV7cG9zaXRpb246cmVsYXRpdmU7Ym94LXNoYWRvdzpub25lfWRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtdGl0bGV7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzo1cHggMCAzcHh9ZGl2LmR0LWRhdGV0aW1lIGRpdi5kdC1kYXRldGltZS1idXR0b25ze3RleHQtYWxpZ246Y2VudGVyfWRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtYnV0dG9ucyBhe2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6MCAuNWVtIC41ZW07bWFyZ2luOjA7Zm9udC1zaXplOi45ZW19ZGl2LmR0LWRhdGV0aW1lIGRpdi5kdC1kYXRldGltZS1idXR0b25zIGE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX1kaXYuZHQtZGF0ZXRpbWUgdGFibGV7Ym9yZGVyLXNwYWNpbmc6MDttYXJnaW46MTJweCAwO3dpZHRoOjEwMCV9ZGl2LmR0LWRhdGV0aW1lIHRhYmxlLmR0LWRhdGV0aW1lLXRhYmxlLW5vc3BhY2V7bWFyZ2luLXRvcDotMTJweH1kaXYuZHQtZGF0ZXRpbWUgdGFibGUgdGh7Zm9udC1zaXplOi44ZW07Y29sb3I6Izc3Nztmb250LXdlaWdodDo0MDA7d2lkdGg6MTQuMjg1NzE0Mjg2JTtwYWRkaW5nOjAgMCA0cHg7dGV4dC1hbGlnbjpjZW50ZXJ9ZGl2LmR0LWRhdGV0aW1lIHRhYmxlIHRke2ZvbnQtc2l6ZTouOWVtO2NvbG9yOiM0NDQ7cGFkZGluZzowfWRpdi5kdC1kYXRldGltZSB0YWJsZSB0ZC5zZWxlY3RhYmxle3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQ6I2Y1ZjVmNX1kaXYuZHQtZGF0ZXRpbWUgdGFibGUgdGQuc2VsZWN0YWJsZS5kaXNhYmxlZCxkaXYuZHQtZGF0ZXRpbWUgdGFibGUgdGQuc2VsZWN0YWJsZS5kaXNhYmxlZCBidXR0b246aG92ZXJ7Y29sb3I6I2FhYTtiYWNrZ3JvdW5kOiNmZmZ9ZGl2LmR0LWRhdGV0aW1lIHRhYmxlIHRkLnNlbGVjdGFibGUubm93e2JhY2tncm91bmQtY29sb3I6I2RkZH1kaXYuZHQtZGF0ZXRpbWUgdGFibGUgdGQuc2VsZWN0YWJsZS5ub3cgYnV0dG9ue2ZvbnQtd2VpZ2h0OjcwMH1kaXYuZHQtZGF0ZXRpbWUgdGFibGUgdGQuc2VsZWN0YWJsZS5zZWxlY3RlZCBidXR0b257YmFja2dyb3VuZDojNGU2Y2EzO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czoycHh9ZGl2LmR0LWRhdGV0aW1lIHRhYmxlIHRkLnNlbGVjdGFibGUgYnV0dG9uOmhvdmVye2JhY2tncm91bmQ6I2ZmODAwMDtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6MnB4fWRpdi5kdC1kYXRldGltZSB0YWJsZSB0ZC5kdC1kYXRldGltZS13ZWVre2ZvbnQtc2l6ZTouN2VtfWRpdi5kdC1kYXRldGltZSB0YWJsZSBidXR0b257d2lkdGg6MTAwJTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtmb250LXNpemU6aW5oZXJpdDtjb2xvcjppbmhlcml0O3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6NHB4IDA7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luOjB9ZGl2LmR0LWRhdGV0aW1lIHRhYmxlIGJ1dHRvbiBzcGFue2Rpc3BsYXk6aW5saW5lLWJsb2NrO21pbi13aWR0aDoxNHB4O3RleHQtYWxpZ246cmlnaHR9ZGl2LmR0LWRhdGV0aW1lIHRhYmxlLndlZWtOdW1iZXIgdGh7d2lkdGg6MTIuNSV9ZGl2LmR0LWRhdGV0aW1lIGRpdi5kdC1kYXRldGltZS1jYWxlbmRhciB0YWJsZXttYXJnaW4tdG9wOjB9ZGl2LmR0LWRhdGV0aW1lIGRpdi5kdC1kYXRldGltZS1sYWJlbHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MzBweDtwYWRkaW5nOjVweCA2cHg7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXJ9ZGl2LmR0LWRhdGV0aW1lIGRpdi5kdC1kYXRldGltZS1sYWJlbDpob3Zlcntib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym9yZGVyLXJhZGl1czoycHg7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1fWRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtbGFiZWwgc2VsZWN0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo2cHg7bGVmdDowO2N1cnNvcjpwb2ludGVyO29wYWNpdHk6MH1kaXYuZHQtZGF0ZXRpbWUuaG9yaXpvbnRhbHt3aWR0aDo1NTBweH1kaXYuZHQtZGF0ZXRpbWUuaG9yaXpvbnRhbCBkaXYuZHQtZGF0ZXRpbWUtZGF0ZSxkaXYuZHQtZGF0ZXRpbWUuaG9yaXpvbnRhbCBkaXYuZHQtZGF0ZXRpbWUtdGltZXt3aWR0aDo0OCV9ZGl2LmR0LWRhdGV0aW1lLmhvcml6b250YWwgZGl2LmR0LWRhdGV0aW1lLXRpbWV7bWFyZ2luLWxlZnQ6NCV9ZGl2LmR0LWRhdGV0aW1lIGRpdi5kdC1kYXRldGltZS1kYXRle3Bvc2l0aW9uOnJlbGF0aXZlO2Zsb2F0OmxlZnQ7d2lkdGg6MTAwJX1kaXYuZHQtZGF0ZXRpbWUgZGl2LmR0LWRhdGV0aW1lLXRpbWV7cG9zaXRpb246cmVsYXRpdmU7ZmxvYXQ6bGVmdDt3aWR0aDoxMDAlO3RleHQtYWxpZ246Y2VudGVyfWRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtdGltZT5zcGFue3ZlcnRpY2FsLWFsaWduOm1pZGRsZX1kaXYuZHQtZGF0ZXRpbWUgZGl2LmR0LWRhdGV0aW1lLXRpbWUgdGh7dGV4dC1hbGlnbjpsZWZ0fWRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtdGltZSBkaXYuZHQtZGF0ZXRpbWUtdGltZWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX1kaXYuZHQtZGF0ZXRpbWUgZGl2LmR0LWRhdGV0aW1lLWljb25MZWZ0LGRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtaWNvblJpZ2h0e3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXI7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O29wYWNpdHk6LjM7b3ZlcmZsb3c6aGlkZGVuO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50fWRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtaWNvbkxlZnQ6aG92ZXIsZGl2LmR0LWRhdGV0aW1lIGRpdi5kdC1kYXRldGltZS1pY29uUmlnaHQ6aG92ZXJ7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQtY29sb3I6I2YwZjBmMDtvcGFjaXR5Oi42fWRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtaWNvbkxlZnQgYnV0dG9uLGRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtaWNvblJpZ2h0IGJ1dHRvbntib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3RleHQtaW5kZW50OjMwcHg7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtjdXJzb3I6cG9pbnRlcn1kaXYuZHQtZGF0ZXRpbWUgZGl2LmR0LWRhdGV0aW1lLWljb25MZWZ0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1cHg7bGVmdDo1cHh9ZGl2LmR0LWRhdGV0aW1lIGRpdi5kdC1kYXRldGltZS1pY29uTGVmdCBidXR0b257cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxfWRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtaWNvbkxlZnQ6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjdweDtsZWZ0OjEwcHg7ZGlzcGxheTpibG9jaztjb250ZW50OiIiO2JvcmRlci10b3A6N3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDo3cHggc29saWQgYmxhY2s7Ym9yZGVyLWJvdHRvbTo3cHggc29saWQgdHJhbnNwYXJlbnR9ZGl2LmR0LWRhdGV0aW1lIGRpdi5kdC1kYXRldGltZS1pY29uUmlnaHR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjVweDtyaWdodDo1cHh9ZGl2LmR0LWRhdGV0aW1lIGRpdi5kdC1kYXRldGltZS1pY29uUmlnaHQgYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MX1kaXYuZHQtZGF0ZXRpbWUgZGl2LmR0LWRhdGV0aW1lLWljb25SaWdodDphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6N3B4O2xlZnQ6MTJweDtkaXNwbGF5OmJsb2NrO2NvbnRlbnQ6IiI7Ym9yZGVyLXRvcDo3cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWxlZnQ6N3B4IHNvbGlkIGJsYWNrO2JvcmRlci1ib3R0b206N3B4IHNvbGlkIHRyYW5zcGFyZW50fWRpdi5kdC1kYXRldGltZS1lcnJvcntjbGVhcjpib3RoO3BhZGRpbmc6MCAxZW07bWF4LXdpZHRoOjI0MHB4O2ZvbnQtc2l6ZToxMXB4O2xpbmUtaGVpZ2h0OjEuMjVlbTt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojYjExZjFmfWh0bWwuZGFyayBpbnB1dC5kdC1kYXRldGltZSwgOnJvb3RbZGF0YS10aGVtZT1kYXJrXSBpbnB1dC5kdC1kYXRldGltZSwgOmhvc3RbZGF0YS10aGVtZT1kYXJrXSBpbnB1dC5kdC1kYXRldGltZSwgOnJvb3RbZGF0YS1icy10aGVtZT1kYXJrXSBpbnB1dC5kdC1kYXRldGltZSwgOmhvc3RbZGF0YS1icy10aGVtZT1kYXJrXSBpbnB1dC5kdC1kYXRldGltZXtjb2xvci1zY2hlbWU6ZGFya31odG1sLmRhcmsgZGl2LmR0LWRhdGV0aW1lLCA6cm9vdFtkYXRhLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSwgOmhvc3RbZGF0YS10aGVtZT1kYXJrXSBkaXYuZHQtZGF0ZXRpbWUsIDpyb290W2RhdGEtYnMtdGhlbWU9ZGFya10gZGl2LmR0LWRhdGV0aW1lLCA6aG9zdFtkYXRhLWJzLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZXtib3JkZXI6MXB4IHNvbGlkICM1OTViNWU7YmFja2dyb3VuZC1jb2xvcjojMjEyNTI5O2JveC1zaGFkb3c6M3B4IDRweCAxMHB4IDFweCAjMDAwY31odG1sLmRhcmsgZGl2LmR0LWRhdGV0aW1lIHRhYmxlIHRoLCA6cm9vdFtkYXRhLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSB0YWJsZSB0aCwgOmhvc3RbZGF0YS10aGVtZT1kYXJrXSBkaXYuZHQtZGF0ZXRpbWUgdGFibGUgdGgsIDpyb290W2RhdGEtYnMtdGhlbWU9ZGFya10gZGl2LmR0LWRhdGV0aW1lIHRhYmxlIHRoLCA6aG9zdFtkYXRhLWJzLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSB0YWJsZSB0aHtjb2xvcjojY2NjfWh0bWwuZGFyayBkaXYuZHQtZGF0ZXRpbWUgdGFibGUgdGQsIDpyb290W2RhdGEtdGhlbWU9ZGFya10gZGl2LmR0LWRhdGV0aW1lIHRhYmxlIHRkLCA6aG9zdFtkYXRhLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSB0YWJsZSB0ZCwgOnJvb3RbZGF0YS1icy10aGVtZT1kYXJrXSBkaXYuZHQtZGF0ZXRpbWUgdGFibGUgdGQsIDpob3N0W2RhdGEtYnMtdGhlbWU9ZGFya10gZGl2LmR0LWRhdGV0aW1lIHRhYmxlIHRke2NvbG9yOiNlZWV9aHRtbC5kYXJrIGRpdi5kdC1kYXRldGltZSB0YWJsZSB0ZC5zZWxlY3RhYmxlLCA6cm9vdFtkYXRhLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSB0YWJsZSB0ZC5zZWxlY3RhYmxlLCA6aG9zdFtkYXRhLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSB0YWJsZSB0ZC5zZWxlY3RhYmxlLCA6cm9vdFtkYXRhLWJzLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSB0YWJsZSB0ZC5zZWxlY3RhYmxlLCA6aG9zdFtkYXRhLWJzLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSB0YWJsZSB0ZC5zZWxlY3RhYmxle2JhY2tncm91bmQ6IzM3M2M0MX1odG1sLmRhcmsgZGl2LmR0LWRhdGV0aW1lIHRhYmxlIHRkLnNlbGVjdGFibGUuZGlzYWJsZWQsIDpyb290W2RhdGEtdGhlbWU9ZGFya10gZGl2LmR0LWRhdGV0aW1lIHRhYmxlIHRkLnNlbGVjdGFibGUuZGlzYWJsZWQsIDpob3N0W2RhdGEtdGhlbWU9ZGFya10gZGl2LmR0LWRhdGV0aW1lIHRhYmxlIHRkLnNlbGVjdGFibGUuZGlzYWJsZWQsIDpyb290W2RhdGEtYnMtdGhlbWU9ZGFya10gZGl2LmR0LWRhdGV0aW1lIHRhYmxlIHRkLnNlbGVjdGFibGUuZGlzYWJsZWQsIDpob3N0W2RhdGEtYnMtdGhlbWU9ZGFya10gZGl2LmR0LWRhdGV0aW1lIHRhYmxlIHRkLnNlbGVjdGFibGUuZGlzYWJsZWR7Y29sb3I6I2FhYTtiYWNrZ3JvdW5kOiMxNzFiMWZ9aHRtbC5kYXJrIGRpdi5kdC1kYXRldGltZSB0YWJsZSB0ZC5zZWxlY3RhYmxlLmRpc2FibGVkIGJ1dHRvbjpob3ZlciwgOnJvb3RbZGF0YS10aGVtZT1kYXJrXSBkaXYuZHQtZGF0ZXRpbWUgdGFibGUgdGQuc2VsZWN0YWJsZS5kaXNhYmxlZCBidXR0b246aG92ZXIsIDpob3N0W2RhdGEtdGhlbWU9ZGFya10gZGl2LmR0LWRhdGV0aW1lIHRhYmxlIHRkLnNlbGVjdGFibGUuZGlzYWJsZWQgYnV0dG9uOmhvdmVyLCA6cm9vdFtkYXRhLWJzLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSB0YWJsZSB0ZC5zZWxlY3RhYmxlLmRpc2FibGVkIGJ1dHRvbjpob3ZlciwgOmhvc3RbZGF0YS1icy10aGVtZT1kYXJrXSBkaXYuZHQtZGF0ZXRpbWUgdGFibGUgdGQuc2VsZWN0YWJsZS5kaXNhYmxlZCBidXR0b246aG92ZXJ7Y29sb3I6I2FhYTtiYWNrZ3JvdW5kOiMxNzFiMWZ9aHRtbC5kYXJrIGRpdi5kdC1kYXRldGltZSB0YWJsZSB0ZC5zZWxlY3RhYmxlLm5vdywgOnJvb3RbZGF0YS10aGVtZT1kYXJrXSBkaXYuZHQtZGF0ZXRpbWUgdGFibGUgdGQuc2VsZWN0YWJsZS5ub3csIDpob3N0W2RhdGEtdGhlbWU9ZGFya10gZGl2LmR0LWRhdGV0aW1lIHRhYmxlIHRkLnNlbGVjdGFibGUubm93LCA6cm9vdFtkYXRhLWJzLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSB0YWJsZSB0ZC5zZWxlY3RhYmxlLm5vdywgOmhvc3RbZGF0YS1icy10aGVtZT1kYXJrXSBkaXYuZHQtZGF0ZXRpbWUgdGFibGUgdGQuc2VsZWN0YWJsZS5ub3d7YmFja2dyb3VuZDojNGI1MDU1fWh0bWwuZGFyayBkaXYuZHQtZGF0ZXRpbWUgdGFibGUgdGQuc2VsZWN0YWJsZS5zZWxlY3RlZCBidXR0b24sIDpyb290W2RhdGEtdGhlbWU9ZGFya10gZGl2LmR0LWRhdGV0aW1lIHRhYmxlIHRkLnNlbGVjdGFibGUuc2VsZWN0ZWQgYnV0dG9uLCA6aG9zdFtkYXRhLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSB0YWJsZSB0ZC5zZWxlY3RhYmxlLnNlbGVjdGVkIGJ1dHRvbiwgOnJvb3RbZGF0YS1icy10aGVtZT1kYXJrXSBkaXYuZHQtZGF0ZXRpbWUgdGFibGUgdGQuc2VsZWN0YWJsZS5zZWxlY3RlZCBidXR0b24sIDpob3N0W2RhdGEtYnMtdGhlbWU9ZGFya10gZGl2LmR0LWRhdGV0aW1lIHRhYmxlIHRkLnNlbGVjdGFibGUuc2VsZWN0ZWQgYnV0dG9ue2JhY2tncm91bmQ6IzZlYThmZTtjb2xvcjojMDAwfWh0bWwuZGFyayBkaXYuZHQtZGF0ZXRpbWUgdGFibGUgdGQuc2VsZWN0YWJsZSBidXR0b246aG92ZXIsIDpyb290W2RhdGEtdGhlbWU9ZGFya10gZGl2LmR0LWRhdGV0aW1lIHRhYmxlIHRkLnNlbGVjdGFibGUgYnV0dG9uOmhvdmVyLCA6aG9zdFtkYXRhLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSB0YWJsZSB0ZC5zZWxlY3RhYmxlIGJ1dHRvbjpob3ZlciwgOnJvb3RbZGF0YS1icy10aGVtZT1kYXJrXSBkaXYuZHQtZGF0ZXRpbWUgdGFibGUgdGQuc2VsZWN0YWJsZSBidXR0b246aG92ZXIsIDpob3N0W2RhdGEtYnMtdGhlbWU9ZGFya10gZGl2LmR0LWRhdGV0aW1lIHRhYmxlIHRkLnNlbGVjdGFibGUgYnV0dG9uOmhvdmVye2JhY2tncm91bmQ6I2ZmODAwMDtjb2xvcjojMDAwfWh0bWwuZGFyayBkaXYuZHQtZGF0ZXRpbWUgZGl2LmR0LWRhdGV0aW1lLWxhYmVsOmhvdmVyLCA6cm9vdFtkYXRhLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtbGFiZWw6aG92ZXIsIDpob3N0W2RhdGEtdGhlbWU9ZGFya10gZGl2LmR0LWRhdGV0aW1lIGRpdi5kdC1kYXRldGltZS1sYWJlbDpob3ZlciwgOnJvb3RbZGF0YS1icy10aGVtZT1kYXJrXSBkaXYuZHQtZGF0ZXRpbWUgZGl2LmR0LWRhdGV0aW1lLWxhYmVsOmhvdmVyLCA6aG9zdFtkYXRhLWJzLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtbGFiZWw6aG92ZXJ7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYxYX1odG1sLmRhcmsgZGl2LmR0LWRhdGV0aW1lIGRpdi5kdC1kYXRldGltZS1pY29uTGVmdDpob3ZlciwgaHRtbC5kYXJrIGRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtaWNvblJpZ2h0OmhvdmVyLCBodG1sLmRhcmsgZGl2LmR0LWRhdGV0aW1lIGRpdi5kdC1kYXRldGltZS1pY29uVXA6aG92ZXIsIGh0bWwuZGFyayBkaXYuZHQtZGF0ZXRpbWUgZGl2LmR0LWRhdGV0aW1lLWljb25Eb3duOmhvdmVyLCA6cm9vdFtkYXRhLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtaWNvbkxlZnQ6aG92ZXIsIDpob3N0W2RhdGEtdGhlbWU9ZGFya10gZGl2LmR0LWRhdGV0aW1lIGRpdi5kdC1kYXRldGltZS1pY29uTGVmdDpob3ZlciwgOnJvb3RbZGF0YS10aGVtZT1kYXJrXSBkaXYuZHQtZGF0ZXRpbWUgZGl2LmR0LWRhdGV0aW1lLWljb25SaWdodDpob3ZlciwgOmhvc3RbZGF0YS10aGVtZT1kYXJrXSBkaXYuZHQtZGF0ZXRpbWUgZGl2LmR0LWRhdGV0aW1lLWljb25SaWdodDpob3ZlciwgOnJvb3RbZGF0YS10aGVtZT1kYXJrXSBkaXYuZHQtZGF0ZXRpbWUgZGl2LmR0LWRhdGV0aW1lLWljb25VcDpob3ZlciwgOmhvc3RbZGF0YS10aGVtZT1kYXJrXSBkaXYuZHQtZGF0ZXRpbWUgZGl2LmR0LWRhdGV0aW1lLWljb25VcDpob3ZlciwgOnJvb3RbZGF0YS10aGVtZT1kYXJrXSBkaXYuZHQtZGF0ZXRpbWUgZGl2LmR0LWRhdGV0aW1lLWljb25Eb3duOmhvdmVyLCA6aG9zdFtkYXRhLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtaWNvbkRvd246aG92ZXIsIDpyb290W2RhdGEtYnMtdGhlbWU9ZGFya10gZGl2LmR0LWRhdGV0aW1lIGRpdi5kdC1kYXRldGltZS1pY29uTGVmdDpob3ZlciwgOmhvc3RbZGF0YS1icy10aGVtZT1kYXJrXSBkaXYuZHQtZGF0ZXRpbWUgZGl2LmR0LWRhdGV0aW1lLWljb25MZWZ0OmhvdmVyLCA6cm9vdFtkYXRhLWJzLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtaWNvblJpZ2h0OmhvdmVyLCA6aG9zdFtkYXRhLWJzLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtaWNvblJpZ2h0OmhvdmVyLCA6cm9vdFtkYXRhLWJzLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtaWNvblVwOmhvdmVyLCA6aG9zdFtkYXRhLWJzLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtaWNvblVwOmhvdmVyLCA6cm9vdFtkYXRhLWJzLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtaWNvbkRvd246aG92ZXIsIDpob3N0W2RhdGEtYnMtdGhlbWU9ZGFya10gZGl2LmR0LWRhdGV0aW1lIGRpdi5kdC1kYXRldGltZS1pY29uRG93bjpob3Zlcntib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjFhfWh0bWwuZGFyayBkaXYuZHQtZGF0ZXRpbWUgZGl2LmR0LWRhdGV0aW1lLWljb25MZWZ0OmFmdGVyLCA6cm9vdFtkYXRhLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtaWNvbkxlZnQ6YWZ0ZXIsIDpob3N0W2RhdGEtdGhlbWU9ZGFya10gZGl2LmR0LWRhdGV0aW1lIGRpdi5kdC1kYXRldGltZS1pY29uTGVmdDphZnRlciwgOnJvb3RbZGF0YS1icy10aGVtZT1kYXJrXSBkaXYuZHQtZGF0ZXRpbWUgZGl2LmR0LWRhdGV0aW1lLWljb25MZWZ0OmFmdGVyLCA6aG9zdFtkYXRhLWJzLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtaWNvbkxlZnQ6YWZ0ZXJ7Ym9yZGVyLXJpZ2h0LWNvbG9yOiNmZmZ9aHRtbC5kYXJrIGRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtaWNvblJpZ2h0OmFmdGVyLCA6cm9vdFtkYXRhLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtaWNvblJpZ2h0OmFmdGVyLCA6aG9zdFtkYXRhLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtaWNvblJpZ2h0OmFmdGVyLCA6cm9vdFtkYXRhLWJzLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtaWNvblJpZ2h0OmFmdGVyLCA6aG9zdFtkYXRhLWJzLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSBkaXYuZHQtZGF0ZXRpbWUtaWNvblJpZ2h0OmFmdGVye2JvcmRlci1sZWZ0LWNvbG9yOiNmZmZ9aHRtbC5kYXJrIGRpdi5kdC1kYXRldGltZSBzZWxlY3QsIDpyb290W2RhdGEtdGhlbWU9ZGFya10gZGl2LmR0LWRhdGV0aW1lIHNlbGVjdCwgOmhvc3RbZGF0YS10aGVtZT1kYXJrXSBkaXYuZHQtZGF0ZXRpbWUgc2VsZWN0LCA6cm9vdFtkYXRhLWJzLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZSBzZWxlY3QsIDpob3N0W2RhdGEtYnMtdGhlbWU9ZGFya10gZGl2LmR0LWRhdGV0aW1lIHNlbGVjdHtjb2xvci1zY2hlbWU6ZGFya31odG1sLmRhcmsgZGl2LmR0LWRhdGV0aW1lLWVycm9yLCA6cm9vdFtkYXRhLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZS1lcnJvciwgOmhvc3RbZGF0YS10aGVtZT1kYXJrXSBkaXYuZHQtZGF0ZXRpbWUtZXJyb3IsIDpyb290W2RhdGEtYnMtdGhlbWU9ZGFya10gZGl2LmR0LWRhdGV0aW1lLWVycm9yLCA6aG9zdFtkYXRhLWJzLXRoZW1lPWRhcmtdIGRpdi5kdC1kYXRldGltZS1lcnJvcntjb2xvcjojYjExZjFmfWRpdi5kdC1idXR0b24tY29sbGVjdGlvbntvdmVyZmxvdzp2aXNpYmxlIWltcG9ydGFudDt6LWluZGV4OjIwMDIhaW1wb3J0YW50fWRpdi5kdC1idXR0b24tY29sbGVjdGlvbiBkaXYuZHRzYi1zZWFyY2hCdWlsZGVye2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nLWxlZnQ6MWVtIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OjFlbSFpbXBvcnRhbnR9ZGl2LmR0LWJ1dHRvbi1jb2xsZWN0aW9uLmR0Yi1jb2xsZWN0aW9uLWNsb3NlYWJsZSBkaXYuZHRzYi10aXRsZVJvd3twYWRkaW5nLXJpZ2h0OjQwcHh9LmR0c2ItZ3JleXNjYWxle2JvcmRlcjoxcHggc29saWQgI2NlY2VjZSFpbXBvcnRhbnR9ZGl2LmR0c2ItbG9naWNDb250YWluZXIgLmR0c2ItZ3JleXNjYWxle2JvcmRlcjpub25lIWltcG9ydGFudH1kaXYuZHRzYi1zZWFyY2hCdWlsZGVye2p1c3RpZnktY29udGVudDpzcGFjZS1ldmVubHk7Y3Vyc29yOmRlZmF1bHQ7bWFyZ2luLWJvdHRvbToxZW07dGV4dC1hbGlnbjpsZWZ0O3dpZHRoOjEwMCV9ZGl2LmR0c2Itc2VhcmNoQnVpbGRlciBidXR0b24uZHRzYi1idXR0b24sZGl2LmR0c2Itc2VhcmNoQnVpbGRlciBzZWxlY3R7Zm9udC1zaXplOjFlbX1kaXYuZHRzYi1zZWFyY2hCdWlsZGVyIGRpdi5kdHNiLXRpdGxlUm93e2p1c3RpZnktY29udGVudDpzcGFjZS1ldmVubHk7bWFyZ2luLWJvdHRvbTouNWVtfWRpdi5kdHNiLXNlYXJjaEJ1aWxkZXIgZGl2LmR0c2ItdGl0bGVSb3cgZGl2LmR0c2ItdGl0bGV7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZy10b3A6MTRweH1kaXYuZHRzYi1zZWFyY2hCdWlsZGVyIGRpdi5kdHNiLXRpdGxlUm93IGRpdi5kdHNiLXRpdGxlOmVtcHR5e2Rpc3BsYXk6aW5saW5lfWRpdi5kdHNiLXNlYXJjaEJ1aWxkZXIgZGl2LmR0c2ItdGl0bGVSb3cgYnV0dG9uLmR0c2ItY2xlYXJBbGx7ZmxvYXQ6cmlnaHQ7bWFyZ2luLWJvdHRvbTouOGVtfWRpdi5kdHNiLXNlYXJjaEJ1aWxkZXIgZGl2LmR0c2ItdmVydGljYWwgLmR0c2ItdmFsdWUsZGl2LmR0c2Itc2VhcmNoQnVpbGRlciBkaXYuZHRzYi12ZXJ0aWNhbCAuZHRzYi1kYXRhLGRpdi5kdHNiLXNlYXJjaEJ1aWxkZXIgZGl2LmR0c2ItdmVydGljYWwgLmR0c2ItY29uZGl0aW9ue2Rpc3BsYXk6YmxvY2t9ZGl2LmR0c2Itc2VhcmNoQnVpbGRlciBkaXYuZHRzYi1ncm91cHtwb3NpdGlvbjpyZWxhdGl2ZTtjbGVhcjpib3RoO21hcmdpbi1ib3R0b206LjhlbX1kaXYuZHRzYi1zZWFyY2hCdWlsZGVyIGRpdi5kdHNiLWdyb3VwIGJ1dHRvbi5kdHNiLXNlYXJjaHtmbG9hdDpyaWdodH1kaXYuZHRzYi1zZWFyY2hCdWlsZGVyIGRpdi5kdHNiLWdyb3VwIGJ1dHRvbi5kdHNiLWNsZWFyR3JvdXB7bWFyZ2luOjJweDt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjB9ZGl2LmR0c2Itc2VhcmNoQnVpbGRlciBkaXYuZHRzYi1ncm91cCBkaXYuZHRzYi1sb2dpY0NvbnRhaW5lcnstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpOy1tb3otdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7LW8tdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO3Bvc2l0aW9uOmFic29sdXRlO21hcmdpbi10b3A6LjhlbTttYXJnaW4tcmlnaHQ6LjhlbX1kaXYuZHRzYi1zZWFyY2hCdWlsZGVyIGRpdi5kdHNiLWdyb3VwIGRpdi5kdHNiLWNyaXRlcmlhe21hcmdpbi1ib3R0b206LjhlbTtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnN0YXJ0O2ZsZXgtZmxvdzpyb3cgd3JhcH1kaXYuZHRzYi1zZWFyY2hCdWlsZGVyIGRpdi5kdHNiLWdyb3VwIGRpdi5kdHNiLWNyaXRlcmlhIHNlbGVjdC5kdHNiLWRyb3BEb3duLGRpdi5kdHNiLXNlYXJjaEJ1aWxkZXIgZGl2LmR0c2ItZ3JvdXAgZGl2LmR0c2ItY3JpdGVyaWEgaW5wdXQuZHRzYi1pbnB1dHtwYWRkaW5nOi40ZW07bWFyZ2luLXJpZ2h0Oi44ZW07bWluLXdpZHRoOjVlbTttYXgtd2lkdGg6MjBlbTtjb2xvcjppbmhlcml0O2ZvbnQtc2l6ZToxZW19ZGl2LmR0c2Itc2VhcmNoQnVpbGRlciBkaXYuZHRzYi1ncm91cCBkaXYuZHRzYi1jcml0ZXJpYSBzZWxlY3QuZHRzYi1kcm9wRG93biBvcHRpb24uZHRzYi1ub3RJdGFsaWMsZGl2LmR0c2Itc2VhcmNoQnVpbGRlciBkaXYuZHRzYi1ncm91cCBkaXYuZHRzYi1jcml0ZXJpYSBpbnB1dC5kdHNiLWlucHV0IG9wdGlvbi5kdHNiLW5vdEl0YWxpY3tmb250LXN0eWxlOm5vcm1hbH1kaXYuZHRzYi1zZWFyY2hCdWlsZGVyIGRpdi5kdHNiLWdyb3VwIGRpdi5kdHNiLWNyaXRlcmlhIHNlbGVjdC5kdHNiLWl0YWxpY3tmb250LXN0eWxlOml0YWxpY31kaXYuZHRzYi1zZWFyY2hCdWlsZGVyIGRpdi5kdHNiLWdyb3VwIGRpdi5kdHNiLWNyaXRlcmlhIGRpdi5kdHNiLWlucHV0Q29udHtmbGV4OjE7d2hpdGUtc3BhY2U6bm93cmFwfWRpdi5kdHNiLXNlYXJjaEJ1aWxkZXIgZGl2LmR0c2ItZ3JvdXAgZGl2LmR0c2ItY3JpdGVyaWEgZGl2LmR0c2ItaW5wdXRDb250IHNwYW4uZHRzYi1qb2luZXJ7bWFyZ2luLXJpZ2h0Oi44ZW19ZGl2LmR0c2Itc2VhcmNoQnVpbGRlciBkaXYuZHRzYi1ncm91cCBkaXYuZHRzYi1jcml0ZXJpYSBkaXYuZHRzYi1pbnB1dENvbnQgaW5wdXQuZHRzYi12YWx1ZXt3aWR0aDozMyV9ZGl2LmR0c2Itc2VhcmNoQnVpbGRlciBkaXYuZHRzYi1ncm91cCBkaXYuZHRzYi1jcml0ZXJpYSBkaXYuZHRzYi1pbnB1dENvbnQgc2VsZWN0LGRpdi5kdHNiLXNlYXJjaEJ1aWxkZXIgZGl2LmR0c2ItZ3JvdXAgZGl2LmR0c2ItY3JpdGVyaWEgZGl2LmR0c2ItaW5wdXRDb250IGlucHV0e2hlaWdodDoxMDAlO2JveC1zaXppbmc6Ym9yZGVyLWJveH1kaXYuZHRzYi1zZWFyY2hCdWlsZGVyIGRpdi5kdHNiLWdyb3VwIGRpdi5kdHNiLWNyaXRlcmlhIGRpdi5kdHNiLWJ1dHRvbkNvbnRhaW5lcnttYXJnaW4tbGVmdDphdXRvO2Rpc3BsYXk6aW5saW5lLWJsb2NrfWRpdi5kdHNiLXNlYXJjaEJ1aWxkZXIgZGl2LmR0c2ItZ3JvdXAgZGl2LmR0c2ItY3JpdGVyaWEgZGl2LmR0c2ItYnV0dG9uQ29udGFpbmVyIGJ1dHRvbi5kdHNiLWRlbGV0ZSxkaXYuZHRzYi1zZWFyY2hCdWlsZGVyIGRpdi5kdHNiLWdyb3VwIGRpdi5kdHNiLWNyaXRlcmlhIGRpdi5kdHNiLWJ1dHRvbkNvbnRhaW5lciBidXR0b24uZHRzYi1yaWdodCxkaXYuZHRzYi1zZWFyY2hCdWlsZGVyIGRpdi5kdHNiLWdyb3VwIGRpdi5kdHNiLWNyaXRlcmlhIGRpdi5kdHNiLWJ1dHRvbkNvbnRhaW5lciBidXR0b24uZHRzYi1sZWZ0e21hcmdpbi1yaWdodDouOGVtfWRpdi5kdHNiLXNlYXJjaEJ1aWxkZXIgZGl2LmR0c2ItZ3JvdXAgZGl2LmR0c2ItY3JpdGVyaWEgZGl2LmR0c2ItYnV0dG9uQ29udGFpbmVyIGJ1dHRvbi5kdHNiLWRlbGV0ZTpsYXN0LWNoaWxkLGRpdi5kdHNiLXNlYXJjaEJ1aWxkZXIgZGl2LmR0c2ItZ3JvdXAgZGl2LmR0c2ItY3JpdGVyaWEgZGl2LmR0c2ItYnV0dG9uQ29udGFpbmVyIGJ1dHRvbi5kdHNiLXJpZ2h0Omxhc3QtY2hpbGQsZGl2LmR0c2Itc2VhcmNoQnVpbGRlciBkaXYuZHRzYi1ncm91cCBkaXYuZHRzYi1jcml0ZXJpYSBkaXYuZHRzYi1idXR0b25Db250YWluZXIgYnV0dG9uLmR0c2ItbGVmdDpsYXN0LWNoaWxke21hcmdpbi1yaWdodDowfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU1MHB4KXtkaXYuZHRzYi1zZWFyY2hCdWlsZGVyIGRpdi5kdHNiLWdyb3VwIGRpdi5kdHNiLWNyaXRlcmlhe2Rpc3BsYXk6ZmxleDtmbGV4LWZsb3c6bm9uZTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OnN0YXJ0O3BhZGRpbmctcmlnaHQ6Y2FsYygzNXB4ICsgLjhlbSk7bWFyZ2luLWJvdHRvbTowfWRpdi5kdHNiLXNlYXJjaEJ1aWxkZXIgZGl2LmR0c2ItZ3JvdXAgZGl2LmR0c2ItY3JpdGVyaWE6bm90KDpmaXJzdC1jaGlsZCksZGl2LmR0c2Itc2VhcmNoQnVpbGRlciBkaXYuZHRzYi1ncm91cCBkaXYuZHRzYi1jcml0ZXJpYTpub3QoOm50aC1jaGlsZCgyKSksZGl2LmR0c2Itc2VhcmNoQnVpbGRlciBkaXYuZHRzYi1ncm91cCBkaXYuZHRzYi1jcml0ZXJpYTpub3QoOmxhc3QtY2hpbGQpe3BhZGRpbmctdG9wOi44ZW19ZGl2LmR0c2Itc2VhcmNoQnVpbGRlciBkaXYuZHRzYi1ncm91cCBkaXYuZHRzYi1jcml0ZXJpYTpmaXJzdC1jaGlsZCxkaXYuZHRzYi1zZWFyY2hCdWlsZGVyIGRpdi5kdHNiLWdyb3VwIGRpdi5kdHNiLWNyaXRlcmlhOm50aC1jaGlsZCgyKSxkaXYuZHRzYi1zZWFyY2hCdWlsZGVyIGRpdi5kdHNiLWdyb3VwIGRpdi5kdHNiLWNyaXRlcmlhOmxhc3QtY2hpbGR7cGFkZGluZy10b3A6MH1kaXYuZHRzYi1zZWFyY2hCdWlsZGVyIGRpdi5kdHNiLWdyb3VwIGRpdi5kdHNiLWNyaXRlcmlhIHNlbGVjdC5kdHNiLWRyb3BEb3duLGRpdi5kdHNiLXNlYXJjaEJ1aWxkZXIgZGl2LmR0c2ItZ3JvdXAgZGl2LmR0c2ItY3JpdGVyaWEgaW5wdXQuZHRzYi1pbnB1dHttYXgtd2lkdGg6bm9uZTt3aWR0aDoxMDAlO21hcmdpbi1ib3R0b206LjhlbTttYXJnaW4tcmlnaHQ6LjhlbX1kaXYuZHRzYi1zZWFyY2hCdWlsZGVyIGRpdi5kdHNiLWdyb3VwIGRpdi5kdHNiLWNyaXRlcmlhIGRpdi5kdHNiLWlucHV0Q29udHttYXJnaW4tcmlnaHQ6LjhlbX1kaXYuZHRzYi1zZWFyY2hCdWlsZGVyIGRpdi5kdHNiLWdyb3VwIGRpdi5kdHNiLWNyaXRlcmlhIGRpdi5kdHNiLWJ1dHRvbkNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDozNXB4O2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcC1yZXZlcnNlO3JpZ2h0OjB9ZGl2LmR0c2Itc2VhcmNoQnVpbGRlciBkaXYuZHRzYi1ncm91cCBkaXYuZHRzYi1jcml0ZXJpYSBkaXYuZHRzYi1idXR0b25Db250YWluZXIgYnV0dG9ue21hcmdpbi1yaWdodDowIWltcG9ydGFudH19ZGl2LmR0c2Itc2VhcmNoQnVpbGRlciBidXR0b24sZGl2LmR0c2Itc2VhcmNoQnVpbGRlciBzZWxlY3QuZHRzYi1kcm9wRG93bixkaXYuZHRzYi1zZWFyY2hCdWlsZGVyIGlucHV0e2JhY2tncm91bmQtY29sb3I6I2Y5ZjlmOX1kaXYuZHRzYi1zZWFyY2hCdWlsZGVyIGJ1dHRvbi5kdHNiLWJ1dHRvbntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzouNWVtIDFlbTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjMpO2JvcmRlci1yYWRpdXM6MnB4O2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZTouODhlbTtsaW5lLWhlaWdodDoxLjZlbTtjb2xvcjppbmhlcml0O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZC1jb2xvcjojMDAwMDAwMWE7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNlNmU2ZTYxYSwjMDAwMDAwMWEpOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTt0ZXh0LWRlY29yYXRpb246bm9uZTtvdXRsaW5lOm5vbmU7dGV4dC1vdmVyZmxvdzplbGxpcHNpc31kaXYuZHRzYi1zZWFyY2hCdWlsZGVyIGJ1dHRvbi5kdHNiLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNjZWNlY2U7Y3Vyc29yOnBvaW50ZXJ9ZGl2LmR0c2Itc2VhcmNoQnVpbGRlciBkaXYuZHRzYi1sb2dpY0NvbnRhaW5lcntib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjMpO2JhY2tncm91bmQtY29sb3I6IzAwMDAwMDFhO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNlNmU2ZTYxYSwjMDAwMDAwMWEpfWRpdi5kdHNiLXNlYXJjaEJ1aWxkZXIgZGl2LmR0c2ItbG9naWNDb250YWluZXIgYnV0dG9ue2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH1kaXYuZHRzYi1zZWFyY2hCdWlsZGVyIGJ1dHRvbi5kdHNiLWNsZWFyR3JvdXB7bWluLXdpZHRoOjJlbTtwYWRkaW5nOjB9ZGl2LmR0c2Itc2VhcmNoQnVpbGRlciBidXR0b24uZHRzYi1pcHRidG57bWluLXdpZHRoOjEwMHB4O3RleHQtYWxpZ246bGVmdH1kaXYuZHRzYi1zZWFyY2hCdWlsZGVyIGRpdi5kdHNiLWdyb3VwIGRpdi5kdHNiLWxvZ2ljQ29udGFpbmVye2JvcmRlcjoxcHggc29saWQ7Ym9yZGVyLWNvbG9yOiNjZWNlY2U7Ym9yZGVyLXJhZGl1czozcHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LXdyYXA6d3JhcDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDthbGlnbi1jb250ZW50OmZsZXgtc3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH1kaXYuZHRzYi1zZWFyY2hCdWlsZGVyIGRpdi5kdHNiLWdyb3VwIGRpdi5kdHNiLWxvZ2ljQ29udGFpbmVyIGJ1dHRvbi5kdHNiLWxvZ2lje2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDtmbGV4LWdyb3c6MTtmbGV4LXNocmluazowO2ZsZXgtYmFzaXM6M2VtO21hcmdpbjowfWRpdi5kdHNiLXNlYXJjaEJ1aWxkZXIgZGl2LmR0c2ItZ3JvdXAgZGl2LmR0c2ItbG9naWNDb250YWluZXIgYnV0dG9uLmR0c2ItY2xlYXJHcm91cHtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjA7d2lkdGg6MmVtO21hcmdpbjowfWRpdi5kdHNiLXNlYXJjaEJ1aWxkZXIgZGl2LmR0c2ItZ3JvdXAgZGl2LmR0c2ItY3JpdGVyaWEgc2VsZWN0LmR0c2ItZHJvcERvd24sZGl2LmR0c2Itc2VhcmNoQnVpbGRlciBkaXYuZHRzYi1ncm91cCBkaXYuZHRzYi1jcml0ZXJpYSBpbnB1dC5kdHNiLWlucHV0e2JvcmRlcjoxcHggc29saWQ7Ym9yZGVyLXJhZGl1czozcHh9ZGl2LmR0c2Itc2VhcmNoQnVpbGRlciBkaXYuZHRzYi1ncm91cCBkaXYuZHRzYi1jcml0ZXJpYSBzZWxlY3QuZHRzYi1jb25kaXRpb257Ym9yZGVyLWNvbG9yOiM0OGIxM2N9ZGl2LmR0c2Itc2VhcmNoQnVpbGRlciBkaXYuZHRzYi1ncm91cCBkaXYuZHRzYi1jcml0ZXJpYSBzZWxlY3QuZHRzYi1kYXRhe2JvcmRlci1jb2xvcjojZTcwZjAwfWRpdi5kdHNiLXNlYXJjaEJ1aWxkZXIgZGl2LmR0c2ItZ3JvdXAgZGl2LmR0c2ItY3JpdGVyaWEgc2VsZWN0LmR0c2ItdmFsdWUsZGl2LmR0c2Itc2VhcmNoQnVpbGRlciBkaXYuZHRzYi1ncm91cCBkaXYuZHRzYi1jcml0ZXJpYSBpbnB1dC5kdHNiLXZhbHVle2JvcmRlci1jb2xvcjojMDA2OWJhfWh0bWwuZGFyayBkaXYuZHRzYi1zZWFyY2hCdWlsZGVyIGJ1dHRvbi5kdHNiLWJ1dHRvbixodG1sLmRhcmsgZGl2LmR0c2Itc2VhcmNoQnVpbGRlciBzZWxlY3QuZHRzYi1kcm9wRG93bixodG1sLmRhcmsgZGl2LmR0c2Itc2VhcmNoQnVpbGRlciBpbnB1dC5kdHNiLWlucHV0e2JhY2tncm91bmQtY29sb3I6IzQyNDU0OSFpbXBvcnRhbnQ7Y29sb3Itc2NoZW1lOmRhcmt9aHRtbC5kYXJrIGRpdi5kdHNiLXNlYXJjaEJ1aWxkZXIgYnV0dG9uLmR0c2ItYnV0dG9ue2JvcmRlcjoxcHggc29saWQgcmdiKDg5LDkxLDk0KTtiYWNrZ3JvdW5kOiNmZmZmZmYyNn1odG1sLmRhcmsgZGl2LmR0c2Itc2VhcmNoQnVpbGRlciBidXR0b24uZHRzYi1idXR0b246aG92ZXJ7YmFja2dyb3VuZDojYjNiM2IzMjZ9aHRtbC5kYXJrIGRpdi5kdHNiLXNlYXJjaEJ1aWxkZXIgZGl2LmR0c2ItbG9naWNDb250YWluZXJ7Ym9yZGVyOjFweCBzb2xpZCByZ2IoODksOTEsOTQpfWh0bWwuZGFyayBkaXYuZHRzYi1zZWFyY2hCdWlsZGVyIC5kdHNiLWdyZXlzY2FsZXtib3JkZXItY29sb3I6I2ZmZjMhaW1wb3J0YW50fWRpdi5kdHNwLXRvcFJvd3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtd3JhcDpub3dyYXA7Ym9yZGVyOjJweCBzb2xpZCByZ2JhKDAsMCwwLDApO2JvcmRlci1yYWRpdXM6M3B4O2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9ZGl2LmR0c3AtdG9wUm93IGlucHV0LmR0c3Atc2VhcmNoe3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bWluLXdpZHRoOjUwcHg7ZmxleC1iYXNpczo5MHB4O21heC13aWR0aDpub25lfWRpdi5kdHNwLXRvcFJvdyBpbnB1dC5kdHNwLXNlYXJjaDo6cGxhY2Vob2xkZXJ7Y29sb3I6aW5oZXJpdH1kaXYuZHRzcC10b3BSb3cgZGl2LmR0c3Atc3ViUm93MXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtd3JhcDpub3dyYXA7ZmxleDoxIDEgYXV0b31kaXYuZHRzcC10b3BSb3cgZGl2LmR0c3Atc3ViUm93MSBkaXYuZHRzcC1zZWFyY2hDb250e3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9ZGl2LmR0c3AtdG9wUm93IGRpdi5kdHNwLXN1YlJvdzEgaW5wdXR7cGFkZGluZy1yaWdodDoyZW07d2lkdGg6MTAwJSFpbXBvcnRhbnQ7Ym94LXNpemluZzpib3JkZXItYm94O2ZvbnQtc2l6ZToxZW19ZGl2LmR0c3AtdG9wUm93IGRpdi5kdHNwLXN1YlJvdzEgaW5wdXRbZGlzYWJsZWQ9ZGlzYWJsZWRde2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOm5vbmU7Y3Vyc29yOmluaXRpYWw7Ym94LXNoYWRvdzpub25lO3BhZGRpbmctYm90dG9tOjA7cGFkZGluZy10b3A6MDttaW4taGVpZ2h0OjFlbTtoZWlnaHQ6Zml0LWNvbnRlbnQ7Ym94LXNpemluZzpjb250ZW50LWJveH1kaXYuZHRzcC10b3BSb3cgZGl2LmR0c3Atc3ViUm93MSBpbnB1dFtkaXNhYmxlZD1kaXNhYmxlZF06OnBsYWNlaG9sZGVye2NvbG9yOmluaXRpYWw7b3BhY2l0eToxfWRpdi5kdHNwLXRvcFJvdyBkaXYuZHRzcC1zdWJSb3cxIGJ1dHRvbi5kdHNwLXNlYXJjaEljb257cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MH1kaXYuZHRzcC10b3BSb3cgZGl2LmR0c3Atc3ViUm93MSBidXR0b24uZHRzcC1zZWFyY2hJY29uIHNwYW57YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBOEFBQUFQQ0FZQUFBQTcxcFZLQUFBQmJtbERRMUJwWTJNQUFDaVJkWkU3U3dOQkZJVS9FeVdpa1JSYWlGaHNvV0toRUJSRU80MkZUWkFRRll6YTdHNWVRaEtYM1FRSnRvS05oV0FoMnZncS9BZmFDcllLZ3FBSUloYitBbCtOaFBWT0VraVFaSmJaKzNGbXptWG1ESGpDR1RQcnRBWWhtOHZiMGJtUXRoeGIwWHp2K1BIUnhSU2FianJXVENRU3B1bjRlYVJGMVlkUjFhdjV2b2FqTTU1d1RHaHBGNTR3TFRzdlBDMGMzc3hiaW5lRmU4eTBIaGMrRVI2eDVZREN0MG8zS3Z5bU9GWGhMOFgyWW5RV1BLcW5scXBqbzQ3TnRKMFZIaFlleUdZS1p2VTg2aWIrUkc1cFFXcWZ6SDRjb3N3UlFzT2d3RG9aOG94S3pVbG1qWDNCc20rZURmR1k4cmNvWW9zalJWcThJNklXcEd0Q2FsTDBoSHdaaWlyMy8zazZ5Zkd4U25kL0NOcGVYZmR6RUh6N1VOcHozZDlUMXkyZGdmY0Zybk0xLzRia05Qa3QrbDVOR3ppR3dEWmMzdFEwNHdDdWRxRDMyZEp0dlN4NVpYcVNTZmk0Z0s0WWROOUR4Mm9scStvNjUwK3d1Q1ZQZEFlSFJ6QWsrd05yZnc4SmFCRlhFblYrQUFBQUNYQklXWE1BQUE5aEFBQVBZUUdvUDZkcEFBQUJNVWxFUVZRb1U2WFJyMHZEUVJqSDhha29NNGlJanFHb09JWjVvSWpCNVhXeGFqYVlER0xTSWhoTllqY1BSRFNKd2JRTncrTCtCTkdnWVlvLzVwVDUvc2h6OHZEbEJnTVBYdXg3ejNOM3orMjVWT29mWXlDeWQ0WllDYXZJNGdYUHNScDlMcWlEZHJFTUgrOHd2OFZoOGdCZldjbEZQT0VVTjNoQUhqbE1vUmE3d1R6QlM1eGdLTEZnbFBrWkxqRGljNkh5RHNFTU52R1IyTnhpZm9jaTN0RUkrWDc3MEpVMFhtUFhJbGF4K0xUUGg4M2ZGb3gxWDZreHl6ZGptOVVjZFhpOVMrVnRpNnN2ZnlOVUxoTlI5VFZzWU5oVzZGZjlLS0NOUjcvWnY2ZWVhUSs2K3FjZHB1OUJxR2xwMUhGZ3VkK0ZZZHp6VWNVRXh1MFEvY2R6SEdFRmV0SWxYS1BqSy9zYnFZb09mdE1pUytqOWp6RUpQZDFXdCs1K2tkUi85RU05dWNJQzVqQ2J5UGMwMVEzMmtmc0JwcFl6M2hZRmNDd0FBQUFBU1VWT1JLNUNZSUk9KSFpbXBvcnRhbnQ7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyO2JhY2tncm91bmQtc2l6ZToxMnB4fWRpdi5kdHNwLXRvcFJvdyBkaXYuZHRzcC1zdWJSb3cye3doaXRlLXNwYWNlOm5vd3JhcDtmbGV4OjAgMCBhdXRvfWRpdi5kdHNwLXRvcFJvdyBidXR0b24+c3BhbntkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfWRpdi5kdHNwLXRvcFJvdyBidXR0b24uZHRzcC1uYW1lQnV0dG9uIHNwYW57YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDTUFBQUFqQ0FZQUFBQWUyYk5aQUFBQmNHbERRMUJwWTJNQUFDaVJkWkhOU3dKQkdNWWZ0VERTOEZDSGtBNTdzT2lnSUFYUk1RenlZaDNVSUt2TDdyaXJ3ZTY2eks2SWRBMjZkQkE2UkYzNk92UWYxRFhvV2hBRVJSQVI5Qi8wZFFuWjNuRUZKWFNHMmZmSHMvTzh6RHdEK0RNNk0reUJKR0NZRHMrbVU5SmFZVjBLdmlOTU00UW9Fakt6cmVYY1VoNTl4ODhqZktJK0pFU3YvdnQ2amxCUnRSbmdHeUtlWXhaM2lCZUlNelhIRXJ4SFBNYktjcEg0aERqTzZZREV0MEpYUEg0VFhQTDRTekRQWnhjQnYrZ3BsYnBZNldKVzVnYnhOSEhNMEt1c2ZSNXhrN0JxcnVhb1JtbE53RVlXYWFRZ1FVRVZXOURoSUVIVnBNeDYrNUl0M3dvcTVHSDB0VkFISjBjSlpmTEdTYTFTVjVXcVJycEtVMGRkNVA0L1QxdWJuZkc2aDFQQTRLdnJmazRDd1gyZzJYRGQzMVBYYlo0QmdSZmcydXo0SzVUVC9EZnBqWTRXT3dZaU84RGxUVWRURG9DclhXRDgyWks1M0pJQ3RQeWFCbnhjQUNNRllQUWVHTjd3c21yL3gva1RrTittSjdvRERvK0FLZG9mMmZ3RENCUm9Ea0w4VWNjQUFBQUpjRWhaY3dBQUQyRUFBQTloQWFnL3Aya0FBQUsyU1VSQlZGZ0o3Wlk5ajQxQkZJQ3ZyeUNFeHJKQlE2SHlFWVZFSVJFYVVaRFFJUm9SMlZpSktDaW94Vitna1ZYWVRWWkVRaUVVaEcyRVFueFVDaDBGS29sWTR1dDVYbk0yY3lmdmEzUHQ1bTdFUGNteloyYmVtVE5uempremQxdXRudlFpMEl2QWZ4aUJ5NXo1Rm94Tzg5a1BZKzhtYk1qdHpzNDdSWHM1L1dWcGJBRzZiV0V4dDVQdUlpYnZoVmt3bUMrY2szZUs5bG42L2ZBZGRGb2pZekJWdVlTQnBjbklFdlJhcU93MlJjYU4xOEZQdUpIMEp2UlV4YlQzd1dmNGx0aUtQZ2ZWaWRXbGJHWmdQb3pERmZnQUMrRUEvSzJFSTRjd2NBSitnUGFlUStWUVUyU09NTUdjUGdQbC9tL1YycDUwcnJiUnNSZ3Q5SXY1aDZ4dHBQMjJCejdDZTFDK2dGRnhmS3pPbVNoY1UrUW15aDJ3M3c4cklKZmRkSFRjazY2RXVrTC94UGhqK0pNOHJITm1GeXMwUGc0djB1cDNhRk5sd1I5Tll5b2RkM09ML0M2NHpwc3ltY1RGY2Y2RWxNNFl6akFXS1lySmthcThrRS95VVlOUDRCb1l2UzFRUm8raE50RjV4ZmtUVWpvVGhldWtTRkZNamxURm02UGpjZU9jYS9TTXBLZmVDUjFMNlV6ay95MldJa1ZoTkZKbEpBWmhQK2hZbnM3YjlEM0lQdWhZNW1Zckl2OE9yUUp2UjVOWXlOYVc0anNVOHBTR055U2lWeDRvNXRYcTNKa29YRS9tZzVSL004ZEdKQ0pwS2hhRGNqQlJkYkkvUm04ZzY5YzEyMm9tMzNCSG1qMkNIb1Y1cWE5alVYQnJhSitHMWZBVmpJQk8xa2xjODdybzFLNEpaL0szNVNXVzNUd2N5RGQ2VGVjcW5BRWQ4Y0dxMit3ODR4dkJtMW4zdlMwaXpLa2t3aDVYTkMvR21GUHFxQXRQRjg5QU9TY0t1ZW1hTnpvVFYxU0Q1ZHRTYm1MZjEvUlYrdEMwV1RnY2o2UjdIRXRyVkdXYXF1L2xZRFovMnB2eFEva0l5dy9nRkJ5SEM5QUh3OTEwaHYxYVVVdW15ZDh5eTBRZmhtRWtmaU5vZDBYdXNjdDY4SjFxYzhUZHV4MFo5N1EraHNEYitBWUdZRWJGLzRHdXcyUS9xRFBxWkcvelhnVCszUWo4QXRLbmZXaEZ3bXVBQUFBQUFFbEZUa1N1UW1DQykhaW1wb3J0YW50O2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcjtiYWNrZ3JvdW5kLXNpemU6MjNweDt2ZXJ0aWNhbC1hbGlnbjpib3R0b219ZGl2LmR0c3AtdG9wUm93IGJ1dHRvbi5kdHNwLWNvdW50QnV0dG9uIHNwYW57YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQmNHbERRMUJwWTJNQUFDaVJkWkhOU3dKQkdNWWZ0VERTOEZDSGtBNTdzT2lnSUFYUk1RenlZaDNVSUt2TDdyaXJ3ZTY2eks2SWRBMjZkQkE2UkYzNk92UWYxRFhvV2hBRVJSQVI5Qi8wZFFuWjNuRUZKWFNHMmZmSHMvTzh6RHdEK0RNNk0reUJKR0NZRHMrbVU5SmFZVjBLdmlOTU00UW9Fakt6cmVYY1VoNTl4ODhqZktJK0pFU3YvdnQ2amxCUnRSbmdHeUtlWXhaM2lCZUlNelhIRXJ4SFBNYktjcEg0aERqTzZZREV0MEpYUEg0VFhQTDRTekRQWnhjQnYrZ3BsYnBZNldKVzVnYnhOSEhNMEt1c2ZSNXhrN0JxcnVhb1JtbE53RVlXYWFRZ1FVRVZXOURoSUVIVnBNeDYrNUl0M3dvcTVHSDB0VkFISjBjSlpmTEdTYTFTVjVXcVJycEtVMGRkNVA0L1QxdWJuZkc2aDFQQTRLdnJmazRDd1gyZzJYRGQzMVBYYlo0QmdSZmcydXo0SzVUVC9EZnBqWTRXT3dZaU84RGxUVWRURG9DclhXRDgyWks1M0pJQ3RQeWFCbnhjQUNNRllQUWVHTjd3c21yL3gva1RrTittSjdvRERvK0FLZG9mMmZ3RENCUm9Ea0w4VWNjQUFBQUpjRWhaY3dBQUQyRUFBQTloQWFnL3Aya0FBQUc1U1VSQlZFZ04zVlU5THdWQkZGMGZpWWhvZlVTbEVRa0toVTd6L29CQ1FrSWlHcjlCZ1ViaFZ6eTlCQW5oRnlqVi9BWUZpVTVJQ003Wk4rYzVadWQ1ZG0zbEptZm16cmt6OSs3Y3UzYzN5LzZqak9CU0Y4Q3hYUzdGbVRrYndxSUpqRHBKdlRjbXNKNEszS1BaVXB5WnN4MHN4b0I5SjZtbkFreUM3d0d1dUNGSWlwTnRFY3BjV0V4Z1hwT0JjNzh2Z2o2TitRTzROVnNqd2RGTTU5dFVJRHhEckhNQk9lSVEzNEM1WkRyZWdYdUFRbTRZY0k2OG5OOUIzd3IyUGN3UEFJUGtOMkVxdEpINmIrUVptMWFqalR4N0Jxd0FyMjZMYitDMkt2cGJ0ME1iMkhBSjdOckdGR2ZtWE8zRGVBNFVzaERmUUFWbUgwZ2FVRmc4NTJUVFREdmx4d0JsQ3R4eTl6WHlCaFFGYXEwd01tSWRSZWJyZmdvc0EzemIyaEtucUcwb3FjaHA0UWJ1UjhYMFRqekFCaGJkT1Q4am5RL2F0Y2dxcG5md09BN3lxWnlUVTU4N1prSUdkZXNMVHQyRWt5bk9uYnJlTVVVS01JL2RBNEIvUVZPY08xM0NRaCs1d1dDZ0R3by83NXU1OW9kQi93am1maGJndkFDY0FPeVpQSGloTVdBb0l3eHlDTGdmMW94ZmdqelZiZ0JYU1R6SU4rZjBwZzZzNURrY2VzTE1ScHNCcmdFMlhPM0NONjRKRlA3SnRVZUtIWDRDS3RSUlhGWis3ZEVBQUFBQVNVVk9SSzVDWUlJPSkhaW1wb3J0YW50O2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcjtiYWNrZ3JvdW5kLXNpemU6MThweDt2ZXJ0aWNhbC1hbGlnbjpib3R0b219ZGl2LmR0c3AtdG9wUm93IGJ1dHRvbi5kdHNwLWNvbGxhcHNlQnV0dG9uIHNwYW4uZHRzcC1jYXJldHtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6OXB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrfWRpdi5kdHNwLXRvcFJvdyBidXR0b24uZHRzcC1jb2xsYXBzZUJ1dHRvbi5kdHNwLXJvdGF0ZWR7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfWRpdi5kdHNwLXNlYXJjaFBhbmUgdGFibGUgdGhlYWQgdGgsZGl2LmR0c3Atc2VhcmNoUGFuZSB0YWJsZSB0aGVhZCB0ZHt3aWR0aDoxMDAlIWltcG9ydGFudH1kaXYuZHQtYnV0dG9uLWNvbGxlY3Rpb257ei1pbmRleDoyMDAyfWRpdi5kdC1idXR0b24tY29sbGVjdGlvbi5kdGItY29sbGVjdGlvbi1jbG9zZWFibGUgZGl2LmR0c3AtdGl0bGVSb3d7cGFkZGluZy1yaWdodDoyNXB4fWRpdi5kdHNwLWNvbHVtbnMtMXttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MTAwJTttYXJnaW46MCFpbXBvcnRhbnR9ZGl2LmR0c3AtY29sdW1ucy0ye21heC13aWR0aDo0OSU7bWluLXdpZHRoOjQ5JTttYXJnaW46MCFpbXBvcnRhbnR9ZGl2LmR0c3AtY29sdW1ucy0ze21heC13aWR0aDozMiU7bWluLXdpZHRoOjMyJTttYXJnaW46MCFpbXBvcnRhbnR9ZGl2LmR0c3AtY29sdW1ucy00e21heC13aWR0aDoyNCU7bWluLXdpZHRoOjI0JTttYXJnaW46MCFpbXBvcnRhbnR9ZGl2LmR0c3AtY29sdW1ucy01e21heC13aWR0aDoxOSU7bWluLXdpZHRoOjE5JTttYXJnaW46MCFpbXBvcnRhbnR9ZGl2LmR0c3AtY29sdW1ucy02e21heC13aWR0aDoxNiU7bWluLXdpZHRoOjE2JTttYXJnaW46MCFpbXBvcnRhbnR9ZGl2LmR0c3AtY29sdW1ucy03e21heC13aWR0aDoxNCU7bWluLXdpZHRoOjE0JTttYXJnaW46MCFpbXBvcnRhbnR9ZGl2LmR0c3AtY29sdW1ucy04e21heC13aWR0aDoxMiU7bWluLXdpZHRoOjEyJTttYXJnaW46MCFpbXBvcnRhbnR9ZGl2LmR0c3AtY29sdW1ucy05e21heC13aWR0aDoxMC41JTttaW4td2lkdGg6MTAuNSU7bWFyZ2luOjAhaW1wb3J0YW50fWRpdi5kdHNwLW5hcnJvd3tmbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50fWRpdi5kdHNwLW5hcnJvdyBkaXYuZHRzcC1zdWJSb3cxLGRpdi5kdHNwLW5hcnJvdyBkaXYuZHRzcC1zdWJSb3cye3dpZHRoOjEwMCV9ZGl2LmR0c3AtbmFycm93IGRpdi5kdHNwLXN1YlJvdzIgYnV0dG9ue21hcmdpbjowIWltcG9ydGFudDt3aWR0aDoyNSUhaW1wb3J0YW50fWRpdi5kdC1idXR0b24tY29sbGVjdGlvbiBkaXYuZHRzcC1wYW5lc0NvbnRhaW5lcntwYWRkaW5nLWxlZnQ6MWVtO3BhZGRpbmctcmlnaHQ6MWVtO21hcmdpbi1ib3R0b206MH1kaXYuZHRzcC1wYW5lc0NvbnRhaW5lcnttYXJnaW4tYm90dG9tOjFlbTttYXgtd2lkdGg6MTAwJTtmbGV4LWdyb3c6MX1kaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kdC1jb250YWluZXIsZGl2LmR0c3Atc2VhcmNoUGFuZSBkaXYuZGF0YVRhYmxlc193cmFwcGVye3dpZHRoOjEwMCV9ZGl2LmR0c3Atc2VhcmNoUGFuZSBkaXYuZHQtY29udGFpbmVyIGRpdi5kYXRhVGFibGVzX2xheW91dF9jZWxsLGRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZGF0YVRhYmxlc19sYXlvdXRfY2VsbHtwYWRkaW5nOjB9ZGl2LmR0c3Atc2VhcmNoUGFuZSBkaXYuZHQtY29udGFpbmVyIGRpdi5kdC1sYXlvdXQtcm93LGRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZHQtbGF5b3V0LXJvdyxkaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kdC1jb250YWluZXIgZGl2LmR0LWxheW91dC1yb3cgZGl2LmR0LXNjcm9sbCxkaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kYXRhVGFibGVzX3dyYXBwZXIgZGl2LmR0LWxheW91dC1yb3cgZGl2LmR0LXNjcm9sbHttYXJnaW46MH1kaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kdC1jb250YWluZXIgZGl2LmR0LXNjcm9sbC1oZWFkLGRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmR0LWNvbnRhaW5lciBkaXYuZGF0YVRhYmxlc19zY3JvbGxIZWFkLGRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZHQtc2Nyb2xsLWhlYWQsZGl2LmR0c3Atc2VhcmNoUGFuZSBkaXYuZGF0YVRhYmxlc193cmFwcGVyIGRpdi5kYXRhVGFibGVzX3Njcm9sbEhlYWR7ZGlzcGxheTpub25lIWltcG9ydGFudH1kaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kdC1jb250YWluZXIgZGl2LmR0LXNjcm9sbC1ib2R5LGRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmR0LWNvbnRhaW5lciBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5LGRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZHQtc2Nyb2xsLWJvZHksZGl2LmR0c3Atc2VhcmNoUGFuZSBkaXYuZGF0YVRhYmxlc193cmFwcGVyIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHl7YmFja2dyb3VuZDojZmZmIWltcG9ydGFudDtib3JkZXI6bm9uZX1kaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kdC1jb250YWluZXIgZGl2LmR0LXNjcm9sbC1ib2R5IHRoZWFkLGRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmR0LWNvbnRhaW5lciBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5IHRoZWFkLGRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZHQtc2Nyb2xsLWJvZHkgdGhlYWQsZGl2LmR0c3Atc2VhcmNoUGFuZSBkaXYuZGF0YVRhYmxlc193cmFwcGVyIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgdGhlYWR7ZGlzcGxheTpub25lfWRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmR0LWNvbnRhaW5lciBkaXYuZHQtc2Nyb2xsLWJvZHkgdGFibGUgdHI+dGgsZGl2LmR0c3Atc2VhcmNoUGFuZSBkaXYuZHQtY29udGFpbmVyIGRpdi5kdC1zY3JvbGwtYm9keSB0YWJsZSB0cj50ZCxkaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kdC1jb250YWluZXIgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keSB0YWJsZSB0cj50aCxkaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kdC1jb250YWluZXIgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keSB0YWJsZSB0cj50ZCxkaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kYXRhVGFibGVzX3dyYXBwZXIgZGl2LmR0LXNjcm9sbC1ib2R5IHRhYmxlIHRyPnRoLGRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZHQtc2Nyb2xsLWJvZHkgdGFibGUgdHI+dGQsZGl2LmR0c3Atc2VhcmNoUGFuZSBkaXYuZGF0YVRhYmxlc193cmFwcGVyIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgdGFibGUgdHI+dGgsZGl2LmR0c3Atc2VhcmNoUGFuZSBkaXYuZGF0YVRhYmxlc193cmFwcGVyIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgdGFibGUgdHI+dGR7cGFkZGluZzo1cHggMTBweH1kaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kdC1jb250YWluZXIgZGl2LmR0LXNjcm9sbC1ib2R5IHRkLmR0c3AtbmFtZUNvbHVtbixkaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kdC1jb250YWluZXIgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keSB0ZC5kdHNwLW5hbWVDb2x1bW4sZGl2LmR0c3Atc2VhcmNoUGFuZSBkaXYuZGF0YVRhYmxlc193cmFwcGVyIGRpdi5kdC1zY3JvbGwtYm9keSB0ZC5kdHNwLW5hbWVDb2x1bW4sZGl2LmR0c3Atc2VhcmNoUGFuZSBkaXYuZGF0YVRhYmxlc193cmFwcGVyIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgdGQuZHRzcC1uYW1lQ29sdW1ue3dpZHRoOjEwMCUhaW1wb3J0YW50fWRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmR0LWNvbnRhaW5lciBkaXYuZHQtc2Nyb2xsLWJvZHkgZGl2LmR0c3AtbmFtZUNvbnQsZGl2LmR0c3Atc2VhcmNoUGFuZSBkaXYuZHQtY29udGFpbmVyIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgZGl2LmR0c3AtbmFtZUNvbnQsZGl2LmR0c3Atc2VhcmNoUGFuZSBkaXYuZGF0YVRhYmxlc193cmFwcGVyIGRpdi5kdC1zY3JvbGwtYm9keSBkaXYuZHRzcC1uYW1lQ29udCxkaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kYXRhVGFibGVzX3dyYXBwZXIgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keSBkaXYuZHRzcC1uYW1lQ29udHt3aWR0aDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9ZGl2LmR0c3Atc2VhcmNoUGFuZSBkaXYuZHQtY29udGFpbmVyIGRpdi5kdC1zY3JvbGwtYm9keSBkaXYuZHRzcC1uYW1lQ29udCBzcGFuLmR0c3AtbmFtZSxkaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kdC1jb250YWluZXIgZGl2LmR0LXNjcm9sbC1ib2R5IGRpdi5kdHNwLW5hbWVDb250IHNwYW4uZHRzcC1waWxsLGRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmR0LWNvbnRhaW5lciBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5IGRpdi5kdHNwLW5hbWVDb250IHNwYW4uZHRzcC1uYW1lLGRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmR0LWNvbnRhaW5lciBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5IGRpdi5kdHNwLW5hbWVDb250IHNwYW4uZHRzcC1waWxsLGRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZHQtc2Nyb2xsLWJvZHkgZGl2LmR0c3AtbmFtZUNvbnQgc3Bhbi5kdHNwLW5hbWUsZGl2LmR0c3Atc2VhcmNoUGFuZSBkaXYuZGF0YVRhYmxlc193cmFwcGVyIGRpdi5kdC1zY3JvbGwtYm9keSBkaXYuZHRzcC1uYW1lQ29udCBzcGFuLmR0c3AtcGlsbCxkaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kYXRhVGFibGVzX3dyYXBwZXIgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keSBkaXYuZHRzcC1uYW1lQ29udCBzcGFuLmR0c3AtbmFtZSxkaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kYXRhVGFibGVzX3dyYXBwZXIgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keSBkaXYuZHRzcC1uYW1lQ29udCBzcGFuLmR0c3AtcGlsbHtjdXJzb3I6ZGVmYXVsdH1kaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kdC1jb250YWluZXIgZGl2LmR0LXNjcm9sbC1ib2R5IGRpdi5kdHNwLW5hbWVDb250IHNwYW4uZHRzcC1uYW1lLGRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmR0LWNvbnRhaW5lciBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5IGRpdi5kdHNwLW5hbWVDb250IHNwYW4uZHRzcC1uYW1lLGRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZHQtc2Nyb2xsLWJvZHkgZGl2LmR0c3AtbmFtZUNvbnQgc3Bhbi5kdHNwLW5hbWUsZGl2LmR0c3Atc2VhcmNoUGFuZSBkaXYuZGF0YVRhYmxlc193cmFwcGVyIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgZGl2LmR0c3AtbmFtZUNvbnQgc3Bhbi5kdHNwLW5hbWV7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcDtmbGV4LWdyb3c6MTt0ZXh0LWFsaWduOmxlZnR9ZGl2LmR0c3Atc2VhcmNoUGFuZSBkaXYuZHQtY29udGFpbmVyIGRpdi5kdC1zY3JvbGwtYm9keSBkaXYuZHRzcC1uYW1lQ29udCBzcGFuLmR0c3AtcGlsbCxkaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kdC1jb250YWluZXIgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keSBkaXYuZHRzcC1uYW1lQ29udCBzcGFuLmR0c3AtcGlsbCxkaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kYXRhVGFibGVzX3dyYXBwZXIgZGl2LmR0LXNjcm9sbC1ib2R5IGRpdi5kdHNwLW5hbWVDb250IHNwYW4uZHRzcC1waWxsLGRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5IGRpdi5kdHNwLW5hbWVDb250IHNwYW4uZHRzcC1waWxse2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JhY2tncm91bmQtY29sb3I6I2NmY2ZjZjt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItcmFkaXVzOjEwcHg7d2lkdGg6YXV0bzttaW4td2lkdGg6MzBweDtjb2xvcjojMDAwO2ZvbnQtc2l6ZTouOWVtO3BhZGRpbmc6MCA0cHh9ZGl2LmR0c3Atc2VhcmNoUGFuZSBkaXYuZHQtY29udGFpbmVyIGRpdi5kdC1zY3JvbGwtYm9keSBkaXYuZHRzcC1uYW1lQ29udCBzcGFuLmR0c3AtcGlsbDplbXB0eSxkaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kdC1jb250YWluZXIgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keSBkaXYuZHRzcC1uYW1lQ29udCBzcGFuLmR0c3AtcGlsbDplbXB0eSxkaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kYXRhVGFibGVzX3dyYXBwZXIgZGl2LmR0LXNjcm9sbC1ib2R5IGRpdi5kdHNwLW5hbWVDb250IHNwYW4uZHRzcC1waWxsOmVtcHR5LGRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5IGRpdi5kdHNwLW5hbWVDb250IHNwYW4uZHRzcC1waWxsOmVtcHR5e2Rpc3BsYXk6bm9uZX1kaXYuZHRzcC1wYW5lc0NvbnRhaW5lcntjbGVhcjpib3RoO3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MDt0ZXh0LWFsaWduOmNlbnRlcn1kaXYuZHRzcC1wYW5lc0NvbnRhaW5lciBkaXYuZHRzcC1zZWFyY2hQYW5lc3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtd3JhcDp3cmFwO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWNvbnRlbnQ6ZmxleC1zdGFydDthbGlnbi1pdGVtczpzdHJldGNoO2NsZWFyOmJvdGg7dGV4dC1hbGlnbjpsZWZ0fWRpdi5kdHNwLXBhbmVzQ29udGFpbmVyIGRpdi5kdHNwLXNlYXJjaFBhbmVzIGRpdi5kdHNwLXNlYXJjaFBhbmV7ZmxleC1ncm93OjE7ZmxleC1zaHJpbms6MDtmb250LXNpemU6LjllbTttYXJnaW4tdG9wOjE1cHghaW1wb3J0YW50fWRpdi5kdHNwLXBhbmVzQ29udGFpbmVyIGRpdi5kdHNwLXNlYXJjaFBhbmVzIGRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmR0LWNvbnRhaW5lcixkaXYuZHRzcC1wYW5lc0NvbnRhaW5lciBkaXYuZHRzcC1zZWFyY2hQYW5lcyBkaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kYXRhVGFibGVzX3dyYXBwZXJ7ZmxleDoxO2JveC1zaXppbmc6Ym9yZGVyLWJveH1kaXYuZHRzcC1wYW5lc0NvbnRhaW5lciBkaXYuZHRzcC1zZWFyY2hQYW5lcyBkaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kdC1jb250YWluZXIgZGl2LmR0LXNlYXJjaCxkaXYuZHRzcC1wYW5lc0NvbnRhaW5lciBkaXYuZHRzcC1zZWFyY2hQYW5lcyBkaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kdC1jb250YWluZXIgZGl2LmRhdGFUYWJsZXNfZmlsdGVyLGRpdi5kdHNwLXBhbmVzQ29udGFpbmVyIGRpdi5kdHNwLXNlYXJjaFBhbmVzIGRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZHQtc2VhcmNoLGRpdi5kdHNwLXBhbmVzQ29udGFpbmVyIGRpdi5kdHNwLXNlYXJjaFBhbmVzIGRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZGF0YVRhYmxlc19maWx0ZXJ7ZGlzcGxheTpub25lfWRpdi5kdHNwLXBhbmVzQ29udGFpbmVyIGRpdi5kdHNwLXRpdGxle2Zsb2F0OmxlZnQ7cGFkZGluZzoxMHB4IDB9ZGl2LmR0c3AtcGFuZXNDb250YWluZXIgYnV0dG9uLmR0c3AtY2xlYXJBbGwsZGl2LmR0c3AtcGFuZXNDb250YWluZXIgYnV0dG9uLmR0c3AtY29sbGFwc2VBbGwsZGl2LmR0c3AtcGFuZXNDb250YWluZXIgYnV0dG9uLmR0c3Atc2hvd0FsbHtmbG9hdDpyaWdodH1kaXYuZHRzcC1oaWRkZW4sZGl2LmR0cy5kdHNwLWhpZGRlbntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fWh0bWwuZGFyayBkaXYuZHRzcC10b3BSb3cgZGl2LmR0c3Atc3ViUm93MSBkaXYuZHRzcC1zZWFyY2hDb250IGlucHV0W2Rpc2FibGVkPWRpc2FibGVkXTo6cGxhY2Vob2xkZXIsaHRtbFtkYXRhLWJzLXRoZW1lPWRhcmtdIGRpdi5kdHNwLXRvcFJvdyBkaXYuZHRzcC1zdWJSb3cxIGRpdi5kdHNwLXNlYXJjaENvbnQgaW5wdXRbZGlzYWJsZWQ9ZGlzYWJsZWRdOjpwbGFjZWhvbGRlcntjb2xvcjojZmZmfWRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmR0LWNvbnRhaW5lcixkaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kYXRhVGFibGVzX3dyYXBwZXJ7Ym9yZGVyOjFweCBzb2xpZCAjZjBmMGYwO2JvcmRlci1yYWRpdXM6NHB4O292ZXJmbG93OmhpZGRlbn1kaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kdC1jb250YWluZXI6aG92ZXIsZGl2LmR0c3Atc2VhcmNoUGFuZSBkaXYuZGF0YVRhYmxlc193cmFwcGVyOmhvdmVye2JvcmRlcjoxcHggc29saWQgI2NmY2ZjZn1kaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kdC1jb250YWluZXIgZGl2LmR0LXNjcm9sbCxkaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kYXRhVGFibGVzX3dyYXBwZXIgZGl2LmR0LXNjcm9sbHttYXJnaW46LS43NWVtIDB9ZGl2LmR0c3Atc2VhcmNoUGFuZSBkaXYuZHQtY29udGFpbmVyIHRhYmxlLmRhdGFUYWJsZSxkaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kYXRhVGFibGVzX3dyYXBwZXIgdGFibGUuZGF0YVRhYmxle2JvcmRlci1ib3R0b206bm9uZSFpbXBvcnRhbnR9ZGl2LmR0c3Atc2VhcmNoUGFuZSBkaXYuZHRzcC10b3BSb3d7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudH1kaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kdHNwLXRvcFJvdyBkaXYuZHRzcC1zdWJSb3cxIGlucHV0W2Rpc2FibGVkPWRpc2FibGVkXXtwYWRkaW5nLWJvdHRvbTo1cHh9ZGl2LmR0c3Atc2VhcmNoUGFuZSBkaXYuZHRzcC10b3BSb3cgZGl2LmR0c3Atc2VhcmNoQ29udCBpbnB1dC5kdHNwLXNlYXJjaHtib3JkZXI6bm9uZTtwYWRkaW5nLWxlZnQ6M3B4fWRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmR0c3AtdG9wUm93LmR0c3AtYm9yZGVyZWR7Ym9yZGVyOjFweCBzb2xpZCAjZjBmMGYwO2JvcmRlci1yYWRpdXM6M3B4fWRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmR0c3AtdG9wUm93LmR0c3AtYm9yZGVyZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZjBmMGYwfWRpdi5kdHNwLXNlYXJjaFBhbmUgaW5wdXQuZHRzcC1wYW5lSW5wdXRCdXR0b24sZGl2LmR0c3Atc2VhcmNoUGFuZSBidXR0b24uZHRzcC1wYW5lQnV0dG9ue2hlaWdodDozNXB4O3dpZHRoOjM1cHg7bWluLXdpZHRoOjA7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luOjJweCAycHggMDtib3JkZXI6MHB4IHNvbGlkIHRyYW5zcGFyZW50O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9ZGl2LmR0c3Atc2VhcmNoUGFuZSBpbnB1dC5kdHNwLXBhbmVJbnB1dEJ1dHRvbjpob3ZlcixkaXYuZHRzcC1zZWFyY2hQYW5lIGJ1dHRvbi5kdHNwLXBhbmVCdXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZjBmMGYwO2JvcmRlci1yYWRpdXM6MnB4O2N1cnNvcjpwb2ludGVyfWRpdi5kdHNwLXNlYXJjaFBhbmUgYnV0dG9uLmR0c3AtcGFuZUJ1dHRvbnt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7b3BhY2l0eTouNn1kaXYuZHRzcC1wYW5lc0NvbnRhaW5lciBidXR0b24uZHRzcC1jbGVhckFsbCxkaXYuZHRzcC1wYW5lc0NvbnRhaW5lciBidXR0b24uZHRzcC1jb2xsYXBzZUFsbCxkaXYuZHRzcC1wYW5lc0NvbnRhaW5lciBidXR0b24uZHRzcC1zaG93QWxse2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH1kaXYuZHRzcC1wYW5lc0NvbnRhaW5lciBidXR0b24uZHRzcC1jbGVhckFsbDpob3ZlcixkaXYuZHRzcC1wYW5lc0NvbnRhaW5lciBidXR0b24uZHRzcC1jb2xsYXBzZUFsbDpob3ZlcixkaXYuZHRzcC1wYW5lc0NvbnRhaW5lciBidXR0b24uZHRzcC1zaG93QWxsOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2YwZjBmMDtib3JkZXItcmFkaXVzOjJweDtjdXJzb3I6cG9pbnRlcn1kaXYuZHRzcC1wYW5lc0NvbnRhaW5lciBidXR0b24uZHRzcC1kaXNhYmxlZEJ1dHRvbntjdXJzb3I6ZGVmYXVsdCFpbXBvcnRhbnQ7Y29sb3I6IzdjN2M3Y31kaXYuZHRzcC1wYW5lc0NvbnRhaW5lciBidXR0b24uZHRzcC1kaXNhYmxlZEJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fWRpdi5kdHNwLXBhbmVzQ29udGFpbmVyIGJ1dHRvbi5kdHNwLWRpc2FibGVkQnV0dG9uOmZvY3Vze291dGxpbmU6bm9uZX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCl7ZGl2LmR0c3AtY29sdW1ucy00LGRpdi5kdHNwLWNvbHVtbnMtNSxkaXYuZHRzcC1jb2x1bW5zLTZ7bWF4LXdpZHRoOjMxJSFpbXBvcnRhbnQ7bWluLXdpZHRoOjMxJSFpbXBvcnRhbnR9fUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KXtkaXYuZHRzcC1zZWFyY2hQYW5lc3tmbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50fWRpdi5kdHNwLXNlYXJjaFBhbmV7bWF4LXdpZHRoOjk4JSFpbXBvcnRhbnQ7bWluLXdpZHRoOjk4JSFpbXBvcnRhbnR9fWh0bWwuZGFyayBkaXYuZHRzcC10b3BSb3cgZGl2LmR0c3Atc3ViUm93MSBidXR0b24uZHRzcC1zZWFyY2hJY29uIHNwYW4saHRtbC5kYXJrIGRpdi5kdHNwLXRvcFJvdyBidXR0b24uZHRzcC1uYW1lQnV0dG9uIHNwYW4saHRtbC5kYXJrIGRpdi5kdHNwLXRvcFJvdyBidXR0b24uZHRzcC1jb3VudEJ1dHRvbiBzcGFue2ZpbHRlcjppbnZlcnQoMSl9aHRtbC5kYXJrIGRpdi5kdHNwLXRvcFJvdyBpbnB1dC5kdHNwLXBhbmVJbnB1dEJ1dHRvbixodG1sLmRhcmsgZGl2LmR0c3AtdG9wUm93IGJ1dHRvbi5kdHNwLXBhbmVCdXR0b257Y29sb3I6aW5oZXJpdH1odG1sLmRhcmsgZGl2LmR0c3AtdG9wUm93IGlucHV0LmR0c3AtcGFuZUlucHV0QnV0dG9uOmhvdmVyLGh0bWwuZGFyayBkaXYuZHRzcC10b3BSb3cgYnV0dG9uLmR0c3AtcGFuZUJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM0MDQ1NDl9aHRtbC5kYXJrIGRpdi5kdHNwLXRvcFJvdy5kdHNwLWJvcmRlcmVke2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMik7YmFja2dyb3VuZDojMmYzNDM4IWltcG9ydGFudH1odG1sLmRhcmsgZGl2LmR0c3AtdG9wUm93LmR0c3AtYm9yZGVyZWQ6aG92ZXJ7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4zKX1odG1sLmRhcmsgZGl2LmR0c3AtcGFuZXNDb250YWluZXIgYnV0dG9uLmR0c3AtY2xlYXJBbGwsaHRtbC5kYXJrIGRpdi5kdHNwLXBhbmVzQ29udGFpbmVyIGJ1dHRvbi5kdHNwLWNvbGxhcHNlQWxsLGh0bWwuZGFyayBkaXYuZHRzcC1wYW5lc0NvbnRhaW5lciBidXR0b24uZHRzcC1zaG93QWxse2NvbG9yOmluaGVyaXR9aHRtbC5kYXJrIGRpdi5kdHNwLXBhbmVzQ29udGFpbmVyIGJ1dHRvbi5kdHNwLWNsZWFyQWxsOmhvdmVyLGh0bWwuZGFyayBkaXYuZHRzcC1wYW5lc0NvbnRhaW5lciBidXR0b24uZHRzcC1jb2xsYXBzZUFsbDpob3ZlcixodG1sLmRhcmsgZGl2LmR0c3AtcGFuZXNDb250YWluZXIgYnV0dG9uLmR0c3Atc2hvd0FsbDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM0MDQ1NDl9aHRtbC5kYXJrIGRpdi5kdHNwLXBhbmVzQ29udGFpbmVyIGJ1dHRvbi5kdHNwLWRpc2FibGVkQnV0dG9ue2NvbG9yOiM3YzdjN2N9aHRtbC5kYXJrIGRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmR0LWNvbnRhaW5lcixodG1sLmRhcmsgZGl2LmR0c3Atc2VhcmNoUGFuZSBkaXYuZGF0YVRhYmxlc193cmFwcGVye2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMil9aHRtbC5kYXJrIGRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmR0LWNvbnRhaW5lcjpob3ZlcixodG1sLmRhcmsgZGl2LmR0c3Atc2VhcmNoUGFuZSBkaXYuZGF0YVRhYmxlc193cmFwcGVyOmhvdmVye2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMyl9aHRtbC5kYXJrIGRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmR0LWNvbnRhaW5lciBkaXYuZHQtc2Nyb2xsLWJvZHksaHRtbC5kYXJrIGRpdi5kdHNwLXNlYXJjaFBhbmUgZGl2LmR0LWNvbnRhaW5lciBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5LGh0bWwuZGFyayBkaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kYXRhVGFibGVzX3dyYXBwZXIgZGl2LmR0LXNjcm9sbC1ib2R5LGh0bWwuZGFyayBkaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kYXRhVGFibGVzX3dyYXBwZXIgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keXtiYWNrZ3JvdW5kOiMyZjM0MzghaW1wb3J0YW50fWh0bWwuZGFyayBkaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kdC1jb250YWluZXIgZGl2LmR0LXNjcm9sbC1ib2R5IGRpdi5kdHNwLW5hbWVDb250IHNwYW4uZHRzcC1waWxsLGh0bWwuZGFyayBkaXYuZHRzcC1zZWFyY2hQYW5lIGRpdi5kdC1jb250YWluZXIgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keSBkaXYuZHRzcC1uYW1lQ29udCBzcGFuLmR0c3AtcGlsbCxodG1sLmRhcmsgZGl2LmR0c3Atc2VhcmNoUGFuZSBkaXYuZGF0YVRhYmxlc193cmFwcGVyIGRpdi5kdC1zY3JvbGwtYm9keSBkaXYuZHRzcC1uYW1lQ29udCBzcGFuLmR0c3AtcGlsbCxodG1sLmRhcmsgZGl2LmR0c3Atc2VhcmNoUGFuZSBkaXYuZGF0YVRhYmxlc193cmFwcGVyIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgZGl2LmR0c3AtbmFtZUNvbnQgc3Bhbi5kdHNwLXBpbGx7YmFja2dyb3VuZC1jb2xvcjojMjEyNTI5O2NvbG9yOmluaGVyaXR9dGFibGUuZGF0YVRhYmxlPnRib2R5PnRyPi5zZWxlY3RlZHtiYWNrZ3JvdW5kLWNvbG9yOiMwZDZlZmRlNjtjb2xvcjojZmZmfXRhYmxlLmRhdGFUYWJsZT50Ym9keT50cj4uZHQtc2VsZWN0e3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX10YWJsZS5kYXRhVGFibGU+dGhlYWQ+dHI+LmR0LXNlbGVjdHt0ZXh0LWFsaWduOmNlbnRlcjt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9dGFibGUuZGF0YVRhYmxlPnRoZWFkPnRyPi5kdC1zZWxlY3QgaW5wdXQuZHQtc2VsZWN0LWNoZWNrYm94e21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG99dGFibGUuZGF0YVRhYmxlIGlucHV0LmR0LXNlbGVjdC1jaGVja2JveHthcHBlYXJhbmNlOm5vbmU7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDtib3JkZXI6MXB4IHNvbGlkO2JvcmRlci1yYWRpdXM6M3B4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW4tdG9wOjFweDtjb2xvcjppbmhlcml0O2ZvbnQtc2l6ZToyMHB4O2xpbmUtaGVpZ2h0OjFlbX10YWJsZS5kYXRhVGFibGUgaW5wdXQuZHQtc2VsZWN0LWNoZWNrYm94OmNoZWNrZWQ6YWZ0ZXJ7ZGlzcGxheTpibG9jaztjb250ZW50OiJcMjcxMyI7bWFyZ2luLXRvcDotOHB4fXRhYmxlLmRhdGFUYWJsZSBpbnB1dC5kdC1zZWxlY3QtY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTphZnRlcntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6IiAiO3RvcDozcHg7bGVmdDozcHg7aGVpZ2h0OjRweDt3aWR0aDo0cHg7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JvcmRlci1yYWRpdXM6MnB4fXRhYmxlLmRhdGFUYWJsZT50Ym9keT50ci5zZWxlY3RlZCBpbnB1dC5kdC1zZWxlY3QtY2hlY2tib3g6Y2hlY2tlZHtib3JkZXI6MXB4IHNvbGlkfXRhYmxlLmRhdGFUYWJsZT50Ym9keT50cj50ZC5zZWxlY3QtY2hlY2tib3gsdGFibGUuZGF0YVRhYmxlPnRib2R5PnRyPnRoLnNlbGVjdC1jaGVja2JveHtwb3NpdGlvbjpyZWxhdGl2ZX10YWJsZS5kYXRhVGFibGU+dGJvZHk+dHI+dGQuc2VsZWN0LWNoZWNrYm94OmJlZm9yZSx0YWJsZS5kYXRhVGFibGU+dGJvZHk+dHI+dGguc2VsZWN0LWNoZWNrYm94OmJlZm9yZXtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiICI7bWFyZ2luLXRvcDotNnB4O21hcmdpbi1sZWZ0Oi02cHg7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItcmFkaXVzOjNweH10YWJsZS5kYXRhVGFibGU+dGJvZHk+dHIuc2VsZWN0ZWQ+dGQuc2VsZWN0LWNoZWNrYm94OmJlZm9yZSx0YWJsZS5kYXRhVGFibGU+dGJvZHk+dHIuc2VsZWN0ZWQ+dGguc2VsZWN0LWNoZWNrYm94OmJlZm9yZXtib3JkZXI6MXB4IHNvbGlkO2NvbnRlbnQ6IlwyNzEzIjtmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDo2cHg7dGV4dC1hbGlnbjpjZW50ZXJ9dGFibGUuZGF0YVRhYmxlLmNvbXBhY3Q+dGJvZHk+dHI+dGQuc2VsZWN0LWNoZWNrYm94OmJlZm9yZSx0YWJsZS5kYXRhVGFibGUuY29tcGFjdD50Ym9keT50cj50aC5zZWxlY3QtY2hlY2tib3g6YmVmb3Jle21hcmdpbi10b3A6LTEycHh9dGFibGUuZGF0YVRhYmxlLmNvbXBhY3Q+dGJvZHk+dHIuc2VsZWN0ZWQ+dGQuc2VsZWN0LWNoZWNrYm94OmFmdGVyLHRhYmxlLmRhdGFUYWJsZS5jb21wYWN0PnRib2R5PnRyLnNlbGVjdGVkPnRoLnNlbGVjdC1jaGVja2JveDphZnRlcnttYXJnaW4tdG9wOi0xNnB4fWRpdi5kdC1jb250YWluZXIgc3Bhbi5zZWxlY3QtaW5mbyxkaXYuZHQtY29udGFpbmVyIHNwYW4uc2VsZWN0LWl0ZW17bWFyZ2luLWxlZnQ6LjVlbX1odG1sLmRhcmsgdGFibGUuZGF0YVRhYmxlIGlucHV0LmR0LXNlbGVjdC1jaGVja2JveDppbmRldGVybWluYXRlOmFmdGVyLGh0bWxbZGF0YS1icy10aGVtZT1kYXJrXSB0YWJsZS5kYXRhVGFibGUgaW5wdXQuZHQtc2VsZWN0LWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KXtkaXYuZHQtY29udGFpbmVyIHNwYW4uc2VsZWN0LWluZm8sZGl2LmR0LWNvbnRhaW5lciBzcGFuLnNlbGVjdC1pdGVte21hcmdpbi1sZWZ0OjA7ZGlzcGxheTpibG9ja319ZGl2LmR0LWNvbnRhaW5lcnttYXgtd2lkdGg6MTAwJX1kaXYuZHQtbGF5b3V0LXRhYmxlPmRpdntvdmVyZmxvdzphdXRvO21heC13aWR0aDoxMDAlfS5pdGFibGVzLWR0eXBle2ZvbnQtd2VpZ2h0OjQwMH0K\");\n",
|
||
" window._itables_2_6_2 = injectModule(\"dmFyIE9sPU9iamVjdC5jcmVhdGU7dmFyIGVzPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTt2YXIgRWw9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjt2YXIgQmw9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM7dmFyIFJsPU9iamVjdC5nZXRQcm90b3R5cGVPZixNbD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O3ZhciBscj0oZT0+dHlwZW9mIHJlcXVpcmU8InUiP3JlcXVpcmU6dHlwZW9mIFByb3h5PCJ1Ij9uZXcgUHJveHkoZSx7Z2V0Oih0LG4pPT4odHlwZW9mIHJlcXVpcmU8InUiP3JlcXVpcmU6dClbbl19KTplKShmdW5jdGlvbihlKXtpZih0eXBlb2YgcmVxdWlyZTwidSIpcmV0dXJuIHJlcXVpcmUuYXBwbHkodGhpcyxhcmd1bWVudHMpO3Rocm93IEVycm9yKCdEeW5hbWljIHJlcXVpcmUgb2YgIicrZSsnIiBpcyBub3Qgc3VwcG9ydGVkJyl9KTt2YXIgdHM9KGUsdCk9PigpPT4odHx8ZSgodD17ZXhwb3J0czp7fX0pLmV4cG9ydHMsdCksdC5leHBvcnRzKTt2YXIgamw9KGUsdCxuLHIpPT57aWYodCYmdHlwZW9mIHQ9PSJvYmplY3QifHx0eXBlb2YgdD09ImZ1bmN0aW9uIilmb3IobGV0IGkgb2YgQmwodCkpIU1sLmNhbGwoZSxpKSYmaSE9PW4mJmVzKGUsaSx7Z2V0OigpPT50W2ldLGVudW1lcmFibGU6IShyPUVsKHQsaSkpfHxyLmVudW1lcmFibGV9KTtyZXR1cm4gZX07dmFyIHN0PShlLHQsbik9PihuPWUhPW51bGw/T2woUmwoZSkpOnt9LGpsKHR8fCFlfHwhZS5fX2VzTW9kdWxlP2VzKG4sImRlZmF1bHQiLHt2YWx1ZTplLGVudW1lcmFibGU6ITB9KTpuLGUpKTt2YXIgcnM9dHMoKG5zLElpKT0+eyhmdW5jdGlvbihlKXt0eXBlb2YgbnM9PSJvYmplY3QiJiZ0eXBlb2YgSWk8InUiP0lpLmV4cG9ydHM9ZSgpOnR5cGVvZiBkZWZpbmU9PSJmdW5jdGlvbiImJmRlZmluZS5hbWQ/ZGVmaW5lKFtdLGUpOih0eXBlb2Ygd2luZG93PCJ1Ij93aW5kb3c6dHlwZW9mIGdsb2JhbDwidSI/Z2xvYmFsOnR5cGVvZiBzZWxmPCJ1Ij9zZWxmOnRoaXMpLkpTWmlwPWUoKX0pKGZ1bmN0aW9uKCl7cmV0dXJuKGZ1bmN0aW9uIGUodCxuLHIpe2Z1bmN0aW9uIGkodSxkKXtpZighblt1XSl7aWYoIXRbdV0pe3ZhciBtPXR5cGVvZiBscj09ImZ1bmN0aW9uIiYmbHI7aWYoIWQmJm0pcmV0dXJuIG0odSwhMCk7aWYoYSlyZXR1cm4gYSh1LCEwKTt2YXIgdj1uZXcgRXJyb3IoIkNhbm5vdCBmaW5kIG1vZHVsZSAnIit1KyInIik7dGhyb3cgdi5jb2RlPSJNT0RVTEVfTk9UX0ZPVU5EIix2fXZhciBnPW5bdV09e2V4cG9ydHM6e319O3RbdV1bMF0uY2FsbChnLmV4cG9ydHMsZnVuY3Rpb24odyl7dmFyIGI9dFt1XVsxXVt3XTtyZXR1cm4gaShifHx3KX0sZyxnLmV4cG9ydHMsZSx0LG4scil9cmV0dXJuIG5bdV0uZXhwb3J0c31mb3IodmFyIGE9dHlwZW9mIGxyPT0iZnVuY3Rpb24iJiZscixzPTA7czxyLmxlbmd0aDtzKyspaShyW3NdKTtyZXR1cm4gaX0pKHsxOltmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPWUoIi4vdXRpbHMiKSxpPWUoIi4vc3VwcG9ydCIpLGE9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89IjtuLmVuY29kZT1mdW5jdGlvbihzKXtmb3IodmFyIHUsZCxtLHYsZyx3LGIsVD1bXSxEPTAsaD1zLmxlbmd0aCxsPWgscD1yLmdldFR5cGVPZihzKSE9PSJzdHJpbmciO0Q8cy5sZW5ndGg7KWw9aC1ELG09cD8odT1zW0QrK10sZD1EPGg/c1tEKytdOjAsRDxoP3NbRCsrXTowKToodT1zLmNoYXJDb2RlQXQoRCsrKSxkPUQ8aD9zLmNoYXJDb2RlQXQoRCsrKTowLEQ8aD9zLmNoYXJDb2RlQXQoRCsrKTowKSx2PXU+PjIsZz0oMyZ1KTw8NHxkPj40LHc9MTxsPygxNSZkKTw8MnxtPj42OjY0LGI9MjxsPzYzJm06NjQsVC5wdXNoKGEuY2hhckF0KHYpK2EuY2hhckF0KGcpK2EuY2hhckF0KHcpK2EuY2hhckF0KGIpKTtyZXR1cm4gVC5qb2luKCIiKX0sbi5kZWNvZGU9ZnVuY3Rpb24ocyl7dmFyIHUsZCxtLHYsZyx3LGI9MCxUPTAsRD0iZGF0YToiO2lmKHMuc3Vic3RyKDAsRC5sZW5ndGgpPT09RCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgYmFzZTY0IGlucHV0LCBpdCBsb29rcyBsaWtlIGEgZGF0YSB1cmwuIik7dmFyIGgsbD0zKihzPXMucmVwbGFjZSgvW15BLVphLXowLTkrLz1dL2csIiIpKS5sZW5ndGgvNDtpZihzLmNoYXJBdChzLmxlbmd0aC0xKT09PWEuY2hhckF0KDY0KSYmbC0tLHMuY2hhckF0KHMubGVuZ3RoLTIpPT09YS5jaGFyQXQoNjQpJiZsLS0sbCUxIT0wKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBiYXNlNjQgaW5wdXQsIGJhZCBjb250ZW50IGxlbmd0aC4iKTtmb3IoaD1pLnVpbnQ4YXJyYXk/bmV3IFVpbnQ4QXJyYXkoMHxsKTpuZXcgQXJyYXkoMHxsKTtiPHMubGVuZ3RoOyl1PWEuaW5kZXhPZihzLmNoYXJBdChiKyspKTw8Mnwodj1hLmluZGV4T2Yocy5jaGFyQXQoYisrKSkpPj40LGQ9KDE1JnYpPDw0fChnPWEuaW5kZXhPZihzLmNoYXJBdChiKyspKSk+PjIsbT0oMyZnKTw8Nnwodz1hLmluZGV4T2Yocy5jaGFyQXQoYisrKSkpLGhbVCsrXT11LGchPT02NCYmKGhbVCsrXT1kKSx3IT09NjQmJihoW1QrK109bSk7cmV0dXJuIGh9fSx7Ii4vc3VwcG9ydCI6MzAsIi4vdXRpbHMiOjMyfV0sMjpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1lKCIuL2V4dGVybmFsIiksaT1lKCIuL3N0cmVhbS9EYXRhV29ya2VyIiksYT1lKCIuL3N0cmVhbS9DcmMzMlByb2JlIikscz1lKCIuL3N0cmVhbS9EYXRhTGVuZ3RoUHJvYmUiKTtmdW5jdGlvbiB1KGQsbSx2LGcsdyl7dGhpcy5jb21wcmVzc2VkU2l6ZT1kLHRoaXMudW5jb21wcmVzc2VkU2l6ZT1tLHRoaXMuY3JjMzI9dix0aGlzLmNvbXByZXNzaW9uPWcsdGhpcy5jb21wcmVzc2VkQ29udGVudD13fXUucHJvdG90eXBlPXtnZXRDb250ZW50V29ya2VyOmZ1bmN0aW9uKCl7dmFyIGQ9bmV3IGkoci5Qcm9taXNlLnJlc29sdmUodGhpcy5jb21wcmVzc2VkQ29udGVudCkpLnBpcGUodGhpcy5jb21wcmVzc2lvbi51bmNvbXByZXNzV29ya2VyKCkpLnBpcGUobmV3IHMoImRhdGFfbGVuZ3RoIikpLG09dGhpcztyZXR1cm4gZC5vbigiZW5kIixmdW5jdGlvbigpe2lmKHRoaXMuc3RyZWFtSW5mby5kYXRhX2xlbmd0aCE9PW0udW5jb21wcmVzc2VkU2l6ZSl0aHJvdyBuZXcgRXJyb3IoIkJ1ZyA6IHVuY29tcHJlc3NlZCBkYXRhIHNpemUgbWlzbWF0Y2giKX0pLGR9LGdldENvbXByZXNzZWRXb3JrZXI6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGkoci5Qcm9taXNlLnJlc29sdmUodGhpcy5jb21wcmVzc2VkQ29udGVudCkpLndpdGhTdHJlYW1JbmZvKCJjb21wcmVzc2VkU2l6ZSIsdGhpcy5jb21wcmVzc2VkU2l6ZSkud2l0aFN0cmVhbUluZm8oInVuY29tcHJlc3NlZFNpemUiLHRoaXMudW5jb21wcmVzc2VkU2l6ZSkud2l0aFN0cmVhbUluZm8oImNyYzMyIix0aGlzLmNyYzMyKS53aXRoU3RyZWFtSW5mbygiY29tcHJlc3Npb24iLHRoaXMuY29tcHJlc3Npb24pfX0sdS5jcmVhdGVXb3JrZXJGcm9tPWZ1bmN0aW9uKGQsbSx2KXtyZXR1cm4gZC5waXBlKG5ldyBhKS5waXBlKG5ldyBzKCJ1bmNvbXByZXNzZWRTaXplIikpLnBpcGUobS5jb21wcmVzc1dvcmtlcih2KSkucGlwZShuZXcgcygiY29tcHJlc3NlZFNpemUiKSkud2l0aFN0cmVhbUluZm8oImNvbXByZXNzaW9uIixtKX0sdC5leHBvcnRzPXV9LHsiLi9leHRlcm5hbCI6NiwiLi9zdHJlYW0vQ3JjMzJQcm9iZSI6MjUsIi4vc3RyZWFtL0RhdGFMZW5ndGhQcm9iZSI6MjYsIi4vc3RyZWFtL0RhdGFXb3JrZXIiOjI3fV0sMzpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1lKCIuL3N0cmVhbS9HZW5lcmljV29ya2VyIik7bi5TVE9SRT17bWFnaWM6IlwwXDAiLGNvbXByZXNzV29ya2VyOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyByKCJTVE9SRSBjb21wcmVzc2lvbiIpfSx1bmNvbXByZXNzV29ya2VyOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyByKCJTVE9SRSBkZWNvbXByZXNzaW9uIil9fSxuLkRFRkxBVEU9ZSgiLi9mbGF0ZSIpfSx7Ii4vZmxhdGUiOjcsIi4vc3RyZWFtL0dlbmVyaWNXb3JrZXIiOjI4fV0sNDpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1lKCIuL3V0aWxzIiksaT0oZnVuY3Rpb24oKXtmb3IodmFyIGEscz1bXSx1PTA7dTwyNTY7dSsrKXthPXU7Zm9yKHZhciBkPTA7ZDw4O2QrKylhPTEmYT8zOTg4MjkyMzg0XmE+Pj4xOmE+Pj4xO3NbdV09YX1yZXR1cm4gc30pKCk7dC5leHBvcnRzPWZ1bmN0aW9uKGEscyl7cmV0dXJuIGEhPT12b2lkIDAmJmEubGVuZ3RoP3IuZ2V0VHlwZU9mKGEpIT09InN0cmluZyI/KGZ1bmN0aW9uKHUsZCxtLHYpe3ZhciBnPWksdz12K207dV49LTE7Zm9yKHZhciBiPXY7Yjx3O2IrKyl1PXU+Pj44XmdbMjU1Jih1XmRbYl0pXTtyZXR1cm4tMV51fSkoMHxzLGEsYS5sZW5ndGgsMCk6KGZ1bmN0aW9uKHUsZCxtLHYpe3ZhciBnPWksdz12K207dV49LTE7Zm9yKHZhciBiPXY7Yjx3O2IrKyl1PXU+Pj44XmdbMjU1Jih1XmQuY2hhckNvZGVBdChiKSldO3JldHVybi0xXnV9KSgwfHMsYSxhLmxlbmd0aCwwKTowfX0seyIuL3V0aWxzIjozMn1dLDU6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bi5iYXNlNjQ9ITEsbi5iaW5hcnk9ITEsbi5kaXI9ITEsbi5jcmVhdGVGb2xkZXJzPSEwLG4uZGF0ZT1udWxsLG4uY29tcHJlc3Npb249bnVsbCxuLmNvbXByZXNzaW9uT3B0aW9ucz1udWxsLG4uY29tbWVudD1udWxsLG4udW5peFBlcm1pc3Npb25zPW51bGwsbi5kb3NQZXJtaXNzaW9ucz1udWxsfSx7fV0sNjpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1udWxsO3I9dHlwZW9mIFByb21pc2U8InUiP1Byb21pc2U6ZSgibGllIiksdC5leHBvcnRzPXtQcm9taXNlOnJ9fSx7bGllOjM3fV0sNzpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj10eXBlb2YgVWludDhBcnJheTwidSImJnR5cGVvZiBVaW50MTZBcnJheTwidSImJnR5cGVvZiBVaW50MzJBcnJheTwidSIsaT1lKCJwYWtvIiksYT1lKCIuL3V0aWxzIikscz1lKCIuL3N0cmVhbS9HZW5lcmljV29ya2VyIiksdT1yPyJ1aW50OGFycmF5IjoiYXJyYXkiO2Z1bmN0aW9uIGQobSx2KXtzLmNhbGwodGhpcywiRmxhdGVXb3JrZXIvIittKSx0aGlzLl9wYWtvPW51bGwsdGhpcy5fcGFrb0FjdGlvbj1tLHRoaXMuX3Bha29PcHRpb25zPXYsdGhpcy5tZXRhPXt9fW4ubWFnaWM9IlxiXDAiLGEuaW5oZXJpdHMoZCxzKSxkLnByb3RvdHlwZS5wcm9jZXNzQ2h1bms9ZnVuY3Rpb24obSl7dGhpcy5tZXRhPW0ubWV0YSx0aGlzLl9wYWtvPT09bnVsbCYmdGhpcy5fY3JlYXRlUGFrbygpLHRoaXMuX3Bha28ucHVzaChhLnRyYW5zZm9ybVRvKHUsbS5kYXRhKSwhMSl9LGQucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKCl7cy5wcm90b3R5cGUuZmx1c2guY2FsbCh0aGlzKSx0aGlzLl9wYWtvPT09bnVsbCYmdGhpcy5fY3JlYXRlUGFrbygpLHRoaXMuX3Bha28ucHVzaChbXSwhMCl9LGQucHJvdG90eXBlLmNsZWFuVXA9ZnVuY3Rpb24oKXtzLnByb3RvdHlwZS5jbGVhblVwLmNhbGwodGhpcyksdGhpcy5fcGFrbz1udWxsfSxkLnByb3RvdHlwZS5fY3JlYXRlUGFrbz1mdW5jdGlvbigpe3RoaXMuX3Bha289bmV3IGlbdGhpcy5fcGFrb0FjdGlvbl0oe3JhdzohMCxsZXZlbDp0aGlzLl9wYWtvT3B0aW9ucy5sZXZlbHx8LTF9KTt2YXIgbT10aGlzO3RoaXMuX3Bha28ub25EYXRhPWZ1bmN0aW9uKHYpe20ucHVzaCh7ZGF0YTp2LG1ldGE6bS5tZXRhfSl9fSxuLmNvbXByZXNzV29ya2VyPWZ1bmN0aW9uKG0pe3JldHVybiBuZXcgZCgiRGVmbGF0ZSIsbSl9LG4udW5jb21wcmVzc1dvcmtlcj1mdW5jdGlvbigpe3JldHVybiBuZXcgZCgiSW5mbGF0ZSIse30pfX0seyIuL3N0cmVhbS9HZW5lcmljV29ya2VyIjoyOCwiLi91dGlscyI6MzIscGFrbzozOH1dLDg6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihnLHcpe3ZhciBiLFQ9IiI7Zm9yKGI9MDtiPHc7YisrKVQrPVN0cmluZy5mcm9tQ2hhckNvZGUoMjU1JmcpLGc+Pj49ODtyZXR1cm4gVH1mdW5jdGlvbiBpKGcsdyxiLFQsRCxoKXt2YXIgbCxwLEM9Zy5maWxlLEY9Zy5jb21wcmVzc2lvbixQPWghPT11LnV0ZjhlbmNvZGUsZj1hLnRyYW5zZm9ybVRvKCJzdHJpbmciLGgoQy5uYW1lKSksVz1hLnRyYW5zZm9ybVRvKCJzdHJpbmciLHUudXRmOGVuY29kZShDLm5hbWUpKSxaPUMuY29tbWVudCxpZT1hLnRyYW5zZm9ybVRvKCJzdHJpbmciLGgoWikpLEU9YS50cmFuc2Zvcm1Ubygic3RyaW5nIix1LnV0ZjhlbmNvZGUoWikpLEo9Vy5sZW5ndGghPT1DLm5hbWUubGVuZ3RoLF89RS5sZW5ndGghPT1aLmxlbmd0aCxTPSIiLGs9IiIsTD0iIixSPUMuZGlyLEI9Qy5kYXRlLEc9e2NyYzMyOjAsY29tcHJlc3NlZFNpemU6MCx1bmNvbXByZXNzZWRTaXplOjB9O3cmJiFifHwoRy5jcmMzMj1nLmNyYzMyLEcuY29tcHJlc3NlZFNpemU9Zy5jb21wcmVzc2VkU2l6ZSxHLnVuY29tcHJlc3NlZFNpemU9Zy51bmNvbXByZXNzZWRTaXplKTt2YXIgTT0wO3cmJihNfD04KSxQfHwhSiYmIV98fChNfD0yMDQ4KTt2YXIgcT0wLGFlPTA7UiYmKHF8PTE2KSxEPT09IlVOSVgiPyhhZT03OTgscXw9KGZ1bmN0aW9uKG5lLHhlKXt2YXIgSWU9bmU7cmV0dXJuIG5lfHwoSWU9eGU/MTY4OTM6MzMyMDQpLCg2NTUzNSZJZSk8PDE2fSkoQy51bml4UGVybWlzc2lvbnMsUikpOihhZT0yMCxxfD0oZnVuY3Rpb24obmUpe3JldHVybiA2MyYobmV8fDApfSkoQy5kb3NQZXJtaXNzaW9ucykpLGw9Qi5nZXRVVENIb3VycygpLGw8PD02LGx8PUIuZ2V0VVRDTWludXRlcygpLGw8PD01LGx8PUIuZ2V0VVRDU2Vjb25kcygpLzIscD1CLmdldFVUQ0Z1bGxZZWFyKCktMTk4MCxwPDw9NCxwfD1CLmdldFVUQ01vbnRoKCkrMSxwPDw9NSxwfD1CLmdldFVUQ0RhdGUoKSxKJiYoaz1yKDEsMSkrcihkKGYpLDQpK1csUys9InVwIityKGsubGVuZ3RoLDIpK2spLF8mJihMPXIoMSwxKStyKGQoaWUpLDQpK0UsUys9InVjIityKEwubGVuZ3RoLDIpK0wpO3ZhciBlZT0iIjtyZXR1cm4gZWUrPWAKXDBgLGVlKz1yKE0sMiksZWUrPUYubWFnaWMsZWUrPXIobCwyKSxlZSs9cihwLDIpLGVlKz1yKEcuY3JjMzIsNCksZWUrPXIoRy5jb21wcmVzc2VkU2l6ZSw0KSxlZSs9cihHLnVuY29tcHJlc3NlZFNpemUsNCksZWUrPXIoZi5sZW5ndGgsMiksZWUrPXIoUy5sZW5ndGgsMikse2ZpbGVSZWNvcmQ6bS5MT0NBTF9GSUxFX0hFQURFUitlZStmK1MsZGlyUmVjb3JkOm0uQ0VOVFJBTF9GSUxFX0hFQURFUityKGFlLDIpK2VlK3IoaWUubGVuZ3RoLDIpKyJcMFwwXDBcMCIrcihxLDQpK3IoVCw0KStmK1MraWV9fXZhciBhPWUoIi4uL3V0aWxzIikscz1lKCIuLi9zdHJlYW0vR2VuZXJpY1dvcmtlciIpLHU9ZSgiLi4vdXRmOCIpLGQ9ZSgiLi4vY3JjMzIiKSxtPWUoIi4uL3NpZ25hdHVyZSIpO2Z1bmN0aW9uIHYoZyx3LGIsVCl7cy5jYWxsKHRoaXMsIlppcEZpbGVXb3JrZXIiKSx0aGlzLmJ5dGVzV3JpdHRlbj0wLHRoaXMuemlwQ29tbWVudD13LHRoaXMuemlwUGxhdGZvcm09Yix0aGlzLmVuY29kZUZpbGVOYW1lPVQsdGhpcy5zdHJlYW1GaWxlcz1nLHRoaXMuYWNjdW11bGF0ZT0hMSx0aGlzLmNvbnRlbnRCdWZmZXI9W10sdGhpcy5kaXJSZWNvcmRzPVtdLHRoaXMuY3VycmVudFNvdXJjZU9mZnNldD0wLHRoaXMuZW50cmllc0NvdW50PTAsdGhpcy5jdXJyZW50RmlsZT1udWxsLHRoaXMuX3NvdXJjZXM9W119YS5pbmhlcml0cyh2LHMpLHYucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24oZyl7dmFyIHc9Zy5tZXRhLnBlcmNlbnR8fDAsYj10aGlzLmVudHJpZXNDb3VudCxUPXRoaXMuX3NvdXJjZXMubGVuZ3RoO3RoaXMuYWNjdW11bGF0ZT90aGlzLmNvbnRlbnRCdWZmZXIucHVzaChnKToodGhpcy5ieXRlc1dyaXR0ZW4rPWcuZGF0YS5sZW5ndGgscy5wcm90b3R5cGUucHVzaC5jYWxsKHRoaXMse2RhdGE6Zy5kYXRhLG1ldGE6e2N1cnJlbnRGaWxlOnRoaXMuY3VycmVudEZpbGUscGVyY2VudDpiPyh3KzEwMCooYi1ULTEpKS9iOjEwMH19KSl9LHYucHJvdG90eXBlLm9wZW5lZFNvdXJjZT1mdW5jdGlvbihnKXt0aGlzLmN1cnJlbnRTb3VyY2VPZmZzZXQ9dGhpcy5ieXRlc1dyaXR0ZW4sdGhpcy5jdXJyZW50RmlsZT1nLmZpbGUubmFtZTt2YXIgdz10aGlzLnN0cmVhbUZpbGVzJiYhZy5maWxlLmRpcjtpZih3KXt2YXIgYj1pKGcsdywhMSx0aGlzLmN1cnJlbnRTb3VyY2VPZmZzZXQsdGhpcy56aXBQbGF0Zm9ybSx0aGlzLmVuY29kZUZpbGVOYW1lKTt0aGlzLnB1c2goe2RhdGE6Yi5maWxlUmVjb3JkLG1ldGE6e3BlcmNlbnQ6MH19KX1lbHNlIHRoaXMuYWNjdW11bGF0ZT0hMH0sdi5wcm90b3R5cGUuY2xvc2VkU291cmNlPWZ1bmN0aW9uKGcpe3RoaXMuYWNjdW11bGF0ZT0hMTt2YXIgdz10aGlzLnN0cmVhbUZpbGVzJiYhZy5maWxlLmRpcixiPWkoZyx3LCEwLHRoaXMuY3VycmVudFNvdXJjZU9mZnNldCx0aGlzLnppcFBsYXRmb3JtLHRoaXMuZW5jb2RlRmlsZU5hbWUpO2lmKHRoaXMuZGlyUmVjb3Jkcy5wdXNoKGIuZGlyUmVjb3JkKSx3KXRoaXMucHVzaCh7ZGF0YTooZnVuY3Rpb24oVCl7cmV0dXJuIG0uREFUQV9ERVNDUklQVE9SK3IoVC5jcmMzMiw0KStyKFQuY29tcHJlc3NlZFNpemUsNCkrcihULnVuY29tcHJlc3NlZFNpemUsNCl9KShnKSxtZXRhOntwZXJjZW50OjEwMH19KTtlbHNlIGZvcih0aGlzLnB1c2goe2RhdGE6Yi5maWxlUmVjb3JkLG1ldGE6e3BlcmNlbnQ6MH19KTt0aGlzLmNvbnRlbnRCdWZmZXIubGVuZ3RoOyl0aGlzLnB1c2godGhpcy5jb250ZW50QnVmZmVyLnNoaWZ0KCkpO3RoaXMuY3VycmVudEZpbGU9bnVsbH0sdi5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24oKXtmb3IodmFyIGc9dGhpcy5ieXRlc1dyaXR0ZW4sdz0wO3c8dGhpcy5kaXJSZWNvcmRzLmxlbmd0aDt3KyspdGhpcy5wdXNoKHtkYXRhOnRoaXMuZGlyUmVjb3Jkc1t3XSxtZXRhOntwZXJjZW50OjEwMH19KTt2YXIgYj10aGlzLmJ5dGVzV3JpdHRlbi1nLFQ9KGZ1bmN0aW9uKEQsaCxsLHAsQyl7dmFyIEY9YS50cmFuc2Zvcm1Ubygic3RyaW5nIixDKHApKTtyZXR1cm4gbS5DRU5UUkFMX0RJUkVDVE9SWV9FTkQrIlwwXDBcMFwwIityKEQsMikrcihELDIpK3IoaCw0KStyKGwsNCkrcihGLmxlbmd0aCwyKStGfSkodGhpcy5kaXJSZWNvcmRzLmxlbmd0aCxiLGcsdGhpcy56aXBDb21tZW50LHRoaXMuZW5jb2RlRmlsZU5hbWUpO3RoaXMucHVzaCh7ZGF0YTpULG1ldGE6e3BlcmNlbnQ6MTAwfX0pfSx2LnByb3RvdHlwZS5wcmVwYXJlTmV4dFNvdXJjZT1mdW5jdGlvbigpe3RoaXMucHJldmlvdXM9dGhpcy5fc291cmNlcy5zaGlmdCgpLHRoaXMub3BlbmVkU291cmNlKHRoaXMucHJldmlvdXMuc3RyZWFtSW5mbyksdGhpcy5pc1BhdXNlZD90aGlzLnByZXZpb3VzLnBhdXNlKCk6dGhpcy5wcmV2aW91cy5yZXN1bWUoKX0sdi5wcm90b3R5cGUucmVnaXN0ZXJQcmV2aW91cz1mdW5jdGlvbihnKXt0aGlzLl9zb3VyY2VzLnB1c2goZyk7dmFyIHc9dGhpcztyZXR1cm4gZy5vbigiZGF0YSIsZnVuY3Rpb24oYil7dy5wcm9jZXNzQ2h1bmsoYil9KSxnLm9uKCJlbmQiLGZ1bmN0aW9uKCl7dy5jbG9zZWRTb3VyY2Uody5wcmV2aW91cy5zdHJlYW1JbmZvKSx3Ll9zb3VyY2VzLmxlbmd0aD93LnByZXBhcmVOZXh0U291cmNlKCk6dy5lbmQoKX0pLGcub24oImVycm9yIixmdW5jdGlvbihiKXt3LmVycm9yKGIpfSksdGhpc30sdi5wcm90b3R5cGUucmVzdW1lPWZ1bmN0aW9uKCl7cmV0dXJuISFzLnByb3RvdHlwZS5yZXN1bWUuY2FsbCh0aGlzKSYmKCF0aGlzLnByZXZpb3VzJiZ0aGlzLl9zb3VyY2VzLmxlbmd0aD8odGhpcy5wcmVwYXJlTmV4dFNvdXJjZSgpLCEwKTp0aGlzLnByZXZpb3VzfHx0aGlzLl9zb3VyY2VzLmxlbmd0aHx8dGhpcy5nZW5lcmF0ZWRFcnJvcj92b2lkIDA6KHRoaXMuZW5kKCksITApKX0sdi5wcm90b3R5cGUuZXJyb3I9ZnVuY3Rpb24oZyl7dmFyIHc9dGhpcy5fc291cmNlcztpZighcy5wcm90b3R5cGUuZXJyb3IuY2FsbCh0aGlzLGcpKXJldHVybiExO2Zvcih2YXIgYj0wO2I8dy5sZW5ndGg7YisrKXRyeXt3W2JdLmVycm9yKGcpfWNhdGNoe31yZXR1cm4hMH0sdi5wcm90b3R5cGUubG9jaz1mdW5jdGlvbigpe3MucHJvdG90eXBlLmxvY2suY2FsbCh0aGlzKTtmb3IodmFyIGc9dGhpcy5fc291cmNlcyx3PTA7dzxnLmxlbmd0aDt3KyspZ1t3XS5sb2NrKCl9LHQuZXhwb3J0cz12fSx7Ii4uL2NyYzMyIjo0LCIuLi9zaWduYXR1cmUiOjIzLCIuLi9zdHJlYW0vR2VuZXJpY1dvcmtlciI6MjgsIi4uL3V0ZjgiOjMxLCIuLi91dGlscyI6MzJ9XSw5OltmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPWUoIi4uL2NvbXByZXNzaW9ucyIpLGk9ZSgiLi9aaXBGaWxlV29ya2VyIik7bi5nZW5lcmF0ZVdvcmtlcj1mdW5jdGlvbihhLHMsdSl7dmFyIGQ9bmV3IGkocy5zdHJlYW1GaWxlcyx1LHMucGxhdGZvcm0scy5lbmNvZGVGaWxlTmFtZSksbT0wO3RyeXthLmZvckVhY2goZnVuY3Rpb24odixnKXttKys7dmFyIHc9KGZ1bmN0aW9uKGgsbCl7dmFyIHA9aHx8bCxDPXJbcF07aWYoIUMpdGhyb3cgbmV3IEVycm9yKHArIiBpcyBub3QgYSB2YWxpZCBjb21wcmVzc2lvbiBtZXRob2QgISIpO3JldHVybiBDfSkoZy5vcHRpb25zLmNvbXByZXNzaW9uLHMuY29tcHJlc3Npb24pLGI9Zy5vcHRpb25zLmNvbXByZXNzaW9uT3B0aW9uc3x8cy5jb21wcmVzc2lvbk9wdGlvbnN8fHt9LFQ9Zy5kaXIsRD1nLmRhdGU7Zy5fY29tcHJlc3NXb3JrZXIodyxiKS53aXRoU3RyZWFtSW5mbygiZmlsZSIse25hbWU6dixkaXI6VCxkYXRlOkQsY29tbWVudDpnLmNvbW1lbnR8fCIiLHVuaXhQZXJtaXNzaW9uczpnLnVuaXhQZXJtaXNzaW9ucyxkb3NQZXJtaXNzaW9uczpnLmRvc1Blcm1pc3Npb25zfSkucGlwZShkKX0pLGQuZW50cmllc0NvdW50PW19Y2F0Y2godil7ZC5lcnJvcih2KX1yZXR1cm4gZH19LHsiLi4vY29tcHJlc3Npb25zIjozLCIuL1ppcEZpbGVXb3JrZXIiOjh9XSwxMDpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKCl7aWYoISh0aGlzIGluc3RhbmNlb2YgcikpcmV0dXJuIG5ldyByO2lmKGFyZ3VtZW50cy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJUaGUgY29uc3RydWN0b3Igd2l0aCBwYXJhbWV0ZXJzIGhhcyBiZWVuIHJlbW92ZWQgaW4gSlNaaXAgMy4wLCBwbGVhc2UgY2hlY2sgdGhlIHVwZ3JhZGUgZ3VpZGUuIik7dGhpcy5maWxlcz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuY29tbWVudD1udWxsLHRoaXMucm9vdD0iIix0aGlzLmNsb25lPWZ1bmN0aW9uKCl7dmFyIGk9bmV3IHI7Zm9yKHZhciBhIGluIHRoaXMpdHlwZW9mIHRoaXNbYV0hPSJmdW5jdGlvbiImJihpW2FdPXRoaXNbYV0pO3JldHVybiBpfX0oci5wcm90b3R5cGU9ZSgiLi9vYmplY3QiKSkubG9hZEFzeW5jPWUoIi4vbG9hZCIpLHIuc3VwcG9ydD1lKCIuL3N1cHBvcnQiKSxyLmRlZmF1bHRzPWUoIi4vZGVmYXVsdHMiKSxyLnZlcnNpb249IjMuMTAuMSIsci5sb2FkQXN5bmM9ZnVuY3Rpb24oaSxhKXtyZXR1cm4gbmV3IHIoKS5sb2FkQXN5bmMoaSxhKX0sci5leHRlcm5hbD1lKCIuL2V4dGVybmFsIiksdC5leHBvcnRzPXJ9LHsiLi9kZWZhdWx0cyI6NSwiLi9leHRlcm5hbCI6NiwiLi9sb2FkIjoxMSwiLi9vYmplY3QiOjE1LCIuL3N1cHBvcnQiOjMwfV0sMTE6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9ZSgiLi91dGlscyIpLGk9ZSgiLi9leHRlcm5hbCIpLGE9ZSgiLi91dGY4Iikscz1lKCIuL3ppcEVudHJpZXMiKSx1PWUoIi4vc3RyZWFtL0NyYzMyUHJvYmUiKSxkPWUoIi4vbm9kZWpzVXRpbHMiKTtmdW5jdGlvbiBtKHYpe3JldHVybiBuZXcgaS5Qcm9taXNlKGZ1bmN0aW9uKGcsdyl7dmFyIGI9di5kZWNvbXByZXNzZWQuZ2V0Q29udGVudFdvcmtlcigpLnBpcGUobmV3IHUpO2Iub24oImVycm9yIixmdW5jdGlvbihUKXt3KFQpfSkub24oImVuZCIsZnVuY3Rpb24oKXtiLnN0cmVhbUluZm8uY3JjMzIhPT12LmRlY29tcHJlc3NlZC5jcmMzMj93KG5ldyBFcnJvcigiQ29ycnVwdGVkIHppcCA6IENSQzMyIG1pc21hdGNoIikpOmcoKX0pLnJlc3VtZSgpfSl9dC5leHBvcnRzPWZ1bmN0aW9uKHYsZyl7dmFyIHc9dGhpcztyZXR1cm4gZz1yLmV4dGVuZChnfHx7fSx7YmFzZTY0OiExLGNoZWNrQ1JDMzI6ITEsb3B0aW1pemVkQmluYXJ5U3RyaW5nOiExLGNyZWF0ZUZvbGRlcnM6ITEsZGVjb2RlRmlsZU5hbWU6YS51dGY4ZGVjb2RlfSksZC5pc05vZGUmJmQuaXNTdHJlYW0odik/aS5Qcm9taXNlLnJlamVjdChuZXcgRXJyb3IoIkpTWmlwIGNhbid0IGFjY2VwdCBhIHN0cmVhbSB3aGVuIGxvYWRpbmcgYSB6aXAgZmlsZS4iKSk6ci5wcmVwYXJlQ29udGVudCgidGhlIGxvYWRlZCB6aXAgZmlsZSIsdiwhMCxnLm9wdGltaXplZEJpbmFyeVN0cmluZyxnLmJhc2U2NCkudGhlbihmdW5jdGlvbihiKXt2YXIgVD1uZXcgcyhnKTtyZXR1cm4gVC5sb2FkKGIpLFR9KS50aGVuKGZ1bmN0aW9uKGIpe3ZhciBUPVtpLlByb21pc2UucmVzb2x2ZShiKV0sRD1iLmZpbGVzO2lmKGcuY2hlY2tDUkMzMilmb3IodmFyIGg9MDtoPEQubGVuZ3RoO2grKylULnB1c2gobShEW2hdKSk7cmV0dXJuIGkuUHJvbWlzZS5hbGwoVCl9KS50aGVuKGZ1bmN0aW9uKGIpe2Zvcih2YXIgVD1iLnNoaWZ0KCksRD1ULmZpbGVzLGg9MDtoPEQubGVuZ3RoO2grKyl7dmFyIGw9RFtoXSxwPWwuZmlsZU5hbWVTdHIsQz1yLnJlc29sdmUobC5maWxlTmFtZVN0cik7dy5maWxlKEMsbC5kZWNvbXByZXNzZWQse2JpbmFyeTohMCxvcHRpbWl6ZWRCaW5hcnlTdHJpbmc6ITAsZGF0ZTpsLmRhdGUsZGlyOmwuZGlyLGNvbW1lbnQ6bC5maWxlQ29tbWVudFN0ci5sZW5ndGg/bC5maWxlQ29tbWVudFN0cjpudWxsLHVuaXhQZXJtaXNzaW9uczpsLnVuaXhQZXJtaXNzaW9ucyxkb3NQZXJtaXNzaW9uczpsLmRvc1Blcm1pc3Npb25zLGNyZWF0ZUZvbGRlcnM6Zy5jcmVhdGVGb2xkZXJzfSksbC5kaXJ8fCh3LmZpbGUoQykudW5zYWZlT3JpZ2luYWxOYW1lPXApfXJldHVybiBULnppcENvbW1lbnQubGVuZ3RoJiYody5jb21tZW50PVQuemlwQ29tbWVudCksd30pfX0seyIuL2V4dGVybmFsIjo2LCIuL25vZGVqc1V0aWxzIjoxNCwiLi9zdHJlYW0vQ3JjMzJQcm9iZSI6MjUsIi4vdXRmOCI6MzEsIi4vdXRpbHMiOjMyLCIuL3ppcEVudHJpZXMiOjMzfV0sMTI6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9ZSgiLi4vdXRpbHMiKSxpPWUoIi4uL3N0cmVhbS9HZW5lcmljV29ya2VyIik7ZnVuY3Rpb24gYShzLHUpe2kuY2FsbCh0aGlzLCJOb2RlanMgc3RyZWFtIGlucHV0IGFkYXB0ZXIgZm9yICIrcyksdGhpcy5fdXBzdHJlYW1FbmRlZD0hMSx0aGlzLl9iaW5kU3RyZWFtKHUpfXIuaW5oZXJpdHMoYSxpKSxhLnByb3RvdHlwZS5fYmluZFN0cmVhbT1mdW5jdGlvbihzKXt2YXIgdT10aGlzOyh0aGlzLl9zdHJlYW09cykucGF1c2UoKSxzLm9uKCJkYXRhIixmdW5jdGlvbihkKXt1LnB1c2goe2RhdGE6ZCxtZXRhOntwZXJjZW50OjB9fSl9KS5vbigiZXJyb3IiLGZ1bmN0aW9uKGQpe3UuaXNQYXVzZWQ/dGhpcy5nZW5lcmF0ZWRFcnJvcj1kOnUuZXJyb3IoZCl9KS5vbigiZW5kIixmdW5jdGlvbigpe3UuaXNQYXVzZWQ/dS5fdXBzdHJlYW1FbmRlZD0hMDp1LmVuZCgpfSl9LGEucHJvdG90eXBlLnBhdXNlPWZ1bmN0aW9uKCl7cmV0dXJuISFpLnByb3RvdHlwZS5wYXVzZS5jYWxsKHRoaXMpJiYodGhpcy5fc3RyZWFtLnBhdXNlKCksITApfSxhLnByb3RvdHlwZS5yZXN1bWU9ZnVuY3Rpb24oKXtyZXR1cm4hIWkucHJvdG90eXBlLnJlc3VtZS5jYWxsKHRoaXMpJiYodGhpcy5fdXBzdHJlYW1FbmRlZD90aGlzLmVuZCgpOnRoaXMuX3N0cmVhbS5yZXN1bWUoKSwhMCl9LHQuZXhwb3J0cz1hfSx7Ii4uL3N0cmVhbS9HZW5lcmljV29ya2VyIjoyOCwiLi4vdXRpbHMiOjMyfV0sMTM6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9ZSgicmVhZGFibGUtc3RyZWFtIikuUmVhZGFibGU7ZnVuY3Rpb24gaShhLHMsdSl7ci5jYWxsKHRoaXMscyksdGhpcy5faGVscGVyPWE7dmFyIGQ9dGhpczthLm9uKCJkYXRhIixmdW5jdGlvbihtLHYpe2QucHVzaChtKXx8ZC5faGVscGVyLnBhdXNlKCksdSYmdSh2KX0pLm9uKCJlcnJvciIsZnVuY3Rpb24obSl7ZC5lbWl0KCJlcnJvciIsbSl9KS5vbigiZW5kIixmdW5jdGlvbigpe2QucHVzaChudWxsKX0pfWUoIi4uL3V0aWxzIikuaW5oZXJpdHMoaSxyKSxpLnByb3RvdHlwZS5fcmVhZD1mdW5jdGlvbigpe3RoaXMuX2hlbHBlci5yZXN1bWUoKX0sdC5leHBvcnRzPWl9LHsiLi4vdXRpbHMiOjMyLCJyZWFkYWJsZS1zdHJlYW0iOjE2fV0sMTQ6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dC5leHBvcnRzPXtpc05vZGU6dHlwZW9mIEJ1ZmZlcjwidSIsbmV3QnVmZmVyRnJvbTpmdW5jdGlvbihyLGkpe2lmKEJ1ZmZlci5mcm9tJiZCdWZmZXIuZnJvbSE9PVVpbnQ4QXJyYXkuZnJvbSlyZXR1cm4gQnVmZmVyLmZyb20ocixpKTtpZih0eXBlb2Ygcj09Im51bWJlciIpdGhyb3cgbmV3IEVycm9yKCdUaGUgImRhdGEiIGFyZ3VtZW50IG11c3Qgbm90IGJlIGEgbnVtYmVyJyk7cmV0dXJuIG5ldyBCdWZmZXIocixpKX0sYWxsb2NCdWZmZXI6ZnVuY3Rpb24ocil7aWYoQnVmZmVyLmFsbG9jKXJldHVybiBCdWZmZXIuYWxsb2Mocik7dmFyIGk9bmV3IEJ1ZmZlcihyKTtyZXR1cm4gaS5maWxsKDApLGl9LGlzQnVmZmVyOmZ1bmN0aW9uKHIpe3JldHVybiBCdWZmZXIuaXNCdWZmZXIocil9LGlzU3RyZWFtOmZ1bmN0aW9uKHIpe3JldHVybiByJiZ0eXBlb2Ygci5vbj09ImZ1bmN0aW9uIiYmdHlwZW9mIHIucGF1c2U9PSJmdW5jdGlvbiImJnR5cGVvZiByLnJlc3VtZT09ImZ1bmN0aW9uIn19fSx7fV0sMTU6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihDLEYsUCl7dmFyIGYsVz1hLmdldFR5cGVPZihGKSxaPWEuZXh0ZW5kKFB8fHt9LGQpO1ouZGF0ZT1aLmRhdGV8fG5ldyBEYXRlLFouY29tcHJlc3Npb24hPT1udWxsJiYoWi5jb21wcmVzc2lvbj1aLmNvbXByZXNzaW9uLnRvVXBwZXJDYXNlKCkpLHR5cGVvZiBaLnVuaXhQZXJtaXNzaW9ucz09InN0cmluZyImJihaLnVuaXhQZXJtaXNzaW9ucz1wYXJzZUludChaLnVuaXhQZXJtaXNzaW9ucyw4KSksWi51bml4UGVybWlzc2lvbnMmJjE2Mzg0JloudW5peFBlcm1pc3Npb25zJiYoWi5kaXI9ITApLFouZG9zUGVybWlzc2lvbnMmJjE2JlouZG9zUGVybWlzc2lvbnMmJihaLmRpcj0hMCksWi5kaXImJihDPUQoQykpLFouY3JlYXRlRm9sZGVycyYmKGY9VChDKSkmJmguY2FsbCh0aGlzLGYsITApO3ZhciBpZT1XPT09InN0cmluZyImJlouYmluYXJ5PT09ITEmJlouYmFzZTY0PT09ITE7UCYmUC5iaW5hcnkhPT12b2lkIDB8fChaLmJpbmFyeT0haWUpLChGIGluc3RhbmNlb2YgbSYmRi51bmNvbXByZXNzZWRTaXplPT09MHx8Wi5kaXJ8fCFGfHxGLmxlbmd0aD09PTApJiYoWi5iYXNlNjQ9ITEsWi5iaW5hcnk9ITAsRj0iIixaLmNvbXByZXNzaW9uPSJTVE9SRSIsVz0ic3RyaW5nIik7dmFyIEU9bnVsbDtFPUYgaW5zdGFuY2VvZiBtfHxGIGluc3RhbmNlb2Ygcz9GOncuaXNOb2RlJiZ3LmlzU3RyZWFtKEYpP25ldyBiKEMsRik6YS5wcmVwYXJlQ29udGVudChDLEYsWi5iaW5hcnksWi5vcHRpbWl6ZWRCaW5hcnlTdHJpbmcsWi5iYXNlNjQpO3ZhciBKPW5ldyB2KEMsRSxaKTt0aGlzLmZpbGVzW0NdPUp9dmFyIGk9ZSgiLi91dGY4IiksYT1lKCIuL3V0aWxzIikscz1lKCIuL3N0cmVhbS9HZW5lcmljV29ya2VyIiksdT1lKCIuL3N0cmVhbS9TdHJlYW1IZWxwZXIiKSxkPWUoIi4vZGVmYXVsdHMiKSxtPWUoIi4vY29tcHJlc3NlZE9iamVjdCIpLHY9ZSgiLi96aXBPYmplY3QiKSxnPWUoIi4vZ2VuZXJhdGUiKSx3PWUoIi4vbm9kZWpzVXRpbHMiKSxiPWUoIi4vbm9kZWpzL05vZGVqc1N0cmVhbUlucHV0QWRhcHRlciIpLFQ9ZnVuY3Rpb24oQyl7Qy5zbGljZSgtMSk9PT0iLyImJihDPUMuc3Vic3RyaW5nKDAsQy5sZW5ndGgtMSkpO3ZhciBGPUMubGFzdEluZGV4T2YoIi8iKTtyZXR1cm4gMDxGP0Muc3Vic3RyaW5nKDAsRik6IiJ9LEQ9ZnVuY3Rpb24oQyl7cmV0dXJuIEMuc2xpY2UoLTEpIT09Ii8iJiYoQys9Ii8iKSxDfSxoPWZ1bmN0aW9uKEMsRil7cmV0dXJuIEY9RiE9PXZvaWQgMD9GOmQuY3JlYXRlRm9sZGVycyxDPUQoQyksdGhpcy5maWxlc1tDXXx8ci5jYWxsKHRoaXMsQyxudWxsLHtkaXI6ITAsY3JlYXRlRm9sZGVyczpGfSksdGhpcy5maWxlc1tDXX07ZnVuY3Rpb24gbChDKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKEMpPT09IltvYmplY3QgUmVnRXhwXSJ9dmFyIHA9e2xvYWQ6ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIlRoaXMgbWV0aG9kIGhhcyBiZWVuIHJlbW92ZWQgaW4gSlNaaXAgMy4wLCBwbGVhc2UgY2hlY2sgdGhlIHVwZ3JhZGUgZ3VpZGUuIil9LGZvckVhY2g6ZnVuY3Rpb24oQyl7dmFyIEYsUCxmO2ZvcihGIGluIHRoaXMuZmlsZXMpZj10aGlzLmZpbGVzW0ZdLChQPUYuc2xpY2UodGhpcy5yb290Lmxlbmd0aCxGLmxlbmd0aCkpJiZGLnNsaWNlKDAsdGhpcy5yb290Lmxlbmd0aCk9PT10aGlzLnJvb3QmJkMoUCxmKX0sZmlsdGVyOmZ1bmN0aW9uKEMpe3ZhciBGPVtdO3JldHVybiB0aGlzLmZvckVhY2goZnVuY3Rpb24oUCxmKXtDKFAsZikmJkYucHVzaChmKX0pLEZ9LGZpbGU6ZnVuY3Rpb24oQyxGLFApe2lmKGFyZ3VtZW50cy5sZW5ndGghPT0xKXJldHVybiBDPXRoaXMucm9vdCtDLHIuY2FsbCh0aGlzLEMsRixQKSx0aGlzO2lmKGwoQykpe3ZhciBmPUM7cmV0dXJuIHRoaXMuZmlsdGVyKGZ1bmN0aW9uKFosaWUpe3JldHVybiFpZS5kaXImJmYudGVzdChaKX0pfXZhciBXPXRoaXMuZmlsZXNbdGhpcy5yb290K0NdO3JldHVybiBXJiYhVy5kaXI/VzpudWxsfSxmb2xkZXI6ZnVuY3Rpb24oQyl7aWYoIUMpcmV0dXJuIHRoaXM7aWYobChDKSlyZXR1cm4gdGhpcy5maWx0ZXIoZnVuY3Rpb24oVyxaKXtyZXR1cm4gWi5kaXImJkMudGVzdChXKX0pO3ZhciBGPXRoaXMucm9vdCtDLFA9aC5jYWxsKHRoaXMsRiksZj10aGlzLmNsb25lKCk7cmV0dXJuIGYucm9vdD1QLm5hbWUsZn0scmVtb3ZlOmZ1bmN0aW9uKEMpe0M9dGhpcy5yb290K0M7dmFyIEY9dGhpcy5maWxlc1tDXTtpZihGfHwoQy5zbGljZSgtMSkhPT0iLyImJihDKz0iLyIpLEY9dGhpcy5maWxlc1tDXSksRiYmIUYuZGlyKWRlbGV0ZSB0aGlzLmZpbGVzW0NdO2Vsc2UgZm9yKHZhciBQPXRoaXMuZmlsdGVyKGZ1bmN0aW9uKFcsWil7cmV0dXJuIFoubmFtZS5zbGljZSgwLEMubGVuZ3RoKT09PUN9KSxmPTA7ZjxQLmxlbmd0aDtmKyspZGVsZXRlIHRoaXMuZmlsZXNbUFtmXS5uYW1lXTtyZXR1cm4gdGhpc30sZ2VuZXJhdGU6ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIlRoaXMgbWV0aG9kIGhhcyBiZWVuIHJlbW92ZWQgaW4gSlNaaXAgMy4wLCBwbGVhc2UgY2hlY2sgdGhlIHVwZ3JhZGUgZ3VpZGUuIil9LGdlbmVyYXRlSW50ZXJuYWxTdHJlYW06ZnVuY3Rpb24oQyl7dmFyIEYsUD17fTt0cnl7aWYoKFA9YS5leHRlbmQoQ3x8e30se3N0cmVhbUZpbGVzOiExLGNvbXByZXNzaW9uOiJTVE9SRSIsY29tcHJlc3Npb25PcHRpb25zOm51bGwsdHlwZToiIixwbGF0Zm9ybToiRE9TIixjb21tZW50Om51bGwsbWltZVR5cGU6ImFwcGxpY2F0aW9uL3ppcCIsZW5jb2RlRmlsZU5hbWU6aS51dGY4ZW5jb2RlfSkpLnR5cGU9UC50eXBlLnRvTG93ZXJDYXNlKCksUC5jb21wcmVzc2lvbj1QLmNvbXByZXNzaW9uLnRvVXBwZXJDYXNlKCksUC50eXBlPT09ImJpbmFyeXN0cmluZyImJihQLnR5cGU9InN0cmluZyIpLCFQLnR5cGUpdGhyb3cgbmV3IEVycm9yKCJObyBvdXRwdXQgdHlwZSBzcGVjaWZpZWQuIik7YS5jaGVja1N1cHBvcnQoUC50eXBlKSxQLnBsYXRmb3JtIT09ImRhcndpbiImJlAucGxhdGZvcm0hPT0iZnJlZWJzZCImJlAucGxhdGZvcm0hPT0ibGludXgiJiZQLnBsYXRmb3JtIT09InN1bm9zInx8KFAucGxhdGZvcm09IlVOSVgiKSxQLnBsYXRmb3JtPT09IndpbjMyIiYmKFAucGxhdGZvcm09IkRPUyIpO3ZhciBmPVAuY29tbWVudHx8dGhpcy5jb21tZW50fHwiIjtGPWcuZ2VuZXJhdGVXb3JrZXIodGhpcyxQLGYpfWNhdGNoKFcpeyhGPW5ldyBzKCJlcnJvciIpKS5lcnJvcihXKX1yZXR1cm4gbmV3IHUoRixQLnR5cGV8fCJzdHJpbmciLFAubWltZVR5cGUpfSxnZW5lcmF0ZUFzeW5jOmZ1bmN0aW9uKEMsRil7cmV0dXJuIHRoaXMuZ2VuZXJhdGVJbnRlcm5hbFN0cmVhbShDKS5hY2N1bXVsYXRlKEYpfSxnZW5lcmF0ZU5vZGVTdHJlYW06ZnVuY3Rpb24oQyxGKXtyZXR1cm4oQz1DfHx7fSkudHlwZXx8KEMudHlwZT0ibm9kZWJ1ZmZlciIpLHRoaXMuZ2VuZXJhdGVJbnRlcm5hbFN0cmVhbShDKS50b05vZGVqc1N0cmVhbShGKX19O3QuZXhwb3J0cz1wfSx7Ii4vY29tcHJlc3NlZE9iamVjdCI6MiwiLi9kZWZhdWx0cyI6NSwiLi9nZW5lcmF0ZSI6OSwiLi9ub2RlanMvTm9kZWpzU3RyZWFtSW5wdXRBZGFwdGVyIjoxMiwiLi9ub2RlanNVdGlscyI6MTQsIi4vc3RyZWFtL0dlbmVyaWNXb3JrZXIiOjI4LCIuL3N0cmVhbS9TdHJlYW1IZWxwZXIiOjI5LCIuL3V0ZjgiOjMxLCIuL3V0aWxzIjozMiwiLi96aXBPYmplY3QiOjM1fV0sMTY6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dC5leHBvcnRzPWUoInN0cmVhbSIpfSx7c3RyZWFtOnZvaWQgMH1dLDE3OltmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPWUoIi4vRGF0YVJlYWRlciIpO2Z1bmN0aW9uIGkoYSl7ci5jYWxsKHRoaXMsYSk7Zm9yKHZhciBzPTA7czx0aGlzLmRhdGEubGVuZ3RoO3MrKylhW3NdPTI1NSZhW3NdfWUoIi4uL3V0aWxzIikuaW5oZXJpdHMoaSxyKSxpLnByb3RvdHlwZS5ieXRlQXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZGF0YVt0aGlzLnplcm8rYV19LGkucHJvdG90eXBlLmxhc3RJbmRleE9mU2lnbmF0dXJlPWZ1bmN0aW9uKGEpe2Zvcih2YXIgcz1hLmNoYXJDb2RlQXQoMCksdT1hLmNoYXJDb2RlQXQoMSksZD1hLmNoYXJDb2RlQXQoMiksbT1hLmNoYXJDb2RlQXQoMyksdj10aGlzLmxlbmd0aC00OzA8PXY7LS12KWlmKHRoaXMuZGF0YVt2XT09PXMmJnRoaXMuZGF0YVt2KzFdPT09dSYmdGhpcy5kYXRhW3YrMl09PT1kJiZ0aGlzLmRhdGFbdiszXT09PW0pcmV0dXJuIHYtdGhpcy56ZXJvO3JldHVybi0xfSxpLnByb3RvdHlwZS5yZWFkQW5kQ2hlY2tTaWduYXR1cmU9ZnVuY3Rpb24oYSl7dmFyIHM9YS5jaGFyQ29kZUF0KDApLHU9YS5jaGFyQ29kZUF0KDEpLGQ9YS5jaGFyQ29kZUF0KDIpLG09YS5jaGFyQ29kZUF0KDMpLHY9dGhpcy5yZWFkRGF0YSg0KTtyZXR1cm4gcz09PXZbMF0mJnU9PT12WzFdJiZkPT09dlsyXSYmbT09PXZbM119LGkucHJvdG90eXBlLnJlYWREYXRhPWZ1bmN0aW9uKGEpe2lmKHRoaXMuY2hlY2tPZmZzZXQoYSksYT09PTApcmV0dXJuW107dmFyIHM9dGhpcy5kYXRhLnNsaWNlKHRoaXMuemVybyt0aGlzLmluZGV4LHRoaXMuemVybyt0aGlzLmluZGV4K2EpO3JldHVybiB0aGlzLmluZGV4Kz1hLHN9LHQuZXhwb3J0cz1pfSx7Ii4uL3V0aWxzIjozMiwiLi9EYXRhUmVhZGVyIjoxOH1dLDE4OltmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPWUoIi4uL3V0aWxzIik7ZnVuY3Rpb24gaShhKXt0aGlzLmRhdGE9YSx0aGlzLmxlbmd0aD1hLmxlbmd0aCx0aGlzLmluZGV4PTAsdGhpcy56ZXJvPTB9aS5wcm90b3R5cGU9e2NoZWNrT2Zmc2V0OmZ1bmN0aW9uKGEpe3RoaXMuY2hlY2tJbmRleCh0aGlzLmluZGV4K2EpfSxjaGVja0luZGV4OmZ1bmN0aW9uKGEpe2lmKHRoaXMubGVuZ3RoPHRoaXMuemVybythfHxhPDApdGhyb3cgbmV3IEVycm9yKCJFbmQgb2YgZGF0YSByZWFjaGVkIChkYXRhIGxlbmd0aCA9ICIrdGhpcy5sZW5ndGgrIiwgYXNrZWQgaW5kZXggPSAiK2ErIikuIENvcnJ1cHRlZCB6aXAgPyIpfSxzZXRJbmRleDpmdW5jdGlvbihhKXt0aGlzLmNoZWNrSW5kZXgoYSksdGhpcy5pbmRleD1hfSxza2lwOmZ1bmN0aW9uKGEpe3RoaXMuc2V0SW5kZXgodGhpcy5pbmRleCthKX0sYnl0ZUF0OmZ1bmN0aW9uKCl7fSxyZWFkSW50OmZ1bmN0aW9uKGEpe3ZhciBzLHU9MDtmb3IodGhpcy5jaGVja09mZnNldChhKSxzPXRoaXMuaW5kZXgrYS0xO3M+PXRoaXMuaW5kZXg7cy0tKXU9KHU8PDgpK3RoaXMuYnl0ZUF0KHMpO3JldHVybiB0aGlzLmluZGV4Kz1hLHV9LHJlYWRTdHJpbmc6ZnVuY3Rpb24oYSl7cmV0dXJuIHIudHJhbnNmb3JtVG8oInN0cmluZyIsdGhpcy5yZWFkRGF0YShhKSl9LHJlYWREYXRhOmZ1bmN0aW9uKCl7fSxsYXN0SW5kZXhPZlNpZ25hdHVyZTpmdW5jdGlvbigpe30scmVhZEFuZENoZWNrU2lnbmF0dXJlOmZ1bmN0aW9uKCl7fSxyZWFkRGF0ZTpmdW5jdGlvbigpe3ZhciBhPXRoaXMucmVhZEludCg0KTtyZXR1cm4gbmV3IERhdGUoRGF0ZS5VVEMoMTk4MCsoYT4+MjUmMTI3KSwoYT4+MjEmMTUpLTEsYT4+MTYmMzEsYT4+MTEmMzEsYT4+NSY2MywoMzEmYSk8PDEpKX19LHQuZXhwb3J0cz1pfSx7Ii4uL3V0aWxzIjozMn1dLDE5OltmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPWUoIi4vVWludDhBcnJheVJlYWRlciIpO2Z1bmN0aW9uIGkoYSl7ci5jYWxsKHRoaXMsYSl9ZSgiLi4vdXRpbHMiKS5pbmhlcml0cyhpLHIpLGkucHJvdG90eXBlLnJlYWREYXRhPWZ1bmN0aW9uKGEpe3RoaXMuY2hlY2tPZmZzZXQoYSk7dmFyIHM9dGhpcy5kYXRhLnNsaWNlKHRoaXMuemVybyt0aGlzLmluZGV4LHRoaXMuemVybyt0aGlzLmluZGV4K2EpO3JldHVybiB0aGlzLmluZGV4Kz1hLHN9LHQuZXhwb3J0cz1pfSx7Ii4uL3V0aWxzIjozMiwiLi9VaW50OEFycmF5UmVhZGVyIjoyMX1dLDIwOltmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPWUoIi4vRGF0YVJlYWRlciIpO2Z1bmN0aW9uIGkoYSl7ci5jYWxsKHRoaXMsYSl9ZSgiLi4vdXRpbHMiKS5pbmhlcml0cyhpLHIpLGkucHJvdG90eXBlLmJ5dGVBdD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5kYXRhLmNoYXJDb2RlQXQodGhpcy56ZXJvK2EpfSxpLnByb3RvdHlwZS5sYXN0SW5kZXhPZlNpZ25hdHVyZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5kYXRhLmxhc3RJbmRleE9mKGEpLXRoaXMuemVyb30saS5wcm90b3R5cGUucmVhZEFuZENoZWNrU2lnbmF0dXJlPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09dGhpcy5yZWFkRGF0YSg0KX0saS5wcm90b3R5cGUucmVhZERhdGE9ZnVuY3Rpb24oYSl7dGhpcy5jaGVja09mZnNldChhKTt2YXIgcz10aGlzLmRhdGEuc2xpY2UodGhpcy56ZXJvK3RoaXMuaW5kZXgsdGhpcy56ZXJvK3RoaXMuaW5kZXgrYSk7cmV0dXJuIHRoaXMuaW5kZXgrPWEsc30sdC5leHBvcnRzPWl9LHsiLi4vdXRpbHMiOjMyLCIuL0RhdGFSZWFkZXIiOjE4fV0sMjE6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9ZSgiLi9BcnJheVJlYWRlciIpO2Z1bmN0aW9uIGkoYSl7ci5jYWxsKHRoaXMsYSl9ZSgiLi4vdXRpbHMiKS5pbmhlcml0cyhpLHIpLGkucHJvdG90eXBlLnJlYWREYXRhPWZ1bmN0aW9uKGEpe2lmKHRoaXMuY2hlY2tPZmZzZXQoYSksYT09PTApcmV0dXJuIG5ldyBVaW50OEFycmF5KDApO3ZhciBzPXRoaXMuZGF0YS5zdWJhcnJheSh0aGlzLnplcm8rdGhpcy5pbmRleCx0aGlzLnplcm8rdGhpcy5pbmRleCthKTtyZXR1cm4gdGhpcy5pbmRleCs9YSxzfSx0LmV4cG9ydHM9aX0seyIuLi91dGlscyI6MzIsIi4vQXJyYXlSZWFkZXIiOjE3fV0sMjI6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9ZSgiLi4vdXRpbHMiKSxpPWUoIi4uL3N1cHBvcnQiKSxhPWUoIi4vQXJyYXlSZWFkZXIiKSxzPWUoIi4vU3RyaW5nUmVhZGVyIiksdT1lKCIuL05vZGVCdWZmZXJSZWFkZXIiKSxkPWUoIi4vVWludDhBcnJheVJlYWRlciIpO3QuZXhwb3J0cz1mdW5jdGlvbihtKXt2YXIgdj1yLmdldFR5cGVPZihtKTtyZXR1cm4gci5jaGVja1N1cHBvcnQodiksdiE9PSJzdHJpbmcifHxpLnVpbnQ4YXJyYXk/dj09PSJub2RlYnVmZmVyIj9uZXcgdShtKTppLnVpbnQ4YXJyYXk/bmV3IGQoci50cmFuc2Zvcm1UbygidWludDhhcnJheSIsbSkpOm5ldyBhKHIudHJhbnNmb3JtVG8oImFycmF5IixtKSk6bmV3IHMobSl9fSx7Ii4uL3N1cHBvcnQiOjMwLCIuLi91dGlscyI6MzIsIi4vQXJyYXlSZWFkZXIiOjE3LCIuL05vZGVCdWZmZXJSZWFkZXIiOjE5LCIuL1N0cmluZ1JlYWRlciI6MjAsIi4vVWludDhBcnJheVJlYWRlciI6MjF9XSwyMzpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLkxPQ0FMX0ZJTEVfSEVBREVSPSJQSwMEIixuLkNFTlRSQUxfRklMRV9IRUFERVI9IlBLAQIiLG4uQ0VOVFJBTF9ESVJFQ1RPUllfRU5EPSJQSwUGIixuLlpJUDY0X0NFTlRSQUxfRElSRUNUT1JZX0xPQ0FUT1I9IlBLBlx4MDciLG4uWklQNjRfQ0VOVFJBTF9ESVJFQ1RPUllfRU5EPSJQSwYGIixuLkRBVEFfREVTQ1JJUFRPUj0iUEtceDA3XGIifSx7fV0sMjQ6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9ZSgiLi9HZW5lcmljV29ya2VyIiksaT1lKCIuLi91dGlscyIpO2Z1bmN0aW9uIGEocyl7ci5jYWxsKHRoaXMsIkNvbnZlcnRXb3JrZXIgdG8gIitzKSx0aGlzLmRlc3RUeXBlPXN9aS5pbmhlcml0cyhhLHIpLGEucHJvdG90eXBlLnByb2Nlc3NDaHVuaz1mdW5jdGlvbihzKXt0aGlzLnB1c2goe2RhdGE6aS50cmFuc2Zvcm1Ubyh0aGlzLmRlc3RUeXBlLHMuZGF0YSksbWV0YTpzLm1ldGF9KX0sdC5leHBvcnRzPWF9LHsiLi4vdXRpbHMiOjMyLCIuL0dlbmVyaWNXb3JrZXIiOjI4fV0sMjU6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9ZSgiLi9HZW5lcmljV29ya2VyIiksaT1lKCIuLi9jcmMzMiIpO2Z1bmN0aW9uIGEoKXtyLmNhbGwodGhpcywiQ3JjMzJQcm9iZSIpLHRoaXMud2l0aFN0cmVhbUluZm8oImNyYzMyIiwwKX1lKCIuLi91dGlscyIpLmluaGVyaXRzKGEsciksYS5wcm90b3R5cGUucHJvY2Vzc0NodW5rPWZ1bmN0aW9uKHMpe3RoaXMuc3RyZWFtSW5mby5jcmMzMj1pKHMuZGF0YSx0aGlzLnN0cmVhbUluZm8uY3JjMzJ8fDApLHRoaXMucHVzaChzKX0sdC5leHBvcnRzPWF9LHsiLi4vY3JjMzIiOjQsIi4uL3V0aWxzIjozMiwiLi9HZW5lcmljV29ya2VyIjoyOH1dLDI2OltmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPWUoIi4uL3V0aWxzIiksaT1lKCIuL0dlbmVyaWNXb3JrZXIiKTtmdW5jdGlvbiBhKHMpe2kuY2FsbCh0aGlzLCJEYXRhTGVuZ3RoUHJvYmUgZm9yICIrcyksdGhpcy5wcm9wTmFtZT1zLHRoaXMud2l0aFN0cmVhbUluZm8ocywwKX1yLmluaGVyaXRzKGEsaSksYS5wcm90b3R5cGUucHJvY2Vzc0NodW5rPWZ1bmN0aW9uKHMpe2lmKHMpe3ZhciB1PXRoaXMuc3RyZWFtSW5mb1t0aGlzLnByb3BOYW1lXXx8MDt0aGlzLnN0cmVhbUluZm9bdGhpcy5wcm9wTmFtZV09dStzLmRhdGEubGVuZ3RofWkucHJvdG90eXBlLnByb2Nlc3NDaHVuay5jYWxsKHRoaXMscyl9LHQuZXhwb3J0cz1hfSx7Ii4uL3V0aWxzIjozMiwiLi9HZW5lcmljV29ya2VyIjoyOH1dLDI3OltmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPWUoIi4uL3V0aWxzIiksaT1lKCIuL0dlbmVyaWNXb3JrZXIiKTtmdW5jdGlvbiBhKHMpe2kuY2FsbCh0aGlzLCJEYXRhV29ya2VyIik7dmFyIHU9dGhpczt0aGlzLmRhdGFJc1JlYWR5PSExLHRoaXMuaW5kZXg9MCx0aGlzLm1heD0wLHRoaXMuZGF0YT1udWxsLHRoaXMudHlwZT0iIix0aGlzLl90aWNrU2NoZWR1bGVkPSExLHMudGhlbihmdW5jdGlvbihkKXt1LmRhdGFJc1JlYWR5PSEwLHUuZGF0YT1kLHUubWF4PWQmJmQubGVuZ3RofHwwLHUudHlwZT1yLmdldFR5cGVPZihkKSx1LmlzUGF1c2VkfHx1Ll90aWNrQW5kUmVwZWF0KCl9LGZ1bmN0aW9uKGQpe3UuZXJyb3IoZCl9KX1yLmluaGVyaXRzKGEsaSksYS5wcm90b3R5cGUuY2xlYW5VcD1mdW5jdGlvbigpe2kucHJvdG90eXBlLmNsZWFuVXAuY2FsbCh0aGlzKSx0aGlzLmRhdGE9bnVsbH0sYS5wcm90b3R5cGUucmVzdW1lPWZ1bmN0aW9uKCl7cmV0dXJuISFpLnByb3RvdHlwZS5yZXN1bWUuY2FsbCh0aGlzKSYmKCF0aGlzLl90aWNrU2NoZWR1bGVkJiZ0aGlzLmRhdGFJc1JlYWR5JiYodGhpcy5fdGlja1NjaGVkdWxlZD0hMCxyLmRlbGF5KHRoaXMuX3RpY2tBbmRSZXBlYXQsW10sdGhpcykpLCEwKX0sYS5wcm90b3R5cGUuX3RpY2tBbmRSZXBlYXQ9ZnVuY3Rpb24oKXt0aGlzLl90aWNrU2NoZWR1bGVkPSExLHRoaXMuaXNQYXVzZWR8fHRoaXMuaXNGaW5pc2hlZHx8KHRoaXMuX3RpY2soKSx0aGlzLmlzRmluaXNoZWR8fChyLmRlbGF5KHRoaXMuX3RpY2tBbmRSZXBlYXQsW10sdGhpcyksdGhpcy5fdGlja1NjaGVkdWxlZD0hMCkpfSxhLnByb3RvdHlwZS5fdGljaz1mdW5jdGlvbigpe2lmKHRoaXMuaXNQYXVzZWR8fHRoaXMuaXNGaW5pc2hlZClyZXR1cm4hMTt2YXIgcz1udWxsLHU9TWF0aC5taW4odGhpcy5tYXgsdGhpcy5pbmRleCsxNjM4NCk7aWYodGhpcy5pbmRleD49dGhpcy5tYXgpcmV0dXJuIHRoaXMuZW5kKCk7c3dpdGNoKHRoaXMudHlwZSl7Y2FzZSJzdHJpbmciOnM9dGhpcy5kYXRhLnN1YnN0cmluZyh0aGlzLmluZGV4LHUpO2JyZWFrO2Nhc2UidWludDhhcnJheSI6cz10aGlzLmRhdGEuc3ViYXJyYXkodGhpcy5pbmRleCx1KTticmVhaztjYXNlImFycmF5IjpjYXNlIm5vZGVidWZmZXIiOnM9dGhpcy5kYXRhLnNsaWNlKHRoaXMuaW5kZXgsdSl9cmV0dXJuIHRoaXMuaW5kZXg9dSx0aGlzLnB1c2goe2RhdGE6cyxtZXRhOntwZXJjZW50OnRoaXMubWF4P3RoaXMuaW5kZXgvdGhpcy5tYXgqMTAwOjB9fSl9LHQuZXhwb3J0cz1hfSx7Ii4uL3V0aWxzIjozMiwiLi9HZW5lcmljV29ya2VyIjoyOH1dLDI4OltmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoaSl7dGhpcy5uYW1lPWl8fCJkZWZhdWx0Iix0aGlzLnN0cmVhbUluZm89e30sdGhpcy5nZW5lcmF0ZWRFcnJvcj1udWxsLHRoaXMuZXh0cmFTdHJlYW1JbmZvPXt9LHRoaXMuaXNQYXVzZWQ9ITAsdGhpcy5pc0ZpbmlzaGVkPSExLHRoaXMuaXNMb2NrZWQ9ITEsdGhpcy5fbGlzdGVuZXJzPXtkYXRhOltdLGVuZDpbXSxlcnJvcjpbXX0sdGhpcy5wcmV2aW91cz1udWxsfXIucHJvdG90eXBlPXtwdXNoOmZ1bmN0aW9uKGkpe3RoaXMuZW1pdCgiZGF0YSIsaSl9LGVuZDpmdW5jdGlvbigpe2lmKHRoaXMuaXNGaW5pc2hlZClyZXR1cm4hMTt0aGlzLmZsdXNoKCk7dHJ5e3RoaXMuZW1pdCgiZW5kIiksdGhpcy5jbGVhblVwKCksdGhpcy5pc0ZpbmlzaGVkPSEwfWNhdGNoKGkpe3RoaXMuZW1pdCgiZXJyb3IiLGkpfXJldHVybiEwfSxlcnJvcjpmdW5jdGlvbihpKXtyZXR1cm4hdGhpcy5pc0ZpbmlzaGVkJiYodGhpcy5pc1BhdXNlZD90aGlzLmdlbmVyYXRlZEVycm9yPWk6KHRoaXMuaXNGaW5pc2hlZD0hMCx0aGlzLmVtaXQoImVycm9yIixpKSx0aGlzLnByZXZpb3VzJiZ0aGlzLnByZXZpb3VzLmVycm9yKGkpLHRoaXMuY2xlYW5VcCgpKSwhMCl9LG9uOmZ1bmN0aW9uKGksYSl7cmV0dXJuIHRoaXMuX2xpc3RlbmVyc1tpXS5wdXNoKGEpLHRoaXN9LGNsZWFuVXA6ZnVuY3Rpb24oKXt0aGlzLnN0cmVhbUluZm89dGhpcy5nZW5lcmF0ZWRFcnJvcj10aGlzLmV4dHJhU3RyZWFtSW5mbz1udWxsLHRoaXMuX2xpc3RlbmVycz1bXX0sZW1pdDpmdW5jdGlvbihpLGEpe2lmKHRoaXMuX2xpc3RlbmVyc1tpXSlmb3IodmFyIHM9MDtzPHRoaXMuX2xpc3RlbmVyc1tpXS5sZW5ndGg7cysrKXRoaXMuX2xpc3RlbmVyc1tpXVtzXS5jYWxsKHRoaXMsYSl9LHBpcGU6ZnVuY3Rpb24oaSl7cmV0dXJuIGkucmVnaXN0ZXJQcmV2aW91cyh0aGlzKX0scmVnaXN0ZXJQcmV2aW91czpmdW5jdGlvbihpKXtpZih0aGlzLmlzTG9ja2VkKXRocm93IG5ldyBFcnJvcigiVGhlIHN0cmVhbSAnIit0aGlzKyInIGhhcyBhbHJlYWR5IGJlZW4gdXNlZC4iKTt0aGlzLnN0cmVhbUluZm89aS5zdHJlYW1JbmZvLHRoaXMubWVyZ2VTdHJlYW1JbmZvKCksdGhpcy5wcmV2aW91cz1pO3ZhciBhPXRoaXM7cmV0dXJuIGkub24oImRhdGEiLGZ1bmN0aW9uKHMpe2EucHJvY2Vzc0NodW5rKHMpfSksaS5vbigiZW5kIixmdW5jdGlvbigpe2EuZW5kKCl9KSxpLm9uKCJlcnJvciIsZnVuY3Rpb24ocyl7YS5lcnJvcihzKX0pLHRoaXN9LHBhdXNlOmZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuaXNQYXVzZWQmJiF0aGlzLmlzRmluaXNoZWQmJih0aGlzLmlzUGF1c2VkPSEwLHRoaXMucHJldmlvdXMmJnRoaXMucHJldmlvdXMucGF1c2UoKSwhMCl9LHJlc3VtZTpmdW5jdGlvbigpe2lmKCF0aGlzLmlzUGF1c2VkfHx0aGlzLmlzRmluaXNoZWQpcmV0dXJuITE7dmFyIGk9dGhpcy5pc1BhdXNlZD0hMTtyZXR1cm4gdGhpcy5nZW5lcmF0ZWRFcnJvciYmKHRoaXMuZXJyb3IodGhpcy5nZW5lcmF0ZWRFcnJvciksaT0hMCksdGhpcy5wcmV2aW91cyYmdGhpcy5wcmV2aW91cy5yZXN1bWUoKSwhaX0sZmx1c2g6ZnVuY3Rpb24oKXt9LHByb2Nlc3NDaHVuazpmdW5jdGlvbihpKXt0aGlzLnB1c2goaSl9LHdpdGhTdHJlYW1JbmZvOmZ1bmN0aW9uKGksYSl7cmV0dXJuIHRoaXMuZXh0cmFTdHJlYW1JbmZvW2ldPWEsdGhpcy5tZXJnZVN0cmVhbUluZm8oKSx0aGlzfSxtZXJnZVN0cmVhbUluZm86ZnVuY3Rpb24oKXtmb3IodmFyIGkgaW4gdGhpcy5leHRyYVN0cmVhbUluZm8pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRoaXMuZXh0cmFTdHJlYW1JbmZvLGkpJiYodGhpcy5zdHJlYW1JbmZvW2ldPXRoaXMuZXh0cmFTdHJlYW1JbmZvW2ldKX0sbG9jazpmdW5jdGlvbigpe2lmKHRoaXMuaXNMb2NrZWQpdGhyb3cgbmV3IEVycm9yKCJUaGUgc3RyZWFtICciK3RoaXMrIicgaGFzIGFscmVhZHkgYmVlbiB1c2VkLiIpO3RoaXMuaXNMb2NrZWQ9ITAsdGhpcy5wcmV2aW91cyYmdGhpcy5wcmV2aW91cy5sb2NrKCl9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7dmFyIGk9IldvcmtlciAiK3RoaXMubmFtZTtyZXR1cm4gdGhpcy5wcmV2aW91cz90aGlzLnByZXZpb3VzKyIgLT4gIitpOml9fSx0LmV4cG9ydHM9cn0se31dLDI5OltmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPWUoIi4uL3V0aWxzIiksaT1lKCIuL0NvbnZlcnRXb3JrZXIiKSxhPWUoIi4vR2VuZXJpY1dvcmtlciIpLHM9ZSgiLi4vYmFzZTY0IiksdT1lKCIuLi9zdXBwb3J0IiksZD1lKCIuLi9leHRlcm5hbCIpLG09bnVsbDtpZih1Lm5vZGVzdHJlYW0pdHJ5e209ZSgiLi4vbm9kZWpzL05vZGVqc1N0cmVhbU91dHB1dEFkYXB0ZXIiKX1jYXRjaHt9ZnVuY3Rpb24gdih3LGIpe3JldHVybiBuZXcgZC5Qcm9taXNlKGZ1bmN0aW9uKFQsRCl7dmFyIGg9W10sbD13Ll9pbnRlcm5hbFR5cGUscD13Ll9vdXRwdXRUeXBlLEM9dy5fbWltZVR5cGU7dy5vbigiZGF0YSIsZnVuY3Rpb24oRixQKXtoLnB1c2goRiksYiYmYihQKX0pLm9uKCJlcnJvciIsZnVuY3Rpb24oRil7aD1bXSxEKEYpfSkub24oImVuZCIsZnVuY3Rpb24oKXt0cnl7dmFyIEY9KGZ1bmN0aW9uKFAsZixXKXtzd2l0Y2goUCl7Y2FzZSJibG9iIjpyZXR1cm4gci5uZXdCbG9iKHIudHJhbnNmb3JtVG8oImFycmF5YnVmZmVyIixmKSxXKTtjYXNlImJhc2U2NCI6cmV0dXJuIHMuZW5jb2RlKGYpO2RlZmF1bHQ6cmV0dXJuIHIudHJhbnNmb3JtVG8oUCxmKX19KShwLChmdW5jdGlvbihQLGYpe3ZhciBXLFo9MCxpZT1udWxsLEU9MDtmb3IoVz0wO1c8Zi5sZW5ndGg7VysrKUUrPWZbV10ubGVuZ3RoO3N3aXRjaChQKXtjYXNlInN0cmluZyI6cmV0dXJuIGYuam9pbigiIik7Y2FzZSJhcnJheSI6cmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQuYXBwbHkoW10sZik7Y2FzZSJ1aW50OGFycmF5Ijpmb3IoaWU9bmV3IFVpbnQ4QXJyYXkoRSksVz0wO1c8Zi5sZW5ndGg7VysrKWllLnNldChmW1ddLFopLForPWZbV10ubGVuZ3RoO3JldHVybiBpZTtjYXNlIm5vZGVidWZmZXIiOnJldHVybiBCdWZmZXIuY29uY2F0KGYpO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJjb25jYXQgOiB1bnN1cHBvcnRlZCB0eXBlICciK1ArIiciKX19KShsLGgpLEMpO1QoRil9Y2F0Y2goUCl7RChQKX1oPVtdfSkucmVzdW1lKCl9KX1mdW5jdGlvbiBnKHcsYixUKXt2YXIgRD1iO3N3aXRjaChiKXtjYXNlImJsb2IiOmNhc2UiYXJyYXlidWZmZXIiOkQ9InVpbnQ4YXJyYXkiO2JyZWFrO2Nhc2UiYmFzZTY0IjpEPSJzdHJpbmcifXRyeXt0aGlzLl9pbnRlcm5hbFR5cGU9RCx0aGlzLl9vdXRwdXRUeXBlPWIsdGhpcy5fbWltZVR5cGU9VCxyLmNoZWNrU3VwcG9ydChEKSx0aGlzLl93b3JrZXI9dy5waXBlKG5ldyBpKEQpKSx3LmxvY2soKX1jYXRjaChoKXt0aGlzLl93b3JrZXI9bmV3IGEoImVycm9yIiksdGhpcy5fd29ya2VyLmVycm9yKGgpfX1nLnByb3RvdHlwZT17YWNjdW11bGF0ZTpmdW5jdGlvbih3KXtyZXR1cm4gdih0aGlzLHcpfSxvbjpmdW5jdGlvbih3LGIpe3ZhciBUPXRoaXM7cmV0dXJuIHc9PT0iZGF0YSI/dGhpcy5fd29ya2VyLm9uKHcsZnVuY3Rpb24oRCl7Yi5jYWxsKFQsRC5kYXRhLEQubWV0YSl9KTp0aGlzLl93b3JrZXIub24odyxmdW5jdGlvbigpe3IuZGVsYXkoYixhcmd1bWVudHMsVCl9KSx0aGlzfSxyZXN1bWU6ZnVuY3Rpb24oKXtyZXR1cm4gci5kZWxheSh0aGlzLl93b3JrZXIucmVzdW1lLFtdLHRoaXMuX3dvcmtlciksdGhpc30scGF1c2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd29ya2VyLnBhdXNlKCksdGhpc30sdG9Ob2RlanNTdHJlYW06ZnVuY3Rpb24odyl7aWYoci5jaGVja1N1cHBvcnQoIm5vZGVzdHJlYW0iKSx0aGlzLl9vdXRwdXRUeXBlIT09Im5vZGVidWZmZXIiKXRocm93IG5ldyBFcnJvcih0aGlzLl9vdXRwdXRUeXBlKyIgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIG1ldGhvZCIpO3JldHVybiBuZXcgbSh0aGlzLHtvYmplY3RNb2RlOnRoaXMuX291dHB1dFR5cGUhPT0ibm9kZWJ1ZmZlciJ9LHcpfX0sdC5leHBvcnRzPWd9LHsiLi4vYmFzZTY0IjoxLCIuLi9leHRlcm5hbCI6NiwiLi4vbm9kZWpzL05vZGVqc1N0cmVhbU91dHB1dEFkYXB0ZXIiOjEzLCIuLi9zdXBwb3J0IjozMCwiLi4vdXRpbHMiOjMyLCIuL0NvbnZlcnRXb3JrZXIiOjI0LCIuL0dlbmVyaWNXb3JrZXIiOjI4fV0sMzA6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7aWYobi5iYXNlNjQ9ITAsbi5hcnJheT0hMCxuLnN0cmluZz0hMCxuLmFycmF5YnVmZmVyPXR5cGVvZiBBcnJheUJ1ZmZlcjwidSImJnR5cGVvZiBVaW50OEFycmF5PCJ1IixuLm5vZGVidWZmZXI9dHlwZW9mIEJ1ZmZlcjwidSIsbi51aW50OGFycmF5PXR5cGVvZiBVaW50OEFycmF5PCJ1Iix0eXBlb2YgQXJyYXlCdWZmZXI+InUiKW4uYmxvYj0hMTtlbHNle3ZhciByPW5ldyBBcnJheUJ1ZmZlcigwKTt0cnl7bi5ibG9iPW5ldyBCbG9iKFtyXSx7dHlwZToiYXBwbGljYXRpb24vemlwIn0pLnNpemU9PT0wfWNhdGNoe3RyeXt2YXIgaT1uZXcoc2VsZi5CbG9iQnVpbGRlcnx8c2VsZi5XZWJLaXRCbG9iQnVpbGRlcnx8c2VsZi5Nb3pCbG9iQnVpbGRlcnx8c2VsZi5NU0Jsb2JCdWlsZGVyKTtpLmFwcGVuZChyKSxuLmJsb2I9aS5nZXRCbG9iKCJhcHBsaWNhdGlvbi96aXAiKS5zaXplPT09MH1jYXRjaHtuLmJsb2I9ITF9fX10cnl7bi5ub2Rlc3RyZWFtPSEhZSgicmVhZGFibGUtc3RyZWFtIikuUmVhZGFibGV9Y2F0Y2h7bi5ub2Rlc3RyZWFtPSExfX0seyJyZWFkYWJsZS1zdHJlYW0iOjE2fV0sMzE6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7Zm9yKHZhciByPWUoIi4vdXRpbHMiKSxpPWUoIi4vc3VwcG9ydCIpLGE9ZSgiLi9ub2RlanNVdGlscyIpLHM9ZSgiLi9zdHJlYW0vR2VuZXJpY1dvcmtlciIpLHU9bmV3IEFycmF5KDI1NiksZD0wO2Q8MjU2O2QrKyl1W2RdPTI1Mjw9ZD82OjI0ODw9ZD81OjI0MDw9ZD80OjIyNDw9ZD8zOjE5Mjw9ZD8yOjE7dVsyNTRdPXVbMjU0XT0xO2Z1bmN0aW9uIG0oKXtzLmNhbGwodGhpcywidXRmLTggZGVjb2RlIiksdGhpcy5sZWZ0T3Zlcj1udWxsfWZ1bmN0aW9uIHYoKXtzLmNhbGwodGhpcywidXRmLTggZW5jb2RlIil9bi51dGY4ZW5jb2RlPWZ1bmN0aW9uKGcpe3JldHVybiBpLm5vZGVidWZmZXI/YS5uZXdCdWZmZXJGcm9tKGcsInV0Zi04Iik6KGZ1bmN0aW9uKHcpe3ZhciBiLFQsRCxoLGwscD13Lmxlbmd0aCxDPTA7Zm9yKGg9MDtoPHA7aCsrKSg2NDUxMiYoVD13LmNoYXJDb2RlQXQoaCkpKT09NTUyOTYmJmgrMTxwJiYoNjQ1MTImKEQ9dy5jaGFyQ29kZUF0KGgrMSkpKT09NTYzMjAmJihUPTY1NTM2KyhULTU1Mjk2PDwxMCkrKEQtNTYzMjApLGgrKyksQys9VDwxMjg/MTpUPDIwNDg/MjpUPDY1NTM2PzM6NDtmb3IoYj1pLnVpbnQ4YXJyYXk/bmV3IFVpbnQ4QXJyYXkoQyk6bmV3IEFycmF5KEMpLGg9bD0wO2w8QztoKyspKDY0NTEyJihUPXcuY2hhckNvZGVBdChoKSkpPT01NTI5NiYmaCsxPHAmJig2NDUxMiYoRD13LmNoYXJDb2RlQXQoaCsxKSkpPT01NjMyMCYmKFQ9NjU1MzYrKFQtNTUyOTY8PDEwKSsoRC01NjMyMCksaCsrKSxUPDEyOD9iW2wrK109VDooVDwyMDQ4P2JbbCsrXT0xOTJ8VD4+PjY6KFQ8NjU1MzY/YltsKytdPTIyNHxUPj4+MTI6KGJbbCsrXT0yNDB8VD4+PjE4LGJbbCsrXT0xMjh8VD4+PjEyJjYzKSxiW2wrK109MTI4fFQ+Pj42JjYzKSxiW2wrK109MTI4fDYzJlQpO3JldHVybiBifSkoZyl9LG4udXRmOGRlY29kZT1mdW5jdGlvbihnKXtyZXR1cm4gaS5ub2RlYnVmZmVyP3IudHJhbnNmb3JtVG8oIm5vZGVidWZmZXIiLGcpLnRvU3RyaW5nKCJ1dGYtOCIpOihmdW5jdGlvbih3KXt2YXIgYixULEQsaCxsPXcubGVuZ3RoLHA9bmV3IEFycmF5KDIqbCk7Zm9yKGI9VD0wO2I8bDspaWYoKEQ9d1tiKytdKTwxMjgpcFtUKytdPUQ7ZWxzZSBpZig0PChoPXVbRF0pKXBbVCsrXT02NTUzMyxiKz1oLTE7ZWxzZXtmb3IoRCY9aD09PTI/MzE6aD09PTM/MTU6NzsxPGgmJmI8bDspRD1EPDw2fDYzJndbYisrXSxoLS07MTxoP3BbVCsrXT02NTUzMzpEPDY1NTM2P3BbVCsrXT1EOihELT02NTUzNixwW1QrK109NTUyOTZ8RD4+MTAmMTAyMyxwW1QrK109NTYzMjB8MTAyMyZEKX1yZXR1cm4gcC5sZW5ndGghPT1UJiYocC5zdWJhcnJheT9wPXAuc3ViYXJyYXkoMCxUKTpwLmxlbmd0aD1UKSxyLmFwcGx5RnJvbUNoYXJDb2RlKHApfSkoZz1yLnRyYW5zZm9ybVRvKGkudWludDhhcnJheT8idWludDhhcnJheSI6ImFycmF5IixnKSl9LHIuaW5oZXJpdHMobSxzKSxtLnByb3RvdHlwZS5wcm9jZXNzQ2h1bms9ZnVuY3Rpb24oZyl7dmFyIHc9ci50cmFuc2Zvcm1UbyhpLnVpbnQ4YXJyYXk/InVpbnQ4YXJyYXkiOiJhcnJheSIsZy5kYXRhKTtpZih0aGlzLmxlZnRPdmVyJiZ0aGlzLmxlZnRPdmVyLmxlbmd0aCl7aWYoaS51aW50OGFycmF5KXt2YXIgYj13Oyh3PW5ldyBVaW50OEFycmF5KGIubGVuZ3RoK3RoaXMubGVmdE92ZXIubGVuZ3RoKSkuc2V0KHRoaXMubGVmdE92ZXIsMCksdy5zZXQoYix0aGlzLmxlZnRPdmVyLmxlbmd0aCl9ZWxzZSB3PXRoaXMubGVmdE92ZXIuY29uY2F0KHcpO3RoaXMubGVmdE92ZXI9bnVsbH12YXIgVD0oZnVuY3Rpb24oaCxsKXt2YXIgcDtmb3IoKGw9bHx8aC5sZW5ndGgpPmgubGVuZ3RoJiYobD1oLmxlbmd0aCkscD1sLTE7MDw9cCYmKDE5MiZoW3BdKT09MTI4OylwLS07cmV0dXJuIHA8MHx8cD09PTA/bDpwK3VbaFtwXV0+bD9wOmx9KSh3KSxEPXc7VCE9PXcubGVuZ3RoJiYoaS51aW50OGFycmF5PyhEPXcuc3ViYXJyYXkoMCxUKSx0aGlzLmxlZnRPdmVyPXcuc3ViYXJyYXkoVCx3Lmxlbmd0aCkpOihEPXcuc2xpY2UoMCxUKSx0aGlzLmxlZnRPdmVyPXcuc2xpY2UoVCx3Lmxlbmd0aCkpKSx0aGlzLnB1c2goe2RhdGE6bi51dGY4ZGVjb2RlKEQpLG1ldGE6Zy5tZXRhfSl9LG0ucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKCl7dGhpcy5sZWZ0T3ZlciYmdGhpcy5sZWZ0T3Zlci5sZW5ndGgmJih0aGlzLnB1c2goe2RhdGE6bi51dGY4ZGVjb2RlKHRoaXMubGVmdE92ZXIpLG1ldGE6e319KSx0aGlzLmxlZnRPdmVyPW51bGwpfSxuLlV0ZjhEZWNvZGVXb3JrZXI9bSxyLmluaGVyaXRzKHYscyksdi5wcm90b3R5cGUucHJvY2Vzc0NodW5rPWZ1bmN0aW9uKGcpe3RoaXMucHVzaCh7ZGF0YTpuLnV0ZjhlbmNvZGUoZy5kYXRhKSxtZXRhOmcubWV0YX0pfSxuLlV0ZjhFbmNvZGVXb3JrZXI9dn0seyIuL25vZGVqc1V0aWxzIjoxNCwiLi9zdHJlYW0vR2VuZXJpY1dvcmtlciI6MjgsIi4vc3VwcG9ydCI6MzAsIi4vdXRpbHMiOjMyfV0sMzI6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9ZSgiLi9zdXBwb3J0IiksaT1lKCIuL2Jhc2U2NCIpLGE9ZSgiLi9ub2RlanNVdGlscyIpLHM9ZSgiLi9leHRlcm5hbCIpO2Z1bmN0aW9uIHUoYil7cmV0dXJuIGJ9ZnVuY3Rpb24gZChiLFQpe2Zvcih2YXIgRD0wO0Q8Yi5sZW5ndGg7KytEKVRbRF09MjU1JmIuY2hhckNvZGVBdChEKTtyZXR1cm4gVH1lKCJzZXRpbW1lZGlhdGUiKSxuLm5ld0Jsb2I9ZnVuY3Rpb24oYixUKXtuLmNoZWNrU3VwcG9ydCgiYmxvYiIpO3RyeXtyZXR1cm4gbmV3IEJsb2IoW2JdLHt0eXBlOlR9KX1jYXRjaHt0cnl7dmFyIEQ9bmV3KHNlbGYuQmxvYkJ1aWxkZXJ8fHNlbGYuV2ViS2l0QmxvYkJ1aWxkZXJ8fHNlbGYuTW96QmxvYkJ1aWxkZXJ8fHNlbGYuTVNCbG9iQnVpbGRlcik7cmV0dXJuIEQuYXBwZW5kKGIpLEQuZ2V0QmxvYihUKX1jYXRjaHt0aHJvdyBuZXcgRXJyb3IoIkJ1ZyA6IGNhbid0IGNvbnN0cnVjdCB0aGUgQmxvYi4iKX19fTt2YXIgbT17c3RyaW5naWZ5QnlDaHVuazpmdW5jdGlvbihiLFQsRCl7dmFyIGg9W10sbD0wLHA9Yi5sZW5ndGg7aWYocDw9RClyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGIpO2Zvcig7bDxwOylUPT09ImFycmF5Inx8VD09PSJub2RlYnVmZmVyIj9oLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGIuc2xpY2UobCxNYXRoLm1pbihsK0QscCkpKSk6aC5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxiLnN1YmFycmF5KGwsTWF0aC5taW4obCtELHApKSkpLGwrPUQ7cmV0dXJuIGguam9pbigiIil9LHN0cmluZ2lmeUJ5Q2hhcjpmdW5jdGlvbihiKXtmb3IodmFyIFQ9IiIsRD0wO0Q8Yi5sZW5ndGg7RCsrKVQrPVN0cmluZy5mcm9tQ2hhckNvZGUoYltEXSk7cmV0dXJuIFR9LGFwcGx5Q2FuQmVVc2VkOnt1aW50OGFycmF5OihmdW5jdGlvbigpe3RyeXtyZXR1cm4gci51aW50OGFycmF5JiZTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsbmV3IFVpbnQ4QXJyYXkoMSkpLmxlbmd0aD09PTF9Y2F0Y2h7cmV0dXJuITF9fSkoKSxub2RlYnVmZmVyOihmdW5jdGlvbigpe3RyeXtyZXR1cm4gci5ub2RlYnVmZmVyJiZTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYS5hbGxvY0J1ZmZlcigxKSkubGVuZ3RoPT09MX1jYXRjaHtyZXR1cm4hMX19KSgpfX07ZnVuY3Rpb24gdihiKXt2YXIgVD02NTUzNixEPW4uZ2V0VHlwZU9mKGIpLGg9ITA7aWYoRD09PSJ1aW50OGFycmF5Ij9oPW0uYXBwbHlDYW5CZVVzZWQudWludDhhcnJheTpEPT09Im5vZGVidWZmZXIiJiYoaD1tLmFwcGx5Q2FuQmVVc2VkLm5vZGVidWZmZXIpLGgpZm9yKDsxPFQ7KXRyeXtyZXR1cm4gbS5zdHJpbmdpZnlCeUNodW5rKGIsRCxUKX1jYXRjaHtUPU1hdGguZmxvb3IoVC8yKX1yZXR1cm4gbS5zdHJpbmdpZnlCeUNoYXIoYil9ZnVuY3Rpb24gZyhiLFQpe2Zvcih2YXIgRD0wO0Q8Yi5sZW5ndGg7RCsrKVRbRF09YltEXTtyZXR1cm4gVH1uLmFwcGx5RnJvbUNoYXJDb2RlPXY7dmFyIHc9e307dy5zdHJpbmc9e3N0cmluZzp1LGFycmF5OmZ1bmN0aW9uKGIpe3JldHVybiBkKGIsbmV3IEFycmF5KGIubGVuZ3RoKSl9LGFycmF5YnVmZmVyOmZ1bmN0aW9uKGIpe3JldHVybiB3LnN0cmluZy51aW50OGFycmF5KGIpLmJ1ZmZlcn0sdWludDhhcnJheTpmdW5jdGlvbihiKXtyZXR1cm4gZChiLG5ldyBVaW50OEFycmF5KGIubGVuZ3RoKSl9LG5vZGVidWZmZXI6ZnVuY3Rpb24oYil7cmV0dXJuIGQoYixhLmFsbG9jQnVmZmVyKGIubGVuZ3RoKSl9fSx3LmFycmF5PXtzdHJpbmc6dixhcnJheTp1LGFycmF5YnVmZmVyOmZ1bmN0aW9uKGIpe3JldHVybiBuZXcgVWludDhBcnJheShiKS5idWZmZXJ9LHVpbnQ4YXJyYXk6ZnVuY3Rpb24oYil7cmV0dXJuIG5ldyBVaW50OEFycmF5KGIpfSxub2RlYnVmZmVyOmZ1bmN0aW9uKGIpe3JldHVybiBhLm5ld0J1ZmZlckZyb20oYil9fSx3LmFycmF5YnVmZmVyPXtzdHJpbmc6ZnVuY3Rpb24oYil7cmV0dXJuIHYobmV3IFVpbnQ4QXJyYXkoYikpfSxhcnJheTpmdW5jdGlvbihiKXtyZXR1cm4gZyhuZXcgVWludDhBcnJheShiKSxuZXcgQXJyYXkoYi5ieXRlTGVuZ3RoKSl9LGFycmF5YnVmZmVyOnUsdWludDhhcnJheTpmdW5jdGlvbihiKXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYil9LG5vZGVidWZmZXI6ZnVuY3Rpb24oYil7cmV0dXJuIGEubmV3QnVmZmVyRnJvbShuZXcgVWludDhBcnJheShiKSl9fSx3LnVpbnQ4YXJyYXk9e3N0cmluZzp2LGFycmF5OmZ1bmN0aW9uKGIpe3JldHVybiBnKGIsbmV3IEFycmF5KGIubGVuZ3RoKSl9LGFycmF5YnVmZmVyOmZ1bmN0aW9uKGIpe3JldHVybiBiLmJ1ZmZlcn0sdWludDhhcnJheTp1LG5vZGVidWZmZXI6ZnVuY3Rpb24oYil7cmV0dXJuIGEubmV3QnVmZmVyRnJvbShiKX19LHcubm9kZWJ1ZmZlcj17c3RyaW5nOnYsYXJyYXk6ZnVuY3Rpb24oYil7cmV0dXJuIGcoYixuZXcgQXJyYXkoYi5sZW5ndGgpKX0sYXJyYXlidWZmZXI6ZnVuY3Rpb24oYil7cmV0dXJuIHcubm9kZWJ1ZmZlci51aW50OGFycmF5KGIpLmJ1ZmZlcn0sdWludDhhcnJheTpmdW5jdGlvbihiKXtyZXR1cm4gZyhiLG5ldyBVaW50OEFycmF5KGIubGVuZ3RoKSl9LG5vZGVidWZmZXI6dX0sbi50cmFuc2Zvcm1Ubz1mdW5jdGlvbihiLFQpe2lmKFQ9VHx8IiIsIWIpcmV0dXJuIFQ7bi5jaGVja1N1cHBvcnQoYik7dmFyIEQ9bi5nZXRUeXBlT2YoVCk7cmV0dXJuIHdbRF1bYl0oVCl9LG4ucmVzb2x2ZT1mdW5jdGlvbihiKXtmb3IodmFyIFQ9Yi5zcGxpdCgiLyIpLEQ9W10saD0wO2g8VC5sZW5ndGg7aCsrKXt2YXIgbD1UW2hdO2w9PT0iLiJ8fGw9PT0iIiYmaCE9PTAmJmghPT1ULmxlbmd0aC0xfHwobD09PSIuLiI/RC5wb3AoKTpELnB1c2gobCkpfXJldHVybiBELmpvaW4oIi8iKX0sbi5nZXRUeXBlT2Y9ZnVuY3Rpb24oYil7cmV0dXJuIHR5cGVvZiBiPT0ic3RyaW5nIj8ic3RyaW5nIjpPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYik9PT0iW29iamVjdCBBcnJheV0iPyJhcnJheSI6ci5ub2RlYnVmZmVyJiZhLmlzQnVmZmVyKGIpPyJub2RlYnVmZmVyIjpyLnVpbnQ4YXJyYXkmJmIgaW5zdGFuY2VvZiBVaW50OEFycmF5PyJ1aW50OGFycmF5IjpyLmFycmF5YnVmZmVyJiZiIGluc3RhbmNlb2YgQXJyYXlCdWZmZXI/ImFycmF5YnVmZmVyIjp2b2lkIDB9LG4uY2hlY2tTdXBwb3J0PWZ1bmN0aW9uKGIpe2lmKCFyW2IudG9Mb3dlckNhc2UoKV0pdGhyb3cgbmV3IEVycm9yKGIrIiBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgcGxhdGZvcm0iKX0sbi5NQVhfVkFMVUVfMTZCSVRTPTY1NTM1LG4uTUFYX1ZBTFVFXzMyQklUUz0tMSxuLnByZXR0eT1mdW5jdGlvbihiKXt2YXIgVCxELGg9IiI7Zm9yKEQ9MDtEPChifHwiIikubGVuZ3RoO0QrKyloKz0iXFx4IisoKFQ9Yi5jaGFyQ29kZUF0KEQpKTwxNj8iMCI6IiIpK1QudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCk7cmV0dXJuIGh9LG4uZGVsYXk9ZnVuY3Rpb24oYixULEQpe3NldEltbWVkaWF0ZShmdW5jdGlvbigpe2IuYXBwbHkoRHx8bnVsbCxUfHxbXSl9KX0sbi5pbmhlcml0cz1mdW5jdGlvbihiLFQpe2Z1bmN0aW9uIEQoKXt9RC5wcm90b3R5cGU9VC5wcm90b3R5cGUsYi5wcm90b3R5cGU9bmV3IER9LG4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGIsVCxEPXt9O2ZvcihiPTA7Yjxhcmd1bWVudHMubGVuZ3RoO2IrKylmb3IoVCBpbiBhcmd1bWVudHNbYl0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGFyZ3VtZW50c1tiXSxUKSYmRFtUXT09PXZvaWQgMCYmKERbVF09YXJndW1lbnRzW2JdW1RdKTtyZXR1cm4gRH0sbi5wcmVwYXJlQ29udGVudD1mdW5jdGlvbihiLFQsRCxoLGwpe3JldHVybiBzLlByb21pc2UucmVzb2x2ZShUKS50aGVuKGZ1bmN0aW9uKHApe3JldHVybiByLmJsb2ImJihwIGluc3RhbmNlb2YgQmxvYnx8WyJbb2JqZWN0IEZpbGVdIiwiW29iamVjdCBCbG9iXSJdLmluZGV4T2YoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHApKSE9PS0xKSYmdHlwZW9mIEZpbGVSZWFkZXI8InUiP25ldyBzLlByb21pc2UoZnVuY3Rpb24oQyxGKXt2YXIgUD1uZXcgRmlsZVJlYWRlcjtQLm9ubG9hZD1mdW5jdGlvbihmKXtDKGYudGFyZ2V0LnJlc3VsdCl9LFAub25lcnJvcj1mdW5jdGlvbihmKXtGKGYudGFyZ2V0LmVycm9yKX0sUC5yZWFkQXNBcnJheUJ1ZmZlcihwKX0pOnB9KS50aGVuKGZ1bmN0aW9uKHApe3ZhciBDPW4uZ2V0VHlwZU9mKHApO3JldHVybiBDPyhDPT09ImFycmF5YnVmZmVyIj9wPW4udHJhbnNmb3JtVG8oInVpbnQ4YXJyYXkiLHApOkM9PT0ic3RyaW5nIiYmKGw/cD1pLmRlY29kZShwKTpEJiZoIT09ITAmJihwPShmdW5jdGlvbihGKXtyZXR1cm4gZChGLHIudWludDhhcnJheT9uZXcgVWludDhBcnJheShGLmxlbmd0aCk6bmV3IEFycmF5KEYubGVuZ3RoKSl9KShwKSkpLHApOnMuUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJDYW4ndCByZWFkIHRoZSBkYXRhIG9mICciK2IrIicuIElzIGl0IGluIGEgc3VwcG9ydGVkIEphdmFTY3JpcHQgdHlwZSAoU3RyaW5nLCBCbG9iLCBBcnJheUJ1ZmZlciwgZXRjKSA/IikpfSl9fSx7Ii4vYmFzZTY0IjoxLCIuL2V4dGVybmFsIjo2LCIuL25vZGVqc1V0aWxzIjoxNCwiLi9zdXBwb3J0IjozMCxzZXRpbW1lZGlhdGU6NTR9XSwzMzpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1lKCIuL3JlYWRlci9yZWFkZXJGb3IiKSxpPWUoIi4vdXRpbHMiKSxhPWUoIi4vc2lnbmF0dXJlIikscz1lKCIuL3ppcEVudHJ5IiksdT1lKCIuL3N1cHBvcnQiKTtmdW5jdGlvbiBkKG0pe3RoaXMuZmlsZXM9W10sdGhpcy5sb2FkT3B0aW9ucz1tfWQucHJvdG90eXBlPXtjaGVja1NpZ25hdHVyZTpmdW5jdGlvbihtKXtpZighdGhpcy5yZWFkZXIucmVhZEFuZENoZWNrU2lnbmF0dXJlKG0pKXt0aGlzLnJlYWRlci5pbmRleC09NDt2YXIgdj10aGlzLnJlYWRlci5yZWFkU3RyaW5nKDQpO3Rocm93IG5ldyBFcnJvcigiQ29ycnVwdGVkIHppcCBvciBidWc6IHVuZXhwZWN0ZWQgc2lnbmF0dXJlICgiK2kucHJldHR5KHYpKyIsIGV4cGVjdGVkICIraS5wcmV0dHkobSkrIikiKX19LGlzU2lnbmF0dXJlOmZ1bmN0aW9uKG0sdil7dmFyIGc9dGhpcy5yZWFkZXIuaW5kZXg7dGhpcy5yZWFkZXIuc2V0SW5kZXgobSk7dmFyIHc9dGhpcy5yZWFkZXIucmVhZFN0cmluZyg0KT09PXY7cmV0dXJuIHRoaXMucmVhZGVyLnNldEluZGV4KGcpLHd9LHJlYWRCbG9ja0VuZE9mQ2VudHJhbDpmdW5jdGlvbigpe3RoaXMuZGlza051bWJlcj10aGlzLnJlYWRlci5yZWFkSW50KDIpLHRoaXMuZGlza1dpdGhDZW50cmFsRGlyU3RhcnQ9dGhpcy5yZWFkZXIucmVhZEludCgyKSx0aGlzLmNlbnRyYWxEaXJSZWNvcmRzT25UaGlzRGlzaz10aGlzLnJlYWRlci5yZWFkSW50KDIpLHRoaXMuY2VudHJhbERpclJlY29yZHM9dGhpcy5yZWFkZXIucmVhZEludCgyKSx0aGlzLmNlbnRyYWxEaXJTaXplPXRoaXMucmVhZGVyLnJlYWRJbnQoNCksdGhpcy5jZW50cmFsRGlyT2Zmc2V0PXRoaXMucmVhZGVyLnJlYWRJbnQoNCksdGhpcy56aXBDb21tZW50TGVuZ3RoPXRoaXMucmVhZGVyLnJlYWRJbnQoMik7dmFyIG09dGhpcy5yZWFkZXIucmVhZERhdGEodGhpcy56aXBDb21tZW50TGVuZ3RoKSx2PXUudWludDhhcnJheT8idWludDhhcnJheSI6ImFycmF5IixnPWkudHJhbnNmb3JtVG8odixtKTt0aGlzLnppcENvbW1lbnQ9dGhpcy5sb2FkT3B0aW9ucy5kZWNvZGVGaWxlTmFtZShnKX0scmVhZEJsb2NrWmlwNjRFbmRPZkNlbnRyYWw6ZnVuY3Rpb24oKXt0aGlzLnppcDY0RW5kT2ZDZW50cmFsU2l6ZT10aGlzLnJlYWRlci5yZWFkSW50KDgpLHRoaXMucmVhZGVyLnNraXAoNCksdGhpcy5kaXNrTnVtYmVyPXRoaXMucmVhZGVyLnJlYWRJbnQoNCksdGhpcy5kaXNrV2l0aENlbnRyYWxEaXJTdGFydD10aGlzLnJlYWRlci5yZWFkSW50KDQpLHRoaXMuY2VudHJhbERpclJlY29yZHNPblRoaXNEaXNrPXRoaXMucmVhZGVyLnJlYWRJbnQoOCksdGhpcy5jZW50cmFsRGlyUmVjb3Jkcz10aGlzLnJlYWRlci5yZWFkSW50KDgpLHRoaXMuY2VudHJhbERpclNpemU9dGhpcy5yZWFkZXIucmVhZEludCg4KSx0aGlzLmNlbnRyYWxEaXJPZmZzZXQ9dGhpcy5yZWFkZXIucmVhZEludCg4KSx0aGlzLnppcDY0RXh0ZW5zaWJsZURhdGE9e307Zm9yKHZhciBtLHYsZyx3PXRoaXMuemlwNjRFbmRPZkNlbnRyYWxTaXplLTQ0OzA8dzspbT10aGlzLnJlYWRlci5yZWFkSW50KDIpLHY9dGhpcy5yZWFkZXIucmVhZEludCg0KSxnPXRoaXMucmVhZGVyLnJlYWREYXRhKHYpLHRoaXMuemlwNjRFeHRlbnNpYmxlRGF0YVttXT17aWQ6bSxsZW5ndGg6dix2YWx1ZTpnfX0scmVhZEJsb2NrWmlwNjRFbmRPZkNlbnRyYWxMb2NhdG9yOmZ1bmN0aW9uKCl7aWYodGhpcy5kaXNrV2l0aFppcDY0Q2VudHJhbERpclN0YXJ0PXRoaXMucmVhZGVyLnJlYWRJbnQoNCksdGhpcy5yZWxhdGl2ZU9mZnNldEVuZE9mWmlwNjRDZW50cmFsRGlyPXRoaXMucmVhZGVyLnJlYWRJbnQoOCksdGhpcy5kaXNrc0NvdW50PXRoaXMucmVhZGVyLnJlYWRJbnQoNCksMTx0aGlzLmRpc2tzQ291bnQpdGhyb3cgbmV3IEVycm9yKCJNdWx0aS12b2x1bWVzIHppcCBhcmUgbm90IHN1cHBvcnRlZCIpfSxyZWFkTG9jYWxGaWxlczpmdW5jdGlvbigpe3ZhciBtLHY7Zm9yKG09MDttPHRoaXMuZmlsZXMubGVuZ3RoO20rKyl2PXRoaXMuZmlsZXNbbV0sdGhpcy5yZWFkZXIuc2V0SW5kZXgodi5sb2NhbEhlYWRlck9mZnNldCksdGhpcy5jaGVja1NpZ25hdHVyZShhLkxPQ0FMX0ZJTEVfSEVBREVSKSx2LnJlYWRMb2NhbFBhcnQodGhpcy5yZWFkZXIpLHYuaGFuZGxlVVRGOCgpLHYucHJvY2Vzc0F0dHJpYnV0ZXMoKX0scmVhZENlbnRyYWxEaXI6ZnVuY3Rpb24oKXt2YXIgbTtmb3IodGhpcy5yZWFkZXIuc2V0SW5kZXgodGhpcy5jZW50cmFsRGlyT2Zmc2V0KTt0aGlzLnJlYWRlci5yZWFkQW5kQ2hlY2tTaWduYXR1cmUoYS5DRU5UUkFMX0ZJTEVfSEVBREVSKTspKG09bmV3IHMoe3ppcDY0OnRoaXMuemlwNjR9LHRoaXMubG9hZE9wdGlvbnMpKS5yZWFkQ2VudHJhbFBhcnQodGhpcy5yZWFkZXIpLHRoaXMuZmlsZXMucHVzaChtKTtpZih0aGlzLmNlbnRyYWxEaXJSZWNvcmRzIT09dGhpcy5maWxlcy5sZW5ndGgmJnRoaXMuY2VudHJhbERpclJlY29yZHMhPT0wJiZ0aGlzLmZpbGVzLmxlbmd0aD09PTApdGhyb3cgbmV3IEVycm9yKCJDb3JydXB0ZWQgemlwIG9yIGJ1ZzogZXhwZWN0ZWQgIit0aGlzLmNlbnRyYWxEaXJSZWNvcmRzKyIgcmVjb3JkcyBpbiBjZW50cmFsIGRpciwgZ290ICIrdGhpcy5maWxlcy5sZW5ndGgpfSxyZWFkRW5kT2ZDZW50cmFsOmZ1bmN0aW9uKCl7dmFyIG09dGhpcy5yZWFkZXIubGFzdEluZGV4T2ZTaWduYXR1cmUoYS5DRU5UUkFMX0RJUkVDVE9SWV9FTkQpO2lmKG08MCl0aHJvdyB0aGlzLmlzU2lnbmF0dXJlKDAsYS5MT0NBTF9GSUxFX0hFQURFUik/bmV3IEVycm9yKCJDb3JydXB0ZWQgemlwOiBjYW4ndCBmaW5kIGVuZCBvZiBjZW50cmFsIGRpcmVjdG9yeSIpOm5ldyBFcnJvcigiQ2FuJ3QgZmluZCBlbmQgb2YgY2VudHJhbCBkaXJlY3RvcnkgOiBpcyB0aGlzIGEgemlwIGZpbGUgPyBJZiBpdCBpcywgc2VlIGh0dHBzOi8vc3R1ay5naXRodWIuaW8vanN6aXAvZG9jdW1lbnRhdGlvbi9ob3d0by9yZWFkX3ppcC5odG1sIik7dGhpcy5yZWFkZXIuc2V0SW5kZXgobSk7dmFyIHY9bTtpZih0aGlzLmNoZWNrU2lnbmF0dXJlKGEuQ0VOVFJBTF9ESVJFQ1RPUllfRU5EKSx0aGlzLnJlYWRCbG9ja0VuZE9mQ2VudHJhbCgpLHRoaXMuZGlza051bWJlcj09PWkuTUFYX1ZBTFVFXzE2QklUU3x8dGhpcy5kaXNrV2l0aENlbnRyYWxEaXJTdGFydD09PWkuTUFYX1ZBTFVFXzE2QklUU3x8dGhpcy5jZW50cmFsRGlyUmVjb3Jkc09uVGhpc0Rpc2s9PT1pLk1BWF9WQUxVRV8xNkJJVFN8fHRoaXMuY2VudHJhbERpclJlY29yZHM9PT1pLk1BWF9WQUxVRV8xNkJJVFN8fHRoaXMuY2VudHJhbERpclNpemU9PT1pLk1BWF9WQUxVRV8zMkJJVFN8fHRoaXMuY2VudHJhbERpck9mZnNldD09PWkuTUFYX1ZBTFVFXzMyQklUUyl7aWYodGhpcy56aXA2ND0hMCwobT10aGlzLnJlYWRlci5sYXN0SW5kZXhPZlNpZ25hdHVyZShhLlpJUDY0X0NFTlRSQUxfRElSRUNUT1JZX0xPQ0FUT1IpKTwwKXRocm93IG5ldyBFcnJvcigiQ29ycnVwdGVkIHppcDogY2FuJ3QgZmluZCB0aGUgWklQNjQgZW5kIG9mIGNlbnRyYWwgZGlyZWN0b3J5IGxvY2F0b3IiKTtpZih0aGlzLnJlYWRlci5zZXRJbmRleChtKSx0aGlzLmNoZWNrU2lnbmF0dXJlKGEuWklQNjRfQ0VOVFJBTF9ESVJFQ1RPUllfTE9DQVRPUiksdGhpcy5yZWFkQmxvY2taaXA2NEVuZE9mQ2VudHJhbExvY2F0b3IoKSwhdGhpcy5pc1NpZ25hdHVyZSh0aGlzLnJlbGF0aXZlT2Zmc2V0RW5kT2ZaaXA2NENlbnRyYWxEaXIsYS5aSVA2NF9DRU5UUkFMX0RJUkVDVE9SWV9FTkQpJiYodGhpcy5yZWxhdGl2ZU9mZnNldEVuZE9mWmlwNjRDZW50cmFsRGlyPXRoaXMucmVhZGVyLmxhc3RJbmRleE9mU2lnbmF0dXJlKGEuWklQNjRfQ0VOVFJBTF9ESVJFQ1RPUllfRU5EKSx0aGlzLnJlbGF0aXZlT2Zmc2V0RW5kT2ZaaXA2NENlbnRyYWxEaXI8MCkpdGhyb3cgbmV3IEVycm9yKCJDb3JydXB0ZWQgemlwOiBjYW4ndCBmaW5kIHRoZSBaSVA2NCBlbmQgb2YgY2VudHJhbCBkaXJlY3RvcnkiKTt0aGlzLnJlYWRlci5zZXRJbmRleCh0aGlzLnJlbGF0aXZlT2Zmc2V0RW5kT2ZaaXA2NENlbnRyYWxEaXIpLHRoaXMuY2hlY2tTaWduYXR1cmUoYS5aSVA2NF9DRU5UUkFMX0RJUkVDVE9SWV9FTkQpLHRoaXMucmVhZEJsb2NrWmlwNjRFbmRPZkNlbnRyYWwoKX12YXIgZz10aGlzLmNlbnRyYWxEaXJPZmZzZXQrdGhpcy5jZW50cmFsRGlyU2l6ZTt0aGlzLnppcDY0JiYoZys9MjAsZys9MTIrdGhpcy56aXA2NEVuZE9mQ2VudHJhbFNpemUpO3ZhciB3PXYtZztpZigwPHcpdGhpcy5pc1NpZ25hdHVyZSh2LGEuQ0VOVFJBTF9GSUxFX0hFQURFUil8fCh0aGlzLnJlYWRlci56ZXJvPXcpO2Vsc2UgaWYodzwwKXRocm93IG5ldyBFcnJvcigiQ29ycnVwdGVkIHppcDogbWlzc2luZyAiK01hdGguYWJzKHcpKyIgYnl0ZXMuIil9LHByZXBhcmVSZWFkZXI6ZnVuY3Rpb24obSl7dGhpcy5yZWFkZXI9cihtKX0sbG9hZDpmdW5jdGlvbihtKXt0aGlzLnByZXBhcmVSZWFkZXIobSksdGhpcy5yZWFkRW5kT2ZDZW50cmFsKCksdGhpcy5yZWFkQ2VudHJhbERpcigpLHRoaXMucmVhZExvY2FsRmlsZXMoKX19LHQuZXhwb3J0cz1kfSx7Ii4vcmVhZGVyL3JlYWRlckZvciI6MjIsIi4vc2lnbmF0dXJlIjoyMywiLi9zdXBwb3J0IjozMCwiLi91dGlscyI6MzIsIi4vemlwRW50cnkiOjM0fV0sMzQ6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9ZSgiLi9yZWFkZXIvcmVhZGVyRm9yIiksaT1lKCIuL3V0aWxzIiksYT1lKCIuL2NvbXByZXNzZWRPYmplY3QiKSxzPWUoIi4vY3JjMzIiKSx1PWUoIi4vdXRmOCIpLGQ9ZSgiLi9jb21wcmVzc2lvbnMiKSxtPWUoIi4vc3VwcG9ydCIpO2Z1bmN0aW9uIHYoZyx3KXt0aGlzLm9wdGlvbnM9Zyx0aGlzLmxvYWRPcHRpb25zPXd9di5wcm90b3R5cGU9e2lzRW5jcnlwdGVkOmZ1bmN0aW9uKCl7cmV0dXJuKDEmdGhpcy5iaXRGbGFnKT09MX0sdXNlVVRGODpmdW5jdGlvbigpe3JldHVybigyMDQ4JnRoaXMuYml0RmxhZyk9PTIwNDh9LHJlYWRMb2NhbFBhcnQ6ZnVuY3Rpb24oZyl7dmFyIHcsYjtpZihnLnNraXAoMjIpLHRoaXMuZmlsZU5hbWVMZW5ndGg9Zy5yZWFkSW50KDIpLGI9Zy5yZWFkSW50KDIpLHRoaXMuZmlsZU5hbWU9Zy5yZWFkRGF0YSh0aGlzLmZpbGVOYW1lTGVuZ3RoKSxnLnNraXAoYiksdGhpcy5jb21wcmVzc2VkU2l6ZT09PS0xfHx0aGlzLnVuY29tcHJlc3NlZFNpemU9PT0tMSl0aHJvdyBuZXcgRXJyb3IoIkJ1ZyBvciBjb3JydXB0ZWQgemlwIDogZGlkbid0IGdldCBlbm91Z2ggaW5mb3JtYXRpb24gZnJvbSB0aGUgY2VudHJhbCBkaXJlY3RvcnkgKGNvbXByZXNzZWRTaXplID09PSAtMSB8fCB1bmNvbXByZXNzZWRTaXplID09PSAtMSkiKTtpZigodz0oZnVuY3Rpb24oVCl7Zm9yKHZhciBEIGluIGQpaWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGQsRCkmJmRbRF0ubWFnaWM9PT1UKXJldHVybiBkW0RdO3JldHVybiBudWxsfSkodGhpcy5jb21wcmVzc2lvbk1ldGhvZCkpPT09bnVsbCl0aHJvdyBuZXcgRXJyb3IoIkNvcnJ1cHRlZCB6aXAgOiBjb21wcmVzc2lvbiAiK2kucHJldHR5KHRoaXMuY29tcHJlc3Npb25NZXRob2QpKyIgdW5rbm93biAoaW5uZXIgZmlsZSA6ICIraS50cmFuc2Zvcm1Ubygic3RyaW5nIix0aGlzLmZpbGVOYW1lKSsiKSIpO3RoaXMuZGVjb21wcmVzc2VkPW5ldyBhKHRoaXMuY29tcHJlc3NlZFNpemUsdGhpcy51bmNvbXByZXNzZWRTaXplLHRoaXMuY3JjMzIsdyxnLnJlYWREYXRhKHRoaXMuY29tcHJlc3NlZFNpemUpKX0scmVhZENlbnRyYWxQYXJ0OmZ1bmN0aW9uKGcpe3RoaXMudmVyc2lvbk1hZGVCeT1nLnJlYWRJbnQoMiksZy5za2lwKDIpLHRoaXMuYml0RmxhZz1nLnJlYWRJbnQoMiksdGhpcy5jb21wcmVzc2lvbk1ldGhvZD1nLnJlYWRTdHJpbmcoMiksdGhpcy5kYXRlPWcucmVhZERhdGUoKSx0aGlzLmNyYzMyPWcucmVhZEludCg0KSx0aGlzLmNvbXByZXNzZWRTaXplPWcucmVhZEludCg0KSx0aGlzLnVuY29tcHJlc3NlZFNpemU9Zy5yZWFkSW50KDQpO3ZhciB3PWcucmVhZEludCgyKTtpZih0aGlzLmV4dHJhRmllbGRzTGVuZ3RoPWcucmVhZEludCgyKSx0aGlzLmZpbGVDb21tZW50TGVuZ3RoPWcucmVhZEludCgyKSx0aGlzLmRpc2tOdW1iZXJTdGFydD1nLnJlYWRJbnQoMiksdGhpcy5pbnRlcm5hbEZpbGVBdHRyaWJ1dGVzPWcucmVhZEludCgyKSx0aGlzLmV4dGVybmFsRmlsZUF0dHJpYnV0ZXM9Zy5yZWFkSW50KDQpLHRoaXMubG9jYWxIZWFkZXJPZmZzZXQ9Zy5yZWFkSW50KDQpLHRoaXMuaXNFbmNyeXB0ZWQoKSl0aHJvdyBuZXcgRXJyb3IoIkVuY3J5cHRlZCB6aXAgYXJlIG5vdCBzdXBwb3J0ZWQiKTtnLnNraXAodyksdGhpcy5yZWFkRXh0cmFGaWVsZHMoZyksdGhpcy5wYXJzZVpJUDY0RXh0cmFGaWVsZChnKSx0aGlzLmZpbGVDb21tZW50PWcucmVhZERhdGEodGhpcy5maWxlQ29tbWVudExlbmd0aCl9LHByb2Nlc3NBdHRyaWJ1dGVzOmZ1bmN0aW9uKCl7dGhpcy51bml4UGVybWlzc2lvbnM9bnVsbCx0aGlzLmRvc1Blcm1pc3Npb25zPW51bGw7dmFyIGc9dGhpcy52ZXJzaW9uTWFkZUJ5Pj44O3RoaXMuZGlyPSEhKDE2JnRoaXMuZXh0ZXJuYWxGaWxlQXR0cmlidXRlcyksZz09MCYmKHRoaXMuZG9zUGVybWlzc2lvbnM9NjMmdGhpcy5leHRlcm5hbEZpbGVBdHRyaWJ1dGVzKSxnPT0zJiYodGhpcy51bml4UGVybWlzc2lvbnM9dGhpcy5leHRlcm5hbEZpbGVBdHRyaWJ1dGVzPj4xNiY2NTUzNSksdGhpcy5kaXJ8fHRoaXMuZmlsZU5hbWVTdHIuc2xpY2UoLTEpIT09Ii8ifHwodGhpcy5kaXI9ITApfSxwYXJzZVpJUDY0RXh0cmFGaWVsZDpmdW5jdGlvbigpe2lmKHRoaXMuZXh0cmFGaWVsZHNbMV0pe3ZhciBnPXIodGhpcy5leHRyYUZpZWxkc1sxXS52YWx1ZSk7dGhpcy51bmNvbXByZXNzZWRTaXplPT09aS5NQVhfVkFMVUVfMzJCSVRTJiYodGhpcy51bmNvbXByZXNzZWRTaXplPWcucmVhZEludCg4KSksdGhpcy5jb21wcmVzc2VkU2l6ZT09PWkuTUFYX1ZBTFVFXzMyQklUUyYmKHRoaXMuY29tcHJlc3NlZFNpemU9Zy5yZWFkSW50KDgpKSx0aGlzLmxvY2FsSGVhZGVyT2Zmc2V0PT09aS5NQVhfVkFMVUVfMzJCSVRTJiYodGhpcy5sb2NhbEhlYWRlck9mZnNldD1nLnJlYWRJbnQoOCkpLHRoaXMuZGlza051bWJlclN0YXJ0PT09aS5NQVhfVkFMVUVfMzJCSVRTJiYodGhpcy5kaXNrTnVtYmVyU3RhcnQ9Zy5yZWFkSW50KDQpKX19LHJlYWRFeHRyYUZpZWxkczpmdW5jdGlvbihnKXt2YXIgdyxiLFQsRD1nLmluZGV4K3RoaXMuZXh0cmFGaWVsZHNMZW5ndGg7Zm9yKHRoaXMuZXh0cmFGaWVsZHN8fCh0aGlzLmV4dHJhRmllbGRzPXt9KTtnLmluZGV4KzQ8RDspdz1nLnJlYWRJbnQoMiksYj1nLnJlYWRJbnQoMiksVD1nLnJlYWREYXRhKGIpLHRoaXMuZXh0cmFGaWVsZHNbd109e2lkOncsbGVuZ3RoOmIsdmFsdWU6VH07Zy5zZXRJbmRleChEKX0saGFuZGxlVVRGODpmdW5jdGlvbigpe3ZhciBnPW0udWludDhhcnJheT8idWludDhhcnJheSI6ImFycmF5IjtpZih0aGlzLnVzZVVURjgoKSl0aGlzLmZpbGVOYW1lU3RyPXUudXRmOGRlY29kZSh0aGlzLmZpbGVOYW1lKSx0aGlzLmZpbGVDb21tZW50U3RyPXUudXRmOGRlY29kZSh0aGlzLmZpbGVDb21tZW50KTtlbHNle3ZhciB3PXRoaXMuZmluZEV4dHJhRmllbGRVbmljb2RlUGF0aCgpO2lmKHchPT1udWxsKXRoaXMuZmlsZU5hbWVTdHI9dztlbHNle3ZhciBiPWkudHJhbnNmb3JtVG8oZyx0aGlzLmZpbGVOYW1lKTt0aGlzLmZpbGVOYW1lU3RyPXRoaXMubG9hZE9wdGlvbnMuZGVjb2RlRmlsZU5hbWUoYil9dmFyIFQ9dGhpcy5maW5kRXh0cmFGaWVsZFVuaWNvZGVDb21tZW50KCk7aWYoVCE9PW51bGwpdGhpcy5maWxlQ29tbWVudFN0cj1UO2Vsc2V7dmFyIEQ9aS50cmFuc2Zvcm1UbyhnLHRoaXMuZmlsZUNvbW1lbnQpO3RoaXMuZmlsZUNvbW1lbnRTdHI9dGhpcy5sb2FkT3B0aW9ucy5kZWNvZGVGaWxlTmFtZShEKX19fSxmaW5kRXh0cmFGaWVsZFVuaWNvZGVQYXRoOmZ1bmN0aW9uKCl7dmFyIGc9dGhpcy5leHRyYUZpZWxkc1syODc4OV07aWYoZyl7dmFyIHc9cihnLnZhbHVlKTtyZXR1cm4gdy5yZWFkSW50KDEpIT09MXx8cyh0aGlzLmZpbGVOYW1lKSE9PXcucmVhZEludCg0KT9udWxsOnUudXRmOGRlY29kZSh3LnJlYWREYXRhKGcubGVuZ3RoLTUpKX1yZXR1cm4gbnVsbH0sZmluZEV4dHJhRmllbGRVbmljb2RlQ29tbWVudDpmdW5jdGlvbigpe3ZhciBnPXRoaXMuZXh0cmFGaWVsZHNbMjU0NjFdO2lmKGcpe3ZhciB3PXIoZy52YWx1ZSk7cmV0dXJuIHcucmVhZEludCgxKSE9PTF8fHModGhpcy5maWxlQ29tbWVudCkhPT13LnJlYWRJbnQoNCk/bnVsbDp1LnV0ZjhkZWNvZGUody5yZWFkRGF0YShnLmxlbmd0aC01KSl9cmV0dXJuIG51bGx9fSx0LmV4cG9ydHM9dn0seyIuL2NvbXByZXNzZWRPYmplY3QiOjIsIi4vY29tcHJlc3Npb25zIjozLCIuL2NyYzMyIjo0LCIuL3JlYWRlci9yZWFkZXJGb3IiOjIyLCIuL3N1cHBvcnQiOjMwLCIuL3V0ZjgiOjMxLCIuL3V0aWxzIjozMn1dLDM1OltmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIodyxiLFQpe3RoaXMubmFtZT13LHRoaXMuZGlyPVQuZGlyLHRoaXMuZGF0ZT1ULmRhdGUsdGhpcy5jb21tZW50PVQuY29tbWVudCx0aGlzLnVuaXhQZXJtaXNzaW9ucz1ULnVuaXhQZXJtaXNzaW9ucyx0aGlzLmRvc1Blcm1pc3Npb25zPVQuZG9zUGVybWlzc2lvbnMsdGhpcy5fZGF0YT1iLHRoaXMuX2RhdGFCaW5hcnk9VC5iaW5hcnksdGhpcy5vcHRpb25zPXtjb21wcmVzc2lvbjpULmNvbXByZXNzaW9uLGNvbXByZXNzaW9uT3B0aW9uczpULmNvbXByZXNzaW9uT3B0aW9uc319dmFyIGk9ZSgiLi9zdHJlYW0vU3RyZWFtSGVscGVyIiksYT1lKCIuL3N0cmVhbS9EYXRhV29ya2VyIikscz1lKCIuL3V0ZjgiKSx1PWUoIi4vY29tcHJlc3NlZE9iamVjdCIpLGQ9ZSgiLi9zdHJlYW0vR2VuZXJpY1dvcmtlciIpO3IucHJvdG90eXBlPXtpbnRlcm5hbFN0cmVhbTpmdW5jdGlvbih3KXt2YXIgYj1udWxsLFQ9InN0cmluZyI7dHJ5e2lmKCF3KXRocm93IG5ldyBFcnJvcigiTm8gb3V0cHV0IHR5cGUgc3BlY2lmaWVkLiIpO3ZhciBEPShUPXcudG9Mb3dlckNhc2UoKSk9PT0ic3RyaW5nInx8VD09PSJ0ZXh0IjtUIT09ImJpbmFyeXN0cmluZyImJlQhPT0idGV4dCJ8fChUPSJzdHJpbmciKSxiPXRoaXMuX2RlY29tcHJlc3NXb3JrZXIoKTt2YXIgaD0hdGhpcy5fZGF0YUJpbmFyeTtoJiYhRCYmKGI9Yi5waXBlKG5ldyBzLlV0ZjhFbmNvZGVXb3JrZXIpKSwhaCYmRCYmKGI9Yi5waXBlKG5ldyBzLlV0ZjhEZWNvZGVXb3JrZXIpKX1jYXRjaChsKXsoYj1uZXcgZCgiZXJyb3IiKSkuZXJyb3IobCl9cmV0dXJuIG5ldyBpKGIsVCwiIil9LGFzeW5jOmZ1bmN0aW9uKHcsYil7cmV0dXJuIHRoaXMuaW50ZXJuYWxTdHJlYW0odykuYWNjdW11bGF0ZShiKX0sbm9kZVN0cmVhbTpmdW5jdGlvbih3LGIpe3JldHVybiB0aGlzLmludGVybmFsU3RyZWFtKHd8fCJub2RlYnVmZmVyIikudG9Ob2RlanNTdHJlYW0oYil9LF9jb21wcmVzc1dvcmtlcjpmdW5jdGlvbih3LGIpe2lmKHRoaXMuX2RhdGEgaW5zdGFuY2VvZiB1JiZ0aGlzLl9kYXRhLmNvbXByZXNzaW9uLm1hZ2ljPT09dy5tYWdpYylyZXR1cm4gdGhpcy5fZGF0YS5nZXRDb21wcmVzc2VkV29ya2VyKCk7dmFyIFQ9dGhpcy5fZGVjb21wcmVzc1dvcmtlcigpO3JldHVybiB0aGlzLl9kYXRhQmluYXJ5fHwoVD1ULnBpcGUobmV3IHMuVXRmOEVuY29kZVdvcmtlcikpLHUuY3JlYXRlV29ya2VyRnJvbShULHcsYil9LF9kZWNvbXByZXNzV29ya2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2RhdGEgaW5zdGFuY2VvZiB1P3RoaXMuX2RhdGEuZ2V0Q29udGVudFdvcmtlcigpOnRoaXMuX2RhdGEgaW5zdGFuY2VvZiBkP3RoaXMuX2RhdGE6bmV3IGEodGhpcy5fZGF0YSl9fTtmb3IodmFyIG09WyJhc1RleHQiLCJhc0JpbmFyeSIsImFzTm9kZUJ1ZmZlciIsImFzVWludDhBcnJheSIsImFzQXJyYXlCdWZmZXIiXSx2PWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJUaGlzIG1ldGhvZCBoYXMgYmVlbiByZW1vdmVkIGluIEpTWmlwIDMuMCwgcGxlYXNlIGNoZWNrIHRoZSB1cGdyYWRlIGd1aWRlLiIpfSxnPTA7ZzxtLmxlbmd0aDtnKyspci5wcm90b3R5cGVbbVtnXV09djt0LmV4cG9ydHM9cn0seyIuL2NvbXByZXNzZWRPYmplY3QiOjIsIi4vc3RyZWFtL0RhdGFXb3JrZXIiOjI3LCIuL3N0cmVhbS9HZW5lcmljV29ya2VyIjoyOCwiLi9zdHJlYW0vU3RyZWFtSGVscGVyIjoyOSwiLi91dGY4IjozMX1dLDM2OltmdW5jdGlvbihlLHQsbil7KGZ1bmN0aW9uKHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgaSxhLHM9ci5NdXRhdGlvbk9ic2VydmVyfHxyLldlYktpdE11dGF0aW9uT2JzZXJ2ZXI7aWYocyl7dmFyIHU9MCxkPW5ldyBzKHcpLG09ci5kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiIik7ZC5vYnNlcnZlKG0se2NoYXJhY3RlckRhdGE6ITB9KSxpPWZ1bmN0aW9uKCl7bS5kYXRhPXU9Kyt1JTJ9fWVsc2UgaWYoci5zZXRJbW1lZGlhdGV8fHIuTWVzc2FnZUNoYW5uZWw9PT12b2lkIDApaT0iZG9jdW1lbnQiaW4gciYmIm9ucmVhZHlzdGF0ZWNoYW5nZSJpbiByLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpP2Z1bmN0aW9uKCl7dmFyIGI9ci5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtiLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe3coKSxiLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLGIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChiKSxiPW51bGx9LHIuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFwcGVuZENoaWxkKGIpfTpmdW5jdGlvbigpe3NldFRpbWVvdXQodywwKX07ZWxzZXt2YXIgdj1uZXcgci5NZXNzYWdlQ2hhbm5lbDt2LnBvcnQxLm9ubWVzc2FnZT13LGk9ZnVuY3Rpb24oKXt2LnBvcnQyLnBvc3RNZXNzYWdlKDApfX12YXIgZz1bXTtmdW5jdGlvbiB3KCl7dmFyIGIsVDthPSEwO2Zvcih2YXIgRD1nLmxlbmd0aDtEOyl7Zm9yKFQ9ZyxnPVtdLGI9LTE7KytiPEQ7KVRbYl0oKTtEPWcubGVuZ3RofWE9ITF9dC5leHBvcnRzPWZ1bmN0aW9uKGIpe2cucHVzaChiKSE9PTF8fGF8fGkoKX19KS5jYWxsKHRoaXMsdHlwZW9mIGdsb2JhbDwidSI/Z2xvYmFsOnR5cGVvZiBzZWxmPCJ1Ij9zZWxmOnR5cGVvZiB3aW5kb3c8InUiP3dpbmRvdzp7fSl9LHt9XSwzNzpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1lKCJpbW1lZGlhdGUiKTtmdW5jdGlvbiBpKCl7fXZhciBhPXt9LHM9WyJSRUpFQ1RFRCJdLHU9WyJGVUxGSUxMRUQiXSxkPVsiUEVORElORyJdO2Z1bmN0aW9uIG0oRCl7aWYodHlwZW9mIEQhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigicmVzb2x2ZXIgbXVzdCBiZSBhIGZ1bmN0aW9uIik7dGhpcy5zdGF0ZT1kLHRoaXMucXVldWU9W10sdGhpcy5vdXRjb21lPXZvaWQgMCxEIT09aSYmYih0aGlzLEQpfWZ1bmN0aW9uIHYoRCxoLGwpe3RoaXMucHJvbWlzZT1ELHR5cGVvZiBoPT0iZnVuY3Rpb24iJiYodGhpcy5vbkZ1bGZpbGxlZD1oLHRoaXMuY2FsbEZ1bGZpbGxlZD10aGlzLm90aGVyQ2FsbEZ1bGZpbGxlZCksdHlwZW9mIGw9PSJmdW5jdGlvbiImJih0aGlzLm9uUmVqZWN0ZWQ9bCx0aGlzLmNhbGxSZWplY3RlZD10aGlzLm90aGVyQ2FsbFJlamVjdGVkKX1mdW5jdGlvbiBnKEQsaCxsKXtyKGZ1bmN0aW9uKCl7dmFyIHA7dHJ5e3A9aChsKX1jYXRjaChDKXtyZXR1cm4gYS5yZWplY3QoRCxDKX1wPT09RD9hLnJlamVjdChELG5ldyBUeXBlRXJyb3IoIkNhbm5vdCByZXNvbHZlIHByb21pc2Ugd2l0aCBpdHNlbGYiKSk6YS5yZXNvbHZlKEQscCl9KX1mdW5jdGlvbiB3KEQpe3ZhciBoPUQmJkQudGhlbjtpZihEJiYodHlwZW9mIEQ9PSJvYmplY3QifHx0eXBlb2YgRD09ImZ1bmN0aW9uIikmJnR5cGVvZiBoPT0iZnVuY3Rpb24iKXJldHVybiBmdW5jdGlvbigpe2guYXBwbHkoRCxhcmd1bWVudHMpfX1mdW5jdGlvbiBiKEQsaCl7dmFyIGw9ITE7ZnVuY3Rpb24gcChQKXtsfHwobD0hMCxhLnJlamVjdChELFApKX1mdW5jdGlvbiBDKFApe2x8fChsPSEwLGEucmVzb2x2ZShELFApKX12YXIgRj1UKGZ1bmN0aW9uKCl7aChDLHApfSk7Ri5zdGF0dXM9PT0iZXJyb3IiJiZwKEYudmFsdWUpfWZ1bmN0aW9uIFQoRCxoKXt2YXIgbD17fTt0cnl7bC52YWx1ZT1EKGgpLGwuc3RhdHVzPSJzdWNjZXNzIn1jYXRjaChwKXtsLnN0YXR1cz0iZXJyb3IiLGwudmFsdWU9cH1yZXR1cm4gbH0odC5leHBvcnRzPW0pLnByb3RvdHlwZS5maW5hbGx5PWZ1bmN0aW9uKEQpe2lmKHR5cGVvZiBEIT0iZnVuY3Rpb24iKXJldHVybiB0aGlzO3ZhciBoPXRoaXMuY29uc3RydWN0b3I7cmV0dXJuIHRoaXMudGhlbihmdW5jdGlvbihsKXtyZXR1cm4gaC5yZXNvbHZlKEQoKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBsfSl9LGZ1bmN0aW9uKGwpe3JldHVybiBoLnJlc29sdmUoRCgpKS50aGVuKGZ1bmN0aW9uKCl7dGhyb3cgbH0pfSl9LG0ucHJvdG90eXBlLmNhdGNoPWZ1bmN0aW9uKEQpe3JldHVybiB0aGlzLnRoZW4obnVsbCxEKX0sbS5wcm90b3R5cGUudGhlbj1mdW5jdGlvbihELGgpe2lmKHR5cGVvZiBEIT0iZnVuY3Rpb24iJiZ0aGlzLnN0YXRlPT09dXx8dHlwZW9mIGghPSJmdW5jdGlvbiImJnRoaXMuc3RhdGU9PT1zKXJldHVybiB0aGlzO3ZhciBsPW5ldyB0aGlzLmNvbnN0cnVjdG9yKGkpO3JldHVybiB0aGlzLnN0YXRlIT09ZD9nKGwsdGhpcy5zdGF0ZT09PXU/RDpoLHRoaXMub3V0Y29tZSk6dGhpcy5xdWV1ZS5wdXNoKG5ldyB2KGwsRCxoKSksbH0sdi5wcm90b3R5cGUuY2FsbEZ1bGZpbGxlZD1mdW5jdGlvbihEKXthLnJlc29sdmUodGhpcy5wcm9taXNlLEQpfSx2LnByb3RvdHlwZS5vdGhlckNhbGxGdWxmaWxsZWQ9ZnVuY3Rpb24oRCl7Zyh0aGlzLnByb21pc2UsdGhpcy5vbkZ1bGZpbGxlZCxEKX0sdi5wcm90b3R5cGUuY2FsbFJlamVjdGVkPWZ1bmN0aW9uKEQpe2EucmVqZWN0KHRoaXMucHJvbWlzZSxEKX0sdi5wcm90b3R5cGUub3RoZXJDYWxsUmVqZWN0ZWQ9ZnVuY3Rpb24oRCl7Zyh0aGlzLnByb21pc2UsdGhpcy5vblJlamVjdGVkLEQpfSxhLnJlc29sdmU9ZnVuY3Rpb24oRCxoKXt2YXIgbD1UKHcsaCk7aWYobC5zdGF0dXM9PT0iZXJyb3IiKXJldHVybiBhLnJlamVjdChELGwudmFsdWUpO3ZhciBwPWwudmFsdWU7aWYocCliKEQscCk7ZWxzZXtELnN0YXRlPXUsRC5vdXRjb21lPWg7Zm9yKHZhciBDPS0xLEY9RC5xdWV1ZS5sZW5ndGg7KytDPEY7KUQucXVldWVbQ10uY2FsbEZ1bGZpbGxlZChoKX1yZXR1cm4gRH0sYS5yZWplY3Q9ZnVuY3Rpb24oRCxoKXtELnN0YXRlPXMsRC5vdXRjb21lPWg7Zm9yKHZhciBsPS0xLHA9RC5xdWV1ZS5sZW5ndGg7KytsPHA7KUQucXVldWVbbF0uY2FsbFJlamVjdGVkKGgpO3JldHVybiBEfSxtLnJlc29sdmU9ZnVuY3Rpb24oRCl7cmV0dXJuIEQgaW5zdGFuY2VvZiB0aGlzP0Q6YS5yZXNvbHZlKG5ldyB0aGlzKGkpLEQpfSxtLnJlamVjdD1mdW5jdGlvbihEKXt2YXIgaD1uZXcgdGhpcyhpKTtyZXR1cm4gYS5yZWplY3QoaCxEKX0sbS5hbGw9ZnVuY3Rpb24oRCl7dmFyIGg9dGhpcztpZihPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoRCkhPT0iW29iamVjdCBBcnJheV0iKXJldHVybiB0aGlzLnJlamVjdChuZXcgVHlwZUVycm9yKCJtdXN0IGJlIGFuIGFycmF5IikpO3ZhciBsPUQubGVuZ3RoLHA9ITE7aWYoIWwpcmV0dXJuIHRoaXMucmVzb2x2ZShbXSk7Zm9yKHZhciBDPW5ldyBBcnJheShsKSxGPTAsUD0tMSxmPW5ldyB0aGlzKGkpOysrUDxsOylXKERbUF0sUCk7cmV0dXJuIGY7ZnVuY3Rpb24gVyhaLGllKXtoLnJlc29sdmUoWikudGhlbihmdW5jdGlvbihFKXtDW2llXT1FLCsrRiE9PWx8fHB8fChwPSEwLGEucmVzb2x2ZShmLEMpKX0sZnVuY3Rpb24oRSl7cHx8KHA9ITAsYS5yZWplY3QoZixFKSl9KX19LG0ucmFjZT1mdW5jdGlvbihEKXt2YXIgaD10aGlzO2lmKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChEKSE9PSJbb2JqZWN0IEFycmF5XSIpcmV0dXJuIHRoaXMucmVqZWN0KG5ldyBUeXBlRXJyb3IoIm11c3QgYmUgYW4gYXJyYXkiKSk7dmFyIGw9RC5sZW5ndGgscD0hMTtpZighbClyZXR1cm4gdGhpcy5yZXNvbHZlKFtdKTtmb3IodmFyIEM9LTEsRj1uZXcgdGhpcyhpKTsrK0M8bDspUD1EW0NdLGgucmVzb2x2ZShQKS50aGVuKGZ1bmN0aW9uKGYpe3B8fChwPSEwLGEucmVzb2x2ZShGLGYpKX0sZnVuY3Rpb24oZil7cHx8KHA9ITAsYS5yZWplY3QoRixmKSl9KTt2YXIgUDtyZXR1cm4gRn19LHtpbW1lZGlhdGU6MzZ9XSwzODpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj17fTsoMCxlKCIuL2xpYi91dGlscy9jb21tb24iKS5hc3NpZ24pKHIsZSgiLi9saWIvZGVmbGF0ZSIpLGUoIi4vbGliL2luZmxhdGUiKSxlKCIuL2xpYi96bGliL2NvbnN0YW50cyIpKSx0LmV4cG9ydHM9cn0seyIuL2xpYi9kZWZsYXRlIjozOSwiLi9saWIvaW5mbGF0ZSI6NDAsIi4vbGliL3V0aWxzL2NvbW1vbiI6NDEsIi4vbGliL3psaWIvY29uc3RhbnRzIjo0NH1dLDM5OltmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPWUoIi4vemxpYi9kZWZsYXRlIiksaT1lKCIuL3V0aWxzL2NvbW1vbiIpLGE9ZSgiLi91dGlscy9zdHJpbmdzIikscz1lKCIuL3psaWIvbWVzc2FnZXMiKSx1PWUoIi4vemxpYi96c3RyZWFtIiksZD1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLG09MCx2PS0xLGc9MCx3PTg7ZnVuY3Rpb24gYihEKXtpZighKHRoaXMgaW5zdGFuY2VvZiBiKSlyZXR1cm4gbmV3IGIoRCk7dGhpcy5vcHRpb25zPWkuYXNzaWduKHtsZXZlbDp2LG1ldGhvZDp3LGNodW5rU2l6ZToxNjM4NCx3aW5kb3dCaXRzOjE1LG1lbUxldmVsOjgsc3RyYXRlZ3k6Zyx0bzoiIn0sRHx8e30pO3ZhciBoPXRoaXMub3B0aW9ucztoLnJhdyYmMDxoLndpbmRvd0JpdHM/aC53aW5kb3dCaXRzPS1oLndpbmRvd0JpdHM6aC5nemlwJiYwPGgud2luZG93Qml0cyYmaC53aW5kb3dCaXRzPDE2JiYoaC53aW5kb3dCaXRzKz0xNiksdGhpcy5lcnI9MCx0aGlzLm1zZz0iIix0aGlzLmVuZGVkPSExLHRoaXMuY2h1bmtzPVtdLHRoaXMuc3RybT1uZXcgdSx0aGlzLnN0cm0uYXZhaWxfb3V0PTA7dmFyIGw9ci5kZWZsYXRlSW5pdDIodGhpcy5zdHJtLGgubGV2ZWwsaC5tZXRob2QsaC53aW5kb3dCaXRzLGgubWVtTGV2ZWwsaC5zdHJhdGVneSk7aWYobCE9PW0pdGhyb3cgbmV3IEVycm9yKHNbbF0pO2lmKGguaGVhZGVyJiZyLmRlZmxhdGVTZXRIZWFkZXIodGhpcy5zdHJtLGguaGVhZGVyKSxoLmRpY3Rpb25hcnkpe3ZhciBwO2lmKHA9dHlwZW9mIGguZGljdGlvbmFyeT09InN0cmluZyI/YS5zdHJpbmcyYnVmKGguZGljdGlvbmFyeSk6ZC5jYWxsKGguZGljdGlvbmFyeSk9PT0iW29iamVjdCBBcnJheUJ1ZmZlcl0iP25ldyBVaW50OEFycmF5KGguZGljdGlvbmFyeSk6aC5kaWN0aW9uYXJ5LChsPXIuZGVmbGF0ZVNldERpY3Rpb25hcnkodGhpcy5zdHJtLHApKSE9PW0pdGhyb3cgbmV3IEVycm9yKHNbbF0pO3RoaXMuX2RpY3Rfc2V0PSEwfX1mdW5jdGlvbiBUKEQsaCl7dmFyIGw9bmV3IGIoaCk7aWYobC5wdXNoKEQsITApLGwuZXJyKXRocm93IGwubXNnfHxzW2wuZXJyXTtyZXR1cm4gbC5yZXN1bHR9Yi5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihELGgpe3ZhciBsLHAsQz10aGlzLnN0cm0sRj10aGlzLm9wdGlvbnMuY2h1bmtTaXplO2lmKHRoaXMuZW5kZWQpcmV0dXJuITE7cD1oPT09fn5oP2g6aD09PSEwPzQ6MCx0eXBlb2YgRD09InN0cmluZyI/Qy5pbnB1dD1hLnN0cmluZzJidWYoRCk6ZC5jYWxsKEQpPT09IltvYmplY3QgQXJyYXlCdWZmZXJdIj9DLmlucHV0PW5ldyBVaW50OEFycmF5KEQpOkMuaW5wdXQ9RCxDLm5leHRfaW49MCxDLmF2YWlsX2luPUMuaW5wdXQubGVuZ3RoO2Rve2lmKEMuYXZhaWxfb3V0PT09MCYmKEMub3V0cHV0PW5ldyBpLkJ1ZjgoRiksQy5uZXh0X291dD0wLEMuYXZhaWxfb3V0PUYpLChsPXIuZGVmbGF0ZShDLHApKSE9PTEmJmwhPT1tKXJldHVybiB0aGlzLm9uRW5kKGwpLCEodGhpcy5lbmRlZD0hMCk7Qy5hdmFpbF9vdXQhPT0wJiYoQy5hdmFpbF9pbiE9PTB8fHAhPT00JiZwIT09Mil8fCh0aGlzLm9wdGlvbnMudG89PT0ic3RyaW5nIj90aGlzLm9uRGF0YShhLmJ1ZjJiaW5zdHJpbmcoaS5zaHJpbmtCdWYoQy5vdXRwdXQsQy5uZXh0X291dCkpKTp0aGlzLm9uRGF0YShpLnNocmlua0J1ZihDLm91dHB1dCxDLm5leHRfb3V0KSkpfXdoaWxlKCgwPEMuYXZhaWxfaW58fEMuYXZhaWxfb3V0PT09MCkmJmwhPT0xKTtyZXR1cm4gcD09PTQ/KGw9ci5kZWZsYXRlRW5kKHRoaXMuc3RybSksdGhpcy5vbkVuZChsKSx0aGlzLmVuZGVkPSEwLGw9PT1tKTpwIT09Mnx8KHRoaXMub25FbmQobSksIShDLmF2YWlsX291dD0wKSl9LGIucHJvdG90eXBlLm9uRGF0YT1mdW5jdGlvbihEKXt0aGlzLmNodW5rcy5wdXNoKEQpfSxiLnByb3RvdHlwZS5vbkVuZD1mdW5jdGlvbihEKXtEPT09bSYmKHRoaXMub3B0aW9ucy50bz09PSJzdHJpbmciP3RoaXMucmVzdWx0PXRoaXMuY2h1bmtzLmpvaW4oIiIpOnRoaXMucmVzdWx0PWkuZmxhdHRlbkNodW5rcyh0aGlzLmNodW5rcykpLHRoaXMuY2h1bmtzPVtdLHRoaXMuZXJyPUQsdGhpcy5tc2c9dGhpcy5zdHJtLm1zZ30sbi5EZWZsYXRlPWIsbi5kZWZsYXRlPVQsbi5kZWZsYXRlUmF3PWZ1bmN0aW9uKEQsaCl7cmV0dXJuKGg9aHx8e30pLnJhdz0hMCxUKEQsaCl9LG4uZ3ppcD1mdW5jdGlvbihELGgpe3JldHVybihoPWh8fHt9KS5nemlwPSEwLFQoRCxoKX19LHsiLi91dGlscy9jb21tb24iOjQxLCIuL3V0aWxzL3N0cmluZ3MiOjQyLCIuL3psaWIvZGVmbGF0ZSI6NDYsIi4vemxpYi9tZXNzYWdlcyI6NTEsIi4vemxpYi96c3RyZWFtIjo1M31dLDQwOltmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPWUoIi4vemxpYi9pbmZsYXRlIiksaT1lKCIuL3V0aWxzL2NvbW1vbiIpLGE9ZSgiLi91dGlscy9zdHJpbmdzIikscz1lKCIuL3psaWIvY29uc3RhbnRzIiksdT1lKCIuL3psaWIvbWVzc2FnZXMiKSxkPWUoIi4vemxpYi96c3RyZWFtIiksbT1lKCIuL3psaWIvZ3poZWFkZXIiKSx2PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7ZnVuY3Rpb24gZyhiKXtpZighKHRoaXMgaW5zdGFuY2VvZiBnKSlyZXR1cm4gbmV3IGcoYik7dGhpcy5vcHRpb25zPWkuYXNzaWduKHtjaHVua1NpemU6MTYzODQsd2luZG93Qml0czowLHRvOiIifSxifHx7fSk7dmFyIFQ9dGhpcy5vcHRpb25zO1QucmF3JiYwPD1ULndpbmRvd0JpdHMmJlQud2luZG93Qml0czwxNiYmKFQud2luZG93Qml0cz0tVC53aW5kb3dCaXRzLFQud2luZG93Qml0cz09PTAmJihULndpbmRvd0JpdHM9LTE1KSksISgwPD1ULndpbmRvd0JpdHMmJlQud2luZG93Qml0czwxNil8fGImJmIud2luZG93Qml0c3x8KFQud2luZG93Qml0cys9MzIpLDE1PFQud2luZG93Qml0cyYmVC53aW5kb3dCaXRzPDQ4JiYoMTUmVC53aW5kb3dCaXRzKT09MCYmKFQud2luZG93Qml0c3w9MTUpLHRoaXMuZXJyPTAsdGhpcy5tc2c9IiIsdGhpcy5lbmRlZD0hMSx0aGlzLmNodW5rcz1bXSx0aGlzLnN0cm09bmV3IGQsdGhpcy5zdHJtLmF2YWlsX291dD0wO3ZhciBEPXIuaW5mbGF0ZUluaXQyKHRoaXMuc3RybSxULndpbmRvd0JpdHMpO2lmKEQhPT1zLlpfT0spdGhyb3cgbmV3IEVycm9yKHVbRF0pO3RoaXMuaGVhZGVyPW5ldyBtLHIuaW5mbGF0ZUdldEhlYWRlcih0aGlzLnN0cm0sdGhpcy5oZWFkZXIpfWZ1bmN0aW9uIHcoYixUKXt2YXIgRD1uZXcgZyhUKTtpZihELnB1c2goYiwhMCksRC5lcnIpdGhyb3cgRC5tc2d8fHVbRC5lcnJdO3JldHVybiBELnJlc3VsdH1nLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKGIsVCl7dmFyIEQsaCxsLHAsQyxGLFA9dGhpcy5zdHJtLGY9dGhpcy5vcHRpb25zLmNodW5rU2l6ZSxXPXRoaXMub3B0aW9ucy5kaWN0aW9uYXJ5LFo9ITE7aWYodGhpcy5lbmRlZClyZXR1cm4hMTtoPVQ9PT1+flQ/VDpUPT09ITA/cy5aX0ZJTklTSDpzLlpfTk9fRkxVU0gsdHlwZW9mIGI9PSJzdHJpbmciP1AuaW5wdXQ9YS5iaW5zdHJpbmcyYnVmKGIpOnYuY2FsbChiKT09PSJbb2JqZWN0IEFycmF5QnVmZmVyXSI/UC5pbnB1dD1uZXcgVWludDhBcnJheShiKTpQLmlucHV0PWIsUC5uZXh0X2luPTAsUC5hdmFpbF9pbj1QLmlucHV0Lmxlbmd0aDtkb3tpZihQLmF2YWlsX291dD09PTAmJihQLm91dHB1dD1uZXcgaS5CdWY4KGYpLFAubmV4dF9vdXQ9MCxQLmF2YWlsX291dD1mKSwoRD1yLmluZmxhdGUoUCxzLlpfTk9fRkxVU0gpKT09PXMuWl9ORUVEX0RJQ1QmJlcmJihGPXR5cGVvZiBXPT0ic3RyaW5nIj9hLnN0cmluZzJidWYoVyk6di5jYWxsKFcpPT09IltvYmplY3QgQXJyYXlCdWZmZXJdIj9uZXcgVWludDhBcnJheShXKTpXLEQ9ci5pbmZsYXRlU2V0RGljdGlvbmFyeSh0aGlzLnN0cm0sRikpLEQ9PT1zLlpfQlVGX0VSUk9SJiZaPT09ITAmJihEPXMuWl9PSyxaPSExKSxEIT09cy5aX1NUUkVBTV9FTkQmJkQhPT1zLlpfT0spcmV0dXJuIHRoaXMub25FbmQoRCksISh0aGlzLmVuZGVkPSEwKTtQLm5leHRfb3V0JiYoUC5hdmFpbF9vdXQhPT0wJiZEIT09cy5aX1NUUkVBTV9FTkQmJihQLmF2YWlsX2luIT09MHx8aCE9PXMuWl9GSU5JU0gmJmghPT1zLlpfU1lOQ19GTFVTSCl8fCh0aGlzLm9wdGlvbnMudG89PT0ic3RyaW5nIj8obD1hLnV0Zjhib3JkZXIoUC5vdXRwdXQsUC5uZXh0X291dCkscD1QLm5leHRfb3V0LWwsQz1hLmJ1ZjJzdHJpbmcoUC5vdXRwdXQsbCksUC5uZXh0X291dD1wLFAuYXZhaWxfb3V0PWYtcCxwJiZpLmFycmF5U2V0KFAub3V0cHV0LFAub3V0cHV0LGwscCwwKSx0aGlzLm9uRGF0YShDKSk6dGhpcy5vbkRhdGEoaS5zaHJpbmtCdWYoUC5vdXRwdXQsUC5uZXh0X291dCkpKSksUC5hdmFpbF9pbj09PTAmJlAuYXZhaWxfb3V0PT09MCYmKFo9ITApfXdoaWxlKCgwPFAuYXZhaWxfaW58fFAuYXZhaWxfb3V0PT09MCkmJkQhPT1zLlpfU1RSRUFNX0VORCk7cmV0dXJuIEQ9PT1zLlpfU1RSRUFNX0VORCYmKGg9cy5aX0ZJTklTSCksaD09PXMuWl9GSU5JU0g/KEQ9ci5pbmZsYXRlRW5kKHRoaXMuc3RybSksdGhpcy5vbkVuZChEKSx0aGlzLmVuZGVkPSEwLEQ9PT1zLlpfT0spOmghPT1zLlpfU1lOQ19GTFVTSHx8KHRoaXMub25FbmQocy5aX09LKSwhKFAuYXZhaWxfb3V0PTApKX0sZy5wcm90b3R5cGUub25EYXRhPWZ1bmN0aW9uKGIpe3RoaXMuY2h1bmtzLnB1c2goYil9LGcucHJvdG90eXBlLm9uRW5kPWZ1bmN0aW9uKGIpe2I9PT1zLlpfT0smJih0aGlzLm9wdGlvbnMudG89PT0ic3RyaW5nIj90aGlzLnJlc3VsdD10aGlzLmNodW5rcy5qb2luKCIiKTp0aGlzLnJlc3VsdD1pLmZsYXR0ZW5DaHVua3ModGhpcy5jaHVua3MpKSx0aGlzLmNodW5rcz1bXSx0aGlzLmVycj1iLHRoaXMubXNnPXRoaXMuc3RybS5tc2d9LG4uSW5mbGF0ZT1nLG4uaW5mbGF0ZT13LG4uaW5mbGF0ZVJhdz1mdW5jdGlvbihiLFQpe3JldHVybihUPVR8fHt9KS5yYXc9ITAsdyhiLFQpfSxuLnVuZ3ppcD13fSx7Ii4vdXRpbHMvY29tbW9uIjo0MSwiLi91dGlscy9zdHJpbmdzIjo0MiwiLi96bGliL2NvbnN0YW50cyI6NDQsIi4vemxpYi9nemhlYWRlciI6NDcsIi4vemxpYi9pbmZsYXRlIjo0OSwiLi96bGliL21lc3NhZ2VzIjo1MSwiLi96bGliL3pzdHJlYW0iOjUzfV0sNDE6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9dHlwZW9mIFVpbnQ4QXJyYXk8InUiJiZ0eXBlb2YgVWludDE2QXJyYXk8InUiJiZ0eXBlb2YgSW50MzJBcnJheTwidSI7bi5hc3NpZ249ZnVuY3Rpb24ocyl7Zm9yKHZhciB1PUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTt1Lmxlbmd0aDspe3ZhciBkPXUuc2hpZnQoKTtpZihkKXtpZih0eXBlb2YgZCE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcihkKyJtdXN0IGJlIG5vbi1vYmplY3QiKTtmb3IodmFyIG0gaW4gZClkLmhhc093blByb3BlcnR5KG0pJiYoc1ttXT1kW21dKX19cmV0dXJuIHN9LG4uc2hyaW5rQnVmPWZ1bmN0aW9uKHMsdSl7cmV0dXJuIHMubGVuZ3RoPT09dT9zOnMuc3ViYXJyYXk/cy5zdWJhcnJheSgwLHUpOihzLmxlbmd0aD11LHMpfTt2YXIgaT17YXJyYXlTZXQ6ZnVuY3Rpb24ocyx1LGQsbSx2KXtpZih1LnN1YmFycmF5JiZzLnN1YmFycmF5KXMuc2V0KHUuc3ViYXJyYXkoZCxkK20pLHYpO2Vsc2UgZm9yKHZhciBnPTA7ZzxtO2crKylzW3YrZ109dVtkK2ddfSxmbGF0dGVuQ2h1bmtzOmZ1bmN0aW9uKHMpe3ZhciB1LGQsbSx2LGcsdztmb3IodT1tPTAsZD1zLmxlbmd0aDt1PGQ7dSsrKW0rPXNbdV0ubGVuZ3RoO2Zvcih3PW5ldyBVaW50OEFycmF5KG0pLHU9dj0wLGQ9cy5sZW5ndGg7dTxkO3UrKylnPXNbdV0sdy5zZXQoZyx2KSx2Kz1nLmxlbmd0aDtyZXR1cm4gd319LGE9e2FycmF5U2V0OmZ1bmN0aW9uKHMsdSxkLG0sdil7Zm9yKHZhciBnPTA7ZzxtO2crKylzW3YrZ109dVtkK2ddfSxmbGF0dGVuQ2h1bmtzOmZ1bmN0aW9uKHMpe3JldHVybltdLmNvbmNhdC5hcHBseShbXSxzKX19O24uc2V0VHlwZWQ9ZnVuY3Rpb24ocyl7cz8obi5CdWY4PVVpbnQ4QXJyYXksbi5CdWYxNj1VaW50MTZBcnJheSxuLkJ1ZjMyPUludDMyQXJyYXksbi5hc3NpZ24obixpKSk6KG4uQnVmOD1BcnJheSxuLkJ1ZjE2PUFycmF5LG4uQnVmMzI9QXJyYXksbi5hc3NpZ24obixhKSl9LG4uc2V0VHlwZWQocil9LHt9XSw0MjpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1lKCIuL2NvbW1vbiIpLGk9ITAsYT0hMDt0cnl7U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLFswXSl9Y2F0Y2h7aT0hMX10cnl7U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLG5ldyBVaW50OEFycmF5KDEpKX1jYXRjaHthPSExfWZvcih2YXIgcz1uZXcgci5CdWY4KDI1NiksdT0wO3U8MjU2O3UrKylzW3VdPTI1Mjw9dT82OjI0ODw9dT81OjI0MDw9dT80OjIyNDw9dT8zOjE5Mjw9dT8yOjE7ZnVuY3Rpb24gZChtLHYpe2lmKHY8NjU1MzcmJihtLnN1YmFycmF5JiZhfHwhbS5zdWJhcnJheSYmaSkpcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxyLnNocmlua0J1ZihtLHYpKTtmb3IodmFyIGc9IiIsdz0wO3c8djt3KyspZys9U3RyaW5nLmZyb21DaGFyQ29kZShtW3ddKTtyZXR1cm4gZ31zWzI1NF09c1syNTRdPTEsbi5zdHJpbmcyYnVmPWZ1bmN0aW9uKG0pe3ZhciB2LGcsdyxiLFQsRD1tLmxlbmd0aCxoPTA7Zm9yKGI9MDtiPEQ7YisrKSg2NDUxMiYoZz1tLmNoYXJDb2RlQXQoYikpKT09NTUyOTYmJmIrMTxEJiYoNjQ1MTImKHc9bS5jaGFyQ29kZUF0KGIrMSkpKT09NTYzMjAmJihnPTY1NTM2KyhnLTU1Mjk2PDwxMCkrKHctNTYzMjApLGIrKyksaCs9ZzwxMjg/MTpnPDIwNDg/MjpnPDY1NTM2PzM6NDtmb3Iodj1uZXcgci5CdWY4KGgpLGI9VD0wO1Q8aDtiKyspKDY0NTEyJihnPW0uY2hhckNvZGVBdChiKSkpPT01NTI5NiYmYisxPEQmJig2NDUxMiYodz1tLmNoYXJDb2RlQXQoYisxKSkpPT01NjMyMCYmKGc9NjU1MzYrKGctNTUyOTY8PDEwKSsody01NjMyMCksYisrKSxnPDEyOD92W1QrK109ZzooZzwyMDQ4P3ZbVCsrXT0xOTJ8Zz4+PjY6KGc8NjU1MzY/dltUKytdPTIyNHxnPj4+MTI6KHZbVCsrXT0yNDB8Zz4+PjE4LHZbVCsrXT0xMjh8Zz4+PjEyJjYzKSx2W1QrK109MTI4fGc+Pj42JjYzKSx2W1QrK109MTI4fDYzJmcpO3JldHVybiB2fSxuLmJ1ZjJiaW5zdHJpbmc9ZnVuY3Rpb24obSl7cmV0dXJuIGQobSxtLmxlbmd0aCl9LG4uYmluc3RyaW5nMmJ1Zj1mdW5jdGlvbihtKXtmb3IodmFyIHY9bmV3IHIuQnVmOChtLmxlbmd0aCksZz0wLHc9di5sZW5ndGg7Zzx3O2crKyl2W2ddPW0uY2hhckNvZGVBdChnKTtyZXR1cm4gdn0sbi5idWYyc3RyaW5nPWZ1bmN0aW9uKG0sdil7dmFyIGcsdyxiLFQsRD12fHxtLmxlbmd0aCxoPW5ldyBBcnJheSgyKkQpO2ZvcihnPXc9MDtnPEQ7KWlmKChiPW1bZysrXSk8MTI4KWhbdysrXT1iO2Vsc2UgaWYoNDwoVD1zW2JdKSloW3crK109NjU1MzMsZys9VC0xO2Vsc2V7Zm9yKGImPVQ9PT0yPzMxOlQ9PT0zPzE1Ojc7MTxUJiZnPEQ7KWI9Yjw8Nnw2MyZtW2crK10sVC0tOzE8VD9oW3crK109NjU1MzM6Yjw2NTUzNj9oW3crK109YjooYi09NjU1MzYsaFt3KytdPTU1Mjk2fGI+PjEwJjEwMjMsaFt3KytdPTU2MzIwfDEwMjMmYil9cmV0dXJuIGQoaCx3KX0sbi51dGY4Ym9yZGVyPWZ1bmN0aW9uKG0sdil7dmFyIGc7Zm9yKCh2PXZ8fG0ubGVuZ3RoKT5tLmxlbmd0aCYmKHY9bS5sZW5ndGgpLGc9di0xOzA8PWcmJigxOTImbVtnXSk9PTEyODspZy0tO3JldHVybiBnPDB8fGc9PT0wP3Y6ZytzW21bZ11dPnY/Zzp2fX0seyIuL2NvbW1vbiI6NDF9XSw0MzpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9ZnVuY3Rpb24ocixpLGEscyl7Zm9yKHZhciB1PTY1NTM1JnJ8MCxkPXI+Pj4xNiY2NTUzNXwwLG09MDthIT09MDspe2ZvcihhLT1tPTJlMzxhPzJlMzphO2Q9ZCsodT11K2lbcysrXXwwKXwwLC0tbTspO3UlPTY1NTIxLGQlPTY1NTIxfXJldHVybiB1fGQ8PDE2fDB9fSx7fV0sNDQ6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dC5leHBvcnRzPXtaX05PX0ZMVVNIOjAsWl9QQVJUSUFMX0ZMVVNIOjEsWl9TWU5DX0ZMVVNIOjIsWl9GVUxMX0ZMVVNIOjMsWl9GSU5JU0g6NCxaX0JMT0NLOjUsWl9UUkVFUzo2LFpfT0s6MCxaX1NUUkVBTV9FTkQ6MSxaX05FRURfRElDVDoyLFpfRVJSTk86LTEsWl9TVFJFQU1fRVJST1I6LTIsWl9EQVRBX0VSUk9SOi0zLFpfQlVGX0VSUk9SOi01LFpfTk9fQ09NUFJFU1NJT046MCxaX0JFU1RfU1BFRUQ6MSxaX0JFU1RfQ09NUFJFU1NJT046OSxaX0RFRkFVTFRfQ09NUFJFU1NJT046LTEsWl9GSUxURVJFRDoxLFpfSFVGRk1BTl9PTkxZOjIsWl9STEU6MyxaX0ZJWEVEOjQsWl9ERUZBVUxUX1NUUkFURUdZOjAsWl9CSU5BUlk6MCxaX1RFWFQ6MSxaX1VOS05PV046MixaX0RFRkxBVEVEOjh9fSx7fV0sNDU6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9KGZ1bmN0aW9uKCl7Zm9yKHZhciBpLGE9W10scz0wO3M8MjU2O3MrKyl7aT1zO2Zvcih2YXIgdT0wO3U8ODt1KyspaT0xJmk/Mzk4ODI5MjM4NF5pPj4+MTppPj4+MTthW3NdPWl9cmV0dXJuIGF9KSgpO3QuZXhwb3J0cz1mdW5jdGlvbihpLGEscyx1KXt2YXIgZD1yLG09dStzO2lePS0xO2Zvcih2YXIgdj11O3Y8bTt2KyspaT1pPj4+OF5kWzI1NSYoaV5hW3ZdKV07cmV0dXJuLTFeaX19LHt9XSw0NjpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcixpPWUoIi4uL3V0aWxzL2NvbW1vbiIpLGE9ZSgiLi90cmVlcyIpLHM9ZSgiLi9hZGxlcjMyIiksdT1lKCIuL2NyYzMyIiksZD1lKCIuL21lc3NhZ2VzIiksbT0wLHY9NCxnPTAsdz0tMixiPS0xLFQ9NCxEPTIsaD04LGw9OSxwPTI4NixDPTMwLEY9MTksUD0yKnArMSxmPTE1LFc9MyxaPTI1OCxpZT1aK1crMSxFPTQyLEo9MTEzLF89MSxTPTIsaz0zLEw9NDtmdW5jdGlvbiBSKEEsZGUpe3JldHVybiBBLm1zZz1kW2RlXSxkZX1mdW5jdGlvbiBCKEEpe3JldHVybihBPDwxKS0oNDxBPzk6MCl9ZnVuY3Rpb24gRyhBKXtmb3IodmFyIGRlPUEubGVuZ3RoOzA8PS0tZGU7KUFbZGVdPTB9ZnVuY3Rpb24gTShBKXt2YXIgZGU9QS5zdGF0ZSxsZT1kZS5wZW5kaW5nO2xlPkEuYXZhaWxfb3V0JiYobGU9QS5hdmFpbF9vdXQpLGxlIT09MCYmKGkuYXJyYXlTZXQoQS5vdXRwdXQsZGUucGVuZGluZ19idWYsZGUucGVuZGluZ19vdXQsbGUsQS5uZXh0X291dCksQS5uZXh0X291dCs9bGUsZGUucGVuZGluZ19vdXQrPWxlLEEudG90YWxfb3V0Kz1sZSxBLmF2YWlsX291dC09bGUsZGUucGVuZGluZy09bGUsZGUucGVuZGluZz09PTAmJihkZS5wZW5kaW5nX291dD0wKSl9ZnVuY3Rpb24gcShBLGRlKXthLl90cl9mbHVzaF9ibG9jayhBLDA8PUEuYmxvY2tfc3RhcnQ/QS5ibG9ja19zdGFydDotMSxBLnN0cnN0YXJ0LUEuYmxvY2tfc3RhcnQsZGUpLEEuYmxvY2tfc3RhcnQ9QS5zdHJzdGFydCxNKEEuc3RybSl9ZnVuY3Rpb24gYWUoQSxkZSl7QS5wZW5kaW5nX2J1ZltBLnBlbmRpbmcrK109ZGV9ZnVuY3Rpb24gZWUoQSxkZSl7QS5wZW5kaW5nX2J1ZltBLnBlbmRpbmcrK109ZGU+Pj44JjI1NSxBLnBlbmRpbmdfYnVmW0EucGVuZGluZysrXT0yNTUmZGV9ZnVuY3Rpb24gbmUoQSxkZSl7dmFyIGxlLHosaj1BLm1heF9jaGFpbl9sZW5ndGgsSz1BLnN0cnN0YXJ0LG1lPUEucHJldl9sZW5ndGgseWU9QS5uaWNlX21hdGNoLHJlPUEuc3Ryc3RhcnQ+QS53X3NpemUtaWU/QS5zdHJzdGFydC0oQS53X3NpemUtaWUpOjAsYmU9QS53aW5kb3csVGU9QS53X21hc2ssX2U9QS5wcmV2LHZlPUEuc3Ryc3RhcnQrWixqZT1iZVtLK21lLTFdLEdlPWJlW0srbWVdO0EucHJldl9sZW5ndGg+PUEuZ29vZF9tYXRjaCYmKGo+Pj0yKSx5ZT5BLmxvb2thaGVhZCYmKHllPUEubG9va2FoZWFkKTtkbyBpZihiZVsobGU9ZGUpK21lXT09PUdlJiZiZVtsZSttZS0xXT09PWplJiZiZVtsZV09PT1iZVtLXSYmYmVbKytsZV09PT1iZVtLKzFdKXtLKz0yLGxlKys7ZG87d2hpbGUoYmVbKytLXT09PWJlWysrbGVdJiZiZVsrK0tdPT09YmVbKytsZV0mJmJlWysrS109PT1iZVsrK2xlXSYmYmVbKytLXT09PWJlWysrbGVdJiZiZVsrK0tdPT09YmVbKytsZV0mJmJlWysrS109PT1iZVsrK2xlXSYmYmVbKytLXT09PWJlWysrbGVdJiZiZVsrK0tdPT09YmVbKytsZV0mJks8dmUpO2lmKHo9Wi0odmUtSyksSz12ZS1aLG1lPHope2lmKEEubWF0Y2hfc3RhcnQ9ZGUseWU8PShtZT16KSlicmVhaztqZT1iZVtLK21lLTFdLEdlPWJlW0srbWVdfX13aGlsZSgoZGU9X2VbZGUmVGVdKT5yZSYmLS1qIT0wKTtyZXR1cm4gbWU8PUEubG9va2FoZWFkP21lOkEubG9va2FoZWFkfWZ1bmN0aW9uIHhlKEEpe3ZhciBkZSxsZSx6LGosSyxtZSx5ZSxyZSxiZSxUZSxfZT1BLndfc2l6ZTtkb3tpZihqPUEud2luZG93X3NpemUtQS5sb29rYWhlYWQtQS5zdHJzdGFydCxBLnN0cnN0YXJ0Pj1fZSsoX2UtaWUpKXtmb3IoaS5hcnJheVNldChBLndpbmRvdyxBLndpbmRvdyxfZSxfZSwwKSxBLm1hdGNoX3N0YXJ0LT1fZSxBLnN0cnN0YXJ0LT1fZSxBLmJsb2NrX3N0YXJ0LT1fZSxkZT1sZT1BLmhhc2hfc2l6ZTt6PUEuaGVhZFstLWRlXSxBLmhlYWRbZGVdPV9lPD16P3otX2U6MCwtLWxlOyk7Zm9yKGRlPWxlPV9lO3o9QS5wcmV2Wy0tZGVdLEEucHJldltkZV09X2U8PXo/ei1fZTowLC0tbGU7KTtqKz1fZX1pZihBLnN0cm0uYXZhaWxfaW49PT0wKWJyZWFrO2lmKG1lPUEuc3RybSx5ZT1BLndpbmRvdyxyZT1BLnN0cnN0YXJ0K0EubG9va2FoZWFkLGJlPWosVGU9dm9pZCAwLFRlPW1lLmF2YWlsX2luLGJlPFRlJiYoVGU9YmUpLGxlPVRlPT09MD8wOihtZS5hdmFpbF9pbi09VGUsaS5hcnJheVNldCh5ZSxtZS5pbnB1dCxtZS5uZXh0X2luLFRlLHJlKSxtZS5zdGF0ZS53cmFwPT09MT9tZS5hZGxlcj1zKG1lLmFkbGVyLHllLFRlLHJlKTptZS5zdGF0ZS53cmFwPT09MiYmKG1lLmFkbGVyPXUobWUuYWRsZXIseWUsVGUscmUpKSxtZS5uZXh0X2luKz1UZSxtZS50b3RhbF9pbis9VGUsVGUpLEEubG9va2FoZWFkKz1sZSxBLmxvb2thaGVhZCtBLmluc2VydD49Vylmb3IoSz1BLnN0cnN0YXJ0LUEuaW5zZXJ0LEEuaW5zX2g9QS53aW5kb3dbS10sQS5pbnNfaD0oQS5pbnNfaDw8QS5oYXNoX3NoaWZ0XkEud2luZG93W0srMV0pJkEuaGFzaF9tYXNrO0EuaW5zZXJ0JiYoQS5pbnNfaD0oQS5pbnNfaDw8QS5oYXNoX3NoaWZ0XkEud2luZG93W0srVy0xXSkmQS5oYXNoX21hc2ssQS5wcmV2W0smQS53X21hc2tdPUEuaGVhZFtBLmluc19oXSxBLmhlYWRbQS5pbnNfaF09SyxLKyssQS5pbnNlcnQtLSwhKEEubG9va2FoZWFkK0EuaW5zZXJ0PFcpKTspO313aGlsZShBLmxvb2thaGVhZDxpZSYmQS5zdHJtLmF2YWlsX2luIT09MCl9ZnVuY3Rpb24gSWUoQSxkZSl7Zm9yKHZhciBsZSx6Ozspe2lmKEEubG9va2FoZWFkPGllKXtpZih4ZShBKSxBLmxvb2thaGVhZDxpZSYmZGU9PT1tKXJldHVybiBfO2lmKEEubG9va2FoZWFkPT09MClicmVha31pZihsZT0wLEEubG9va2FoZWFkPj1XJiYoQS5pbnNfaD0oQS5pbnNfaDw8QS5oYXNoX3NoaWZ0XkEud2luZG93W0Euc3Ryc3RhcnQrVy0xXSkmQS5oYXNoX21hc2ssbGU9QS5wcmV2W0Euc3Ryc3RhcnQmQS53X21hc2tdPUEuaGVhZFtBLmluc19oXSxBLmhlYWRbQS5pbnNfaF09QS5zdHJzdGFydCksbGUhPT0wJiZBLnN0cnN0YXJ0LWxlPD1BLndfc2l6ZS1pZSYmKEEubWF0Y2hfbGVuZ3RoPW5lKEEsbGUpKSxBLm1hdGNoX2xlbmd0aD49VylpZih6PWEuX3RyX3RhbGx5KEEsQS5zdHJzdGFydC1BLm1hdGNoX3N0YXJ0LEEubWF0Y2hfbGVuZ3RoLVcpLEEubG9va2FoZWFkLT1BLm1hdGNoX2xlbmd0aCxBLm1hdGNoX2xlbmd0aDw9QS5tYXhfbGF6eV9tYXRjaCYmQS5sb29rYWhlYWQ+PVcpe2ZvcihBLm1hdGNoX2xlbmd0aC0tO0Euc3Ryc3RhcnQrKyxBLmluc19oPShBLmluc19oPDxBLmhhc2hfc2hpZnReQS53aW5kb3dbQS5zdHJzdGFydCtXLTFdKSZBLmhhc2hfbWFzayxsZT1BLnByZXZbQS5zdHJzdGFydCZBLndfbWFza109QS5oZWFkW0EuaW5zX2hdLEEuaGVhZFtBLmluc19oXT1BLnN0cnN0YXJ0LC0tQS5tYXRjaF9sZW5ndGghPTA7KTtBLnN0cnN0YXJ0Kyt9ZWxzZSBBLnN0cnN0YXJ0Kz1BLm1hdGNoX2xlbmd0aCxBLm1hdGNoX2xlbmd0aD0wLEEuaW5zX2g9QS53aW5kb3dbQS5zdHJzdGFydF0sQS5pbnNfaD0oQS5pbnNfaDw8QS5oYXNoX3NoaWZ0XkEud2luZG93W0Euc3Ryc3RhcnQrMV0pJkEuaGFzaF9tYXNrO2Vsc2Ugej1hLl90cl90YWxseShBLDAsQS53aW5kb3dbQS5zdHJzdGFydF0pLEEubG9va2FoZWFkLS0sQS5zdHJzdGFydCsrO2lmKHomJihxKEEsITEpLEEuc3RybS5hdmFpbF9vdXQ9PT0wKSlyZXR1cm4gX31yZXR1cm4gQS5pbnNlcnQ9QS5zdHJzdGFydDxXLTE/QS5zdHJzdGFydDpXLTEsZGU9PT12PyhxKEEsITApLEEuc3RybS5hdmFpbF9vdXQ9PT0wP2s6TCk6QS5sYXN0X2xpdCYmKHEoQSwhMSksQS5zdHJtLmF2YWlsX291dD09PTApP186U31mdW5jdGlvbiBDZShBLGRlKXtmb3IodmFyIGxlLHosajs7KXtpZihBLmxvb2thaGVhZDxpZSl7aWYoeGUoQSksQS5sb29rYWhlYWQ8aWUmJmRlPT09bSlyZXR1cm4gXztpZihBLmxvb2thaGVhZD09PTApYnJlYWt9aWYobGU9MCxBLmxvb2thaGVhZD49VyYmKEEuaW5zX2g9KEEuaW5zX2g8PEEuaGFzaF9zaGlmdF5BLndpbmRvd1tBLnN0cnN0YXJ0K1ctMV0pJkEuaGFzaF9tYXNrLGxlPUEucHJldltBLnN0cnN0YXJ0JkEud19tYXNrXT1BLmhlYWRbQS5pbnNfaF0sQS5oZWFkW0EuaW5zX2hdPUEuc3Ryc3RhcnQpLEEucHJldl9sZW5ndGg9QS5tYXRjaF9sZW5ndGgsQS5wcmV2X21hdGNoPUEubWF0Y2hfc3RhcnQsQS5tYXRjaF9sZW5ndGg9Vy0xLGxlIT09MCYmQS5wcmV2X2xlbmd0aDxBLm1heF9sYXp5X21hdGNoJiZBLnN0cnN0YXJ0LWxlPD1BLndfc2l6ZS1pZSYmKEEubWF0Y2hfbGVuZ3RoPW5lKEEsbGUpLEEubWF0Y2hfbGVuZ3RoPD01JiYoQS5zdHJhdGVneT09PTF8fEEubWF0Y2hfbGVuZ3RoPT09VyYmNDA5NjxBLnN0cnN0YXJ0LUEubWF0Y2hfc3RhcnQpJiYoQS5tYXRjaF9sZW5ndGg9Vy0xKSksQS5wcmV2X2xlbmd0aD49VyYmQS5tYXRjaF9sZW5ndGg8PUEucHJldl9sZW5ndGgpe2ZvcihqPUEuc3Ryc3RhcnQrQS5sb29rYWhlYWQtVyx6PWEuX3RyX3RhbGx5KEEsQS5zdHJzdGFydC0xLUEucHJldl9tYXRjaCxBLnByZXZfbGVuZ3RoLVcpLEEubG9va2FoZWFkLT1BLnByZXZfbGVuZ3RoLTEsQS5wcmV2X2xlbmd0aC09MjsrK0Euc3Ryc3RhcnQ8PWomJihBLmluc19oPShBLmluc19oPDxBLmhhc2hfc2hpZnReQS53aW5kb3dbQS5zdHJzdGFydCtXLTFdKSZBLmhhc2hfbWFzayxsZT1BLnByZXZbQS5zdHJzdGFydCZBLndfbWFza109QS5oZWFkW0EuaW5zX2hdLEEuaGVhZFtBLmluc19oXT1BLnN0cnN0YXJ0KSwtLUEucHJldl9sZW5ndGghPTA7KTtpZihBLm1hdGNoX2F2YWlsYWJsZT0wLEEubWF0Y2hfbGVuZ3RoPVctMSxBLnN0cnN0YXJ0KysseiYmKHEoQSwhMSksQS5zdHJtLmF2YWlsX291dD09PTApKXJldHVybiBffWVsc2UgaWYoQS5tYXRjaF9hdmFpbGFibGUpe2lmKCh6PWEuX3RyX3RhbGx5KEEsMCxBLndpbmRvd1tBLnN0cnN0YXJ0LTFdKSkmJnEoQSwhMSksQS5zdHJzdGFydCsrLEEubG9va2FoZWFkLS0sQS5zdHJtLmF2YWlsX291dD09PTApcmV0dXJuIF99ZWxzZSBBLm1hdGNoX2F2YWlsYWJsZT0xLEEuc3Ryc3RhcnQrKyxBLmxvb2thaGVhZC0tfXJldHVybiBBLm1hdGNoX2F2YWlsYWJsZSYmKHo9YS5fdHJfdGFsbHkoQSwwLEEud2luZG93W0Euc3Ryc3RhcnQtMV0pLEEubWF0Y2hfYXZhaWxhYmxlPTApLEEuaW5zZXJ0PUEuc3Ryc3RhcnQ8Vy0xP0Euc3Ryc3RhcnQ6Vy0xLGRlPT09dj8ocShBLCEwKSxBLnN0cm0uYXZhaWxfb3V0PT09MD9rOkwpOkEubGFzdF9saXQmJihxKEEsITEpLEEuc3RybS5hdmFpbF9vdXQ9PT0wKT9fOlN9ZnVuY3Rpb24gRGUoQSxkZSxsZSx6LGope3RoaXMuZ29vZF9sZW5ndGg9QSx0aGlzLm1heF9sYXp5PWRlLHRoaXMubmljZV9sZW5ndGg9bGUsdGhpcy5tYXhfY2hhaW49eix0aGlzLmZ1bmM9an1mdW5jdGlvbiBMZSgpe3RoaXMuc3RybT1udWxsLHRoaXMuc3RhdHVzPTAsdGhpcy5wZW5kaW5nX2J1Zj1udWxsLHRoaXMucGVuZGluZ19idWZfc2l6ZT0wLHRoaXMucGVuZGluZ19vdXQ9MCx0aGlzLnBlbmRpbmc9MCx0aGlzLndyYXA9MCx0aGlzLmd6aGVhZD1udWxsLHRoaXMuZ3ppbmRleD0wLHRoaXMubWV0aG9kPWgsdGhpcy5sYXN0X2ZsdXNoPS0xLHRoaXMud19zaXplPTAsdGhpcy53X2JpdHM9MCx0aGlzLndfbWFzaz0wLHRoaXMud2luZG93PW51bGwsdGhpcy53aW5kb3dfc2l6ZT0wLHRoaXMucHJldj1udWxsLHRoaXMuaGVhZD1udWxsLHRoaXMuaW5zX2g9MCx0aGlzLmhhc2hfc2l6ZT0wLHRoaXMuaGFzaF9iaXRzPTAsdGhpcy5oYXNoX21hc2s9MCx0aGlzLmhhc2hfc2hpZnQ9MCx0aGlzLmJsb2NrX3N0YXJ0PTAsdGhpcy5tYXRjaF9sZW5ndGg9MCx0aGlzLnByZXZfbWF0Y2g9MCx0aGlzLm1hdGNoX2F2YWlsYWJsZT0wLHRoaXMuc3Ryc3RhcnQ9MCx0aGlzLm1hdGNoX3N0YXJ0PTAsdGhpcy5sb29rYWhlYWQ9MCx0aGlzLnByZXZfbGVuZ3RoPTAsdGhpcy5tYXhfY2hhaW5fbGVuZ3RoPTAsdGhpcy5tYXhfbGF6eV9tYXRjaD0wLHRoaXMubGV2ZWw9MCx0aGlzLnN0cmF0ZWd5PTAsdGhpcy5nb29kX21hdGNoPTAsdGhpcy5uaWNlX21hdGNoPTAsdGhpcy5keW5fbHRyZWU9bmV3IGkuQnVmMTYoMipQKSx0aGlzLmR5bl9kdHJlZT1uZXcgaS5CdWYxNigyKigyKkMrMSkpLHRoaXMuYmxfdHJlZT1uZXcgaS5CdWYxNigyKigyKkYrMSkpLEcodGhpcy5keW5fbHRyZWUpLEcodGhpcy5keW5fZHRyZWUpLEcodGhpcy5ibF90cmVlKSx0aGlzLmxfZGVzYz1udWxsLHRoaXMuZF9kZXNjPW51bGwsdGhpcy5ibF9kZXNjPW51bGwsdGhpcy5ibF9jb3VudD1uZXcgaS5CdWYxNihmKzEpLHRoaXMuaGVhcD1uZXcgaS5CdWYxNigyKnArMSksRyh0aGlzLmhlYXApLHRoaXMuaGVhcF9sZW49MCx0aGlzLmhlYXBfbWF4PTAsdGhpcy5kZXB0aD1uZXcgaS5CdWYxNigyKnArMSksRyh0aGlzLmRlcHRoKSx0aGlzLmxfYnVmPTAsdGhpcy5saXRfYnVmc2l6ZT0wLHRoaXMubGFzdF9saXQ9MCx0aGlzLmRfYnVmPTAsdGhpcy5vcHRfbGVuPTAsdGhpcy5zdGF0aWNfbGVuPTAsdGhpcy5tYXRjaGVzPTAsdGhpcy5pbnNlcnQ9MCx0aGlzLmJpX2J1Zj0wLHRoaXMuYmlfdmFsaWQ9MH1mdW5jdGlvbiBFZShBKXt2YXIgZGU7cmV0dXJuIEEmJkEuc3RhdGU/KEEudG90YWxfaW49QS50b3RhbF9vdXQ9MCxBLmRhdGFfdHlwZT1ELChkZT1BLnN0YXRlKS5wZW5kaW5nPTAsZGUucGVuZGluZ19vdXQ9MCxkZS53cmFwPDAmJihkZS53cmFwPS1kZS53cmFwKSxkZS5zdGF0dXM9ZGUud3JhcD9FOkosQS5hZGxlcj1kZS53cmFwPT09Mj8wOjEsZGUubGFzdF9mbHVzaD1tLGEuX3RyX2luaXQoZGUpLGcpOlIoQSx3KX1mdW5jdGlvbiBZZShBKXt2YXIgZGU9RWUoQSk7cmV0dXJuIGRlPT09ZyYmKGZ1bmN0aW9uKGxlKXtsZS53aW5kb3dfc2l6ZT0yKmxlLndfc2l6ZSxHKGxlLmhlYWQpLGxlLm1heF9sYXp5X21hdGNoPXJbbGUubGV2ZWxdLm1heF9sYXp5LGxlLmdvb2RfbWF0Y2g9cltsZS5sZXZlbF0uZ29vZF9sZW5ndGgsbGUubmljZV9tYXRjaD1yW2xlLmxldmVsXS5uaWNlX2xlbmd0aCxsZS5tYXhfY2hhaW5fbGVuZ3RoPXJbbGUubGV2ZWxdLm1heF9jaGFpbixsZS5zdHJzdGFydD0wLGxlLmJsb2NrX3N0YXJ0PTAsbGUubG9va2FoZWFkPTAsbGUuaW5zZXJ0PTAsbGUubWF0Y2hfbGVuZ3RoPWxlLnByZXZfbGVuZ3RoPVctMSxsZS5tYXRjaF9hdmFpbGFibGU9MCxsZS5pbnNfaD0wfSkoQS5zdGF0ZSksZGV9ZnVuY3Rpb24gSmUoQSxkZSxsZSx6LGosSyl7aWYoIUEpcmV0dXJuIHc7dmFyIG1lPTE7aWYoZGU9PT1iJiYoZGU9NiksejwwPyhtZT0wLHo9LXopOjE1PHomJihtZT0yLHotPTE2KSxqPDF8fGw8anx8bGUhPT1ofHx6PDh8fDE1PHp8fGRlPDB8fDk8ZGV8fEs8MHx8VDxLKXJldHVybiBSKEEsdyk7ej09PTgmJih6PTkpO3ZhciB5ZT1uZXcgTGU7cmV0dXJuKEEuc3RhdGU9eWUpLnN0cm09QSx5ZS53cmFwPW1lLHllLmd6aGVhZD1udWxsLHllLndfYml0cz16LHllLndfc2l6ZT0xPDx5ZS53X2JpdHMseWUud19tYXNrPXllLndfc2l6ZS0xLHllLmhhc2hfYml0cz1qKzcseWUuaGFzaF9zaXplPTE8PHllLmhhc2hfYml0cyx5ZS5oYXNoX21hc2s9eWUuaGFzaF9zaXplLTEseWUuaGFzaF9zaGlmdD1+figoeWUuaGFzaF9iaXRzK1ctMSkvVykseWUud2luZG93PW5ldyBpLkJ1ZjgoMip5ZS53X3NpemUpLHllLmhlYWQ9bmV3IGkuQnVmMTYoeWUuaGFzaF9zaXplKSx5ZS5wcmV2PW5ldyBpLkJ1ZjE2KHllLndfc2l6ZSkseWUubGl0X2J1ZnNpemU9MTw8ais2LHllLnBlbmRpbmdfYnVmX3NpemU9NCp5ZS5saXRfYnVmc2l6ZSx5ZS5wZW5kaW5nX2J1Zj1uZXcgaS5CdWY4KHllLnBlbmRpbmdfYnVmX3NpemUpLHllLmRfYnVmPTEqeWUubGl0X2J1ZnNpemUseWUubF9idWY9Myp5ZS5saXRfYnVmc2l6ZSx5ZS5sZXZlbD1kZSx5ZS5zdHJhdGVneT1LLHllLm1ldGhvZD1sZSxZZShBKX1yPVtuZXcgRGUoMCwwLDAsMCxmdW5jdGlvbihBLGRlKXt2YXIgbGU9NjU1MzU7Zm9yKGxlPkEucGVuZGluZ19idWZfc2l6ZS01JiYobGU9QS5wZW5kaW5nX2J1Zl9zaXplLTUpOzspe2lmKEEubG9va2FoZWFkPD0xKXtpZih4ZShBKSxBLmxvb2thaGVhZD09PTAmJmRlPT09bSlyZXR1cm4gXztpZihBLmxvb2thaGVhZD09PTApYnJlYWt9QS5zdHJzdGFydCs9QS5sb29rYWhlYWQsQS5sb29rYWhlYWQ9MDt2YXIgej1BLmJsb2NrX3N0YXJ0K2xlO2lmKChBLnN0cnN0YXJ0PT09MHx8QS5zdHJzdGFydD49eikmJihBLmxvb2thaGVhZD1BLnN0cnN0YXJ0LXosQS5zdHJzdGFydD16LHEoQSwhMSksQS5zdHJtLmF2YWlsX291dD09PTApfHxBLnN0cnN0YXJ0LUEuYmxvY2tfc3RhcnQ+PUEud19zaXplLWllJiYocShBLCExKSxBLnN0cm0uYXZhaWxfb3V0PT09MCkpcmV0dXJuIF99cmV0dXJuIEEuaW5zZXJ0PTAsZGU9PT12PyhxKEEsITApLEEuc3RybS5hdmFpbF9vdXQ9PT0wP2s6TCk6KEEuc3Ryc3RhcnQ+QS5ibG9ja19zdGFydCYmKHEoQSwhMSksQS5zdHJtLmF2YWlsX291dCksXyl9KSxuZXcgRGUoNCw0LDgsNCxJZSksbmV3IERlKDQsNSwxNiw4LEllKSxuZXcgRGUoNCw2LDMyLDMyLEllKSxuZXcgRGUoNCw0LDE2LDE2LENlKSxuZXcgRGUoOCwxNiwzMiwzMixDZSksbmV3IERlKDgsMTYsMTI4LDEyOCxDZSksbmV3IERlKDgsMzIsMTI4LDI1NixDZSksbmV3IERlKDMyLDEyOCwyNTgsMTAyNCxDZSksbmV3IERlKDMyLDI1OCwyNTgsNDA5NixDZSldLG4uZGVmbGF0ZUluaXQ9ZnVuY3Rpb24oQSxkZSl7cmV0dXJuIEplKEEsZGUsaCwxNSw4LDApfSxuLmRlZmxhdGVJbml0Mj1KZSxuLmRlZmxhdGVSZXNldD1ZZSxuLmRlZmxhdGVSZXNldEtlZXA9RWUsbi5kZWZsYXRlU2V0SGVhZGVyPWZ1bmN0aW9uKEEsZGUpe3JldHVybiBBJiZBLnN0YXRlP0Euc3RhdGUud3JhcCE9PTI/dzooQS5zdGF0ZS5nemhlYWQ9ZGUsZyk6d30sbi5kZWZsYXRlPWZ1bmN0aW9uKEEsZGUpe3ZhciBsZSx6LGosSztpZighQXx8IUEuc3RhdGV8fDU8ZGV8fGRlPDApcmV0dXJuIEE/UihBLHcpOnc7aWYoej1BLnN0YXRlLCFBLm91dHB1dHx8IUEuaW5wdXQmJkEuYXZhaWxfaW4hPT0wfHx6LnN0YXR1cz09PTY2NiYmZGUhPT12KXJldHVybiBSKEEsQS5hdmFpbF9vdXQ9PT0wPy01OncpO2lmKHouc3RybT1BLGxlPXoubGFzdF9mbHVzaCx6Lmxhc3RfZmx1c2g9ZGUsei5zdGF0dXM9PT1FKWlmKHoud3JhcD09PTIpQS5hZGxlcj0wLGFlKHosMzEpLGFlKHosMTM5KSxhZSh6LDgpLHouZ3poZWFkPyhhZSh6LCh6Lmd6aGVhZC50ZXh0PzE6MCkrKHouZ3poZWFkLmhjcmM/MjowKSsoei5nemhlYWQuZXh0cmE/NDowKSsoei5nemhlYWQubmFtZT84OjApKyh6Lmd6aGVhZC5jb21tZW50PzE2OjApKSxhZSh6LDI1NSZ6Lmd6aGVhZC50aW1lKSxhZSh6LHouZ3poZWFkLnRpbWU+PjgmMjU1KSxhZSh6LHouZ3poZWFkLnRpbWU+PjE2JjI1NSksYWUoeix6Lmd6aGVhZC50aW1lPj4yNCYyNTUpLGFlKHosei5sZXZlbD09PTk/MjoyPD16LnN0cmF0ZWd5fHx6LmxldmVsPDI/NDowKSxhZSh6LDI1NSZ6Lmd6aGVhZC5vcyksei5nemhlYWQuZXh0cmEmJnouZ3poZWFkLmV4dHJhLmxlbmd0aCYmKGFlKHosMjU1JnouZ3poZWFkLmV4dHJhLmxlbmd0aCksYWUoeix6Lmd6aGVhZC5leHRyYS5sZW5ndGg+PjgmMjU1KSksei5nemhlYWQuaGNyYyYmKEEuYWRsZXI9dShBLmFkbGVyLHoucGVuZGluZ19idWYsei5wZW5kaW5nLDApKSx6Lmd6aW5kZXg9MCx6LnN0YXR1cz02OSk6KGFlKHosMCksYWUoeiwwKSxhZSh6LDApLGFlKHosMCksYWUoeiwwKSxhZSh6LHoubGV2ZWw9PT05PzI6Mjw9ei5zdHJhdGVneXx8ei5sZXZlbDwyPzQ6MCksYWUoeiwzKSx6LnN0YXR1cz1KKTtlbHNle3ZhciBtZT1oKyh6LndfYml0cy04PDw0KTw8ODttZXw9KDI8PXouc3RyYXRlZ3l8fHoubGV2ZWw8Mj8wOnoubGV2ZWw8Nj8xOnoubGV2ZWw9PT02PzI6Myk8PDYsei5zdHJzdGFydCE9PTAmJihtZXw9MzIpLG1lKz0zMS1tZSUzMSx6LnN0YXR1cz1KLGVlKHosbWUpLHouc3Ryc3RhcnQhPT0wJiYoZWUoeixBLmFkbGVyPj4+MTYpLGVlKHosNjU1MzUmQS5hZGxlcikpLEEuYWRsZXI9MX1pZih6LnN0YXR1cz09PTY5KWlmKHouZ3poZWFkLmV4dHJhKXtmb3Ioaj16LnBlbmRpbmc7ei5nemluZGV4PCg2NTUzNSZ6Lmd6aGVhZC5leHRyYS5sZW5ndGgpJiYoei5wZW5kaW5nIT09ei5wZW5kaW5nX2J1Zl9zaXplfHwoei5nemhlYWQuaGNyYyYmei5wZW5kaW5nPmomJihBLmFkbGVyPXUoQS5hZGxlcix6LnBlbmRpbmdfYnVmLHoucGVuZGluZy1qLGopKSxNKEEpLGo9ei5wZW5kaW5nLHoucGVuZGluZyE9PXoucGVuZGluZ19idWZfc2l6ZSkpOylhZSh6LDI1NSZ6Lmd6aGVhZC5leHRyYVt6Lmd6aW5kZXhdKSx6Lmd6aW5kZXgrKzt6Lmd6aGVhZC5oY3JjJiZ6LnBlbmRpbmc+aiYmKEEuYWRsZXI9dShBLmFkbGVyLHoucGVuZGluZ19idWYsei5wZW5kaW5nLWosaikpLHouZ3ppbmRleD09PXouZ3poZWFkLmV4dHJhLmxlbmd0aCYmKHouZ3ppbmRleD0wLHouc3RhdHVzPTczKX1lbHNlIHouc3RhdHVzPTczO2lmKHouc3RhdHVzPT09NzMpaWYoei5nemhlYWQubmFtZSl7aj16LnBlbmRpbmc7ZG97aWYoei5wZW5kaW5nPT09ei5wZW5kaW5nX2J1Zl9zaXplJiYoei5nemhlYWQuaGNyYyYmei5wZW5kaW5nPmomJihBLmFkbGVyPXUoQS5hZGxlcix6LnBlbmRpbmdfYnVmLHoucGVuZGluZy1qLGopKSxNKEEpLGo9ei5wZW5kaW5nLHoucGVuZGluZz09PXoucGVuZGluZ19idWZfc2l6ZSkpe0s9MTticmVha31LPXouZ3ppbmRleDx6Lmd6aGVhZC5uYW1lLmxlbmd0aD8yNTUmei5nemhlYWQubmFtZS5jaGFyQ29kZUF0KHouZ3ppbmRleCsrKTowLGFlKHosSyl9d2hpbGUoSyE9PTApO3ouZ3poZWFkLmhjcmMmJnoucGVuZGluZz5qJiYoQS5hZGxlcj11KEEuYWRsZXIsei5wZW5kaW5nX2J1Zix6LnBlbmRpbmctaixqKSksSz09PTAmJih6Lmd6aW5kZXg9MCx6LnN0YXR1cz05MSl9ZWxzZSB6LnN0YXR1cz05MTtpZih6LnN0YXR1cz09PTkxKWlmKHouZ3poZWFkLmNvbW1lbnQpe2o9ei5wZW5kaW5nO2Rve2lmKHoucGVuZGluZz09PXoucGVuZGluZ19idWZfc2l6ZSYmKHouZ3poZWFkLmhjcmMmJnoucGVuZGluZz5qJiYoQS5hZGxlcj11KEEuYWRsZXIsei5wZW5kaW5nX2J1Zix6LnBlbmRpbmctaixqKSksTShBKSxqPXoucGVuZGluZyx6LnBlbmRpbmc9PT16LnBlbmRpbmdfYnVmX3NpemUpKXtLPTE7YnJlYWt9Sz16Lmd6aW5kZXg8ei5nemhlYWQuY29tbWVudC5sZW5ndGg/MjU1JnouZ3poZWFkLmNvbW1lbnQuY2hhckNvZGVBdCh6Lmd6aW5kZXgrKyk6MCxhZSh6LEspfXdoaWxlKEshPT0wKTt6Lmd6aGVhZC5oY3JjJiZ6LnBlbmRpbmc+aiYmKEEuYWRsZXI9dShBLmFkbGVyLHoucGVuZGluZ19idWYsei5wZW5kaW5nLWosaikpLEs9PT0wJiYoei5zdGF0dXM9MTAzKX1lbHNlIHouc3RhdHVzPTEwMztpZih6LnN0YXR1cz09PTEwMyYmKHouZ3poZWFkLmhjcmM/KHoucGVuZGluZysyPnoucGVuZGluZ19idWZfc2l6ZSYmTShBKSx6LnBlbmRpbmcrMjw9ei5wZW5kaW5nX2J1Zl9zaXplJiYoYWUoeiwyNTUmQS5hZGxlciksYWUoeixBLmFkbGVyPj44JjI1NSksQS5hZGxlcj0wLHouc3RhdHVzPUopKTp6LnN0YXR1cz1KKSx6LnBlbmRpbmchPT0wKXtpZihNKEEpLEEuYXZhaWxfb3V0PT09MClyZXR1cm4gei5sYXN0X2ZsdXNoPS0xLGd9ZWxzZSBpZihBLmF2YWlsX2luPT09MCYmQihkZSk8PUIobGUpJiZkZSE9PXYpcmV0dXJuIFIoQSwtNSk7aWYoei5zdGF0dXM9PT02NjYmJkEuYXZhaWxfaW4hPT0wKXJldHVybiBSKEEsLTUpO2lmKEEuYXZhaWxfaW4hPT0wfHx6Lmxvb2thaGVhZCE9PTB8fGRlIT09bSYmei5zdGF0dXMhPT02NjYpe3ZhciB5ZT16LnN0cmF0ZWd5PT09Mj8oZnVuY3Rpb24ocmUsYmUpe2Zvcih2YXIgVGU7Oyl7aWYocmUubG9va2FoZWFkPT09MCYmKHhlKHJlKSxyZS5sb29rYWhlYWQ9PT0wKSl7aWYoYmU9PT1tKXJldHVybiBfO2JyZWFrfWlmKHJlLm1hdGNoX2xlbmd0aD0wLFRlPWEuX3RyX3RhbGx5KHJlLDAscmUud2luZG93W3JlLnN0cnN0YXJ0XSkscmUubG9va2FoZWFkLS0scmUuc3Ryc3RhcnQrKyxUZSYmKHEocmUsITEpLHJlLnN0cm0uYXZhaWxfb3V0PT09MCkpcmV0dXJuIF99cmV0dXJuIHJlLmluc2VydD0wLGJlPT09dj8ocShyZSwhMCkscmUuc3RybS5hdmFpbF9vdXQ9PT0wP2s6TCk6cmUubGFzdF9saXQmJihxKHJlLCExKSxyZS5zdHJtLmF2YWlsX291dD09PTApP186U30pKHosZGUpOnouc3RyYXRlZ3k9PT0zPyhmdW5jdGlvbihyZSxiZSl7Zm9yKHZhciBUZSxfZSx2ZSxqZSxHZT1yZS53aW5kb3c7Oyl7aWYocmUubG9va2FoZWFkPD1aKXtpZih4ZShyZSkscmUubG9va2FoZWFkPD1aJiZiZT09PW0pcmV0dXJuIF87aWYocmUubG9va2FoZWFkPT09MClicmVha31pZihyZS5tYXRjaF9sZW5ndGg9MCxyZS5sb29rYWhlYWQ+PVcmJjA8cmUuc3Ryc3RhcnQmJihfZT1HZVt2ZT1yZS5zdHJzdGFydC0xXSk9PT1HZVsrK3ZlXSYmX2U9PT1HZVsrK3ZlXSYmX2U9PT1HZVsrK3ZlXSl7amU9cmUuc3Ryc3RhcnQrWjtkbzt3aGlsZShfZT09PUdlWysrdmVdJiZfZT09PUdlWysrdmVdJiZfZT09PUdlWysrdmVdJiZfZT09PUdlWysrdmVdJiZfZT09PUdlWysrdmVdJiZfZT09PUdlWysrdmVdJiZfZT09PUdlWysrdmVdJiZfZT09PUdlWysrdmVdJiZ2ZTxqZSk7cmUubWF0Y2hfbGVuZ3RoPVotKGplLXZlKSxyZS5tYXRjaF9sZW5ndGg+cmUubG9va2FoZWFkJiYocmUubWF0Y2hfbGVuZ3RoPXJlLmxvb2thaGVhZCl9aWYocmUubWF0Y2hfbGVuZ3RoPj1XPyhUZT1hLl90cl90YWxseShyZSwxLHJlLm1hdGNoX2xlbmd0aC1XKSxyZS5sb29rYWhlYWQtPXJlLm1hdGNoX2xlbmd0aCxyZS5zdHJzdGFydCs9cmUubWF0Y2hfbGVuZ3RoLHJlLm1hdGNoX2xlbmd0aD0wKTooVGU9YS5fdHJfdGFsbHkocmUsMCxyZS53aW5kb3dbcmUuc3Ryc3RhcnRdKSxyZS5sb29rYWhlYWQtLSxyZS5zdHJzdGFydCsrKSxUZSYmKHEocmUsITEpLHJlLnN0cm0uYXZhaWxfb3V0PT09MCkpcmV0dXJuIF99cmV0dXJuIHJlLmluc2VydD0wLGJlPT09dj8ocShyZSwhMCkscmUuc3RybS5hdmFpbF9vdXQ9PT0wP2s6TCk6cmUubGFzdF9saXQmJihxKHJlLCExKSxyZS5zdHJtLmF2YWlsX291dD09PTApP186U30pKHosZGUpOnJbei5sZXZlbF0uZnVuYyh6LGRlKTtpZih5ZSE9PWsmJnllIT09THx8KHouc3RhdHVzPTY2NikseWU9PT1ffHx5ZT09PWspcmV0dXJuIEEuYXZhaWxfb3V0PT09MCYmKHoubGFzdF9mbHVzaD0tMSksZztpZih5ZT09PVMmJihkZT09PTE/YS5fdHJfYWxpZ24oeik6ZGUhPT01JiYoYS5fdHJfc3RvcmVkX2Jsb2NrKHosMCwwLCExKSxkZT09PTMmJihHKHouaGVhZCksei5sb29rYWhlYWQ9PT0wJiYoei5zdHJzdGFydD0wLHouYmxvY2tfc3RhcnQ9MCx6Lmluc2VydD0wKSkpLE0oQSksQS5hdmFpbF9vdXQ9PT0wKSlyZXR1cm4gei5sYXN0X2ZsdXNoPS0xLGd9cmV0dXJuIGRlIT09dj9nOnoud3JhcDw9MD8xOih6LndyYXA9PT0yPyhhZSh6LDI1NSZBLmFkbGVyKSxhZSh6LEEuYWRsZXI+PjgmMjU1KSxhZSh6LEEuYWRsZXI+PjE2JjI1NSksYWUoeixBLmFkbGVyPj4yNCYyNTUpLGFlKHosMjU1JkEudG90YWxfaW4pLGFlKHosQS50b3RhbF9pbj4+OCYyNTUpLGFlKHosQS50b3RhbF9pbj4+MTYmMjU1KSxhZSh6LEEudG90YWxfaW4+PjI0JjI1NSkpOihlZSh6LEEuYWRsZXI+Pj4xNiksZWUoeiw2NTUzNSZBLmFkbGVyKSksTShBKSwwPHoud3JhcCYmKHoud3JhcD0tei53cmFwKSx6LnBlbmRpbmchPT0wP2c6MSl9LG4uZGVmbGF0ZUVuZD1mdW5jdGlvbihBKXt2YXIgZGU7cmV0dXJuIEEmJkEuc3RhdGU/KGRlPUEuc3RhdGUuc3RhdHVzKSE9PUUmJmRlIT09NjkmJmRlIT09NzMmJmRlIT09OTEmJmRlIT09MTAzJiZkZSE9PUomJmRlIT09NjY2P1IoQSx3KTooQS5zdGF0ZT1udWxsLGRlPT09Sj9SKEEsLTMpOmcpOnd9LG4uZGVmbGF0ZVNldERpY3Rpb25hcnk9ZnVuY3Rpb24oQSxkZSl7dmFyIGxlLHosaixLLG1lLHllLHJlLGJlLFRlPWRlLmxlbmd0aDtpZighQXx8IUEuc3RhdGV8fChLPShsZT1BLnN0YXRlKS53cmFwKT09PTJ8fEs9PT0xJiZsZS5zdGF0dXMhPT1FfHxsZS5sb29rYWhlYWQpcmV0dXJuIHc7Zm9yKEs9PT0xJiYoQS5hZGxlcj1zKEEuYWRsZXIsZGUsVGUsMCkpLGxlLndyYXA9MCxUZT49bGUud19zaXplJiYoSz09PTAmJihHKGxlLmhlYWQpLGxlLnN0cnN0YXJ0PTAsbGUuYmxvY2tfc3RhcnQ9MCxsZS5pbnNlcnQ9MCksYmU9bmV3IGkuQnVmOChsZS53X3NpemUpLGkuYXJyYXlTZXQoYmUsZGUsVGUtbGUud19zaXplLGxlLndfc2l6ZSwwKSxkZT1iZSxUZT1sZS53X3NpemUpLG1lPUEuYXZhaWxfaW4seWU9QS5uZXh0X2luLHJlPUEuaW5wdXQsQS5hdmFpbF9pbj1UZSxBLm5leHRfaW49MCxBLmlucHV0PWRlLHhlKGxlKTtsZS5sb29rYWhlYWQ+PVc7KXtmb3Ioej1sZS5zdHJzdGFydCxqPWxlLmxvb2thaGVhZC0oVy0xKTtsZS5pbnNfaD0obGUuaW5zX2g8PGxlLmhhc2hfc2hpZnRebGUud2luZG93W3orVy0xXSkmbGUuaGFzaF9tYXNrLGxlLnByZXZbeiZsZS53X21hc2tdPWxlLmhlYWRbbGUuaW5zX2hdLGxlLmhlYWRbbGUuaW5zX2hdPXoseisrLC0tajspO2xlLnN0cnN0YXJ0PXosbGUubG9va2FoZWFkPVctMSx4ZShsZSl9cmV0dXJuIGxlLnN0cnN0YXJ0Kz1sZS5sb29rYWhlYWQsbGUuYmxvY2tfc3RhcnQ9bGUuc3Ryc3RhcnQsbGUuaW5zZXJ0PWxlLmxvb2thaGVhZCxsZS5sb29rYWhlYWQ9MCxsZS5tYXRjaF9sZW5ndGg9bGUucHJldl9sZW5ndGg9Vy0xLGxlLm1hdGNoX2F2YWlsYWJsZT0wLEEubmV4dF9pbj15ZSxBLmlucHV0PXJlLEEuYXZhaWxfaW49bWUsbGUud3JhcD1LLGd9LG4uZGVmbGF0ZUluZm89InBha28gZGVmbGF0ZSAoZnJvbSBOb2RlY2EgcHJvamVjdCkifSx7Ii4uL3V0aWxzL2NvbW1vbiI6NDEsIi4vYWRsZXIzMiI6NDMsIi4vY3JjMzIiOjQ1LCIuL21lc3NhZ2VzIjo1MSwiLi90cmVlcyI6NTJ9XSw0NzpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9ZnVuY3Rpb24oKXt0aGlzLnRleHQ9MCx0aGlzLnRpbWU9MCx0aGlzLnhmbGFncz0wLHRoaXMub3M9MCx0aGlzLmV4dHJhPW51bGwsdGhpcy5leHRyYV9sZW49MCx0aGlzLm5hbWU9IiIsdGhpcy5jb21tZW50PSIiLHRoaXMuaGNyYz0wLHRoaXMuZG9uZT0hMX19LHt9XSw0ODpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9ZnVuY3Rpb24ocixpKXt2YXIgYSxzLHUsZCxtLHYsZyx3LGIsVCxELGgsbCxwLEMsRixQLGYsVyxaLGllLEUsSixfLFM7YT1yLnN0YXRlLHM9ci5uZXh0X2luLF89ci5pbnB1dCx1PXMrKHIuYXZhaWxfaW4tNSksZD1yLm5leHRfb3V0LFM9ci5vdXRwdXQsbT1kLShpLXIuYXZhaWxfb3V0KSx2PWQrKHIuYXZhaWxfb3V0LTI1NyksZz1hLmRtYXgsdz1hLndzaXplLGI9YS53aGF2ZSxUPWEud25leHQsRD1hLndpbmRvdyxoPWEuaG9sZCxsPWEuYml0cyxwPWEubGVuY29kZSxDPWEuZGlzdGNvZGUsRj0oMTw8YS5sZW5iaXRzKS0xLFA9KDE8PGEuZGlzdGJpdHMpLTE7ZTpkb3tsPDE1JiYoaCs9X1tzKytdPDxsLGwrPTgsaCs9X1tzKytdPDxsLGwrPTgpLGY9cFtoJkZdO3Q6Zm9yKDs7KXtpZihoPj4+PVc9Zj4+PjI0LGwtPVcsKFc9Zj4+PjE2JjI1NSk9PT0wKVNbZCsrXT02NTUzNSZmO2Vsc2V7aWYoISgxNiZXKSl7aWYoKDY0JlcpPT0wKXtmPXBbKDY1NTM1JmYpKyhoJigxPDxXKS0xKV07Y29udGludWUgdH1pZigzMiZXKXthLm1vZGU9MTI7YnJlYWsgZX1yLm1zZz0iaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlIixhLm1vZGU9MzA7YnJlYWsgZX1aPTY1NTM1JmYsKFcmPTE1KSYmKGw8VyYmKGgrPV9bcysrXTw8bCxsKz04KSxaKz1oJigxPDxXKS0xLGg+Pj49VyxsLT1XKSxsPDE1JiYoaCs9X1tzKytdPDxsLGwrPTgsaCs9X1tzKytdPDxsLGwrPTgpLGY9Q1toJlBdO246Zm9yKDs7KXtpZihoPj4+PVc9Zj4+PjI0LGwtPVcsISgxNiYoVz1mPj4+MTYmMjU1KSkpe2lmKCg2NCZXKT09MCl7Zj1DWyg2NTUzNSZmKSsoaCYoMTw8VyktMSldO2NvbnRpbnVlIG59ci5tc2c9ImludmFsaWQgZGlzdGFuY2UgY29kZSIsYS5tb2RlPTMwO2JyZWFrIGV9aWYoaWU9NjU1MzUmZixsPChXJj0xNSkmJihoKz1fW3MrK108PGwsKGwrPTgpPFcmJihoKz1fW3MrK108PGwsbCs9OCkpLGc8KGllKz1oJigxPDxXKS0xKSl7ci5tc2c9ImludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrIixhLm1vZGU9MzA7YnJlYWsgZX1pZihoPj4+PVcsbC09VywoVz1kLW0pPGllKXtpZihiPChXPWllLVcpJiZhLnNhbmUpe3IubXNnPSJpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjayIsYS5tb2RlPTMwO2JyZWFrIGV9aWYoSj1ELChFPTApPT09VCl7aWYoRSs9dy1XLFc8Wil7Zm9yKFotPVc7U1tkKytdPURbRSsrXSwtLVc7KTtFPWQtaWUsSj1TfX1lbHNlIGlmKFQ8Vyl7aWYoRSs9dytULVcsKFctPVQpPFope2ZvcihaLT1XO1NbZCsrXT1EW0UrK10sLS1XOyk7aWYoRT0wLFQ8Wil7Zm9yKFotPVc9VDtTW2QrK109RFtFKytdLC0tVzspO0U9ZC1pZSxKPVN9fX1lbHNlIGlmKEUrPVQtVyxXPFope2ZvcihaLT1XO1NbZCsrXT1EW0UrK10sLS1XOyk7RT1kLWllLEo9U31mb3IoOzI8WjspU1tkKytdPUpbRSsrXSxTW2QrK109SltFKytdLFNbZCsrXT1KW0UrK10sWi09MztaJiYoU1tkKytdPUpbRSsrXSwxPFomJihTW2QrK109SltFKytdKSl9ZWxzZXtmb3IoRT1kLWllO1NbZCsrXT1TW0UrK10sU1tkKytdPVNbRSsrXSxTW2QrK109U1tFKytdLDI8KFotPTMpOyk7WiYmKFNbZCsrXT1TW0UrK10sMTxaJiYoU1tkKytdPVNbRSsrXSkpfWJyZWFrfX1icmVha319d2hpbGUoczx1JiZkPHYpO3MtPVo9bD4+MyxoJj0oMTw8KGwtPVo8PDMpKS0xLHIubmV4dF9pbj1zLHIubmV4dF9vdXQ9ZCxyLmF2YWlsX2luPXM8dT91LXMrNTo1LShzLXUpLHIuYXZhaWxfb3V0PWQ8dj92LWQrMjU3OjI1Ny0oZC12KSxhLmhvbGQ9aCxhLmJpdHM9bH19LHt9XSw0OTpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1lKCIuLi91dGlscy9jb21tb24iKSxpPWUoIi4vYWRsZXIzMiIpLGE9ZSgiLi9jcmMzMiIpLHM9ZSgiLi9pbmZmYXN0IiksdT1lKCIuL2luZnRyZWVzIiksZD0xLG09Mix2PTAsZz0tMix3PTEsYj04NTIsVD01OTI7ZnVuY3Rpb24gRChFKXtyZXR1cm4oRT4+PjI0JjI1NSkrKEU+Pj44JjY1MjgwKSsoKDY1MjgwJkUpPDw4KSsoKDI1NSZFKTw8MjQpfWZ1bmN0aW9uIGgoKXt0aGlzLm1vZGU9MCx0aGlzLmxhc3Q9ITEsdGhpcy53cmFwPTAsdGhpcy5oYXZlZGljdD0hMSx0aGlzLmZsYWdzPTAsdGhpcy5kbWF4PTAsdGhpcy5jaGVjaz0wLHRoaXMudG90YWw9MCx0aGlzLmhlYWQ9bnVsbCx0aGlzLndiaXRzPTAsdGhpcy53c2l6ZT0wLHRoaXMud2hhdmU9MCx0aGlzLnduZXh0PTAsdGhpcy53aW5kb3c9bnVsbCx0aGlzLmhvbGQ9MCx0aGlzLmJpdHM9MCx0aGlzLmxlbmd0aD0wLHRoaXMub2Zmc2V0PTAsdGhpcy5leHRyYT0wLHRoaXMubGVuY29kZT1udWxsLHRoaXMuZGlzdGNvZGU9bnVsbCx0aGlzLmxlbmJpdHM9MCx0aGlzLmRpc3RiaXRzPTAsdGhpcy5uY29kZT0wLHRoaXMubmxlbj0wLHRoaXMubmRpc3Q9MCx0aGlzLmhhdmU9MCx0aGlzLm5leHQ9bnVsbCx0aGlzLmxlbnM9bmV3IHIuQnVmMTYoMzIwKSx0aGlzLndvcms9bmV3IHIuQnVmMTYoMjg4KSx0aGlzLmxlbmR5bj1udWxsLHRoaXMuZGlzdGR5bj1udWxsLHRoaXMuc2FuZT0wLHRoaXMuYmFjaz0wLHRoaXMud2FzPTB9ZnVuY3Rpb24gbChFKXt2YXIgSjtyZXR1cm4gRSYmRS5zdGF0ZT8oSj1FLnN0YXRlLEUudG90YWxfaW49RS50b3RhbF9vdXQ9Si50b3RhbD0wLEUubXNnPSIiLEoud3JhcCYmKEUuYWRsZXI9MSZKLndyYXApLEoubW9kZT13LEoubGFzdD0wLEouaGF2ZWRpY3Q9MCxKLmRtYXg9MzI3NjgsSi5oZWFkPW51bGwsSi5ob2xkPTAsSi5iaXRzPTAsSi5sZW5jb2RlPUoubGVuZHluPW5ldyByLkJ1ZjMyKGIpLEouZGlzdGNvZGU9Si5kaXN0ZHluPW5ldyByLkJ1ZjMyKFQpLEouc2FuZT0xLEouYmFjaz0tMSx2KTpnfWZ1bmN0aW9uIHAoRSl7dmFyIEo7cmV0dXJuIEUmJkUuc3RhdGU/KChKPUUuc3RhdGUpLndzaXplPTAsSi53aGF2ZT0wLEoud25leHQ9MCxsKEUpKTpnfWZ1bmN0aW9uIEMoRSxKKXt2YXIgXyxTO3JldHVybiBFJiZFLnN0YXRlPyhTPUUuc3RhdGUsSjwwPyhfPTAsSj0tSik6KF89MSsoSj4+NCksSjw0OCYmKEomPTE1KSksSiYmKEo8OHx8MTU8Sik/ZzooUy53aW5kb3chPT1udWxsJiZTLndiaXRzIT09SiYmKFMud2luZG93PW51bGwpLFMud3JhcD1fLFMud2JpdHM9SixwKEUpKSk6Z31mdW5jdGlvbiBGKEUsSil7dmFyIF8sUztyZXR1cm4gRT8oUz1uZXcgaCwoRS5zdGF0ZT1TKS53aW5kb3c9bnVsbCwoXz1DKEUsSikpIT09diYmKEUuc3RhdGU9bnVsbCksXyk6Z312YXIgUCxmLFc9ITA7ZnVuY3Rpb24gWihFKXtpZihXKXt2YXIgSjtmb3IoUD1uZXcgci5CdWYzMig1MTIpLGY9bmV3IHIuQnVmMzIoMzIpLEo9MDtKPDE0NDspRS5sZW5zW0orK109ODtmb3IoO0o8MjU2OylFLmxlbnNbSisrXT05O2Zvcig7SjwyODA7KUUubGVuc1tKKytdPTc7Zm9yKDtKPDI4ODspRS5sZW5zW0orK109ODtmb3IodShkLEUubGVucywwLDI4OCxQLDAsRS53b3JrLHtiaXRzOjl9KSxKPTA7SjwzMjspRS5sZW5zW0orK109NTt1KG0sRS5sZW5zLDAsMzIsZiwwLEUud29yayx7Yml0czo1fSksVz0hMX1FLmxlbmNvZGU9UCxFLmxlbmJpdHM9OSxFLmRpc3Rjb2RlPWYsRS5kaXN0Yml0cz01fWZ1bmN0aW9uIGllKEUsSixfLFMpe3ZhciBrLEw9RS5zdGF0ZTtyZXR1cm4gTC53aW5kb3c9PT1udWxsJiYoTC53c2l6ZT0xPDxMLndiaXRzLEwud25leHQ9MCxMLndoYXZlPTAsTC53aW5kb3c9bmV3IHIuQnVmOChMLndzaXplKSksUz49TC53c2l6ZT8oci5hcnJheVNldChMLndpbmRvdyxKLF8tTC53c2l6ZSxMLndzaXplLDApLEwud25leHQ9MCxMLndoYXZlPUwud3NpemUpOihTPChrPUwud3NpemUtTC53bmV4dCkmJihrPVMpLHIuYXJyYXlTZXQoTC53aW5kb3csSixfLVMsayxMLnduZXh0KSwoUy09ayk/KHIuYXJyYXlTZXQoTC53aW5kb3csSixfLVMsUywwKSxMLnduZXh0PVMsTC53aGF2ZT1MLndzaXplKTooTC53bmV4dCs9ayxMLnduZXh0PT09TC53c2l6ZSYmKEwud25leHQ9MCksTC53aGF2ZTxMLndzaXplJiYoTC53aGF2ZSs9aykpKSwwfW4uaW5mbGF0ZVJlc2V0PXAsbi5pbmZsYXRlUmVzZXQyPUMsbi5pbmZsYXRlUmVzZXRLZWVwPWwsbi5pbmZsYXRlSW5pdD1mdW5jdGlvbihFKXtyZXR1cm4gRihFLDE1KX0sbi5pbmZsYXRlSW5pdDI9RixuLmluZmxhdGU9ZnVuY3Rpb24oRSxKKXt2YXIgXyxTLGssTCxSLEIsRyxNLHEsYWUsZWUsbmUseGUsSWUsQ2UsRGUsTGUsRWUsWWUsSmUsQSxkZSxsZSx6LGo9MCxLPW5ldyByLkJ1ZjgoNCksbWU9WzE2LDE3LDE4LDAsOCw3LDksNiwxMCw1LDExLDQsMTIsMywxMywyLDE0LDEsMTVdO2lmKCFFfHwhRS5zdGF0ZXx8IUUub3V0cHV0fHwhRS5pbnB1dCYmRS5hdmFpbF9pbiE9PTApcmV0dXJuIGc7KF89RS5zdGF0ZSkubW9kZT09PTEyJiYoXy5tb2RlPTEzKSxSPUUubmV4dF9vdXQsaz1FLm91dHB1dCxHPUUuYXZhaWxfb3V0LEw9RS5uZXh0X2luLFM9RS5pbnB1dCxCPUUuYXZhaWxfaW4sTT1fLmhvbGQscT1fLmJpdHMsYWU9QixlZT1HLGRlPXY7ZTpmb3IoOzspc3dpdGNoKF8ubW9kZSl7Y2FzZSB3OmlmKF8ud3JhcD09PTApe18ubW9kZT0xMzticmVha31mb3IoO3E8MTY7KXtpZihCPT09MClicmVhayBlO0ItLSxNKz1TW0wrK108PHEscSs9OH1pZigyJl8ud3JhcCYmTT09PTM1NjE1KXtLW18uY2hlY2s9MF09MjU1Jk0sS1sxXT1NPj4+OCYyNTUsXy5jaGVjaz1hKF8uY2hlY2ssSywyLDApLHE9TT0wLF8ubW9kZT0yO2JyZWFrfWlmKF8uZmxhZ3M9MCxfLmhlYWQmJihfLmhlYWQuZG9uZT0hMSksISgxJl8ud3JhcCl8fCgoKDI1NSZNKTw8OCkrKE0+PjgpKSUzMSl7RS5tc2c9ImluY29ycmVjdCBoZWFkZXIgY2hlY2siLF8ubW9kZT0zMDticmVha31pZigoMTUmTSkhPTgpe0UubXNnPSJ1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZCIsXy5tb2RlPTMwO2JyZWFrfWlmKHEtPTQsQT04KygxNSYoTT4+Pj00KSksXy53Yml0cz09PTApXy53Yml0cz1BO2Vsc2UgaWYoQT5fLndiaXRzKXtFLm1zZz0iaW52YWxpZCB3aW5kb3cgc2l6ZSIsXy5tb2RlPTMwO2JyZWFrfV8uZG1heD0xPDxBLEUuYWRsZXI9Xy5jaGVjaz0xLF8ubW9kZT01MTImTT8xMDoxMixxPU09MDticmVhaztjYXNlIDI6Zm9yKDtxPDE2Oyl7aWYoQj09PTApYnJlYWsgZTtCLS0sTSs9U1tMKytdPDxxLHErPTh9aWYoXy5mbGFncz1NLCgyNTUmXy5mbGFncykhPTgpe0UubXNnPSJ1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZCIsXy5tb2RlPTMwO2JyZWFrfWlmKDU3MzQ0Jl8uZmxhZ3Mpe0UubXNnPSJ1bmtub3duIGhlYWRlciBmbGFncyBzZXQiLF8ubW9kZT0zMDticmVha31fLmhlYWQmJihfLmhlYWQudGV4dD1NPj44JjEpLDUxMiZfLmZsYWdzJiYoS1swXT0yNTUmTSxLWzFdPU0+Pj44JjI1NSxfLmNoZWNrPWEoXy5jaGVjayxLLDIsMCkpLHE9TT0wLF8ubW9kZT0zO2Nhc2UgMzpmb3IoO3E8MzI7KXtpZihCPT09MClicmVhayBlO0ItLSxNKz1TW0wrK108PHEscSs9OH1fLmhlYWQmJihfLmhlYWQudGltZT1NKSw1MTImXy5mbGFncyYmKEtbMF09MjU1Jk0sS1sxXT1NPj4+OCYyNTUsS1syXT1NPj4+MTYmMjU1LEtbM109TT4+PjI0JjI1NSxfLmNoZWNrPWEoXy5jaGVjayxLLDQsMCkpLHE9TT0wLF8ubW9kZT00O2Nhc2UgNDpmb3IoO3E8MTY7KXtpZihCPT09MClicmVhayBlO0ItLSxNKz1TW0wrK108PHEscSs9OH1fLmhlYWQmJihfLmhlYWQueGZsYWdzPTI1NSZNLF8uaGVhZC5vcz1NPj44KSw1MTImXy5mbGFncyYmKEtbMF09MjU1Jk0sS1sxXT1NPj4+OCYyNTUsXy5jaGVjaz1hKF8uY2hlY2ssSywyLDApKSxxPU09MCxfLm1vZGU9NTtjYXNlIDU6aWYoMTAyNCZfLmZsYWdzKXtmb3IoO3E8MTY7KXtpZihCPT09MClicmVhayBlO0ItLSxNKz1TW0wrK108PHEscSs9OH1fLmxlbmd0aD1NLF8uaGVhZCYmKF8uaGVhZC5leHRyYV9sZW49TSksNTEyJl8uZmxhZ3MmJihLWzBdPTI1NSZNLEtbMV09TT4+PjgmMjU1LF8uY2hlY2s9YShfLmNoZWNrLEssMiwwKSkscT1NPTB9ZWxzZSBfLmhlYWQmJihfLmhlYWQuZXh0cmE9bnVsbCk7Xy5tb2RlPTY7Y2FzZSA2OmlmKDEwMjQmXy5mbGFncyYmKEI8KG5lPV8ubGVuZ3RoKSYmKG5lPUIpLG5lJiYoXy5oZWFkJiYoQT1fLmhlYWQuZXh0cmFfbGVuLV8ubGVuZ3RoLF8uaGVhZC5leHRyYXx8KF8uaGVhZC5leHRyYT1uZXcgQXJyYXkoXy5oZWFkLmV4dHJhX2xlbikpLHIuYXJyYXlTZXQoXy5oZWFkLmV4dHJhLFMsTCxuZSxBKSksNTEyJl8uZmxhZ3MmJihfLmNoZWNrPWEoXy5jaGVjayxTLG5lLEwpKSxCLT1uZSxMKz1uZSxfLmxlbmd0aC09bmUpLF8ubGVuZ3RoKSlicmVhayBlO18ubGVuZ3RoPTAsXy5tb2RlPTc7Y2FzZSA3OmlmKDIwNDgmXy5mbGFncyl7aWYoQj09PTApYnJlYWsgZTtmb3IobmU9MDtBPVNbTCtuZSsrXSxfLmhlYWQmJkEmJl8ubGVuZ3RoPDY1NTM2JiYoXy5oZWFkLm5hbWUrPVN0cmluZy5mcm9tQ2hhckNvZGUoQSkpLEEmJm5lPEI7KTtpZig1MTImXy5mbGFncyYmKF8uY2hlY2s9YShfLmNoZWNrLFMsbmUsTCkpLEItPW5lLEwrPW5lLEEpYnJlYWsgZX1lbHNlIF8uaGVhZCYmKF8uaGVhZC5uYW1lPW51bGwpO18ubGVuZ3RoPTAsXy5tb2RlPTg7Y2FzZSA4OmlmKDQwOTYmXy5mbGFncyl7aWYoQj09PTApYnJlYWsgZTtmb3IobmU9MDtBPVNbTCtuZSsrXSxfLmhlYWQmJkEmJl8ubGVuZ3RoPDY1NTM2JiYoXy5oZWFkLmNvbW1lbnQrPVN0cmluZy5mcm9tQ2hhckNvZGUoQSkpLEEmJm5lPEI7KTtpZig1MTImXy5mbGFncyYmKF8uY2hlY2s9YShfLmNoZWNrLFMsbmUsTCkpLEItPW5lLEwrPW5lLEEpYnJlYWsgZX1lbHNlIF8uaGVhZCYmKF8uaGVhZC5jb21tZW50PW51bGwpO18ubW9kZT05O2Nhc2UgOTppZig1MTImXy5mbGFncyl7Zm9yKDtxPDE2Oyl7aWYoQj09PTApYnJlYWsgZTtCLS0sTSs9U1tMKytdPDxxLHErPTh9aWYoTSE9PSg2NTUzNSZfLmNoZWNrKSl7RS5tc2c9ImhlYWRlciBjcmMgbWlzbWF0Y2giLF8ubW9kZT0zMDticmVha31xPU09MH1fLmhlYWQmJihfLmhlYWQuaGNyYz1fLmZsYWdzPj45JjEsXy5oZWFkLmRvbmU9ITApLEUuYWRsZXI9Xy5jaGVjaz0wLF8ubW9kZT0xMjticmVhaztjYXNlIDEwOmZvcig7cTwzMjspe2lmKEI9PT0wKWJyZWFrIGU7Qi0tLE0rPVNbTCsrXTw8cSxxKz04fUUuYWRsZXI9Xy5jaGVjaz1EKE0pLHE9TT0wLF8ubW9kZT0xMTtjYXNlIDExOmlmKF8uaGF2ZWRpY3Q9PT0wKXJldHVybiBFLm5leHRfb3V0PVIsRS5hdmFpbF9vdXQ9RyxFLm5leHRfaW49TCxFLmF2YWlsX2luPUIsXy5ob2xkPU0sXy5iaXRzPXEsMjtFLmFkbGVyPV8uY2hlY2s9MSxfLm1vZGU9MTI7Y2FzZSAxMjppZihKPT09NXx8Sj09PTYpYnJlYWsgZTtjYXNlIDEzOmlmKF8ubGFzdCl7TT4+Pj03JnEscS09NyZxLF8ubW9kZT0yNzticmVha31mb3IoO3E8Mzspe2lmKEI9PT0wKWJyZWFrIGU7Qi0tLE0rPVNbTCsrXTw8cSxxKz04fXN3aXRjaChfLmxhc3Q9MSZNLHEtPTEsMyYoTT4+Pj0xKSl7Y2FzZSAwOl8ubW9kZT0xNDticmVhaztjYXNlIDE6aWYoWihfKSxfLm1vZGU9MjAsSiE9PTYpYnJlYWs7TT4+Pj0yLHEtPTI7YnJlYWsgZTtjYXNlIDI6Xy5tb2RlPTE3O2JyZWFrO2Nhc2UgMzpFLm1zZz0iaW52YWxpZCBibG9jayB0eXBlIixfLm1vZGU9MzB9TT4+Pj0yLHEtPTI7YnJlYWs7Y2FzZSAxNDpmb3IoTT4+Pj03JnEscS09NyZxO3E8MzI7KXtpZihCPT09MClicmVhayBlO0ItLSxNKz1TW0wrK108PHEscSs9OH1pZigoNjU1MzUmTSkhPShNPj4+MTZeNjU1MzUpKXtFLm1zZz0iaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3RocyIsXy5tb2RlPTMwO2JyZWFrfWlmKF8ubGVuZ3RoPTY1NTM1Jk0scT1NPTAsXy5tb2RlPTE1LEo9PT02KWJyZWFrIGU7Y2FzZSAxNTpfLm1vZGU9MTY7Y2FzZSAxNjppZihuZT1fLmxlbmd0aCl7aWYoQjxuZSYmKG5lPUIpLEc8bmUmJihuZT1HKSxuZT09PTApYnJlYWsgZTtyLmFycmF5U2V0KGssUyxMLG5lLFIpLEItPW5lLEwrPW5lLEctPW5lLFIrPW5lLF8ubGVuZ3RoLT1uZTticmVha31fLm1vZGU9MTI7YnJlYWs7Y2FzZSAxNzpmb3IoO3E8MTQ7KXtpZihCPT09MClicmVhayBlO0ItLSxNKz1TW0wrK108PHEscSs9OH1pZihfLm5sZW49MjU3KygzMSZNKSxNPj4+PTUscS09NSxfLm5kaXN0PTErKDMxJk0pLE0+Pj49NSxxLT01LF8ubmNvZGU9NCsoMTUmTSksTT4+Pj00LHEtPTQsMjg2PF8ubmxlbnx8MzA8Xy5uZGlzdCl7RS5tc2c9InRvbyBtYW55IGxlbmd0aCBvciBkaXN0YW5jZSBzeW1ib2xzIixfLm1vZGU9MzA7YnJlYWt9Xy5oYXZlPTAsXy5tb2RlPTE4O2Nhc2UgMTg6Zm9yKDtfLmhhdmU8Xy5uY29kZTspe2Zvcig7cTwzOyl7aWYoQj09PTApYnJlYWsgZTtCLS0sTSs9U1tMKytdPDxxLHErPTh9Xy5sZW5zW21lW18uaGF2ZSsrXV09NyZNLE0+Pj49MyxxLT0zfWZvcig7Xy5oYXZlPDE5OylfLmxlbnNbbWVbXy5oYXZlKytdXT0wO2lmKF8ubGVuY29kZT1fLmxlbmR5bixfLmxlbmJpdHM9NyxsZT17Yml0czpfLmxlbmJpdHN9LGRlPXUoMCxfLmxlbnMsMCwxOSxfLmxlbmNvZGUsMCxfLndvcmssbGUpLF8ubGVuYml0cz1sZS5iaXRzLGRlKXtFLm1zZz0iaW52YWxpZCBjb2RlIGxlbmd0aHMgc2V0IixfLm1vZGU9MzA7YnJlYWt9Xy5oYXZlPTAsXy5tb2RlPTE5O2Nhc2UgMTk6Zm9yKDtfLmhhdmU8Xy5ubGVuK18ubmRpc3Q7KXtmb3IoO0RlPShqPV8ubGVuY29kZVtNJigxPDxfLmxlbmJpdHMpLTFdKT4+PjE2JjI1NSxMZT02NTUzNSZqLCEoKENlPWo+Pj4yNCk8PXEpOyl7aWYoQj09PTApYnJlYWsgZTtCLS0sTSs9U1tMKytdPDxxLHErPTh9aWYoTGU8MTYpTT4+Pj1DZSxxLT1DZSxfLmxlbnNbXy5oYXZlKytdPUxlO2Vsc2V7aWYoTGU9PT0xNil7Zm9yKHo9Q2UrMjtxPHo7KXtpZihCPT09MClicmVhayBlO0ItLSxNKz1TW0wrK108PHEscSs9OH1pZihNPj4+PUNlLHEtPUNlLF8uaGF2ZT09PTApe0UubXNnPSJpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0IixfLm1vZGU9MzA7YnJlYWt9QT1fLmxlbnNbXy5oYXZlLTFdLG5lPTMrKDMmTSksTT4+Pj0yLHEtPTJ9ZWxzZSBpZihMZT09PTE3KXtmb3Ioej1DZSszO3E8ejspe2lmKEI9PT0wKWJyZWFrIGU7Qi0tLE0rPVNbTCsrXTw8cSxxKz04fXEtPUNlLEE9MCxuZT0zKyg3JihNPj4+PUNlKSksTT4+Pj0zLHEtPTN9ZWxzZXtmb3Ioej1DZSs3O3E8ejspe2lmKEI9PT0wKWJyZWFrIGU7Qi0tLE0rPVNbTCsrXTw8cSxxKz04fXEtPUNlLEE9MCxuZT0xMSsoMTI3JihNPj4+PUNlKSksTT4+Pj03LHEtPTd9aWYoXy5oYXZlK25lPl8ubmxlbitfLm5kaXN0KXtFLm1zZz0iaW52YWxpZCBiaXQgbGVuZ3RoIHJlcGVhdCIsXy5tb2RlPTMwO2JyZWFrfWZvcig7bmUtLTspXy5sZW5zW18uaGF2ZSsrXT1BfX1pZihfLm1vZGU9PT0zMClicmVhaztpZihfLmxlbnNbMjU2XT09PTApe0UubXNnPSJpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2siLF8ubW9kZT0zMDticmVha31pZihfLmxlbmJpdHM9OSxsZT17Yml0czpfLmxlbmJpdHN9LGRlPXUoZCxfLmxlbnMsMCxfLm5sZW4sXy5sZW5jb2RlLDAsXy53b3JrLGxlKSxfLmxlbmJpdHM9bGUuYml0cyxkZSl7RS5tc2c9ImludmFsaWQgbGl0ZXJhbC9sZW5ndGhzIHNldCIsXy5tb2RlPTMwO2JyZWFrfWlmKF8uZGlzdGJpdHM9NixfLmRpc3Rjb2RlPV8uZGlzdGR5bixsZT17Yml0czpfLmRpc3RiaXRzfSxkZT11KG0sXy5sZW5zLF8ubmxlbixfLm5kaXN0LF8uZGlzdGNvZGUsMCxfLndvcmssbGUpLF8uZGlzdGJpdHM9bGUuYml0cyxkZSl7RS5tc2c9ImludmFsaWQgZGlzdGFuY2VzIHNldCIsXy5tb2RlPTMwO2JyZWFrfWlmKF8ubW9kZT0yMCxKPT09NilicmVhayBlO2Nhc2UgMjA6Xy5tb2RlPTIxO2Nhc2UgMjE6aWYoNjw9QiYmMjU4PD1HKXtFLm5leHRfb3V0PVIsRS5hdmFpbF9vdXQ9RyxFLm5leHRfaW49TCxFLmF2YWlsX2luPUIsXy5ob2xkPU0sXy5iaXRzPXEscyhFLGVlKSxSPUUubmV4dF9vdXQsaz1FLm91dHB1dCxHPUUuYXZhaWxfb3V0LEw9RS5uZXh0X2luLFM9RS5pbnB1dCxCPUUuYXZhaWxfaW4sTT1fLmhvbGQscT1fLmJpdHMsXy5tb2RlPT09MTImJihfLmJhY2s9LTEpO2JyZWFrfWZvcihfLmJhY2s9MDtEZT0oaj1fLmxlbmNvZGVbTSYoMTw8Xy5sZW5iaXRzKS0xXSk+Pj4xNiYyNTUsTGU9NjU1MzUmaiwhKChDZT1qPj4+MjQpPD1xKTspe2lmKEI9PT0wKWJyZWFrIGU7Qi0tLE0rPVNbTCsrXTw8cSxxKz04fWlmKERlJiYoMjQwJkRlKT09MCl7Zm9yKEVlPUNlLFllPURlLEplPUxlO0RlPShqPV8ubGVuY29kZVtKZSsoKE0mKDE8PEVlK1llKS0xKT4+RWUpXSk+Pj4xNiYyNTUsTGU9NjU1MzUmaiwhKEVlKyhDZT1qPj4+MjQpPD1xKTspe2lmKEI9PT0wKWJyZWFrIGU7Qi0tLE0rPVNbTCsrXTw8cSxxKz04fU0+Pj49RWUscS09RWUsXy5iYWNrKz1FZX1pZihNPj4+PUNlLHEtPUNlLF8uYmFjays9Q2UsXy5sZW5ndGg9TGUsRGU9PT0wKXtfLm1vZGU9MjY7YnJlYWt9aWYoMzImRGUpe18uYmFjaz0tMSxfLm1vZGU9MTI7YnJlYWt9aWYoNjQmRGUpe0UubXNnPSJpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUiLF8ubW9kZT0zMDticmVha31fLmV4dHJhPTE1JkRlLF8ubW9kZT0yMjtjYXNlIDIyOmlmKF8uZXh0cmEpe2Zvcih6PV8uZXh0cmE7cTx6Oyl7aWYoQj09PTApYnJlYWsgZTtCLS0sTSs9U1tMKytdPDxxLHErPTh9Xy5sZW5ndGgrPU0mKDE8PF8uZXh0cmEpLTEsTT4+Pj1fLmV4dHJhLHEtPV8uZXh0cmEsXy5iYWNrKz1fLmV4dHJhfV8ud2FzPV8ubGVuZ3RoLF8ubW9kZT0yMztjYXNlIDIzOmZvcig7RGU9KGo9Xy5kaXN0Y29kZVtNJigxPDxfLmRpc3RiaXRzKS0xXSk+Pj4xNiYyNTUsTGU9NjU1MzUmaiwhKChDZT1qPj4+MjQpPD1xKTspe2lmKEI9PT0wKWJyZWFrIGU7Qi0tLE0rPVNbTCsrXTw8cSxxKz04fWlmKCgyNDAmRGUpPT0wKXtmb3IoRWU9Q2UsWWU9RGUsSmU9TGU7RGU9KGo9Xy5kaXN0Y29kZVtKZSsoKE0mKDE8PEVlK1llKS0xKT4+RWUpXSk+Pj4xNiYyNTUsTGU9NjU1MzUmaiwhKEVlKyhDZT1qPj4+MjQpPD1xKTspe2lmKEI9PT0wKWJyZWFrIGU7Qi0tLE0rPVNbTCsrXTw8cSxxKz04fU0+Pj49RWUscS09RWUsXy5iYWNrKz1FZX1pZihNPj4+PUNlLHEtPUNlLF8uYmFjays9Q2UsNjQmRGUpe0UubXNnPSJpbnZhbGlkIGRpc3RhbmNlIGNvZGUiLF8ubW9kZT0zMDticmVha31fLm9mZnNldD1MZSxfLmV4dHJhPTE1JkRlLF8ubW9kZT0yNDtjYXNlIDI0OmlmKF8uZXh0cmEpe2Zvcih6PV8uZXh0cmE7cTx6Oyl7aWYoQj09PTApYnJlYWsgZTtCLS0sTSs9U1tMKytdPDxxLHErPTh9Xy5vZmZzZXQrPU0mKDE8PF8uZXh0cmEpLTEsTT4+Pj1fLmV4dHJhLHEtPV8uZXh0cmEsXy5iYWNrKz1fLmV4dHJhfWlmKF8ub2Zmc2V0Pl8uZG1heCl7RS5tc2c9ImludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrIixfLm1vZGU9MzA7YnJlYWt9Xy5tb2RlPTI1O2Nhc2UgMjU6aWYoRz09PTApYnJlYWsgZTtpZihuZT1lZS1HLF8ub2Zmc2V0Pm5lKXtpZigobmU9Xy5vZmZzZXQtbmUpPl8ud2hhdmUmJl8uc2FuZSl7RS5tc2c9ImludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrIixfLm1vZGU9MzA7YnJlYWt9eGU9bmU+Xy53bmV4dD8obmUtPV8ud25leHQsXy53c2l6ZS1uZSk6Xy53bmV4dC1uZSxuZT5fLmxlbmd0aCYmKG5lPV8ubGVuZ3RoKSxJZT1fLndpbmRvd31lbHNlIEllPWsseGU9Ui1fLm9mZnNldCxuZT1fLmxlbmd0aDtmb3IoRzxuZSYmKG5lPUcpLEctPW5lLF8ubGVuZ3RoLT1uZTtrW1IrK109SWVbeGUrK10sLS1uZTspO18ubGVuZ3RoPT09MCYmKF8ubW9kZT0yMSk7YnJlYWs7Y2FzZSAyNjppZihHPT09MClicmVhayBlO2tbUisrXT1fLmxlbmd0aCxHLS0sXy5tb2RlPTIxO2JyZWFrO2Nhc2UgMjc6aWYoXy53cmFwKXtmb3IoO3E8MzI7KXtpZihCPT09MClicmVhayBlO0ItLSxNfD1TW0wrK108PHEscSs9OH1pZihlZS09RyxFLnRvdGFsX291dCs9ZWUsXy50b3RhbCs9ZWUsZWUmJihFLmFkbGVyPV8uY2hlY2s9Xy5mbGFncz9hKF8uY2hlY2ssayxlZSxSLWVlKTppKF8uY2hlY2ssayxlZSxSLWVlKSksZWU9RywoXy5mbGFncz9NOkQoTSkpIT09Xy5jaGVjayl7RS5tc2c9ImluY29ycmVjdCBkYXRhIGNoZWNrIixfLm1vZGU9MzA7YnJlYWt9cT1NPTB9Xy5tb2RlPTI4O2Nhc2UgMjg6aWYoXy53cmFwJiZfLmZsYWdzKXtmb3IoO3E8MzI7KXtpZihCPT09MClicmVhayBlO0ItLSxNKz1TW0wrK108PHEscSs9OH1pZihNIT09KDQyOTQ5NjcyOTUmXy50b3RhbCkpe0UubXNnPSJpbmNvcnJlY3QgbGVuZ3RoIGNoZWNrIixfLm1vZGU9MzA7YnJlYWt9cT1NPTB9Xy5tb2RlPTI5O2Nhc2UgMjk6ZGU9MTticmVhayBlO2Nhc2UgMzA6ZGU9LTM7YnJlYWsgZTtjYXNlIDMxOnJldHVybi00O2Nhc2UgMzI6ZGVmYXVsdDpyZXR1cm4gZ31yZXR1cm4gRS5uZXh0X291dD1SLEUuYXZhaWxfb3V0PUcsRS5uZXh0X2luPUwsRS5hdmFpbF9pbj1CLF8uaG9sZD1NLF8uYml0cz1xLChfLndzaXplfHxlZSE9PUUuYXZhaWxfb3V0JiZfLm1vZGU8MzAmJihfLm1vZGU8Mjd8fEohPT00KSkmJmllKEUsRS5vdXRwdXQsRS5uZXh0X291dCxlZS1FLmF2YWlsX291dCk/KF8ubW9kZT0zMSwtNCk6KGFlLT1FLmF2YWlsX2luLGVlLT1FLmF2YWlsX291dCxFLnRvdGFsX2luKz1hZSxFLnRvdGFsX291dCs9ZWUsXy50b3RhbCs9ZWUsXy53cmFwJiZlZSYmKEUuYWRsZXI9Xy5jaGVjaz1fLmZsYWdzP2EoXy5jaGVjayxrLGVlLEUubmV4dF9vdXQtZWUpOmkoXy5jaGVjayxrLGVlLEUubmV4dF9vdXQtZWUpKSxFLmRhdGFfdHlwZT1fLmJpdHMrKF8ubGFzdD82NDowKSsoXy5tb2RlPT09MTI/MTI4OjApKyhfLm1vZGU9PT0yMHx8Xy5tb2RlPT09MTU/MjU2OjApLChhZT09MCYmZWU9PT0wfHxKPT09NCkmJmRlPT09diYmKGRlPS01KSxkZSl9LG4uaW5mbGF0ZUVuZD1mdW5jdGlvbihFKXtpZighRXx8IUUuc3RhdGUpcmV0dXJuIGc7dmFyIEo9RS5zdGF0ZTtyZXR1cm4gSi53aW5kb3cmJihKLndpbmRvdz1udWxsKSxFLnN0YXRlPW51bGwsdn0sbi5pbmZsYXRlR2V0SGVhZGVyPWZ1bmN0aW9uKEUsSil7dmFyIF87cmV0dXJuIEUmJkUuc3RhdGU/KDImKF89RS5zdGF0ZSkud3JhcCk9PTA/ZzooKF8uaGVhZD1KKS5kb25lPSExLHYpOmd9LG4uaW5mbGF0ZVNldERpY3Rpb25hcnk9ZnVuY3Rpb24oRSxKKXt2YXIgXyxTPUoubGVuZ3RoO3JldHVybiBFJiZFLnN0YXRlPyhfPUUuc3RhdGUpLndyYXAhPT0wJiZfLm1vZGUhPT0xMT9nOl8ubW9kZT09PTExJiZpKDEsSixTLDApIT09Xy5jaGVjaz8tMzppZShFLEosUyxTKT8oXy5tb2RlPTMxLC00KTooXy5oYXZlZGljdD0xLHYpOmd9LG4uaW5mbGF0ZUluZm89InBha28gaW5mbGF0ZSAoZnJvbSBOb2RlY2EgcHJvamVjdCkifSx7Ii4uL3V0aWxzL2NvbW1vbiI6NDEsIi4vYWRsZXIzMiI6NDMsIi4vY3JjMzIiOjQ1LCIuL2luZmZhc3QiOjQ4LCIuL2luZnRyZWVzIjo1MH1dLDUwOltmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPWUoIi4uL3V0aWxzL2NvbW1vbiIpLGk9WzMsNCw1LDYsNyw4LDksMTAsMTEsMTMsMTUsMTcsMTksMjMsMjcsMzEsMzUsNDMsNTEsNTksNjcsODMsOTksMTE1LDEzMSwxNjMsMTk1LDIyNywyNTgsMCwwXSxhPVsxNiwxNiwxNiwxNiwxNiwxNiwxNiwxNiwxNywxNywxNywxNywxOCwxOCwxOCwxOCwxOSwxOSwxOSwxOSwyMCwyMCwyMCwyMCwyMSwyMSwyMSwyMSwxNiw3Miw3OF0scz1bMSwyLDMsNCw1LDcsOSwxMywxNywyNSwzMyw0OSw2NSw5NywxMjksMTkzLDI1NywzODUsNTEzLDc2OSwxMDI1LDE1MzcsMjA0OSwzMDczLDQwOTcsNjE0NSw4MTkzLDEyMjg5LDE2Mzg1LDI0NTc3LDAsMF0sdT1bMTYsMTYsMTYsMTYsMTcsMTcsMTgsMTgsMTksMTksMjAsMjAsMjEsMjEsMjIsMjIsMjMsMjMsMjQsMjQsMjUsMjUsMjYsMjYsMjcsMjcsMjgsMjgsMjksMjksNjQsNjRdO3QuZXhwb3J0cz1mdW5jdGlvbihkLG0sdixnLHcsYixULEQpe3ZhciBoLGwscCxDLEYsUCxmLFcsWixpZT1ELmJpdHMsRT0wLEo9MCxfPTAsUz0wLGs9MCxMPTAsUj0wLEI9MCxHPTAsTT0wLHE9bnVsbCxhZT0wLGVlPW5ldyByLkJ1ZjE2KDE2KSxuZT1uZXcgci5CdWYxNigxNikseGU9bnVsbCxJZT0wO2ZvcihFPTA7RTw9MTU7RSsrKWVlW0VdPTA7Zm9yKEo9MDtKPGc7SisrKWVlW21bditKXV0rKztmb3Ioaz1pZSxTPTE1OzE8PVMmJmVlW1NdPT09MDtTLS0pO2lmKFM8ayYmKGs9UyksUz09PTApcmV0dXJuIHdbYisrXT0yMDk3MTUyMCx3W2IrK109MjA5NzE1MjAsRC5iaXRzPTEsMDtmb3IoXz0xO188UyYmZWVbX109PT0wO18rKyk7Zm9yKGs8XyYmKGs9XyksRT1CPTE7RTw9MTU7RSsrKWlmKEI8PD0xLChCLT1lZVtFXSk8MClyZXR1cm4tMTtpZigwPEImJihkPT09MHx8UyE9PTEpKXJldHVybi0xO2ZvcihuZVsxXT0wLEU9MTtFPDE1O0UrKyluZVtFKzFdPW5lW0VdK2VlW0VdO2ZvcihKPTA7SjxnO0orKyltW3YrSl0hPT0wJiYoVFtuZVttW3YrSl1dKytdPUopO2lmKFA9ZD09PTA/KHE9eGU9VCwxOSk6ZD09PTE/KHE9aSxhZS09MjU3LHhlPWEsSWUtPTI1NywyNTYpOihxPXMseGU9dSwtMSksRT1fLEY9YixSPUo9TT0wLHA9LTEsQz0oRz0xPDwoTD1rKSktMSxkPT09MSYmODUyPEd8fGQ9PT0yJiY1OTI8RylyZXR1cm4gMTtmb3IoOzspe2ZvcihmPUUtUixaPVRbSl08UD8oVz0wLFRbSl0pOlRbSl0+UD8oVz14ZVtJZStUW0pdXSxxW2FlK1RbSl1dKTooVz05NiwwKSxoPTE8PEUtUixfPWw9MTw8TDt3W0YrKE0+PlIpKyhsLT1oKV09Zjw8MjR8Vzw8MTZ8WnwwLGwhPT0wOyk7Zm9yKGg9MTw8RS0xO00maDspaD4+PTE7aWYoaCE9PTA/KE0mPWgtMSxNKz1oKTpNPTAsSisrLC0tZWVbRV09PTApe2lmKEU9PT1TKWJyZWFrO0U9bVt2K1RbSl1dfWlmKGs8RSYmKE0mQykhPT1wKXtmb3IoUj09PTAmJihSPWspLEYrPV8sQj0xPDwoTD1FLVIpO0wrUjxTJiYhKChCLT1lZVtMK1JdKTw9MCk7KUwrKyxCPDw9MTtpZihHKz0xPDxMLGQ9PT0xJiY4NTI8R3x8ZD09PTImJjU5MjxHKXJldHVybiAxO3dbcD1NJkNdPWs8PDI0fEw8PDE2fEYtYnwwfX1yZXR1cm4gTSE9PTAmJih3W0YrTV09RS1SPDwyNHw2NDw8MTZ8MCksRC5iaXRzPWssMH19LHsiLi4vdXRpbHMvY29tbW9uIjo0MX1dLDUxOltmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3QuZXhwb3J0cz17MjoibmVlZCBkaWN0aW9uYXJ5IiwxOiJzdHJlYW0gZW5kIiwwOiIiLCItMSI6ImZpbGUgZXJyb3IiLCItMiI6InN0cmVhbSBlcnJvciIsIi0zIjoiZGF0YSBlcnJvciIsIi00IjoiaW5zdWZmaWNpZW50IG1lbW9yeSIsIi01IjoiYnVmZmVyIGVycm9yIiwiLTYiOiJpbmNvbXBhdGlibGUgdmVyc2lvbiJ9fSx7fV0sNTI6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9ZSgiLi4vdXRpbHMvY29tbW9uIiksaT0wLGE9MTtmdW5jdGlvbiBzKGope2Zvcih2YXIgSz1qLmxlbmd0aDswPD0tLUs7KWpbS109MH12YXIgdT0wLGQ9MjksbT0yNTYsdj1tKzErZCxnPTMwLHc9MTksYj0yKnYrMSxUPTE1LEQ9MTYsaD03LGw9MjU2LHA9MTYsQz0xNyxGPTE4LFA9WzAsMCwwLDAsMCwwLDAsMCwxLDEsMSwxLDIsMiwyLDIsMywzLDMsMyw0LDQsNCw0LDUsNSw1LDUsMF0sZj1bMCwwLDAsMCwxLDEsMiwyLDMsMyw0LDQsNSw1LDYsNiw3LDcsOCw4LDksOSwxMCwxMCwxMSwxMSwxMiwxMiwxMywxM10sVz1bMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyLDMsN10sWj1bMTYsMTcsMTgsMCw4LDcsOSw2LDEwLDUsMTEsNCwxMiwzLDEzLDIsMTQsMSwxNV0saWU9bmV3IEFycmF5KDIqKHYrMikpO3MoaWUpO3ZhciBFPW5ldyBBcnJheSgyKmcpO3MoRSk7dmFyIEo9bmV3IEFycmF5KDUxMik7cyhKKTt2YXIgXz1uZXcgQXJyYXkoMjU2KTtzKF8pO3ZhciBTPW5ldyBBcnJheShkKTtzKFMpO3ZhciBrLEwsUixCPW5ldyBBcnJheShnKTtmdW5jdGlvbiBHKGosSyxtZSx5ZSxyZSl7dGhpcy5zdGF0aWNfdHJlZT1qLHRoaXMuZXh0cmFfYml0cz1LLHRoaXMuZXh0cmFfYmFzZT1tZSx0aGlzLmVsZW1zPXllLHRoaXMubWF4X2xlbmd0aD1yZSx0aGlzLmhhc19zdHJlZT1qJiZqLmxlbmd0aH1mdW5jdGlvbiBNKGosSyl7dGhpcy5keW5fdHJlZT1qLHRoaXMubWF4X2NvZGU9MCx0aGlzLnN0YXRfZGVzYz1LfWZ1bmN0aW9uIHEoail7cmV0dXJuIGo8MjU2P0pbal06SlsyNTYrKGo+Pj43KV19ZnVuY3Rpb24gYWUoaixLKXtqLnBlbmRpbmdfYnVmW2oucGVuZGluZysrXT0yNTUmSyxqLnBlbmRpbmdfYnVmW2oucGVuZGluZysrXT1LPj4+OCYyNTV9ZnVuY3Rpb24gZWUoaixLLG1lKXtqLmJpX3ZhbGlkPkQtbWU/KGouYmlfYnVmfD1LPDxqLmJpX3ZhbGlkJjY1NTM1LGFlKGosai5iaV9idWYpLGouYmlfYnVmPUs+PkQtai5iaV92YWxpZCxqLmJpX3ZhbGlkKz1tZS1EKTooai5iaV9idWZ8PUs8PGouYmlfdmFsaWQmNjU1MzUsai5iaV92YWxpZCs9bWUpfWZ1bmN0aW9uIG5lKGosSyxtZSl7ZWUoaixtZVsyKktdLG1lWzIqSysxXSl9ZnVuY3Rpb24geGUoaixLKXtmb3IodmFyIG1lPTA7bWV8PTEmaixqPj4+PTEsbWU8PD0xLDA8LS1LOyk7cmV0dXJuIG1lPj4+MX1mdW5jdGlvbiBJZShqLEssbWUpe3ZhciB5ZSxyZSxiZT1uZXcgQXJyYXkoVCsxKSxUZT0wO2Zvcih5ZT0xO3llPD1UO3llKyspYmVbeWVdPVRlPVRlK21lW3llLTFdPDwxO2ZvcihyZT0wO3JlPD1LO3JlKyspe3ZhciBfZT1qWzIqcmUrMV07X2UhPT0wJiYoalsyKnJlXT14ZShiZVtfZV0rKyxfZSkpfX1mdW5jdGlvbiBDZShqKXt2YXIgSztmb3IoSz0wO0s8djtLKyspai5keW5fbHRyZWVbMipLXT0wO2ZvcihLPTA7SzxnO0srKylqLmR5bl9kdHJlZVsyKktdPTA7Zm9yKEs9MDtLPHc7SysrKWouYmxfdHJlZVsyKktdPTA7ai5keW5fbHRyZWVbMipsXT0xLGoub3B0X2xlbj1qLnN0YXRpY19sZW49MCxqLmxhc3RfbGl0PWoubWF0Y2hlcz0wfWZ1bmN0aW9uIERlKGopezg8ai5iaV92YWxpZD9hZShqLGouYmlfYnVmKTowPGouYmlfdmFsaWQmJihqLnBlbmRpbmdfYnVmW2oucGVuZGluZysrXT1qLmJpX2J1Ziksai5iaV9idWY9MCxqLmJpX3ZhbGlkPTB9ZnVuY3Rpb24gTGUoaixLLG1lLHllKXt2YXIgcmU9MipLLGJlPTIqbWU7cmV0dXJuIGpbcmVdPGpbYmVdfHxqW3JlXT09PWpbYmVdJiZ5ZVtLXTw9eWVbbWVdfWZ1bmN0aW9uIEVlKGosSyxtZSl7Zm9yKHZhciB5ZT1qLmhlYXBbbWVdLHJlPW1lPDwxO3JlPD1qLmhlYXBfbGVuJiYocmU8ai5oZWFwX2xlbiYmTGUoSyxqLmhlYXBbcmUrMV0sai5oZWFwW3JlXSxqLmRlcHRoKSYmcmUrKywhTGUoSyx5ZSxqLmhlYXBbcmVdLGouZGVwdGgpKTspai5oZWFwW21lXT1qLmhlYXBbcmVdLG1lPXJlLHJlPDw9MTtqLmhlYXBbbWVdPXllfWZ1bmN0aW9uIFllKGosSyxtZSl7dmFyIHllLHJlLGJlLFRlLF9lPTA7aWYoai5sYXN0X2xpdCE9PTApZm9yKDt5ZT1qLnBlbmRpbmdfYnVmW2ouZF9idWYrMipfZV08PDh8ai5wZW5kaW5nX2J1ZltqLmRfYnVmKzIqX2UrMV0scmU9ai5wZW5kaW5nX2J1ZltqLmxfYnVmK19lXSxfZSsrLHllPT09MD9uZShqLHJlLEspOihuZShqLChiZT1fW3JlXSkrbSsxLEspLChUZT1QW2JlXSkhPT0wJiZlZShqLHJlLT1TW2JlXSxUZSksbmUoaixiZT1xKC0teWUpLG1lKSwoVGU9ZltiZV0pIT09MCYmZWUoaix5ZS09QltiZV0sVGUpKSxfZTxqLmxhc3RfbGl0Oyk7bmUoaixsLEspfWZ1bmN0aW9uIEplKGosSyl7dmFyIG1lLHllLHJlLGJlPUsuZHluX3RyZWUsVGU9Sy5zdGF0X2Rlc2Muc3RhdGljX3RyZWUsX2U9Sy5zdGF0X2Rlc2MuaGFzX3N0cmVlLHZlPUsuc3RhdF9kZXNjLmVsZW1zLGplPS0xO2ZvcihqLmhlYXBfbGVuPTAsai5oZWFwX21heD1iLG1lPTA7bWU8dmU7bWUrKyliZVsyKm1lXSE9PTA/KGouaGVhcFsrK2ouaGVhcF9sZW5dPWplPW1lLGouZGVwdGhbbWVdPTApOmJlWzIqbWUrMV09MDtmb3IoO2ouaGVhcF9sZW48MjspYmVbMioocmU9ai5oZWFwWysrai5oZWFwX2xlbl09amU8Mj8rK2plOjApXT0xLGouZGVwdGhbcmVdPTAsai5vcHRfbGVuLS0sX2UmJihqLnN0YXRpY19sZW4tPVRlWzIqcmUrMV0pO2ZvcihLLm1heF9jb2RlPWplLG1lPWouaGVhcF9sZW4+PjE7MTw9bWU7bWUtLSlFZShqLGJlLG1lKTtmb3IocmU9dmU7bWU9ai5oZWFwWzFdLGouaGVhcFsxXT1qLmhlYXBbai5oZWFwX2xlbi0tXSxFZShqLGJlLDEpLHllPWouaGVhcFsxXSxqLmhlYXBbLS1qLmhlYXBfbWF4XT1tZSxqLmhlYXBbLS1qLmhlYXBfbWF4XT15ZSxiZVsyKnJlXT1iZVsyKm1lXStiZVsyKnllXSxqLmRlcHRoW3JlXT0oai5kZXB0aFttZV0+PWouZGVwdGhbeWVdP2ouZGVwdGhbbWVdOmouZGVwdGhbeWVdKSsxLGJlWzIqbWUrMV09YmVbMip5ZSsxXT1yZSxqLmhlYXBbMV09cmUrKyxFZShqLGJlLDEpLDI8PWouaGVhcF9sZW47KTtqLmhlYXBbLS1qLmhlYXBfbWF4XT1qLmhlYXBbMV0sKGZ1bmN0aW9uKEdlLFN0KXt2YXIgYm4sRnQsdW4saXQsVHQsR3QsdnQ9U3QuZHluX3RyZWUsd3I9U3QubWF4X2NvZGUsTG49U3Quc3RhdF9kZXNjLnN0YXRpY190cmVlLHhyPVN0LnN0YXRfZGVzYy5oYXNfc3RyZWUsQ3I9U3Quc3RhdF9kZXNjLmV4dHJhX2JpdHMsU3I9U3Quc3RhdF9kZXNjLmV4dHJhX2Jhc2UsTXQ9U3Quc3RhdF9kZXNjLm1heF9sZW5ndGgsWnQ9MDtmb3IoaXQ9MDtpdDw9VDtpdCsrKUdlLmJsX2NvdW50W2l0XT0wO2Zvcih2dFsyKkdlLmhlYXBbR2UuaGVhcF9tYXhdKzFdPTAsYm49R2UuaGVhcF9tYXgrMTtibjxiO2JuKyspTXQ8KGl0PXZ0WzIqdnRbMiooRnQ9R2UuaGVhcFtibl0pKzFdKzFdKzEpJiYoaXQ9TXQsWnQrKyksdnRbMipGdCsxXT1pdCx3cjxGdHx8KEdlLmJsX2NvdW50W2l0XSsrLFR0PTAsU3I8PUZ0JiYoVHQ9Q3JbRnQtU3JdKSxHdD12dFsyKkZ0XSxHZS5vcHRfbGVuKz1HdCooaXQrVHQpLHhyJiYoR2Uuc3RhdGljX2xlbis9R3QqKExuWzIqRnQrMV0rVHQpKSk7aWYoWnQhPT0wKXtkb3tmb3IoaXQ9TXQtMTtHZS5ibF9jb3VudFtpdF09PT0wOylpdC0tO0dlLmJsX2NvdW50W2l0XS0tLEdlLmJsX2NvdW50W2l0KzFdKz0yLEdlLmJsX2NvdW50W010XS0tLFp0LT0yfXdoaWxlKDA8WnQpO2ZvcihpdD1NdDtpdCE9PTA7aXQtLSlmb3IoRnQ9R2UuYmxfY291bnRbaXRdO0Z0IT09MDspd3I8KHVuPUdlLmhlYXBbLS1ibl0pfHwodnRbMip1bisxXSE9PWl0JiYoR2Uub3B0X2xlbis9KGl0LXZ0WzIqdW4rMV0pKnZ0WzIqdW5dLHZ0WzIqdW4rMV09aXQpLEZ0LS0pfX0pKGosSyksSWUoYmUsamUsai5ibF9jb3VudCl9ZnVuY3Rpb24gQShqLEssbWUpe3ZhciB5ZSxyZSxiZT0tMSxUZT1LWzFdLF9lPTAsdmU9NyxqZT00O2ZvcihUZT09PTAmJih2ZT0xMzgsamU9MyksS1syKihtZSsxKSsxXT02NTUzNSx5ZT0wO3llPD1tZTt5ZSsrKXJlPVRlLFRlPUtbMiooeWUrMSkrMV0sKytfZTx2ZSYmcmU9PT1UZXx8KF9lPGplP2ouYmxfdHJlZVsyKnJlXSs9X2U6cmUhPT0wPyhyZSE9PWJlJiZqLmJsX3RyZWVbMipyZV0rKyxqLmJsX3RyZWVbMipwXSsrKTpfZTw9MTA/ai5ibF90cmVlWzIqQ10rKzpqLmJsX3RyZWVbMipGXSsrLGJlPXJlLGplPShfZT0wKT09PVRlPyh2ZT0xMzgsMyk6cmU9PT1UZT8odmU9NiwzKToodmU9Nyw0KSl9ZnVuY3Rpb24gZGUoaixLLG1lKXt2YXIgeWUscmUsYmU9LTEsVGU9S1sxXSxfZT0wLHZlPTcsamU9NDtmb3IoVGU9PT0wJiYodmU9MTM4LGplPTMpLHllPTA7eWU8PW1lO3llKyspaWYocmU9VGUsVGU9S1syKih5ZSsxKSsxXSwhKCsrX2U8dmUmJnJlPT09VGUpKXtpZihfZTxqZSlmb3IoO25lKGoscmUsai5ibF90cmVlKSwtLV9lIT0wOyk7ZWxzZSByZSE9PTA/KHJlIT09YmUmJihuZShqLHJlLGouYmxfdHJlZSksX2UtLSksbmUoaixwLGouYmxfdHJlZSksZWUoaixfZS0zLDIpKTpfZTw9MTA/KG5lKGosQyxqLmJsX3RyZWUpLGVlKGosX2UtMywzKSk6KG5lKGosRixqLmJsX3RyZWUpLGVlKGosX2UtMTEsNykpO2JlPXJlLGplPShfZT0wKT09PVRlPyh2ZT0xMzgsMyk6cmU9PT1UZT8odmU9NiwzKToodmU9Nyw0KX19cyhCKTt2YXIgbGU9ITE7ZnVuY3Rpb24geihqLEssbWUseWUpe2VlKGosKHU8PDEpKyh5ZT8xOjApLDMpLChmdW5jdGlvbihyZSxiZSxUZSxfZSl7RGUocmUpLF9lJiYoYWUocmUsVGUpLGFlKHJlLH5UZSkpLHIuYXJyYXlTZXQocmUucGVuZGluZ19idWYscmUud2luZG93LGJlLFRlLHJlLnBlbmRpbmcpLHJlLnBlbmRpbmcrPVRlfSkoaixLLG1lLCEwKX1uLl90cl9pbml0PWZ1bmN0aW9uKGope2xlfHwoKGZ1bmN0aW9uKCl7dmFyIEssbWUseWUscmUsYmUsVGU9bmV3IEFycmF5KFQrMSk7Zm9yKHJlPXllPTA7cmU8ZC0xO3JlKyspZm9yKFNbcmVdPXllLEs9MDtLPDE8PFBbcmVdO0srKylfW3llKytdPXJlO2ZvcihfW3llLTFdPXJlLHJlPWJlPTA7cmU8MTY7cmUrKylmb3IoQltyZV09YmUsSz0wO0s8MTw8ZltyZV07SysrKUpbYmUrK109cmU7Zm9yKGJlPj49NztyZTxnO3JlKyspZm9yKEJbcmVdPWJlPDw3LEs9MDtLPDE8PGZbcmVdLTc7SysrKUpbMjU2K2JlKytdPXJlO2ZvcihtZT0wO21lPD1UO21lKyspVGVbbWVdPTA7Zm9yKEs9MDtLPD0xNDM7KWllWzIqSysxXT04LEsrKyxUZVs4XSsrO2Zvcig7Szw9MjU1OylpZVsyKksrMV09OSxLKyssVGVbOV0rKztmb3IoO0s8PTI3OTspaWVbMipLKzFdPTcsSysrLFRlWzddKys7Zm9yKDtLPD0yODc7KWllWzIqSysxXT04LEsrKyxUZVs4XSsrO2ZvcihJZShpZSx2KzEsVGUpLEs9MDtLPGc7SysrKUVbMipLKzFdPTUsRVsyKktdPXhlKEssNSk7az1uZXcgRyhpZSxQLG0rMSx2LFQpLEw9bmV3IEcoRSxmLDAsZyxUKSxSPW5ldyBHKG5ldyBBcnJheSgwKSxXLDAsdyxoKX0pKCksbGU9ITApLGoubF9kZXNjPW5ldyBNKGouZHluX2x0cmVlLGspLGouZF9kZXNjPW5ldyBNKGouZHluX2R0cmVlLEwpLGouYmxfZGVzYz1uZXcgTShqLmJsX3RyZWUsUiksai5iaV9idWY9MCxqLmJpX3ZhbGlkPTAsQ2Uoail9LG4uX3RyX3N0b3JlZF9ibG9jaz16LG4uX3RyX2ZsdXNoX2Jsb2NrPWZ1bmN0aW9uKGosSyxtZSx5ZSl7dmFyIHJlLGJlLFRlPTA7MDxqLmxldmVsPyhqLnN0cm0uZGF0YV90eXBlPT09MiYmKGouc3RybS5kYXRhX3R5cGU9KGZ1bmN0aW9uKF9lKXt2YXIgdmUsamU9NDA5MzYyNDQ0Nztmb3IodmU9MDt2ZTw9MzE7dmUrKyxqZT4+Pj0xKWlmKDEmamUmJl9lLmR5bl9sdHJlZVsyKnZlXSE9PTApcmV0dXJuIGk7aWYoX2UuZHluX2x0cmVlWzE4XSE9PTB8fF9lLmR5bl9sdHJlZVsyMF0hPT0wfHxfZS5keW5fbHRyZWVbMjZdIT09MClyZXR1cm4gYTtmb3IodmU9MzI7dmU8bTt2ZSsrKWlmKF9lLmR5bl9sdHJlZVsyKnZlXSE9PTApcmV0dXJuIGE7cmV0dXJuIGl9KShqKSksSmUoaixqLmxfZGVzYyksSmUoaixqLmRfZGVzYyksVGU9KGZ1bmN0aW9uKF9lKXt2YXIgdmU7Zm9yKEEoX2UsX2UuZHluX2x0cmVlLF9lLmxfZGVzYy5tYXhfY29kZSksQShfZSxfZS5keW5fZHRyZWUsX2UuZF9kZXNjLm1heF9jb2RlKSxKZShfZSxfZS5ibF9kZXNjKSx2ZT13LTE7Mzw9dmUmJl9lLmJsX3RyZWVbMipaW3ZlXSsxXT09PTA7dmUtLSk7cmV0dXJuIF9lLm9wdF9sZW4rPTMqKHZlKzEpKzUrNSs0LHZlfSkoaikscmU9ai5vcHRfbGVuKzMrNz4+PjMsKGJlPWouc3RhdGljX2xlbiszKzc+Pj4zKTw9cmUmJihyZT1iZSkpOnJlPWJlPW1lKzUsbWUrNDw9cmUmJkshPT0tMT96KGosSyxtZSx5ZSk6ai5zdHJhdGVneT09PTR8fGJlPT09cmU/KGVlKGosMisoeWU/MTowKSwzKSxZZShqLGllLEUpKTooZWUoaiw0Kyh5ZT8xOjApLDMpLChmdW5jdGlvbihfZSx2ZSxqZSxHZSl7dmFyIFN0O2ZvcihlZShfZSx2ZS0yNTcsNSksZWUoX2UsamUtMSw1KSxlZShfZSxHZS00LDQpLFN0PTA7U3Q8R2U7U3QrKyllZShfZSxfZS5ibF90cmVlWzIqWltTdF0rMV0sMyk7ZGUoX2UsX2UuZHluX2x0cmVlLHZlLTEpLGRlKF9lLF9lLmR5bl9kdHJlZSxqZS0xKX0pKGosai5sX2Rlc2MubWF4X2NvZGUrMSxqLmRfZGVzYy5tYXhfY29kZSsxLFRlKzEpLFllKGosai5keW5fbHRyZWUsai5keW5fZHRyZWUpKSxDZShqKSx5ZSYmRGUoail9LG4uX3RyX3RhbGx5PWZ1bmN0aW9uKGosSyxtZSl7cmV0dXJuIGoucGVuZGluZ19idWZbai5kX2J1ZisyKmoubGFzdF9saXRdPUs+Pj44JjI1NSxqLnBlbmRpbmdfYnVmW2ouZF9idWYrMipqLmxhc3RfbGl0KzFdPTI1NSZLLGoucGVuZGluZ19idWZbai5sX2J1ZitqLmxhc3RfbGl0XT0yNTUmbWUsai5sYXN0X2xpdCsrLEs9PT0wP2ouZHluX2x0cmVlWzIqbWVdKys6KGoubWF0Y2hlcysrLEstLSxqLmR5bl9sdHJlZVsyKihfW21lXSttKzEpXSsrLGouZHluX2R0cmVlWzIqcShLKV0rKyksai5sYXN0X2xpdD09PWoubGl0X2J1ZnNpemUtMX0sbi5fdHJfYWxpZ249ZnVuY3Rpb24oail7ZWUoaiwyLDMpLG5lKGosbCxpZSksKGZ1bmN0aW9uKEspe0suYmlfdmFsaWQ9PT0xNj8oYWUoSyxLLmJpX2J1ZiksSy5iaV9idWY9MCxLLmJpX3ZhbGlkPTApOjg8PUsuYmlfdmFsaWQmJihLLnBlbmRpbmdfYnVmW0sucGVuZGluZysrXT0yNTUmSy5iaV9idWYsSy5iaV9idWY+Pj04LEsuYmlfdmFsaWQtPTgpfSkoail9fSx7Ii4uL3V0aWxzL2NvbW1vbiI6NDF9XSw1MzpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9ZnVuY3Rpb24oKXt0aGlzLmlucHV0PW51bGwsdGhpcy5uZXh0X2luPTAsdGhpcy5hdmFpbF9pbj0wLHRoaXMudG90YWxfaW49MCx0aGlzLm91dHB1dD1udWxsLHRoaXMubmV4dF9vdXQ9MCx0aGlzLmF2YWlsX291dD0wLHRoaXMudG90YWxfb3V0PTAsdGhpcy5tc2c9IiIsdGhpcy5zdGF0ZT1udWxsLHRoaXMuZGF0YV90eXBlPTIsdGhpcy5hZGxlcj0wfX0se31dLDU0OltmdW5jdGlvbihlLHQsbil7KGZ1bmN0aW9uKHIpeyhmdW5jdGlvbihpLGEpeyJ1c2Ugc3RyaWN0IjtpZighaS5zZXRJbW1lZGlhdGUpe3ZhciBzLHUsZCxtLHY9MSxnPXt9LHc9ITEsYj1pLmRvY3VtZW50LFQ9T2JqZWN0LmdldFByb3RvdHlwZU9mJiZPYmplY3QuZ2V0UHJvdG90eXBlT2YoaSk7VD1UJiZULnNldFRpbWVvdXQ/VDppLHM9e30udG9TdHJpbmcuY2FsbChpLnByb2Nlc3MpPT09IltvYmplY3QgcHJvY2Vzc10iP2Z1bmN0aW9uKHApe3Byb2Nlc3MubmV4dFRpY2soZnVuY3Rpb24oKXtoKHApfSl9OihmdW5jdGlvbigpe2lmKGkucG9zdE1lc3NhZ2UmJiFpLmltcG9ydFNjcmlwdHMpe3ZhciBwPSEwLEM9aS5vbm1lc3NhZ2U7cmV0dXJuIGkub25tZXNzYWdlPWZ1bmN0aW9uKCl7cD0hMX0saS5wb3N0TWVzc2FnZSgiIiwiKiIpLGkub25tZXNzYWdlPUMscH19KSgpPyhtPSJzZXRJbW1lZGlhdGUkIitNYXRoLnJhbmRvbSgpKyIkIixpLmFkZEV2ZW50TGlzdGVuZXI/aS5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixsLCExKTppLmF0dGFjaEV2ZW50KCJvbm1lc3NhZ2UiLGwpLGZ1bmN0aW9uKHApe2kucG9zdE1lc3NhZ2UobStwLCIqIil9KTppLk1lc3NhZ2VDaGFubmVsPygoZD1uZXcgTWVzc2FnZUNoYW5uZWwpLnBvcnQxLm9ubWVzc2FnZT1mdW5jdGlvbihwKXtoKHAuZGF0YSl9LGZ1bmN0aW9uKHApe2QucG9ydDIucG9zdE1lc3NhZ2UocCl9KTpiJiYib25yZWFkeXN0YXRlY2hhbmdlImluIGIuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik/KHU9Yi5kb2N1bWVudEVsZW1lbnQsZnVuY3Rpb24ocCl7dmFyIEM9Yi5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtDLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe2gocCksQy5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbCx1LnJlbW92ZUNoaWxkKEMpLEM9bnVsbH0sdS5hcHBlbmRDaGlsZChDKX0pOmZ1bmN0aW9uKHApe3NldFRpbWVvdXQoaCwwLHApfSxULnNldEltbWVkaWF0ZT1mdW5jdGlvbihwKXt0eXBlb2YgcCE9ImZ1bmN0aW9uIiYmKHA9bmV3IEZ1bmN0aW9uKCIiK3ApKTtmb3IodmFyIEM9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSksRj0wO0Y8Qy5sZW5ndGg7RisrKUNbRl09YXJndW1lbnRzW0YrMV07dmFyIFA9e2NhbGxiYWNrOnAsYXJnczpDfTtyZXR1cm4gZ1t2XT1QLHModiksdisrfSxULmNsZWFySW1tZWRpYXRlPUR9ZnVuY3Rpb24gRChwKXtkZWxldGUgZ1twXX1mdW5jdGlvbiBoKHApe2lmKHcpc2V0VGltZW91dChoLDAscCk7ZWxzZXt2YXIgQz1nW3BdO2lmKEMpe3c9ITA7dHJ5eyhmdW5jdGlvbihGKXt2YXIgUD1GLmNhbGxiYWNrLGY9Ri5hcmdzO3N3aXRjaChmLmxlbmd0aCl7Y2FzZSAwOlAoKTticmVhaztjYXNlIDE6UChmWzBdKTticmVhaztjYXNlIDI6UChmWzBdLGZbMV0pO2JyZWFrO2Nhc2UgMzpQKGZbMF0sZlsxXSxmWzJdKTticmVhaztkZWZhdWx0OlAuYXBwbHkoYSxmKX19KShDKX1maW5hbGx5e0QocCksdz0hMX19fX1mdW5jdGlvbiBsKHApe3Auc291cmNlPT09aSYmdHlwZW9mIHAuZGF0YT09InN0cmluZyImJnAuZGF0YS5pbmRleE9mKG0pPT09MCYmaCgrcC5kYXRhLnNsaWNlKG0ubGVuZ3RoKSl9fSkodHlwZW9mIHNlbGY+InUiP3I9PT12b2lkIDA/dGhpczpyOnNlbGYpfSkuY2FsbCh0aGlzLHR5cGVvZiBnbG9iYWw8InUiP2dsb2JhbDp0eXBlb2Ygc2VsZjwidSI/c2VsZjp0eXBlb2Ygd2luZG93PCJ1Ij93aW5kb3c6e30pfSx7fV19LHt9LFsxMF0pKDEwKX0pfSk7dmFyIG90PXRzKChpcyxQcik9PnsoZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7dHlwZW9mIFByPT0ib2JqZWN0IiYmdHlwZW9mIFByLmV4cG9ydHM9PSJvYmplY3QiP1ByLmV4cG9ydHM9ZS5kb2N1bWVudD90KGUsITApOmZ1bmN0aW9uKG4pe2lmKCFuLmRvY3VtZW50KXRocm93IG5ldyBFcnJvcigialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudCIpO3JldHVybiB0KG4pfTp0KGUpfSkodHlwZW9mIHdpbmRvdzwidSI/d2luZG93OmlzLGZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO3ZhciBuPVtdLHI9T2JqZWN0LmdldFByb3RvdHlwZU9mLGk9bi5zbGljZSxhPW4uZmxhdD9mdW5jdGlvbihvKXtyZXR1cm4gbi5mbGF0LmNhbGwobyl9OmZ1bmN0aW9uKG8pe3JldHVybiBuLmNvbmNhdC5hcHBseShbXSxvKX0scz1uLnB1c2gsdT1uLmluZGV4T2YsZD17fSxtPWQudG9TdHJpbmcsdj1kLmhhc093blByb3BlcnR5LGc9di50b1N0cmluZyx3PWcuY2FsbChPYmplY3QpLGI9e30sVD1mdW5jdGlvbihjKXtyZXR1cm4gdHlwZW9mIGM9PSJmdW5jdGlvbiImJnR5cGVvZiBjLm5vZGVUeXBlIT0ibnVtYmVyIiYmdHlwZW9mIGMuaXRlbSE9ImZ1bmN0aW9uIn0sRD1mdW5jdGlvbihjKXtyZXR1cm4gYyE9bnVsbCYmYz09PWMud2luZG93fSxoPWUuZG9jdW1lbnQsbD17dHlwZTohMCxzcmM6ITAsbm9uY2U6ITAsbm9Nb2R1bGU6ITB9O2Z1bmN0aW9uIHAobyxjLHkpe3k9eXx8aDt2YXIgeCxJLE49eS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtpZihOLnRleHQ9byxjKWZvcih4IGluIGwpST1jW3hdfHxjLmdldEF0dHJpYnV0ZSYmYy5nZXRBdHRyaWJ1dGUoeCksSSYmTi5zZXRBdHRyaWJ1dGUoeCxJKTt5LmhlYWQuYXBwZW5kQ2hpbGQoTikucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChOKX1mdW5jdGlvbiBDKG8pe3JldHVybiBvPT1udWxsP28rIiI6dHlwZW9mIG89PSJvYmplY3QifHx0eXBlb2Ygbz09ImZ1bmN0aW9uIj9kW20uY2FsbChvKV18fCJvYmplY3QiOnR5cGVvZiBvfXZhciBGPSIzLjcuMSIsUD0vSFRNTCQvaSxmPWZ1bmN0aW9uKG8sYyl7cmV0dXJuIG5ldyBmLmZuLmluaXQobyxjKX07Zi5mbj1mLnByb3RvdHlwZT17anF1ZXJ5OkYsY29uc3RydWN0b3I6ZixsZW5ndGg6MCx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIGkuY2FsbCh0aGlzKX0sZ2V0OmZ1bmN0aW9uKG8pe3JldHVybiBvPT1udWxsP2kuY2FsbCh0aGlzKTpvPDA/dGhpc1tvK3RoaXMubGVuZ3RoXTp0aGlzW29dfSxwdXNoU3RhY2s6ZnVuY3Rpb24obyl7dmFyIGM9Zi5tZXJnZSh0aGlzLmNvbnN0cnVjdG9yKCksbyk7cmV0dXJuIGMucHJldk9iamVjdD10aGlzLGN9LGVhY2g6ZnVuY3Rpb24obyl7cmV0dXJuIGYuZWFjaCh0aGlzLG8pfSxtYXA6ZnVuY3Rpb24obyl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGYubWFwKHRoaXMsZnVuY3Rpb24oYyx5KXtyZXR1cm4gby5jYWxsKGMseSxjKX0pKX0sc2xpY2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soaS5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSxmaXJzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKDApfSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoLTEpfSxldmVuOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGYuZ3JlcCh0aGlzLGZ1bmN0aW9uKG8sYyl7cmV0dXJuKGMrMSklMn0pKX0sb2RkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGYuZ3JlcCh0aGlzLGZ1bmN0aW9uKG8sYyl7cmV0dXJuIGMlMn0pKX0sZXE6ZnVuY3Rpb24obyl7dmFyIGM9dGhpcy5sZW5ndGgseT0rbysobzwwP2M6MCk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKHk+PTAmJnk8Yz9bdGhpc1t5XV06W10pfSxlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcmV2T2JqZWN0fHx0aGlzLmNvbnN0cnVjdG9yKCl9LHB1c2g6cyxzb3J0Om4uc29ydCxzcGxpY2U6bi5zcGxpY2V9LGYuZXh0ZW5kPWYuZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIG8sYyx5LHgsSSxOLE89YXJndW1lbnRzWzBdfHx7fSxYPTEsVT1hcmd1bWVudHMubGVuZ3RoLFE9ITE7Zm9yKHR5cGVvZiBPPT0iYm9vbGVhbiImJihRPU8sTz1hcmd1bWVudHNbWF18fHt9LFgrKyksdHlwZW9mIE8hPSJvYmplY3QiJiYhVChPKSYmKE89e30pLFg9PT1VJiYoTz10aGlzLFgtLSk7WDxVO1grKylpZigobz1hcmd1bWVudHNbWF0pIT1udWxsKWZvcihjIGluIG8peD1vW2NdLCEoYz09PSJfX3Byb3RvX18ifHxPPT09eCkmJihRJiZ4JiYoZi5pc1BsYWluT2JqZWN0KHgpfHwoST1BcnJheS5pc0FycmF5KHgpKSk/KHk9T1tjXSxJJiYhQXJyYXkuaXNBcnJheSh5KT9OPVtdOiFJJiYhZi5pc1BsYWluT2JqZWN0KHkpP049e306Tj15LEk9ITEsT1tjXT1mLmV4dGVuZChRLE4seCkpOnghPT12b2lkIDAmJihPW2NdPXgpKTtyZXR1cm4gT30sZi5leHRlbmQoe2V4cGFuZG86ImpRdWVyeSIrKEYrTWF0aC5yYW5kb20oKSkucmVwbGFjZSgvXEQvZywiIiksaXNSZWFkeTohMCxlcnJvcjpmdW5jdGlvbihvKXt0aHJvdyBuZXcgRXJyb3Iobyl9LG5vb3A6ZnVuY3Rpb24oKXt9LGlzUGxhaW5PYmplY3Q6ZnVuY3Rpb24obyl7dmFyIGMseTtyZXR1cm4hb3x8bS5jYWxsKG8pIT09IltvYmplY3QgT2JqZWN0XSI/ITE6KGM9cihvKSxjPyh5PXYuY2FsbChjLCJjb25zdHJ1Y3RvciIpJiZjLmNvbnN0cnVjdG9yLHR5cGVvZiB5PT0iZnVuY3Rpb24iJiZnLmNhbGwoeSk9PT13KTohMCl9LGlzRW1wdHlPYmplY3Q6ZnVuY3Rpb24obyl7dmFyIGM7Zm9yKGMgaW4gbylyZXR1cm4hMTtyZXR1cm4hMH0sZ2xvYmFsRXZhbDpmdW5jdGlvbihvLGMseSl7cChvLHtub25jZTpjJiZjLm5vbmNlfSx5KX0sZWFjaDpmdW5jdGlvbihvLGMpe3ZhciB5LHg9MDtpZihXKG8pKWZvcih5PW8ubGVuZ3RoO3g8eSYmYy5jYWxsKG9beF0seCxvW3hdKSE9PSExO3grKyk7ZWxzZSBmb3IoeCBpbiBvKWlmKGMuY2FsbChvW3hdLHgsb1t4XSk9PT0hMSlicmVhaztyZXR1cm4gb30sdGV4dDpmdW5jdGlvbihvKXt2YXIgYyx5PSIiLHg9MCxJPW8ubm9kZVR5cGU7aWYoIUkpZm9yKDtjPW9beCsrXTspeSs9Zi50ZXh0KGMpO3JldHVybiBJPT09MXx8ST09PTExP28udGV4dENvbnRlbnQ6ST09PTk/by5kb2N1bWVudEVsZW1lbnQudGV4dENvbnRlbnQ6ST09PTN8fEk9PT00P28ubm9kZVZhbHVlOnl9LG1ha2VBcnJheTpmdW5jdGlvbihvLGMpe3ZhciB5PWN8fFtdO3JldHVybiBvIT1udWxsJiYoVyhPYmplY3QobykpP2YubWVyZ2UoeSx0eXBlb2Ygbz09InN0cmluZyI/W29dOm8pOnMuY2FsbCh5LG8pKSx5fSxpbkFycmF5OmZ1bmN0aW9uKG8sYyx5KXtyZXR1cm4gYz09bnVsbD8tMTp1LmNhbGwoYyxvLHkpfSxpc1hNTERvYzpmdW5jdGlvbihvKXt2YXIgYz1vJiZvLm5hbWVzcGFjZVVSSSx5PW8mJihvLm93bmVyRG9jdW1lbnR8fG8pLmRvY3VtZW50RWxlbWVudDtyZXR1cm4hUC50ZXN0KGN8fHkmJnkubm9kZU5hbWV8fCJIVE1MIil9LG1lcmdlOmZ1bmN0aW9uKG8sYyl7Zm9yKHZhciB5PStjLmxlbmd0aCx4PTAsST1vLmxlbmd0aDt4PHk7eCsrKW9bSSsrXT1jW3hdO3JldHVybiBvLmxlbmd0aD1JLG99LGdyZXA6ZnVuY3Rpb24obyxjLHkpe2Zvcih2YXIgeCxJPVtdLE49MCxPPW8ubGVuZ3RoLFg9IXk7TjxPO04rKyl4PSFjKG9bTl0sTikseCE9PVgmJkkucHVzaChvW05dKTtyZXR1cm4gSX0sbWFwOmZ1bmN0aW9uKG8sYyx5KXt2YXIgeCxJLE49MCxPPVtdO2lmKFcobykpZm9yKHg9by5sZW5ndGg7Tjx4O04rKylJPWMob1tOXSxOLHkpLEkhPW51bGwmJk8ucHVzaChJKTtlbHNlIGZvcihOIGluIG8pST1jKG9bTl0sTix5KSxJIT1udWxsJiZPLnB1c2goSSk7cmV0dXJuIGEoTyl9LGd1aWQ6MSxzdXBwb3J0OmJ9KSx0eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiYoZi5mbltTeW1ib2wuaXRlcmF0b3JdPW5bU3ltYm9sLml0ZXJhdG9yXSksZi5lYWNoKCJCb29sZWFuIE51bWJlciBTdHJpbmcgRnVuY3Rpb24gQXJyYXkgRGF0ZSBSZWdFeHAgT2JqZWN0IEVycm9yIFN5bWJvbCIuc3BsaXQoIiAiKSxmdW5jdGlvbihvLGMpe2RbIltvYmplY3QgIitjKyJdIl09Yy50b0xvd2VyQ2FzZSgpfSk7ZnVuY3Rpb24gVyhvKXt2YXIgYz0hIW8mJiJsZW5ndGgiaW4gbyYmby5sZW5ndGgseT1DKG8pO3JldHVybiBUKG8pfHxEKG8pPyExOnk9PT0iYXJyYXkifHxjPT09MHx8dHlwZW9mIGM9PSJudW1iZXIiJiZjPjAmJmMtMSBpbiBvfWZ1bmN0aW9uIFoobyxjKXtyZXR1cm4gby5ub2RlTmFtZSYmby5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09Yy50b0xvd2VyQ2FzZSgpfXZhciBpZT1uLnBvcCxFPW4uc29ydCxKPW4uc3BsaWNlLF89IltcXHgyMFxcdFxcclxcblxcZl0iLFM9bmV3IFJlZ0V4cCgiXiIrXysiK3woKD86XnxbXlxcXFxdKSg/OlxcXFwuKSopIitfKyIrJCIsImciKTtmLmNvbnRhaW5zPWZ1bmN0aW9uKG8sYyl7dmFyIHk9YyYmYy5wYXJlbnROb2RlO3JldHVybiBvPT09eXx8ISEoeSYmeS5ub2RlVHlwZT09PTEmJihvLmNvbnRhaW5zP28uY29udGFpbnMoeSk6by5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmby5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih5KSYxNikpfTt2YXIgaz0vKFtcMC1ceDFmXHg3Zl18Xi0/XGQpfF4tJHxbXlx4ODAtXHVGRkZGXHctXS9nO2Z1bmN0aW9uIEwobyxjKXtyZXR1cm4gYz9vPT09IlwwIj8iXHVGRkZEIjpvLnNsaWNlKDAsLTEpKyJcXCIrby5jaGFyQ29kZUF0KG8ubGVuZ3RoLTEpLnRvU3RyaW5nKDE2KSsiICI6IlxcIitvfWYuZXNjYXBlU2VsZWN0b3I9ZnVuY3Rpb24obyl7cmV0dXJuKG8rIiIpLnJlcGxhY2UoayxMKX07dmFyIFI9aCxCPXM7KGZ1bmN0aW9uKCl7dmFyIG8sYyx5LHgsSSxOPUIsTyxYLFUsUSxjZSxwZT1mLmV4cGFuZG8sb2U9MCx3ZT0wLFJlPUlyKCksWGU9SXIoKSx6ZT1JcigpLHB0PUlyKCksZHQ9ZnVuY3Rpb24oVixZKXtyZXR1cm4gVj09PVkmJihJPSEwKSwwfSxZdD0iY2hlY2tlZHxzZWxlY3RlZHxhc3luY3xhdXRvZm9jdXN8YXV0b3BsYXl8Y29udHJvbHN8ZGVmZXJ8ZGlzYWJsZWR8aGlkZGVufGlzbWFwfGxvb3B8bXVsdGlwbGV8b3BlbnxyZWFkb25seXxyZXF1aXJlZHxzY29wZWQiLEt0PSIoPzpcXFxcW1xcZGEtZkEtRl17MSw2fSIrXysiP3xcXFxcW15cXHJcXG5cXGZdfFtcXHctXXxbXlwwLVxceDdmXSkrIiwkZT0iXFxbIitfKyIqKCIrS3QrIikoPzoiK18rIiooWypeJHwhfl0/PSkiK18rYCooPzonKCg/OlxcXFwufFteXFxcXCddKSopJ3wiKCg/OlxcXFwufFteXFxcXCJdKSopInwoYCtLdCsiKSl8KSIrXysiKlxcXSIseG49IjooIitLdCtgKSg/OlxcKCgoJygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8IigoPzpcXFxcLnxbXlxcXFwiXSkqKSIpfCgoPzpcXFxcLnxbXlxcXFwoKVtcXF1dfGArJGUrIikqKXwuKilcXCl8KSIsWmU9bmV3IFJlZ0V4cChfKyIrIiwiZyIpLGx0PW5ldyBSZWdFeHAoIl4iK18rIiosIitfKyIqIiksYXI9bmV3IFJlZ0V4cCgiXiIrXysiKihbPit+XXwiK18rIikiK18rIioiKSx4aT1uZXcgUmVnRXhwKF8rInw+IiksSnQ9bmV3IFJlZ0V4cCh4biksc3I9bmV3IFJlZ0V4cCgiXiIrS3QrIiQiKSxRdD17SUQ6bmV3IFJlZ0V4cCgiXiMoIitLdCsiKSIpLENMQVNTOm5ldyBSZWdFeHAoIl5cXC4oIitLdCsiKSIpLFRBRzpuZXcgUmVnRXhwKCJeKCIrS3QrInxbKl0pIiksQVRUUjpuZXcgUmVnRXhwKCJeIiskZSksUFNFVURPOm5ldyBSZWdFeHAoIl4iK3huKSxDSElMRDpuZXcgUmVnRXhwKCJeOihvbmx5fGZpcnN0fGxhc3R8bnRofG50aC1sYXN0KS0oY2hpbGR8b2YtdHlwZSkoPzpcXCgiK18rIiooZXZlbnxvZGR8KChbKy1dfCkoXFxkKilufCkiK18rIiooPzooWystXXwpIitfKyIqKFxcZCspfCkpIitfKyIqXFwpfCkiLCJpIiksYm9vbDpuZXcgUmVnRXhwKCJeKD86IitZdCsiKSQiLCJpIiksbmVlZHNDb250ZXh0Om5ldyBSZWdFeHAoIl4iK18rIipbPit+XXw6KGV2ZW58b2RkfGVxfGd0fGx0fG50aHxmaXJzdHxsYXN0KSg/OlxcKCIrXysiKigoPzotXFxkKT9cXGQqKSIrXysiKlxcKXwpKD89W14tXXwkKSIsImkiKX0sY249L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxkbj0vXmhcZCQvaSxWdD0vXig/OiMoW1x3LV0rKXwoXHcrKXxcLihbXHctXSspKSQvLENpPS9bK35dLyxhbj1uZXcgUmVnRXhwKCJcXFxcW1xcZGEtZkEtRl17MSw2fSIrXysiP3xcXFxcKFteXFxyXFxuXFxmXSkiLCJnIiksc249ZnVuY3Rpb24oVixZKXt2YXIgc2U9IjB4IitWLnNsaWNlKDEpLTY1NTM2O3JldHVybiBZfHwoc2U8MD9TdHJpbmcuZnJvbUNoYXJDb2RlKHNlKzY1NTM2KTpTdHJpbmcuZnJvbUNoYXJDb2RlKHNlPj4xMHw1NTI5NixzZSYxMDIzfDU2MzIwKSl9LGtsPWZ1bmN0aW9uKCl7Zm4oKX0sQWw9RnIoZnVuY3Rpb24oVil7cmV0dXJuIFYuZGlzYWJsZWQ9PT0hMCYmWihWLCJmaWVsZHNldCIpfSx7ZGlyOiJwYXJlbnROb2RlIixuZXh0OiJsZWdlbmQifSk7ZnVuY3Rpb24gSWwoKXt0cnl7cmV0dXJuIE8uYWN0aXZlRWxlbWVudH1jYXRjaHt9fXRyeXtOLmFwcGx5KG49aS5jYWxsKFIuY2hpbGROb2RlcyksUi5jaGlsZE5vZGVzKSxuW1IuY2hpbGROb2Rlcy5sZW5ndGhdLm5vZGVUeXBlfWNhdGNoe049e2FwcGx5OmZ1bmN0aW9uKFksc2Upe0IuYXBwbHkoWSxpLmNhbGwoc2UpKX0sY2FsbDpmdW5jdGlvbihZKXtCLmFwcGx5KFksaS5jYWxsKGFyZ3VtZW50cywxKSl9fX1mdW5jdGlvbiBRZShWLFksc2UsdWUpe3ZhciBoZSxTZSxrZSxGZSxBZSxXZSxCZSxNZT1ZJiZZLm93bmVyRG9jdW1lbnQsVWU9WT9ZLm5vZGVUeXBlOjk7aWYoc2U9c2V8fFtdLHR5cGVvZiBWIT0ic3RyaW5nInx8IVZ8fFVlIT09MSYmVWUhPT05JiZVZSE9PTExKXJldHVybiBzZTtpZighdWUmJihmbihZKSxZPVl8fE8sVSkpe2lmKFVlIT09MTEmJihBZT1WdC5leGVjKFYpKSlpZihoZT1BZVsxXSl7aWYoVWU9PT05KWlmKGtlPVkuZ2V0RWxlbWVudEJ5SWQoaGUpKXtpZihrZS5pZD09PWhlKXJldHVybiBOLmNhbGwoc2Usa2UpLHNlfWVsc2UgcmV0dXJuIHNlO2Vsc2UgaWYoTWUmJihrZT1NZS5nZXRFbGVtZW50QnlJZChoZSkpJiZRZS5jb250YWlucyhZLGtlKSYma2UuaWQ9PT1oZSlyZXR1cm4gTi5jYWxsKHNlLGtlKSxzZX1lbHNle2lmKEFlWzJdKXJldHVybiBOLmFwcGx5KHNlLFkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoVikpLHNlO2lmKChoZT1BZVszXSkmJlkuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSlyZXR1cm4gTi5hcHBseShzZSxZLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoaGUpKSxzZX1pZighcHRbVisiICJdJiYoIVF8fCFRLnRlc3QoVikpKXtpZihCZT1WLE1lPVksVWU9PT0xJiYoeGkudGVzdChWKXx8YXIudGVzdChWKSkpe2ZvcihNZT1DaS50ZXN0KFYpJiZTaShZLnBhcmVudE5vZGUpfHxZLChNZSE9WXx8IWIuc2NvcGUpJiYoKEZlPVkuZ2V0QXR0cmlidXRlKCJpZCIpKT9GZT1mLmVzY2FwZVNlbGVjdG9yKEZlKTpZLnNldEF0dHJpYnV0ZSgiaWQiLEZlPXBlKSksV2U9b3IoViksU2U9V2UubGVuZ3RoO1NlLS07KVdlW1NlXT0oRmU/IiMiK0ZlOiI6c2NvcGUiKSsiICIrTnIoV2VbU2VdKTtCZT1XZS5qb2luKCIsIil9dHJ5e3JldHVybiBOLmFwcGx5KHNlLE1lLnF1ZXJ5U2VsZWN0b3JBbGwoQmUpKSxzZX1jYXRjaHtwdChWLCEwKX1maW5hbGx5e0ZlPT09cGUmJlkucmVtb3ZlQXR0cmlidXRlKCJpZCIpfX19cmV0dXJuIFFhKFYucmVwbGFjZShTLCIkMSIpLFksc2UsdWUpfWZ1bmN0aW9uIElyKCl7dmFyIFY9W107ZnVuY3Rpb24gWShzZSx1ZSl7cmV0dXJuIFYucHVzaChzZSsiICIpPmMuY2FjaGVMZW5ndGgmJmRlbGV0ZSBZW1Yuc2hpZnQoKV0sWVtzZSsiICJdPXVlfXJldHVybiBZfWZ1bmN0aW9uIFh0KFYpe3JldHVybiBWW3BlXT0hMCxWfWZ1bmN0aW9uIFJuKFYpe3ZhciBZPU8uY3JlYXRlRWxlbWVudCgiZmllbGRzZXQiKTt0cnl7cmV0dXJuISFWKFkpfWNhdGNoe3JldHVybiExfWZpbmFsbHl7WS5wYXJlbnROb2RlJiZZLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoWSksWT1udWxsfX1mdW5jdGlvbiBObChWKXtyZXR1cm4gZnVuY3Rpb24oWSl7cmV0dXJuIFooWSwiaW5wdXQiKSYmWS50eXBlPT09Vn19ZnVuY3Rpb24gRmwoVil7cmV0dXJuIGZ1bmN0aW9uKFkpe3JldHVybihaKFksImlucHV0Iil8fFooWSwiYnV0dG9uIikpJiZZLnR5cGU9PT1WfX1mdW5jdGlvbiBLYShWKXtyZXR1cm4gZnVuY3Rpb24oWSl7cmV0dXJuImZvcm0iaW4gWT9ZLnBhcmVudE5vZGUmJlkuZGlzYWJsZWQ9PT0hMT8ibGFiZWwiaW4gWT8ibGFiZWwiaW4gWS5wYXJlbnROb2RlP1kucGFyZW50Tm9kZS5kaXNhYmxlZD09PVY6WS5kaXNhYmxlZD09PVY6WS5pc0Rpc2FibGVkPT09Vnx8WS5pc0Rpc2FibGVkIT09IVYmJkFsKFkpPT09VjpZLmRpc2FibGVkPT09VjoibGFiZWwiaW4gWT9ZLmRpc2FibGVkPT09VjohMX19ZnVuY3Rpb24gQ24oVil7cmV0dXJuIFh0KGZ1bmN0aW9uKFkpe3JldHVybiBZPStZLFh0KGZ1bmN0aW9uKHNlLHVlKXtmb3IodmFyIGhlLFNlPVYoW10sc2UubGVuZ3RoLFkpLGtlPVNlLmxlbmd0aDtrZS0tOylzZVtoZT1TZVtrZV1dJiYoc2VbaGVdPSEodWVbaGVdPXNlW2hlXSkpfSl9KX1mdW5jdGlvbiBTaShWKXtyZXR1cm4gViYmdHlwZW9mIFYuZ2V0RWxlbWVudHNCeVRhZ05hbWU8InUiJiZWfWZ1bmN0aW9uIGZuKFYpe3ZhciBZLHNlPVY/Vi5vd25lckRvY3VtZW50fHxWOlI7cmV0dXJuIHNlPT1PfHxzZS5ub2RlVHlwZSE9PTl8fCFzZS5kb2N1bWVudEVsZW1lbnR8fChPPXNlLFg9Ty5kb2N1bWVudEVsZW1lbnQsVT0hZi5pc1hNTERvYyhPKSxjZT1YLm1hdGNoZXN8fFgud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxYLm1zTWF0Y2hlc1NlbGVjdG9yLFgubXNNYXRjaGVzU2VsZWN0b3ImJlIhPU8mJihZPU8uZGVmYXVsdFZpZXcpJiZZLnRvcCE9PVkmJlkuYWRkRXZlbnRMaXN0ZW5lcigidW5sb2FkIixrbCksYi5nZXRCeUlkPVJuKGZ1bmN0aW9uKHVlKXtyZXR1cm4gWC5hcHBlbmRDaGlsZCh1ZSkuaWQ9Zi5leHBhbmRvLCFPLmdldEVsZW1lbnRzQnlOYW1lfHwhTy5nZXRFbGVtZW50c0J5TmFtZShmLmV4cGFuZG8pLmxlbmd0aH0pLGIuZGlzY29ubmVjdGVkTWF0Y2g9Um4oZnVuY3Rpb24odWUpe3JldHVybiBjZS5jYWxsKHVlLCIqIil9KSxiLnNjb3BlPVJuKGZ1bmN0aW9uKCl7cmV0dXJuIE8ucXVlcnlTZWxlY3RvckFsbCgiOnNjb3BlIil9KSxiLmNzc0hhcz1SbihmdW5jdGlvbigpe3RyeXtyZXR1cm4gTy5xdWVyeVNlbGVjdG9yKCI6aGFzKCosOmpxZmFrZSkiKSwhMX1jYXRjaHtyZXR1cm4hMH19KSxiLmdldEJ5SWQ/KGMuZmlsdGVyLklEPWZ1bmN0aW9uKHVlKXt2YXIgaGU9dWUucmVwbGFjZShhbixzbik7cmV0dXJuIGZ1bmN0aW9uKFNlKXtyZXR1cm4gU2UuZ2V0QXR0cmlidXRlKCJpZCIpPT09aGV9fSxjLmZpbmQuSUQ9ZnVuY3Rpb24odWUsaGUpe2lmKHR5cGVvZiBoZS5nZXRFbGVtZW50QnlJZDwidSImJlUpe3ZhciBTZT1oZS5nZXRFbGVtZW50QnlJZCh1ZSk7cmV0dXJuIFNlP1tTZV06W119fSk6KGMuZmlsdGVyLklEPWZ1bmN0aW9uKHVlKXt2YXIgaGU9dWUucmVwbGFjZShhbixzbik7cmV0dXJuIGZ1bmN0aW9uKFNlKXt2YXIga2U9dHlwZW9mIFNlLmdldEF0dHJpYnV0ZU5vZGU8InUiJiZTZS5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpO3JldHVybiBrZSYma2UudmFsdWU9PT1oZX19LGMuZmluZC5JRD1mdW5jdGlvbih1ZSxoZSl7aWYodHlwZW9mIGhlLmdldEVsZW1lbnRCeUlkPCJ1IiYmVSl7dmFyIFNlLGtlLEZlLEFlPWhlLmdldEVsZW1lbnRCeUlkKHVlKTtpZihBZSl7aWYoU2U9QWUuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKSxTZSYmU2UudmFsdWU9PT11ZSlyZXR1cm5bQWVdO2ZvcihGZT1oZS5nZXRFbGVtZW50c0J5TmFtZSh1ZSksa2U9MDtBZT1GZVtrZSsrXTspaWYoU2U9QWUuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKSxTZSYmU2UudmFsdWU9PT11ZSlyZXR1cm5bQWVdfXJldHVybltdfX0pLGMuZmluZC5UQUc9ZnVuY3Rpb24odWUsaGUpe3JldHVybiB0eXBlb2YgaGUuZ2V0RWxlbWVudHNCeVRhZ05hbWU8InUiP2hlLmdldEVsZW1lbnRzQnlUYWdOYW1lKHVlKTpoZS5xdWVyeVNlbGVjdG9yQWxsKHVlKX0sYy5maW5kLkNMQVNTPWZ1bmN0aW9uKHVlLGhlKXtpZih0eXBlb2YgaGUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZTwidSImJlUpcmV0dXJuIGhlLmdldEVsZW1lbnRzQnlDbGFzc05hbWUodWUpfSxRPVtdLFJuKGZ1bmN0aW9uKHVlKXt2YXIgaGU7WC5hcHBlbmRDaGlsZCh1ZSkuaW5uZXJIVE1MPSI8YSBpZD0nIitwZSsiJyBocmVmPScnIGRpc2FibGVkPSdkaXNhYmxlZCc+PC9hPjxzZWxlY3QgaWQ9JyIrcGUrIi1cclxcJyBkaXNhYmxlZD0nZGlzYWJsZWQnPjxvcHRpb24gc2VsZWN0ZWQ9Jyc+PC9vcHRpb24+PC9zZWxlY3Q+Iix1ZS5xdWVyeVNlbGVjdG9yQWxsKCJbc2VsZWN0ZWRdIikubGVuZ3RofHxRLnB1c2goIlxcWyIrXysiKig/OnZhbHVlfCIrWXQrIikiKSx1ZS5xdWVyeVNlbGVjdG9yQWxsKCJbaWR+PSIrcGUrIi1dIikubGVuZ3RofHxRLnB1c2goIn49IiksdWUucXVlcnlTZWxlY3RvckFsbCgiYSMiK3BlKyIrKiIpLmxlbmd0aHx8US5wdXNoKCIuIy4rWyt+XSIpLHVlLnF1ZXJ5U2VsZWN0b3JBbGwoIjpjaGVja2VkIikubGVuZ3RofHxRLnB1c2goIjpjaGVja2VkIiksaGU9Ty5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLGhlLnNldEF0dHJpYnV0ZSgidHlwZSIsImhpZGRlbiIpLHVlLmFwcGVuZENoaWxkKGhlKS5zZXRBdHRyaWJ1dGUoIm5hbWUiLCJEIiksWC5hcHBlbmRDaGlsZCh1ZSkuZGlzYWJsZWQ9ITAsdWUucXVlcnlTZWxlY3RvckFsbCgiOmRpc2FibGVkIikubGVuZ3RoIT09MiYmUS5wdXNoKCI6ZW5hYmxlZCIsIjpkaXNhYmxlZCIpLGhlPU8uY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxoZS5zZXRBdHRyaWJ1dGUoIm5hbWUiLCIiKSx1ZS5hcHBlbmRDaGlsZChoZSksdWUucXVlcnlTZWxlY3RvckFsbCgiW25hbWU9JyddIikubGVuZ3RofHxRLnB1c2goIlxcWyIrXysiKm5hbWUiK18rIio9IitfK2AqKD86Jyd8IiIpYCl9KSxiLmNzc0hhc3x8US5wdXNoKCI6aGFzIiksUT1RLmxlbmd0aCYmbmV3IFJlZ0V4cChRLmpvaW4oInwiKSksZHQ9ZnVuY3Rpb24odWUsaGUpe2lmKHVlPT09aGUpcmV0dXJuIEk9ITAsMDt2YXIgU2U9IXVlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uLSFoZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbjtyZXR1cm4gU2V8fChTZT0odWUub3duZXJEb2N1bWVudHx8dWUpPT0oaGUub3duZXJEb2N1bWVudHx8aGUpP3VlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGhlKToxLFNlJjF8fCFiLnNvcnREZXRhY2hlZCYmaGUuY29tcGFyZURvY3VtZW50UG9zaXRpb24odWUpPT09U2U/dWU9PT1PfHx1ZS5vd25lckRvY3VtZW50PT1SJiZRZS5jb250YWlucyhSLHVlKT8tMTpoZT09PU98fGhlLm93bmVyRG9jdW1lbnQ9PVImJlFlLmNvbnRhaW5zKFIsaGUpPzE6eD91LmNhbGwoeCx1ZSktdS5jYWxsKHgsaGUpOjA6U2UmND8tMToxKX0pLE99UWUubWF0Y2hlcz1mdW5jdGlvbihWLFkpe3JldHVybiBRZShWLG51bGwsbnVsbCxZKX0sUWUubWF0Y2hlc1NlbGVjdG9yPWZ1bmN0aW9uKFYsWSl7aWYoZm4oViksVSYmIXB0W1krIiAiXSYmKCFRfHwhUS50ZXN0KFkpKSl0cnl7dmFyIHNlPWNlLmNhbGwoVixZKTtpZihzZXx8Yi5kaXNjb25uZWN0ZWRNYXRjaHx8Vi5kb2N1bWVudCYmVi5kb2N1bWVudC5ub2RlVHlwZSE9PTExKXJldHVybiBzZX1jYXRjaHtwdChZLCEwKX1yZXR1cm4gUWUoWSxPLG51bGwsW1ZdKS5sZW5ndGg+MH0sUWUuY29udGFpbnM9ZnVuY3Rpb24oVixZKXtyZXR1cm4oVi5vd25lckRvY3VtZW50fHxWKSE9TyYmZm4oViksZi5jb250YWlucyhWLFkpfSxRZS5hdHRyPWZ1bmN0aW9uKFYsWSl7KFYub3duZXJEb2N1bWVudHx8VikhPU8mJmZuKFYpO3ZhciBzZT1jLmF0dHJIYW5kbGVbWS50b0xvd2VyQ2FzZSgpXSx1ZT1zZSYmdi5jYWxsKGMuYXR0ckhhbmRsZSxZLnRvTG93ZXJDYXNlKCkpP3NlKFYsWSwhVSk6dm9pZCAwO3JldHVybiB1ZSE9PXZvaWQgMD91ZTpWLmdldEF0dHJpYnV0ZShZKX0sUWUuZXJyb3I9ZnVuY3Rpb24oVil7dGhyb3cgbmV3IEVycm9yKCJTeW50YXggZXJyb3IsIHVucmVjb2duaXplZCBleHByZXNzaW9uOiAiK1YpfSxmLnVuaXF1ZVNvcnQ9ZnVuY3Rpb24oVil7dmFyIFksc2U9W10sdWU9MCxoZT0wO2lmKEk9IWIuc29ydFN0YWJsZSx4PSFiLnNvcnRTdGFibGUmJmkuY2FsbChWLDApLEUuY2FsbChWLGR0KSxJKXtmb3IoO1k9VltoZSsrXTspWT09PVZbaGVdJiYodWU9c2UucHVzaChoZSkpO2Zvcig7dWUtLTspSi5jYWxsKFYsc2VbdWVdLDEpfXJldHVybiB4PW51bGwsVn0sZi5mbi51bmlxdWVTb3J0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGYudW5pcXVlU29ydChpLmFwcGx5KHRoaXMpKSl9LGM9Zi5leHByPXtjYWNoZUxlbmd0aDo1MCxjcmVhdGVQc2V1ZG86WHQsbWF0Y2g6UXQsYXR0ckhhbmRsZTp7fSxmaW5kOnt9LHJlbGF0aXZlOnsiPiI6e2RpcjoicGFyZW50Tm9kZSIsZmlyc3Q6ITB9LCIgIjp7ZGlyOiJwYXJlbnROb2RlIn0sIisiOntkaXI6InByZXZpb3VzU2libGluZyIsZmlyc3Q6ITB9LCJ+Ijp7ZGlyOiJwcmV2aW91c1NpYmxpbmcifX0scHJlRmlsdGVyOntBVFRSOmZ1bmN0aW9uKFYpe3JldHVybiBWWzFdPVZbMV0ucmVwbGFjZShhbixzbiksVlszXT0oVlszXXx8Vls0XXx8Vls1XXx8IiIpLnJlcGxhY2UoYW4sc24pLFZbMl09PT0ifj0iJiYoVlszXT0iICIrVlszXSsiICIpLFYuc2xpY2UoMCw0KX0sQ0hJTEQ6ZnVuY3Rpb24oVil7cmV0dXJuIFZbMV09VlsxXS50b0xvd2VyQ2FzZSgpLFZbMV0uc2xpY2UoMCwzKT09PSJudGgiPyhWWzNdfHxRZS5lcnJvcihWWzBdKSxWWzRdPSsoVls0XT9WWzVdKyhWWzZdfHwxKToyKihWWzNdPT09ImV2ZW4ifHxWWzNdPT09Im9kZCIpKSxWWzVdPSsoVls3XStWWzhdfHxWWzNdPT09Im9kZCIpKTpWWzNdJiZRZS5lcnJvcihWWzBdKSxWfSxQU0VVRE86ZnVuY3Rpb24oVil7dmFyIFksc2U9IVZbNl0mJlZbMl07cmV0dXJuIFF0LkNISUxELnRlc3QoVlswXSk/bnVsbDooVlszXT9WWzJdPVZbNF18fFZbNV18fCIiOnNlJiZKdC50ZXN0KHNlKSYmKFk9b3Ioc2UsITApKSYmKFk9c2UuaW5kZXhPZigiKSIsc2UubGVuZ3RoLVkpLXNlLmxlbmd0aCkmJihWWzBdPVZbMF0uc2xpY2UoMCxZKSxWWzJdPXNlLnNsaWNlKDAsWSkpLFYuc2xpY2UoMCwzKSl9fSxmaWx0ZXI6e1RBRzpmdW5jdGlvbihWKXt2YXIgWT1WLnJlcGxhY2UoYW4sc24pLnRvTG93ZXJDYXNlKCk7cmV0dXJuIFY9PT0iKiI/ZnVuY3Rpb24oKXtyZXR1cm4hMH06ZnVuY3Rpb24oc2Upe3JldHVybiBaKHNlLFkpfX0sQ0xBU1M6ZnVuY3Rpb24oVil7dmFyIFk9UmVbVisiICJdO3JldHVybiBZfHwoWT1uZXcgUmVnRXhwKCIoXnwiK18rIikiK1YrIigiK18rInwkKSIpKSYmUmUoVixmdW5jdGlvbihzZSl7cmV0dXJuIFkudGVzdCh0eXBlb2Ygc2UuY2xhc3NOYW1lPT0ic3RyaW5nIiYmc2UuY2xhc3NOYW1lfHx0eXBlb2Ygc2UuZ2V0QXR0cmlidXRlPCJ1IiYmc2UuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIil9KX0sQVRUUjpmdW5jdGlvbihWLFksc2Upe3JldHVybiBmdW5jdGlvbih1ZSl7dmFyIGhlPVFlLmF0dHIodWUsVik7cmV0dXJuIGhlPT1udWxsP1k9PT0iIT0iOlk/KGhlKz0iIixZPT09Ij0iP2hlPT09c2U6WT09PSIhPSI/aGUhPT1zZTpZPT09Il49Ij9zZSYmaGUuaW5kZXhPZihzZSk9PT0wOlk9PT0iKj0iP3NlJiZoZS5pbmRleE9mKHNlKT4tMTpZPT09IiQ9Ij9zZSYmaGUuc2xpY2UoLXNlLmxlbmd0aCk9PT1zZTpZPT09In49Ij8oIiAiK2hlLnJlcGxhY2UoWmUsIiAiKSsiICIpLmluZGV4T2Yoc2UpPi0xOlk9PT0ifD0iP2hlPT09c2V8fGhlLnNsaWNlKDAsc2UubGVuZ3RoKzEpPT09c2UrIi0iOiExKTohMH19LENISUxEOmZ1bmN0aW9uKFYsWSxzZSx1ZSxoZSl7dmFyIFNlPVYuc2xpY2UoMCwzKSE9PSJudGgiLGtlPVYuc2xpY2UoLTQpIT09Imxhc3QiLEZlPVk9PT0ib2YtdHlwZSI7cmV0dXJuIHVlPT09MSYmaGU9PT0wP2Z1bmN0aW9uKEFlKXtyZXR1cm4hIUFlLnBhcmVudE5vZGV9OmZ1bmN0aW9uKEFlLFdlLEJlKXt2YXIgTWUsVWUsUGUsYXQsQXQsZ3Q9U2UhPT1rZT8ibmV4dFNpYmxpbmciOiJwcmV2aW91c1NpYmxpbmciLEh0PUFlLnBhcmVudE5vZGUsZW49RmUmJkFlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksTW49IUJlJiYhRmUsd3Q9ITE7aWYoSHQpe2lmKFNlKXtmb3IoO2d0Oyl7Zm9yKFBlPUFlO1BlPVBlW2d0XTspaWYoRmU/WihQZSxlbik6UGUubm9kZVR5cGU9PT0xKXJldHVybiExO0F0PWd0PVY9PT0ib25seSImJiFBdCYmIm5leHRTaWJsaW5nIn1yZXR1cm4hMH1pZihBdD1ba2U/SHQuZmlyc3RDaGlsZDpIdC5sYXN0Q2hpbGRdLGtlJiZNbil7Zm9yKFVlPUh0W3BlXXx8KEh0W3BlXT17fSksTWU9VWVbVl18fFtdLGF0PU1lWzBdPT09b2UmJk1lWzFdLHd0PWF0JiZNZVsyXSxQZT1hdCYmSHQuY2hpbGROb2Rlc1thdF07UGU9KythdCYmUGUmJlBlW2d0XXx8KHd0PWF0PTApfHxBdC5wb3AoKTspaWYoUGUubm9kZVR5cGU9PT0xJiYrK3d0JiZQZT09PUFlKXtVZVtWXT1bb2UsYXQsd3RdO2JyZWFrfX1lbHNlIGlmKE1uJiYoVWU9QWVbcGVdfHwoQWVbcGVdPXt9KSxNZT1VZVtWXXx8W10sYXQ9TWVbMF09PT1vZSYmTWVbMV0sd3Q9YXQpLHd0PT09ITEpZm9yKDsoUGU9KythdCYmUGUmJlBlW2d0XXx8KHd0PWF0PTApfHxBdC5wb3AoKSkmJiEoKEZlP1ooUGUsZW4pOlBlLm5vZGVUeXBlPT09MSkmJisrd3QmJihNbiYmKFVlPVBlW3BlXXx8KFBlW3BlXT17fSksVWVbVl09W29lLHd0XSksUGU9PT1BZSkpOyk7cmV0dXJuIHd0LT1oZSx3dD09PXVlfHx3dCV1ZT09PTAmJnd0L3VlPj0wfX19LFBTRVVETzpmdW5jdGlvbihWLFkpe3ZhciBzZSx1ZT1jLnBzZXVkb3NbVl18fGMuc2V0RmlsdGVyc1tWLnRvTG93ZXJDYXNlKCldfHxRZS5lcnJvcigidW5zdXBwb3J0ZWQgcHNldWRvOiAiK1YpO3JldHVybiB1ZVtwZV0/dWUoWSk6dWUubGVuZ3RoPjE/KHNlPVtWLFYsIiIsWV0sYy5zZXRGaWx0ZXJzLmhhc093blByb3BlcnR5KFYudG9Mb3dlckNhc2UoKSk/WHQoZnVuY3Rpb24oaGUsU2Upe2Zvcih2YXIga2UsRmU9dWUoaGUsWSksQWU9RmUubGVuZ3RoO0FlLS07KWtlPXUuY2FsbChoZSxGZVtBZV0pLGhlW2tlXT0hKFNlW2tlXT1GZVtBZV0pfSk6ZnVuY3Rpb24oaGUpe3JldHVybiB1ZShoZSwwLHNlKX0pOnVlfX0scHNldWRvczp7bm90Olh0KGZ1bmN0aW9uKFYpe3ZhciBZPVtdLHNlPVtdLHVlPUFpKFYucmVwbGFjZShTLCIkMSIpKTtyZXR1cm4gdWVbcGVdP1h0KGZ1bmN0aW9uKGhlLFNlLGtlLEZlKXtmb3IodmFyIEFlLFdlPXVlKGhlLG51bGwsRmUsW10pLEJlPWhlLmxlbmd0aDtCZS0tOykoQWU9V2VbQmVdKSYmKGhlW0JlXT0hKFNlW0JlXT1BZSkpfSk6ZnVuY3Rpb24oaGUsU2Usa2Upe3JldHVybiBZWzBdPWhlLHVlKFksbnVsbCxrZSxzZSksWVswXT1udWxsLCFzZS5wb3AoKX19KSxoYXM6WHQoZnVuY3Rpb24oVil7cmV0dXJuIGZ1bmN0aW9uKFkpe3JldHVybiBRZShWLFkpLmxlbmd0aD4wfX0pLGNvbnRhaW5zOlh0KGZ1bmN0aW9uKFYpe3JldHVybiBWPVYucmVwbGFjZShhbixzbiksZnVuY3Rpb24oWSl7cmV0dXJuKFkudGV4dENvbnRlbnR8fGYudGV4dChZKSkuaW5kZXhPZihWKT4tMX19KSxsYW5nOlh0KGZ1bmN0aW9uKFYpe3JldHVybiBzci50ZXN0KFZ8fCIiKXx8UWUuZXJyb3IoInVuc3VwcG9ydGVkIGxhbmc6ICIrViksVj1WLnJlcGxhY2UoYW4sc24pLnRvTG93ZXJDYXNlKCksZnVuY3Rpb24oWSl7dmFyIHNlO2RvIGlmKHNlPVU/WS5sYW5nOlkuZ2V0QXR0cmlidXRlKCJ4bWw6bGFuZyIpfHxZLmdldEF0dHJpYnV0ZSgibGFuZyIpKXJldHVybiBzZT1zZS50b0xvd2VyQ2FzZSgpLHNlPT09Vnx8c2UuaW5kZXhPZihWKyItIik9PT0wO3doaWxlKChZPVkucGFyZW50Tm9kZSkmJlkubm9kZVR5cGU9PT0xKTtyZXR1cm4hMX19KSx0YXJnZXQ6ZnVuY3Rpb24oVil7dmFyIFk9ZS5sb2NhdGlvbiYmZS5sb2NhdGlvbi5oYXNoO3JldHVybiBZJiZZLnNsaWNlKDEpPT09Vi5pZH0scm9vdDpmdW5jdGlvbihWKXtyZXR1cm4gVj09PVh9LGZvY3VzOmZ1bmN0aW9uKFYpe3JldHVybiBWPT09SWwoKSYmTy5oYXNGb2N1cygpJiYhIShWLnR5cGV8fFYuaHJlZnx8flYudGFiSW5kZXgpfSxlbmFibGVkOkthKCExKSxkaXNhYmxlZDpLYSghMCksY2hlY2tlZDpmdW5jdGlvbihWKXtyZXR1cm4gWihWLCJpbnB1dCIpJiYhIVYuY2hlY2tlZHx8WihWLCJvcHRpb24iKSYmISFWLnNlbGVjdGVkfSxzZWxlY3RlZDpmdW5jdGlvbihWKXtyZXR1cm4gVi5wYXJlbnROb2RlJiZWLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCxWLnNlbGVjdGVkPT09ITB9LGVtcHR5OmZ1bmN0aW9uKFYpe2ZvcihWPVYuZmlyc3RDaGlsZDtWO1Y9Vi5uZXh0U2libGluZylpZihWLm5vZGVUeXBlPDYpcmV0dXJuITE7cmV0dXJuITB9LHBhcmVudDpmdW5jdGlvbihWKXtyZXR1cm4hYy5wc2V1ZG9zLmVtcHR5KFYpfSxoZWFkZXI6ZnVuY3Rpb24oVil7cmV0dXJuIGRuLnRlc3QoVi5ub2RlTmFtZSl9LGlucHV0OmZ1bmN0aW9uKFYpe3JldHVybiBjbi50ZXN0KFYubm9kZU5hbWUpfSxidXR0b246ZnVuY3Rpb24oVil7cmV0dXJuIFooViwiaW5wdXQiKSYmVi50eXBlPT09ImJ1dHRvbiJ8fFooViwiYnV0dG9uIil9LHRleHQ6ZnVuY3Rpb24oVil7dmFyIFk7cmV0dXJuIFooViwiaW5wdXQiKSYmVi50eXBlPT09InRleHQiJiYoKFk9Vi5nZXRBdHRyaWJ1dGUoInR5cGUiKSk9PW51bGx8fFkudG9Mb3dlckNhc2UoKT09PSJ0ZXh0Iil9LGZpcnN0OkNuKGZ1bmN0aW9uKCl7cmV0dXJuWzBdfSksbGFzdDpDbihmdW5jdGlvbihWLFkpe3JldHVybltZLTFdfSksZXE6Q24oZnVuY3Rpb24oVixZLHNlKXtyZXR1cm5bc2U8MD9zZStZOnNlXX0pLGV2ZW46Q24oZnVuY3Rpb24oVixZKXtmb3IodmFyIHNlPTA7c2U8WTtzZSs9MilWLnB1c2goc2UpO3JldHVybiBWfSksb2RkOkNuKGZ1bmN0aW9uKFYsWSl7Zm9yKHZhciBzZT0xO3NlPFk7c2UrPTIpVi5wdXNoKHNlKTtyZXR1cm4gVn0pLGx0OkNuKGZ1bmN0aW9uKFYsWSxzZSl7dmFyIHVlO2ZvcihzZTwwP3VlPXNlK1k6c2U+WT91ZT1ZOnVlPXNlOy0tdWU+PTA7KVYucHVzaCh1ZSk7cmV0dXJuIFZ9KSxndDpDbihmdW5jdGlvbihWLFksc2Upe2Zvcih2YXIgdWU9c2U8MD9zZStZOnNlOysrdWU8WTspVi5wdXNoKHVlKTtyZXR1cm4gVn0pfX0sYy5wc2V1ZG9zLm50aD1jLnBzZXVkb3MuZXE7Zm9yKG8gaW57cmFkaW86ITAsY2hlY2tib3g6ITAsZmlsZTohMCxwYXNzd29yZDohMCxpbWFnZTohMH0pYy5wc2V1ZG9zW29dPU5sKG8pO2ZvcihvIGlue3N1Ym1pdDohMCxyZXNldDohMH0pYy5wc2V1ZG9zW29dPUZsKG8pO2Z1bmN0aW9uIEphKCl7fUphLnByb3RvdHlwZT1jLmZpbHRlcnM9Yy5wc2V1ZG9zLGMuc2V0RmlsdGVycz1uZXcgSmE7ZnVuY3Rpb24gb3IoVixZKXt2YXIgc2UsdWUsaGUsU2Usa2UsRmUsQWUsV2U9WGVbVisiICJdO2lmKFdlKXJldHVybiBZPzA6V2Uuc2xpY2UoMCk7Zm9yKGtlPVYsRmU9W10sQWU9Yy5wcmVGaWx0ZXI7a2U7KXsoIXNlfHwodWU9bHQuZXhlYyhrZSkpKSYmKHVlJiYoa2U9a2Uuc2xpY2UodWVbMF0ubGVuZ3RoKXx8a2UpLEZlLnB1c2goaGU9W10pKSxzZT0hMSwodWU9YXIuZXhlYyhrZSkpJiYoc2U9dWUuc2hpZnQoKSxoZS5wdXNoKHt2YWx1ZTpzZSx0eXBlOnVlWzBdLnJlcGxhY2UoUywiICIpfSksa2U9a2Uuc2xpY2Uoc2UubGVuZ3RoKSk7Zm9yKFNlIGluIGMuZmlsdGVyKSh1ZT1RdFtTZV0uZXhlYyhrZSkpJiYoIUFlW1NlXXx8KHVlPUFlW1NlXSh1ZSkpKSYmKHNlPXVlLnNoaWZ0KCksaGUucHVzaCh7dmFsdWU6c2UsdHlwZTpTZSxtYXRjaGVzOnVlfSksa2U9a2Uuc2xpY2Uoc2UubGVuZ3RoKSk7aWYoIXNlKWJyZWFrfXJldHVybiBZP2tlLmxlbmd0aDprZT9RZS5lcnJvcihWKTpYZShWLEZlKS5zbGljZSgwKX1mdW5jdGlvbiBOcihWKXtmb3IodmFyIFk9MCxzZT1WLmxlbmd0aCx1ZT0iIjtZPHNlO1krKyl1ZSs9VltZXS52YWx1ZTtyZXR1cm4gdWV9ZnVuY3Rpb24gRnIoVixZLHNlKXt2YXIgdWU9WS5kaXIsaGU9WS5uZXh0LFNlPWhlfHx1ZSxrZT1zZSYmU2U9PT0icGFyZW50Tm9kZSIsRmU9d2UrKztyZXR1cm4gWS5maXJzdD9mdW5jdGlvbihBZSxXZSxCZSl7Zm9yKDtBZT1BZVt1ZV07KWlmKEFlLm5vZGVUeXBlPT09MXx8a2UpcmV0dXJuIFYoQWUsV2UsQmUpO3JldHVybiExfTpmdW5jdGlvbihBZSxXZSxCZSl7dmFyIE1lLFVlLFBlPVtvZSxGZV07aWYoQmUpe2Zvcig7QWU9QWVbdWVdOylpZigoQWUubm9kZVR5cGU9PT0xfHxrZSkmJlYoQWUsV2UsQmUpKXJldHVybiEwfWVsc2UgZm9yKDtBZT1BZVt1ZV07KWlmKEFlLm5vZGVUeXBlPT09MXx8a2UpaWYoVWU9QWVbcGVdfHwoQWVbcGVdPXt9KSxoZSYmWihBZSxoZSkpQWU9QWVbdWVdfHxBZTtlbHNle2lmKChNZT1VZVtTZV0pJiZNZVswXT09PW9lJiZNZVsxXT09PUZlKXJldHVybiBQZVsyXT1NZVsyXTtpZihVZVtTZV09UGUsUGVbMl09VihBZSxXZSxCZSkpcmV0dXJuITB9cmV0dXJuITF9fWZ1bmN0aW9uIFRpKFYpe3JldHVybiBWLmxlbmd0aD4xP2Z1bmN0aW9uKFksc2UsdWUpe2Zvcih2YXIgaGU9Vi5sZW5ndGg7aGUtLTspaWYoIVZbaGVdKFksc2UsdWUpKXJldHVybiExO3JldHVybiEwfTpWWzBdfWZ1bmN0aW9uIExsKFYsWSxzZSl7Zm9yKHZhciB1ZT0wLGhlPVkubGVuZ3RoO3VlPGhlO3VlKyspUWUoVixZW3VlXSxzZSk7cmV0dXJuIHNlfWZ1bmN0aW9uIExyKFYsWSxzZSx1ZSxoZSl7Zm9yKHZhciBTZSxrZT1bXSxGZT0wLEFlPVYubGVuZ3RoLFdlPVkhPW51bGw7RmU8QWU7RmUrKykoU2U9VltGZV0pJiYoIXNlfHxzZShTZSx1ZSxoZSkpJiYoa2UucHVzaChTZSksV2UmJlkucHVzaChGZSkpO3JldHVybiBrZX1mdW5jdGlvbiBEaShWLFksc2UsdWUsaGUsU2Upe3JldHVybiB1ZSYmIXVlW3BlXSYmKHVlPURpKHVlKSksaGUmJiFoZVtwZV0mJihoZT1EaShoZSxTZSkpLFh0KGZ1bmN0aW9uKGtlLEZlLEFlLFdlKXt2YXIgQmUsTWUsVWUsUGUsYXQ9W10sQXQ9W10sZ3Q9RmUubGVuZ3RoLEh0PWtlfHxMbChZfHwiKiIsQWUubm9kZVR5cGU/W0FlXTpBZSxbXSksZW49ViYmKGtlfHwhWSk/THIoSHQsYXQsVixBZSxXZSk6SHQ7aWYoc2U/KFBlPWhlfHwoa2U/VjpndHx8dWUpP1tdOkZlLHNlKGVuLFBlLEFlLFdlKSk6UGU9ZW4sdWUpZm9yKEJlPUxyKFBlLEF0KSx1ZShCZSxbXSxBZSxXZSksTWU9QmUubGVuZ3RoO01lLS07KShVZT1CZVtNZV0pJiYoUGVbQXRbTWVdXT0hKGVuW0F0W01lXV09VWUpKTtpZihrZSl7aWYoaGV8fFYpe2lmKGhlKXtmb3IoQmU9W10sTWU9UGUubGVuZ3RoO01lLS07KShVZT1QZVtNZV0pJiZCZS5wdXNoKGVuW01lXT1VZSk7aGUobnVsbCxQZT1bXSxCZSxXZSl9Zm9yKE1lPVBlLmxlbmd0aDtNZS0tOykoVWU9UGVbTWVdKSYmKEJlPWhlP3UuY2FsbChrZSxVZSk6YXRbTWVdKT4tMSYmKGtlW0JlXT0hKEZlW0JlXT1VZSkpfX1lbHNlIFBlPUxyKFBlPT09RmU/UGUuc3BsaWNlKGd0LFBlLmxlbmd0aCk6UGUpLGhlP2hlKG51bGwsRmUsUGUsV2UpOk4uYXBwbHkoRmUsUGUpfSl9ZnVuY3Rpb24ga2koVil7Zm9yKHZhciBZLHNlLHVlLGhlPVYubGVuZ3RoLFNlPWMucmVsYXRpdmVbVlswXS50eXBlXSxrZT1TZXx8Yy5yZWxhdGl2ZVsiICJdLEZlPVNlPzE6MCxBZT1GcihmdW5jdGlvbihNZSl7cmV0dXJuIE1lPT09WX0sa2UsITApLFdlPUZyKGZ1bmN0aW9uKE1lKXtyZXR1cm4gdS5jYWxsKFksTWUpPi0xfSxrZSwhMCksQmU9W2Z1bmN0aW9uKE1lLFVlLFBlKXt2YXIgYXQ9IVNlJiYoUGV8fFVlIT15KXx8KChZPVVlKS5ub2RlVHlwZT9BZShNZSxVZSxQZSk6V2UoTWUsVWUsUGUpKTtyZXR1cm4gWT1udWxsLGF0fV07RmU8aGU7RmUrKylpZihzZT1jLnJlbGF0aXZlW1ZbRmVdLnR5cGVdKUJlPVtGcihUaShCZSksc2UpXTtlbHNle2lmKHNlPWMuZmlsdGVyW1ZbRmVdLnR5cGVdLmFwcGx5KG51bGwsVltGZV0ubWF0Y2hlcyksc2VbcGVdKXtmb3IodWU9KytGZTt1ZTxoZSYmIWMucmVsYXRpdmVbVlt1ZV0udHlwZV07dWUrKyk7cmV0dXJuIERpKEZlPjEmJlRpKEJlKSxGZT4xJiZOcihWLnNsaWNlKDAsRmUtMSkuY29uY2F0KHt2YWx1ZTpWW0ZlLTJdLnR5cGU9PT0iICI/IioiOiIifSkpLnJlcGxhY2UoUywiJDEiKSxzZSxGZTx1ZSYma2koVi5zbGljZShGZSx1ZSkpLHVlPGhlJiZraShWPVYuc2xpY2UodWUpKSx1ZTxoZSYmTnIoVikpfUJlLnB1c2goc2UpfXJldHVybiBUaShCZSl9ZnVuY3Rpb24gUGwoVixZKXt2YXIgc2U9WS5sZW5ndGg+MCx1ZT1WLmxlbmd0aD4wLGhlPWZ1bmN0aW9uKFNlLGtlLEZlLEFlLFdlKXt2YXIgQmUsTWUsVWUsUGU9MCxhdD0iMCIsQXQ9U2UmJltdLGd0PVtdLEh0PXksZW49U2V8fHVlJiZjLmZpbmQuVEFHKCIqIixXZSksTW49b2UrPUh0PT1udWxsPzE6TWF0aC5yYW5kb20oKXx8LjEsd3Q9ZW4ubGVuZ3RoO2ZvcihXZSYmKHk9a2U9PU98fGtlfHxXZSk7YXQhPT13dCYmKEJlPWVuW2F0XSkhPW51bGw7YXQrKyl7aWYodWUmJkJlKXtmb3IoTWU9MCwha2UmJkJlLm93bmVyRG9jdW1lbnQhPU8mJihmbihCZSksRmU9IVUpO1VlPVZbTWUrK107KWlmKFVlKEJlLGtlfHxPLEZlKSl7Ti5jYWxsKEFlLEJlKTticmVha31XZSYmKG9lPU1uKX1zZSYmKChCZT0hVWUmJkJlKSYmUGUtLSxTZSYmQXQucHVzaChCZSkpfWlmKFBlKz1hdCxzZSYmYXQhPT1QZSl7Zm9yKE1lPTA7VWU9WVtNZSsrXTspVWUoQXQsZ3Qsa2UsRmUpO2lmKFNlKXtpZihQZT4wKWZvcig7YXQtLTspQXRbYXRdfHxndFthdF18fChndFthdF09aWUuY2FsbChBZSkpO2d0PUxyKGd0KX1OLmFwcGx5KEFlLGd0KSxXZSYmIVNlJiZndC5sZW5ndGg+MCYmUGUrWS5sZW5ndGg+MSYmZi51bmlxdWVTb3J0KEFlKX1yZXR1cm4gV2UmJihvZT1Nbix5PUh0KSxBdH07cmV0dXJuIHNlP1h0KGhlKTpoZX1mdW5jdGlvbiBBaShWLFkpe3ZhciBzZSx1ZT1bXSxoZT1bXSxTZT16ZVtWKyIgIl07aWYoIVNlKXtmb3IoWXx8KFk9b3IoVikpLHNlPVkubGVuZ3RoO3NlLS07KVNlPWtpKFlbc2VdKSxTZVtwZV0/dWUucHVzaChTZSk6aGUucHVzaChTZSk7U2U9emUoVixQbChoZSx1ZSkpLFNlLnNlbGVjdG9yPVZ9cmV0dXJuIFNlfWZ1bmN0aW9uIFFhKFYsWSxzZSx1ZSl7dmFyIGhlLFNlLGtlLEZlLEFlLFdlPXR5cGVvZiBWPT0iZnVuY3Rpb24iJiZWLEJlPSF1ZSYmb3IoVj1XZS5zZWxlY3Rvcnx8Vik7aWYoc2U9c2V8fFtdLEJlLmxlbmd0aD09PTEpe2lmKFNlPUJlWzBdPUJlWzBdLnNsaWNlKDApLFNlLmxlbmd0aD4yJiYoa2U9U2VbMF0pLnR5cGU9PT0iSUQiJiZZLm5vZGVUeXBlPT09OSYmVSYmYy5yZWxhdGl2ZVtTZVsxXS50eXBlXSl7aWYoWT0oYy5maW5kLklEKGtlLm1hdGNoZXNbMF0ucmVwbGFjZShhbixzbiksWSl8fFtdKVswXSxZKVdlJiYoWT1ZLnBhcmVudE5vZGUpO2Vsc2UgcmV0dXJuIHNlO1Y9Vi5zbGljZShTZS5zaGlmdCgpLnZhbHVlLmxlbmd0aCl9Zm9yKGhlPVF0Lm5lZWRzQ29udGV4dC50ZXN0KFYpPzA6U2UubGVuZ3RoO2hlLS0mJihrZT1TZVtoZV0sIWMucmVsYXRpdmVbRmU9a2UudHlwZV0pOylpZigoQWU9Yy5maW5kW0ZlXSkmJih1ZT1BZShrZS5tYXRjaGVzWzBdLnJlcGxhY2UoYW4sc24pLENpLnRlc3QoU2VbMF0udHlwZSkmJlNpKFkucGFyZW50Tm9kZSl8fFkpKSl7aWYoU2Uuc3BsaWNlKGhlLDEpLFY9dWUubGVuZ3RoJiZOcihTZSksIVYpcmV0dXJuIE4uYXBwbHkoc2UsdWUpLHNlO2JyZWFrfX1yZXR1cm4oV2V8fEFpKFYsQmUpKSh1ZSxZLCFVLHNlLCFZfHxDaS50ZXN0KFYpJiZTaShZLnBhcmVudE5vZGUpfHxZKSxzZX1iLnNvcnRTdGFibGU9cGUuc3BsaXQoIiIpLnNvcnQoZHQpLmpvaW4oIiIpPT09cGUsZm4oKSxiLnNvcnREZXRhY2hlZD1SbihmdW5jdGlvbihWKXtyZXR1cm4gVi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihPLmNyZWF0ZUVsZW1lbnQoImZpZWxkc2V0IikpJjF9KSxmLmZpbmQ9UWUsZi5leHByWyI6Il09Zi5leHByLnBzZXVkb3MsZi51bmlxdWU9Zi51bmlxdWVTb3J0LFFlLmNvbXBpbGU9QWksUWUuc2VsZWN0PVFhLFFlLnNldERvY3VtZW50PWZuLFFlLnRva2VuaXplPW9yLFFlLmVzY2FwZT1mLmVzY2FwZVNlbGVjdG9yLFFlLmdldFRleHQ9Zi50ZXh0LFFlLmlzWE1MPWYuaXNYTUxEb2MsUWUuc2VsZWN0b3JzPWYuZXhwcixRZS5zdXBwb3J0PWYuc3VwcG9ydCxRZS51bmlxdWVTb3J0PWYudW5pcXVlU29ydH0pKCk7dmFyIEc9ZnVuY3Rpb24obyxjLHkpe2Zvcih2YXIgeD1bXSxJPXkhPT12b2lkIDA7KG89b1tjXSkmJm8ubm9kZVR5cGUhPT05OylpZihvLm5vZGVUeXBlPT09MSl7aWYoSSYmZihvKS5pcyh5KSlicmVhazt4LnB1c2gobyl9cmV0dXJuIHh9LE09ZnVuY3Rpb24obyxjKXtmb3IodmFyIHk9W107bztvPW8ubmV4dFNpYmxpbmcpby5ub2RlVHlwZT09PTEmJm8hPT1jJiZ5LnB1c2gobyk7cmV0dXJuIHl9LHE9Zi5leHByLm1hdGNoLm5lZWRzQ29udGV4dCxhZT0vXjwoW2Etel1bXlwvXDA+Olx4MjBcdFxyXG5cZl0qKVtceDIwXHRcclxuXGZdKlwvPz4oPzo8XC9cMT58KSQvaTtmdW5jdGlvbiBlZShvLGMseSl7cmV0dXJuIFQoYyk/Zi5ncmVwKG8sZnVuY3Rpb24oeCxJKXtyZXR1cm4hIWMuY2FsbCh4LEkseCkhPT15fSk6Yy5ub2RlVHlwZT9mLmdyZXAobyxmdW5jdGlvbih4KXtyZXR1cm4geD09PWMhPT15fSk6dHlwZW9mIGMhPSJzdHJpbmciP2YuZ3JlcChvLGZ1bmN0aW9uKHgpe3JldHVybiB1LmNhbGwoYyx4KT4tMSE9PXl9KTpmLmZpbHRlcihjLG8seSl9Zi5maWx0ZXI9ZnVuY3Rpb24obyxjLHkpe3ZhciB4PWNbMF07cmV0dXJuIHkmJihvPSI6bm90KCIrbysiKSIpLGMubGVuZ3RoPT09MSYmeC5ub2RlVHlwZT09PTE/Zi5maW5kLm1hdGNoZXNTZWxlY3Rvcih4LG8pP1t4XTpbXTpmLmZpbmQubWF0Y2hlcyhvLGYuZ3JlcChjLGZ1bmN0aW9uKEkpe3JldHVybiBJLm5vZGVUeXBlPT09MX0pKX0sZi5mbi5leHRlbmQoe2ZpbmQ6ZnVuY3Rpb24obyl7dmFyIGMseSx4PXRoaXMubGVuZ3RoLEk9dGhpcztpZih0eXBlb2YgbyE9InN0cmluZyIpcmV0dXJuIHRoaXMucHVzaFN0YWNrKGYobykuZmlsdGVyKGZ1bmN0aW9uKCl7Zm9yKGM9MDtjPHg7YysrKWlmKGYuY29udGFpbnMoSVtjXSx0aGlzKSlyZXR1cm4hMH0pKTtmb3IoeT10aGlzLnB1c2hTdGFjayhbXSksYz0wO2M8eDtjKyspZi5maW5kKG8sSVtjXSx5KTtyZXR1cm4geD4xP2YudW5pcXVlU29ydCh5KTp5fSxmaWx0ZXI6ZnVuY3Rpb24obyl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGVlKHRoaXMsb3x8W10sITEpKX0sbm90OmZ1bmN0aW9uKG8pe3JldHVybiB0aGlzLnB1c2hTdGFjayhlZSh0aGlzLG98fFtdLCEwKSl9LGlzOmZ1bmN0aW9uKG8pe3JldHVybiEhZWUodGhpcyx0eXBlb2Ygbz09InN0cmluZyImJnEudGVzdChvKT9mKG8pOm98fFtdLCExKS5sZW5ndGh9fSk7dmFyIG5lLHhlPS9eKD86XHMqKDxbXHdcV10rPilbXj5dKnwjKFtcdy1dKykpJC8sSWU9Zi5mbi5pbml0PWZ1bmN0aW9uKG8sYyx5KXt2YXIgeCxJO2lmKCFvKXJldHVybiB0aGlzO2lmKHk9eXx8bmUsdHlwZW9mIG89PSJzdHJpbmciKWlmKG9bMF09PT0iPCImJm9bby5sZW5ndGgtMV09PT0iPiImJm8ubGVuZ3RoPj0zP3g9W251bGwsbyxudWxsXTp4PXhlLmV4ZWMobykseCYmKHhbMV18fCFjKSlpZih4WzFdKXtpZihjPWMgaW5zdGFuY2VvZiBmP2NbMF06YyxmLm1lcmdlKHRoaXMsZi5wYXJzZUhUTUwoeFsxXSxjJiZjLm5vZGVUeXBlP2Mub3duZXJEb2N1bWVudHx8YzpoLCEwKSksYWUudGVzdCh4WzFdKSYmZi5pc1BsYWluT2JqZWN0KGMpKWZvcih4IGluIGMpVCh0aGlzW3hdKT90aGlzW3hdKGNbeF0pOnRoaXMuYXR0cih4LGNbeF0pO3JldHVybiB0aGlzfWVsc2UgcmV0dXJuIEk9aC5nZXRFbGVtZW50QnlJZCh4WzJdKSxJJiYodGhpc1swXT1JLHRoaXMubGVuZ3RoPTEpLHRoaXM7ZWxzZSByZXR1cm4hY3x8Yy5qcXVlcnk/KGN8fHkpLmZpbmQobyk6dGhpcy5jb25zdHJ1Y3RvcihjKS5maW5kKG8pO2Vsc2V7aWYoby5ub2RlVHlwZSlyZXR1cm4gdGhpc1swXT1vLHRoaXMubGVuZ3RoPTEsdGhpcztpZihUKG8pKXJldHVybiB5LnJlYWR5IT09dm9pZCAwP3kucmVhZHkobyk6byhmKX1yZXR1cm4gZi5tYWtlQXJyYXkobyx0aGlzKX07SWUucHJvdG90eXBlPWYuZm4sbmU9ZihoKTt2YXIgQ2U9L14oPzpwYXJlbnRzfHByZXYoPzpVbnRpbHxBbGwpKS8sRGU9e2NoaWxkcmVuOiEwLGNvbnRlbnRzOiEwLG5leHQ6ITAscHJldjohMH07Zi5mbi5leHRlbmQoe2hhczpmdW5jdGlvbihvKXt2YXIgYz1mKG8sdGhpcykseT1jLmxlbmd0aDtyZXR1cm4gdGhpcy5maWx0ZXIoZnVuY3Rpb24oKXtmb3IodmFyIHg9MDt4PHk7eCsrKWlmKGYuY29udGFpbnModGhpcyxjW3hdKSlyZXR1cm4hMH0pfSxjbG9zZXN0OmZ1bmN0aW9uKG8sYyl7dmFyIHkseD0wLEk9dGhpcy5sZW5ndGgsTj1bXSxPPXR5cGVvZiBvIT0ic3RyaW5nIiYmZihvKTtpZighcS50ZXN0KG8pKXtmb3IoO3g8STt4KyspZm9yKHk9dGhpc1t4XTt5JiZ5IT09Yzt5PXkucGFyZW50Tm9kZSlpZih5Lm5vZGVUeXBlPDExJiYoTz9PLmluZGV4KHkpPi0xOnkubm9kZVR5cGU9PT0xJiZmLmZpbmQubWF0Y2hlc1NlbGVjdG9yKHksbykpKXtOLnB1c2goeSk7YnJlYWt9fXJldHVybiB0aGlzLnB1c2hTdGFjayhOLmxlbmd0aD4xP2YudW5pcXVlU29ydChOKTpOKX0saW5kZXg6ZnVuY3Rpb24obyl7cmV0dXJuIG8/dHlwZW9mIG89PSJzdHJpbmciP3UuY2FsbChmKG8pLHRoaXNbMF0pOnUuY2FsbCh0aGlzLG8uanF1ZXJ5P29bMF06byk6dGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlP3RoaXMuZmlyc3QoKS5wcmV2QWxsKCkubGVuZ3RoOi0xfSxhZGQ6ZnVuY3Rpb24obyxjKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soZi51bmlxdWVTb3J0KGYubWVyZ2UodGhpcy5nZXQoKSxmKG8sYykpKSl9LGFkZEJhY2s6ZnVuY3Rpb24obyl7cmV0dXJuIHRoaXMuYWRkKG89PW51bGw/dGhpcy5wcmV2T2JqZWN0OnRoaXMucHJldk9iamVjdC5maWx0ZXIobykpfX0pO2Z1bmN0aW9uIExlKG8sYyl7Zm9yKDsobz1vW2NdKSYmby5ub2RlVHlwZSE9PTE7KTtyZXR1cm4gb31mLmVhY2goe3BhcmVudDpmdW5jdGlvbihvKXt2YXIgYz1vLnBhcmVudE5vZGU7cmV0dXJuIGMmJmMubm9kZVR5cGUhPT0xMT9jOm51bGx9LHBhcmVudHM6ZnVuY3Rpb24obyl7cmV0dXJuIEcobywicGFyZW50Tm9kZSIpfSxwYXJlbnRzVW50aWw6ZnVuY3Rpb24obyxjLHkpe3JldHVybiBHKG8sInBhcmVudE5vZGUiLHkpfSxuZXh0OmZ1bmN0aW9uKG8pe3JldHVybiBMZShvLCJuZXh0U2libGluZyIpfSxwcmV2OmZ1bmN0aW9uKG8pe3JldHVybiBMZShvLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dEFsbDpmdW5jdGlvbihvKXtyZXR1cm4gRyhvLCJuZXh0U2libGluZyIpfSxwcmV2QWxsOmZ1bmN0aW9uKG8pe3JldHVybiBHKG8sInByZXZpb3VzU2libGluZyIpfSxuZXh0VW50aWw6ZnVuY3Rpb24obyxjLHkpe3JldHVybiBHKG8sIm5leHRTaWJsaW5nIix5KX0scHJldlVudGlsOmZ1bmN0aW9uKG8sYyx5KXtyZXR1cm4gRyhvLCJwcmV2aW91c1NpYmxpbmciLHkpfSxzaWJsaW5nczpmdW5jdGlvbihvKXtyZXR1cm4gTSgoby5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxvKX0sY2hpbGRyZW46ZnVuY3Rpb24obyl7cmV0dXJuIE0oby5maXJzdENoaWxkKX0sY29udGVudHM6ZnVuY3Rpb24obyl7cmV0dXJuIG8uY29udGVudERvY3VtZW50IT1udWxsJiZyKG8uY29udGVudERvY3VtZW50KT9vLmNvbnRlbnREb2N1bWVudDooWihvLCJ0ZW1wbGF0ZSIpJiYobz1vLmNvbnRlbnR8fG8pLGYubWVyZ2UoW10sby5jaGlsZE5vZGVzKSl9fSxmdW5jdGlvbihvLGMpe2YuZm5bb109ZnVuY3Rpb24oeSx4KXt2YXIgST1mLm1hcCh0aGlzLGMseSk7cmV0dXJuIG8uc2xpY2UoLTUpIT09IlVudGlsIiYmKHg9eSkseCYmdHlwZW9mIHg9PSJzdHJpbmciJiYoST1mLmZpbHRlcih4LEkpKSx0aGlzLmxlbmd0aD4xJiYoRGVbb118fGYudW5pcXVlU29ydChJKSxDZS50ZXN0KG8pJiZJLnJldmVyc2UoKSksdGhpcy5wdXNoU3RhY2soSSl9fSk7dmFyIEVlPS9bXlx4MjBcdFxyXG5cZl0rL2c7ZnVuY3Rpb24gWWUobyl7dmFyIGM9e307cmV0dXJuIGYuZWFjaChvLm1hdGNoKEVlKXx8W10sZnVuY3Rpb24oeSx4KXtjW3hdPSEwfSksY31mLkNhbGxiYWNrcz1mdW5jdGlvbihvKXtvPXR5cGVvZiBvPT0ic3RyaW5nIj9ZZShvKTpmLmV4dGVuZCh7fSxvKTt2YXIgYyx5LHgsSSxOPVtdLE89W10sWD0tMSxVPWZ1bmN0aW9uKCl7Zm9yKEk9SXx8by5vbmNlLHg9Yz0hMDtPLmxlbmd0aDtYPS0xKWZvcih5PU8uc2hpZnQoKTsrK1g8Ti5sZW5ndGg7KU5bWF0uYXBwbHkoeVswXSx5WzFdKT09PSExJiZvLnN0b3BPbkZhbHNlJiYoWD1OLmxlbmd0aCx5PSExKTtvLm1lbW9yeXx8KHk9ITEpLGM9ITEsSSYmKHk/Tj1bXTpOPSIiKX0sUT17YWRkOmZ1bmN0aW9uKCl7cmV0dXJuIE4mJih5JiYhYyYmKFg9Ti5sZW5ndGgtMSxPLnB1c2goeSkpLChmdW5jdGlvbiBjZShwZSl7Zi5lYWNoKHBlLGZ1bmN0aW9uKG9lLHdlKXtUKHdlKT8oIW8udW5pcXVlfHwhUS5oYXMod2UpKSYmTi5wdXNoKHdlKTp3ZSYmd2UubGVuZ3RoJiZDKHdlKSE9PSJzdHJpbmciJiZjZSh3ZSl9KX0pKGFyZ3VtZW50cykseSYmIWMmJlUoKSksdGhpc30scmVtb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIGYuZWFjaChhcmd1bWVudHMsZnVuY3Rpb24oY2UscGUpe2Zvcih2YXIgb2U7KG9lPWYuaW5BcnJheShwZSxOLG9lKSk+LTE7KU4uc3BsaWNlKG9lLDEpLG9lPD1YJiZYLS19KSx0aGlzfSxoYXM6ZnVuY3Rpb24oY2Upe3JldHVybiBjZT9mLmluQXJyYXkoY2UsTik+LTE6Ti5sZW5ndGg+MH0sZW1wdHk6ZnVuY3Rpb24oKXtyZXR1cm4gTiYmKE49W10pLHRoaXN9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gST1PPVtdLE49eT0iIix0aGlzfSxkaXNhYmxlZDpmdW5jdGlvbigpe3JldHVybiFOfSxsb2NrOmZ1bmN0aW9uKCl7cmV0dXJuIEk9Tz1bXSwheSYmIWMmJihOPXk9IiIpLHRoaXN9LGxvY2tlZDpmdW5jdGlvbigpe3JldHVybiEhSX0sZmlyZVdpdGg6ZnVuY3Rpb24oY2UscGUpe3JldHVybiBJfHwocGU9cGV8fFtdLHBlPVtjZSxwZS5zbGljZT9wZS5zbGljZSgpOnBlXSxPLnB1c2gocGUpLGN8fFUoKSksdGhpc30sZmlyZTpmdW5jdGlvbigpe3JldHVybiBRLmZpcmVXaXRoKHRoaXMsYXJndW1lbnRzKSx0aGlzfSxmaXJlZDpmdW5jdGlvbigpe3JldHVybiEheH19O3JldHVybiBRfTtmdW5jdGlvbiBKZShvKXtyZXR1cm4gb31mdW5jdGlvbiBBKG8pe3Rocm93IG99ZnVuY3Rpb24gZGUobyxjLHkseCl7dmFyIEk7dHJ5e28mJlQoST1vLnByb21pc2UpP0kuY2FsbChvKS5kb25lKGMpLmZhaWwoeSk6byYmVChJPW8udGhlbik/SS5jYWxsKG8sYyx5KTpjLmFwcGx5KHZvaWQgMCxbb10uc2xpY2UoeCkpfWNhdGNoKE4pe3kuYXBwbHkodm9pZCAwLFtOXSl9fWYuZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbihvKXt2YXIgYz1bWyJub3RpZnkiLCJwcm9ncmVzcyIsZi5DYWxsYmFja3MoIm1lbW9yeSIpLGYuQ2FsbGJhY2tzKCJtZW1vcnkiKSwyXSxbInJlc29sdmUiLCJkb25lIixmLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxmLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwwLCJyZXNvbHZlZCJdLFsicmVqZWN0IiwiZmFpbCIsZi5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksZi5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksMSwicmVqZWN0ZWQiXV0seT0icGVuZGluZyIseD17c3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4geX0sYWx3YXlzOmZ1bmN0aW9uKCl7cmV0dXJuIEkuZG9uZShhcmd1bWVudHMpLmZhaWwoYXJndW1lbnRzKSx0aGlzfSxjYXRjaDpmdW5jdGlvbihOKXtyZXR1cm4geC50aGVuKG51bGwsTil9LHBpcGU6ZnVuY3Rpb24oKXt2YXIgTj1hcmd1bWVudHM7cmV0dXJuIGYuRGVmZXJyZWQoZnVuY3Rpb24oTyl7Zi5lYWNoKGMsZnVuY3Rpb24oWCxVKXt2YXIgUT1UKE5bVVs0XV0pJiZOW1VbNF1dO0lbVVsxXV0oZnVuY3Rpb24oKXt2YXIgY2U9USYmUS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7Y2UmJlQoY2UucHJvbWlzZSk/Y2UucHJvbWlzZSgpLnByb2dyZXNzKE8ubm90aWZ5KS5kb25lKE8ucmVzb2x2ZSkuZmFpbChPLnJlamVjdCk6T1tVWzBdKyJXaXRoIl0odGhpcyxRP1tjZV06YXJndW1lbnRzKX0pfSksTj1udWxsfSkucHJvbWlzZSgpfSx0aGVuOmZ1bmN0aW9uKE4sTyxYKXt2YXIgVT0wO2Z1bmN0aW9uIFEoY2UscGUsb2Usd2Upe3JldHVybiBmdW5jdGlvbigpe3ZhciBSZT10aGlzLFhlPWFyZ3VtZW50cyx6ZT1mdW5jdGlvbigpe3ZhciBkdCxZdDtpZighKGNlPFUpKXtpZihkdD1vZS5hcHBseShSZSxYZSksZHQ9PT1wZS5wcm9taXNlKCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiVGhlbmFibGUgc2VsZi1yZXNvbHV0aW9uIik7WXQ9ZHQmJih0eXBlb2YgZHQ9PSJvYmplY3QifHx0eXBlb2YgZHQ9PSJmdW5jdGlvbiIpJiZkdC50aGVuLFQoWXQpP3dlP1l0LmNhbGwoZHQsUShVLHBlLEplLHdlKSxRKFUscGUsQSx3ZSkpOihVKyssWXQuY2FsbChkdCxRKFUscGUsSmUsd2UpLFEoVSxwZSxBLHdlKSxRKFUscGUsSmUscGUubm90aWZ5V2l0aCkpKToob2UhPT1KZSYmKFJlPXZvaWQgMCxYZT1bZHRdKSwod2V8fHBlLnJlc29sdmVXaXRoKShSZSxYZSkpfX0scHQ9d2U/emU6ZnVuY3Rpb24oKXt0cnl7emUoKX1jYXRjaChkdCl7Zi5EZWZlcnJlZC5leGNlcHRpb25Ib29rJiZmLkRlZmVycmVkLmV4Y2VwdGlvbkhvb2soZHQscHQuZXJyb3IpLGNlKzE+PVUmJihvZSE9PUEmJihSZT12b2lkIDAsWGU9W2R0XSkscGUucmVqZWN0V2l0aChSZSxYZSkpfX07Y2U/cHQoKTooZi5EZWZlcnJlZC5nZXRFcnJvckhvb2s/cHQuZXJyb3I9Zi5EZWZlcnJlZC5nZXRFcnJvckhvb2soKTpmLkRlZmVycmVkLmdldFN0YWNrSG9vayYmKHB0LmVycm9yPWYuRGVmZXJyZWQuZ2V0U3RhY2tIb29rKCkpLGUuc2V0VGltZW91dChwdCkpfX1yZXR1cm4gZi5EZWZlcnJlZChmdW5jdGlvbihjZSl7Y1swXVszXS5hZGQoUSgwLGNlLFQoWCk/WDpKZSxjZS5ub3RpZnlXaXRoKSksY1sxXVszXS5hZGQoUSgwLGNlLFQoTik/TjpKZSkpLGNbMl1bM10uYWRkKFEoMCxjZSxUKE8pP086QSkpfSkucHJvbWlzZSgpfSxwcm9taXNlOmZ1bmN0aW9uKE4pe3JldHVybiBOIT1udWxsP2YuZXh0ZW5kKE4seCk6eH19LEk9e307cmV0dXJuIGYuZWFjaChjLGZ1bmN0aW9uKE4sTyl7dmFyIFg9T1syXSxVPU9bNV07eFtPWzFdXT1YLmFkZCxVJiZYLmFkZChmdW5jdGlvbigpe3k9VX0sY1szLU5dWzJdLmRpc2FibGUsY1szLU5dWzNdLmRpc2FibGUsY1swXVsyXS5sb2NrLGNbMF1bM10ubG9jayksWC5hZGQoT1szXS5maXJlKSxJW09bMF1dPWZ1bmN0aW9uKCl7cmV0dXJuIElbT1swXSsiV2l0aCJdKHRoaXM9PT1JP3ZvaWQgMDp0aGlzLGFyZ3VtZW50cyksdGhpc30sSVtPWzBdKyJXaXRoIl09WC5maXJlV2l0aH0pLHgucHJvbWlzZShJKSxvJiZvLmNhbGwoSSxJKSxJfSx3aGVuOmZ1bmN0aW9uKG8pe3ZhciBjPWFyZ3VtZW50cy5sZW5ndGgseT1jLHg9QXJyYXkoeSksST1pLmNhbGwoYXJndW1lbnRzKSxOPWYuRGVmZXJyZWQoKSxPPWZ1bmN0aW9uKFgpe3JldHVybiBmdW5jdGlvbihVKXt4W1hdPXRoaXMsSVtYXT1hcmd1bWVudHMubGVuZ3RoPjE/aS5jYWxsKGFyZ3VtZW50cyk6VSwtLWN8fE4ucmVzb2x2ZVdpdGgoeCxJKX19O2lmKGM8PTEmJihkZShvLE4uZG9uZShPKHkpKS5yZXNvbHZlLE4ucmVqZWN0LCFjKSxOLnN0YXRlKCk9PT0icGVuZGluZyJ8fFQoSVt5XSYmSVt5XS50aGVuKSkpcmV0dXJuIE4udGhlbigpO2Zvcig7eS0tOylkZShJW3ldLE8oeSksTi5yZWplY3QpO3JldHVybiBOLnByb21pc2UoKX19KTt2YXIgbGU9L14oRXZhbHxJbnRlcm5hbHxSYW5nZXxSZWZlcmVuY2V8U3ludGF4fFR5cGV8VVJJKUVycm9yJC87Zi5EZWZlcnJlZC5leGNlcHRpb25Ib29rPWZ1bmN0aW9uKG8sYyl7ZS5jb25zb2xlJiZlLmNvbnNvbGUud2FybiYmbyYmbGUudGVzdChvLm5hbWUpJiZlLmNvbnNvbGUud2FybigialF1ZXJ5LkRlZmVycmVkIGV4Y2VwdGlvbjogIitvLm1lc3NhZ2Usby5zdGFjayxjKX0sZi5yZWFkeUV4Y2VwdGlvbj1mdW5jdGlvbihvKXtlLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBvfSl9O3ZhciB6PWYuRGVmZXJyZWQoKTtmLmZuLnJlYWR5PWZ1bmN0aW9uKG8pe3JldHVybiB6LnRoZW4obykuY2F0Y2goZnVuY3Rpb24oYyl7Zi5yZWFkeUV4Y2VwdGlvbihjKX0pLHRoaXN9LGYuZXh0ZW5kKHtpc1JlYWR5OiExLHJlYWR5V2FpdDoxLHJlYWR5OmZ1bmN0aW9uKG8peyhvPT09ITA/LS1mLnJlYWR5V2FpdDpmLmlzUmVhZHkpfHwoZi5pc1JlYWR5PSEwLCEobyE9PSEwJiYtLWYucmVhZHlXYWl0PjApJiZ6LnJlc29sdmVXaXRoKGgsW2ZdKSl9fSksZi5yZWFkeS50aGVuPXoudGhlbjtmdW5jdGlvbiBqKCl7aC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixqKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGopLGYucmVhZHkoKX1oLnJlYWR5U3RhdGU9PT0iY29tcGxldGUifHxoLnJlYWR5U3RhdGUhPT0ibG9hZGluZyImJiFoLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbD9lLnNldFRpbWVvdXQoZi5yZWFkeSk6KGguYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsaiksZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixqKSk7dmFyIEs9ZnVuY3Rpb24obyxjLHkseCxJLE4sTyl7dmFyIFg9MCxVPW8ubGVuZ3RoLFE9eT09bnVsbDtpZihDKHkpPT09Im9iamVjdCIpe0k9ITA7Zm9yKFggaW4geSlLKG8sYyxYLHlbWF0sITAsTixPKX1lbHNlIGlmKHghPT12b2lkIDAmJihJPSEwLFQoeCl8fChPPSEwKSxRJiYoTz8oYy5jYWxsKG8seCksYz1udWxsKTooUT1jLGM9ZnVuY3Rpb24oY2UscGUsb2Upe3JldHVybiBRLmNhbGwoZihjZSksb2UpfSkpLGMpKWZvcig7WDxVO1grKyljKG9bWF0seSxPP3g6eC5jYWxsKG9bWF0sWCxjKG9bWF0seSkpKTtyZXR1cm4gST9vOlE/Yy5jYWxsKG8pOlU/YyhvWzBdLHkpOk59LG1lPS9eLW1zLS8seWU9Ly0oW2Etel0pL2c7ZnVuY3Rpb24gcmUobyxjKXtyZXR1cm4gYy50b1VwcGVyQ2FzZSgpfWZ1bmN0aW9uIGJlKG8pe3JldHVybiBvLnJlcGxhY2UobWUsIm1zLSIpLnJlcGxhY2UoeWUscmUpfXZhciBUZT1mdW5jdGlvbihvKXtyZXR1cm4gby5ub2RlVHlwZT09PTF8fG8ubm9kZVR5cGU9PT05fHwhK28ubm9kZVR5cGV9O2Z1bmN0aW9uIF9lKCl7dGhpcy5leHBhbmRvPWYuZXhwYW5kbytfZS51aWQrK31fZS51aWQ9MSxfZS5wcm90b3R5cGU9e2NhY2hlOmZ1bmN0aW9uKG8pe3ZhciBjPW9bdGhpcy5leHBhbmRvXTtyZXR1cm4gY3x8KGM9e30sVGUobykmJihvLm5vZGVUeXBlP29bdGhpcy5leHBhbmRvXT1jOk9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLHRoaXMuZXhwYW5kbyx7dmFsdWU6Yyxjb25maWd1cmFibGU6ITB9KSkpLGN9LHNldDpmdW5jdGlvbihvLGMseSl7dmFyIHgsST10aGlzLmNhY2hlKG8pO2lmKHR5cGVvZiBjPT0ic3RyaW5nIilJW2JlKGMpXT15O2Vsc2UgZm9yKHggaW4gYylJW2JlKHgpXT1jW3hdO3JldHVybiBJfSxnZXQ6ZnVuY3Rpb24obyxjKXtyZXR1cm4gYz09PXZvaWQgMD90aGlzLmNhY2hlKG8pOm9bdGhpcy5leHBhbmRvXSYmb1t0aGlzLmV4cGFuZG9dW2JlKGMpXX0sYWNjZXNzOmZ1bmN0aW9uKG8sYyx5KXtyZXR1cm4gYz09PXZvaWQgMHx8YyYmdHlwZW9mIGM9PSJzdHJpbmciJiZ5PT09dm9pZCAwP3RoaXMuZ2V0KG8sYyk6KHRoaXMuc2V0KG8sYyx5KSx5IT09dm9pZCAwP3k6Yyl9LHJlbW92ZTpmdW5jdGlvbihvLGMpe3ZhciB5LHg9b1t0aGlzLmV4cGFuZG9dO2lmKHghPT12b2lkIDApe2lmKGMhPT12b2lkIDApZm9yKEFycmF5LmlzQXJyYXkoYyk/Yz1jLm1hcChiZSk6KGM9YmUoYyksYz1jIGluIHg/W2NdOmMubWF0Y2goRWUpfHxbXSkseT1jLmxlbmd0aDt5LS07KWRlbGV0ZSB4W2NbeV1dOyhjPT09dm9pZCAwfHxmLmlzRW1wdHlPYmplY3QoeCkpJiYoby5ub2RlVHlwZT9vW3RoaXMuZXhwYW5kb109dm9pZCAwOmRlbGV0ZSBvW3RoaXMuZXhwYW5kb10pfX0saGFzRGF0YTpmdW5jdGlvbihvKXt2YXIgYz1vW3RoaXMuZXhwYW5kb107cmV0dXJuIGMhPT12b2lkIDAmJiFmLmlzRW1wdHlPYmplY3QoYyl9fTt2YXIgdmU9bmV3IF9lLGplPW5ldyBfZSxHZT0vXig/Olx7W1x3XFddKlx9fFxbW1x3XFddKlxdKSQvLFN0PS9bQS1aXS9nO2Z1bmN0aW9uIGJuKG8pe3JldHVybiBvPT09InRydWUiPyEwOm89PT0iZmFsc2UiPyExOm89PT0ibnVsbCI/bnVsbDpvPT09K28rIiI/K286R2UudGVzdChvKT9KU09OLnBhcnNlKG8pOm99ZnVuY3Rpb24gRnQobyxjLHkpe3ZhciB4O2lmKHk9PT12b2lkIDAmJm8ubm9kZVR5cGU9PT0xKWlmKHg9ImRhdGEtIitjLnJlcGxhY2UoU3QsIi0kJiIpLnRvTG93ZXJDYXNlKCkseT1vLmdldEF0dHJpYnV0ZSh4KSx0eXBlb2YgeT09InN0cmluZyIpe3RyeXt5PWJuKHkpfWNhdGNoe31qZS5zZXQobyxjLHkpfWVsc2UgeT12b2lkIDA7cmV0dXJuIHl9Zi5leHRlbmQoe2hhc0RhdGE6ZnVuY3Rpb24obyl7cmV0dXJuIGplLmhhc0RhdGEobyl8fHZlLmhhc0RhdGEobyl9LGRhdGE6ZnVuY3Rpb24obyxjLHkpe3JldHVybiBqZS5hY2Nlc3MobyxjLHkpfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKG8sYyl7amUucmVtb3ZlKG8sYyl9LF9kYXRhOmZ1bmN0aW9uKG8sYyx5KXtyZXR1cm4gdmUuYWNjZXNzKG8sYyx5KX0sX3JlbW92ZURhdGE6ZnVuY3Rpb24obyxjKXt2ZS5yZW1vdmUobyxjKX19KSxmLmZuLmV4dGVuZCh7ZGF0YTpmdW5jdGlvbihvLGMpe3ZhciB5LHgsSSxOPXRoaXNbMF0sTz1OJiZOLmF0dHJpYnV0ZXM7aWYobz09PXZvaWQgMCl7aWYodGhpcy5sZW5ndGgmJihJPWplLmdldChOKSxOLm5vZGVUeXBlPT09MSYmIXZlLmdldChOLCJoYXNEYXRhQXR0cnMiKSkpe2Zvcih5PU8ubGVuZ3RoO3ktLTspT1t5XSYmKHg9T1t5XS5uYW1lLHguaW5kZXhPZigiZGF0YS0iKT09PTAmJih4PWJlKHguc2xpY2UoNSkpLEZ0KE4seCxJW3hdKSkpO3ZlLnNldChOLCJoYXNEYXRhQXR0cnMiLCEwKX1yZXR1cm4gSX1yZXR1cm4gdHlwZW9mIG89PSJvYmplY3QiP3RoaXMuZWFjaChmdW5jdGlvbigpe2plLnNldCh0aGlzLG8pfSk6Syh0aGlzLGZ1bmN0aW9uKFgpe3ZhciBVO2lmKE4mJlg9PT12b2lkIDApcmV0dXJuIFU9amUuZ2V0KE4sbyksVSE9PXZvaWQgMHx8KFU9RnQoTixvKSxVIT09dm9pZCAwKT9VOnZvaWQgMDt0aGlzLmVhY2goZnVuY3Rpb24oKXtqZS5zZXQodGhpcyxvLFgpfSl9LG51bGwsYyxhcmd1bWVudHMubGVuZ3RoPjEsbnVsbCwhMCl9LHJlbW92ZURhdGE6ZnVuY3Rpb24obyl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2plLnJlbW92ZSh0aGlzLG8pfSl9fSksZi5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKG8sYyx5KXt2YXIgeDtpZihvKXJldHVybiBjPShjfHwiZngiKSsicXVldWUiLHg9dmUuZ2V0KG8sYykseSYmKCF4fHxBcnJheS5pc0FycmF5KHkpP3g9dmUuYWNjZXNzKG8sYyxmLm1ha2VBcnJheSh5KSk6eC5wdXNoKHkpKSx4fHxbXX0sZGVxdWV1ZTpmdW5jdGlvbihvLGMpe2M9Y3x8ImZ4Ijt2YXIgeT1mLnF1ZXVlKG8sYykseD15Lmxlbmd0aCxJPXkuc2hpZnQoKSxOPWYuX3F1ZXVlSG9va3MobyxjKSxPPWZ1bmN0aW9uKCl7Zi5kZXF1ZXVlKG8sYyl9O0k9PT0iaW5wcm9ncmVzcyImJihJPXkuc2hpZnQoKSx4LS0pLEkmJihjPT09ImZ4IiYmeS51bnNoaWZ0KCJpbnByb2dyZXNzIiksZGVsZXRlIE4uc3RvcCxJLmNhbGwobyxPLE4pKSwheCYmTiYmTi5lbXB0eS5maXJlKCl9LF9xdWV1ZUhvb2tzOmZ1bmN0aW9uKG8sYyl7dmFyIHk9YysicXVldWVIb29rcyI7cmV0dXJuIHZlLmdldChvLHkpfHx2ZS5hY2Nlc3Mobyx5LHtlbXB0eTpmLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKS5hZGQoZnVuY3Rpb24oKXt2ZS5yZW1vdmUobyxbYysicXVldWUiLHldKX0pfSl9fSksZi5mbi5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKG8sYyl7dmFyIHk9MjtyZXR1cm4gdHlwZW9mIG8hPSJzdHJpbmciJiYoYz1vLG89ImZ4Iix5LS0pLGFyZ3VtZW50cy5sZW5ndGg8eT9mLnF1ZXVlKHRoaXNbMF0sbyk6Yz09PXZvaWQgMD90aGlzOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB4PWYucXVldWUodGhpcyxvLGMpO2YuX3F1ZXVlSG9va3ModGhpcyxvKSxvPT09ImZ4IiYmeFswXSE9PSJpbnByb2dyZXNzIiYmZi5kZXF1ZXVlKHRoaXMsbyl9KX0sZGVxdWV1ZTpmdW5jdGlvbihvKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Zi5kZXF1ZXVlKHRoaXMsbyl9KX0sY2xlYXJRdWV1ZTpmdW5jdGlvbihvKXtyZXR1cm4gdGhpcy5xdWV1ZShvfHwiZngiLFtdKX0scHJvbWlzZTpmdW5jdGlvbihvLGMpe3ZhciB5LHg9MSxJPWYuRGVmZXJyZWQoKSxOPXRoaXMsTz10aGlzLmxlbmd0aCxYPWZ1bmN0aW9uKCl7LS14fHxJLnJlc29sdmVXaXRoKE4sW05dKX07Zm9yKHR5cGVvZiBvIT0ic3RyaW5nIiYmKGM9byxvPXZvaWQgMCksbz1vfHwiZngiO08tLTspeT12ZS5nZXQoTltPXSxvKyJxdWV1ZUhvb2tzIikseSYmeS5lbXB0eSYmKHgrKyx5LmVtcHR5LmFkZChYKSk7cmV0dXJuIFgoKSxJLnByb21pc2UoYyl9fSk7dmFyIHVuPS9bKy1dPyg/OlxkKlwufClcZCsoPzpbZUVdWystXT9cZCt8KS8uc291cmNlLGl0PW5ldyBSZWdFeHAoIl4oPzooWystXSk9fCkoIit1bisiKShbYS16JV0qKSQiLCJpIiksVHQ9WyJUb3AiLCJSaWdodCIsIkJvdHRvbSIsIkxlZnQiXSxHdD1oLmRvY3VtZW50RWxlbWVudCx2dD1mdW5jdGlvbihvKXtyZXR1cm4gZi5jb250YWlucyhvLm93bmVyRG9jdW1lbnQsbyl9LHdyPXtjb21wb3NlZDohMH07R3QuZ2V0Um9vdE5vZGUmJih2dD1mdW5jdGlvbihvKXtyZXR1cm4gZi5jb250YWlucyhvLm93bmVyRG9jdW1lbnQsbyl8fG8uZ2V0Um9vdE5vZGUod3IpPT09by5vd25lckRvY3VtZW50fSk7dmFyIExuPWZ1bmN0aW9uKG8sYyl7cmV0dXJuIG89Y3x8byxvLnN0eWxlLmRpc3BsYXk9PT0ibm9uZSJ8fG8uc3R5bGUuZGlzcGxheT09PSIiJiZ2dChvKSYmZi5jc3MobywiZGlzcGxheSIpPT09Im5vbmUifTtmdW5jdGlvbiB4cihvLGMseSx4KXt2YXIgSSxOLE89MjAsWD14P2Z1bmN0aW9uKCl7cmV0dXJuIHguY3VyKCl9OmZ1bmN0aW9uKCl7cmV0dXJuIGYuY3NzKG8sYywiIil9LFU9WCgpLFE9eSYmeVszXXx8KGYuY3NzTnVtYmVyW2NdPyIiOiJweCIpLGNlPW8ubm9kZVR5cGUmJihmLmNzc051bWJlcltjXXx8USE9PSJweCImJitVKSYmaXQuZXhlYyhmLmNzcyhvLGMpKTtpZihjZSYmY2VbM10hPT1RKXtmb3IoVT1VLzIsUT1RfHxjZVszXSxjZT0rVXx8MTtPLS07KWYuc3R5bGUobyxjLGNlK1EpLCgxLU4pKigxLShOPVgoKS9VfHwuNSkpPD0wJiYoTz0wKSxjZT1jZS9OO2NlPWNlKjIsZi5zdHlsZShvLGMsY2UrUSkseT15fHxbXX1yZXR1cm4geSYmKGNlPStjZXx8K1V8fDAsST15WzFdP2NlKyh5WzFdKzEpKnlbMl06K3lbMl0seCYmKHgudW5pdD1RLHguc3RhcnQ9Y2UseC5lbmQ9SSkpLEl9dmFyIENyPXt9O2Z1bmN0aW9uIFNyKG8pe3ZhciBjLHk9by5vd25lckRvY3VtZW50LHg9by5ub2RlTmFtZSxJPUNyW3hdO3JldHVybiBJfHwoYz15LmJvZHkuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KHgpKSxJPWYuY3NzKGMsImRpc3BsYXkiKSxjLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYyksST09PSJub25lIiYmKEk9ImJsb2NrIiksQ3JbeF09SSxJKX1mdW5jdGlvbiBNdChvLGMpe2Zvcih2YXIgeSx4LEk9W10sTj0wLE89by5sZW5ndGg7TjxPO04rKyl4PW9bTl0seC5zdHlsZSYmKHk9eC5zdHlsZS5kaXNwbGF5LGM/KHk9PT0ibm9uZSImJihJW05dPXZlLmdldCh4LCJkaXNwbGF5Iil8fG51bGwsSVtOXXx8KHguc3R5bGUuZGlzcGxheT0iIikpLHguc3R5bGUuZGlzcGxheT09PSIiJiZMbih4KSYmKElbTl09U3IoeCkpKTp5IT09Im5vbmUiJiYoSVtOXT0ibm9uZSIsdmUuc2V0KHgsImRpc3BsYXkiLHkpKSk7Zm9yKE49MDtOPE87TisrKUlbTl0hPW51bGwmJihvW05dLnN0eWxlLmRpc3BsYXk9SVtOXSk7cmV0dXJuIG99Zi5mbi5leHRlbmQoe3Nob3c6ZnVuY3Rpb24oKXtyZXR1cm4gTXQodGhpcywhMCl9LGhpZGU6ZnVuY3Rpb24oKXtyZXR1cm4gTXQodGhpcyl9LHRvZ2dsZTpmdW5jdGlvbihvKXtyZXR1cm4gdHlwZW9mIG89PSJib29sZWFuIj9vP3RoaXMuc2hvdygpOnRoaXMuaGlkZSgpOnRoaXMuZWFjaChmdW5jdGlvbigpe0xuKHRoaXMpP2YodGhpcykuc2hvdygpOmYodGhpcykuaGlkZSgpfSl9fSk7dmFyIFp0PS9eKD86Y2hlY2tib3h8cmFkaW8pJC9pLFNhPS88KFthLXpdW15cL1wwPlx4MjBcdFxyXG5cZl0qKS9pLFRhPS9eJHxebW9kdWxlJHxcLyg/OmphdmF8ZWNtYSlzY3JpcHQvaTsoZnVuY3Rpb24oKXt2YXIgbz1oLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxjPW8uYXBwZW5kQ2hpbGQoaC5jcmVhdGVFbGVtZW50KCJkaXYiKSkseT1oLmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7eS5zZXRBdHRyaWJ1dGUoInR5cGUiLCJyYWRpbyIpLHkuc2V0QXR0cmlidXRlKCJjaGVja2VkIiwiY2hlY2tlZCIpLHkuc2V0QXR0cmlidXRlKCJuYW1lIiwidCIpLGMuYXBwZW5kQ2hpbGQoeSksYi5jaGVja0Nsb25lPWMuY2xvbmVOb2RlKCEwKS5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5jaGVja2VkLGMuaW5uZXJIVE1MPSI8dGV4dGFyZWE+eDwvdGV4dGFyZWE+IixiLm5vQ2xvbmVDaGVja2VkPSEhYy5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5kZWZhdWx0VmFsdWUsYy5pbm5lckhUTUw9IjxvcHRpb24+PC9vcHRpb24+IixiLm9wdGlvbj0hIWMubGFzdENoaWxkfSkoKTt2YXIganQ9e3RoZWFkOlsxLCI8dGFibGU+IiwiPC90YWJsZT4iXSxjb2w6WzIsIjx0YWJsZT48Y29sZ3JvdXA+IiwiPC9jb2xncm91cD48L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSx0ZDpbMywiPHRhYmxlPjx0Ym9keT48dHI+IiwiPC90cj48L3Rib2R5PjwvdGFibGU+Il0sX2RlZmF1bHQ6WzAsIiIsIiJdfTtqdC50Ym9keT1qdC50Zm9vdD1qdC5jb2xncm91cD1qdC5jYXB0aW9uPWp0LnRoZWFkLGp0LnRoPWp0LnRkLGIub3B0aW9ufHwoanQub3B0Z3JvdXA9anQub3B0aW9uPVsxLCI8c2VsZWN0IG11bHRpcGxlPSdtdWx0aXBsZSc+IiwiPC9zZWxlY3Q+Il0pO2Z1bmN0aW9uIER0KG8sYyl7dmFyIHk7cmV0dXJuIHR5cGVvZiBvLmdldEVsZW1lbnRzQnlUYWdOYW1lPCJ1Ij95PW8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoY3x8IioiKTp0eXBlb2Ygby5xdWVyeVNlbGVjdG9yQWxsPCJ1Ij95PW8ucXVlcnlTZWxlY3RvckFsbChjfHwiKiIpOnk9W10sYz09PXZvaWQgMHx8YyYmWihvLGMpP2YubWVyZ2UoW29dLHkpOnl9ZnVuY3Rpb24gbGkobyxjKXtmb3IodmFyIHk9MCx4PW8ubGVuZ3RoO3k8eDt5KyspdmUuc2V0KG9beV0sImdsb2JhbEV2YWwiLCFjfHx2ZS5nZXQoY1t5XSwiZ2xvYmFsRXZhbCIpKX12YXIgJG89Lzx8JiM/XHcrOy87ZnVuY3Rpb24gRGEobyxjLHkseCxJKXtmb3IodmFyIE4sTyxYLFUsUSxjZSxwZT1jLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxvZT1bXSx3ZT0wLFJlPW8ubGVuZ3RoO3dlPFJlO3dlKyspaWYoTj1vW3dlXSxOfHxOPT09MClpZihDKE4pPT09Im9iamVjdCIpZi5tZXJnZShvZSxOLm5vZGVUeXBlP1tOXTpOKTtlbHNlIGlmKCEkby50ZXN0KE4pKW9lLnB1c2goYy5jcmVhdGVUZXh0Tm9kZShOKSk7ZWxzZXtmb3IoTz1PfHxwZS5hcHBlbmRDaGlsZChjLmNyZWF0ZUVsZW1lbnQoImRpdiIpKSxYPShTYS5leGVjKE4pfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpLFU9anRbWF18fGp0Ll9kZWZhdWx0LE8uaW5uZXJIVE1MPVVbMV0rZi5odG1sUHJlZmlsdGVyKE4pK1VbMl0sY2U9VVswXTtjZS0tOylPPU8ubGFzdENoaWxkO2YubWVyZ2Uob2UsTy5jaGlsZE5vZGVzKSxPPXBlLmZpcnN0Q2hpbGQsTy50ZXh0Q29udGVudD0iIn1mb3IocGUudGV4dENvbnRlbnQ9IiIsd2U9MDtOPW9lW3dlKytdOyl7aWYoeCYmZi5pbkFycmF5KE4seCk+LTEpe0kmJkkucHVzaChOKTtjb250aW51ZX1pZihRPXZ0KE4pLE89RHQocGUuYXBwZW5kQ2hpbGQoTiksInNjcmlwdCIpLFEmJmxpKE8pLHkpZm9yKGNlPTA7Tj1PW2NlKytdOylUYS50ZXN0KE4udHlwZXx8IiIpJiZ5LnB1c2goTil9cmV0dXJuIHBlfXZhciBrYT0vXihbXi5dKikoPzpcLiguKyl8KS87ZnVuY3Rpb24gUG4oKXtyZXR1cm4hMH1mdW5jdGlvbiBPbigpe3JldHVybiExfWZ1bmN0aW9uIHVpKG8sYyx5LHgsSSxOKXt2YXIgTyxYO2lmKHR5cGVvZiBjPT0ib2JqZWN0Iil7dHlwZW9mIHkhPSJzdHJpbmciJiYoeD14fHx5LHk9dm9pZCAwKTtmb3IoWCBpbiBjKXVpKG8sWCx5LHgsY1tYXSxOKTtyZXR1cm4gb31pZih4PT1udWxsJiZJPT1udWxsPyhJPXkseD15PXZvaWQgMCk6ST09bnVsbCYmKHR5cGVvZiB5PT0ic3RyaW5nIj8oST14LHg9dm9pZCAwKTooST14LHg9eSx5PXZvaWQgMCkpLEk9PT0hMSlJPU9uO2Vsc2UgaWYoIUkpcmV0dXJuIG87cmV0dXJuIE49PT0xJiYoTz1JLEk9ZnVuY3Rpb24oVSl7cmV0dXJuIGYoKS5vZmYoVSksTy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LEkuZ3VpZD1PLmd1aWR8fChPLmd1aWQ9Zi5ndWlkKyspKSxvLmVhY2goZnVuY3Rpb24oKXtmLmV2ZW50LmFkZCh0aGlzLGMsSSx4LHkpfSl9Zi5ldmVudD17Z2xvYmFsOnt9LGFkZDpmdW5jdGlvbihvLGMseSx4LEkpe3ZhciBOLE8sWCxVLFEsY2UscGUsb2Usd2UsUmUsWGUsemU9dmUuZ2V0KG8pO2lmKFRlKG8pKWZvcih5LmhhbmRsZXImJihOPXkseT1OLmhhbmRsZXIsST1OLnNlbGVjdG9yKSxJJiZmLmZpbmQubWF0Y2hlc1NlbGVjdG9yKEd0LEkpLHkuZ3VpZHx8KHkuZ3VpZD1mLmd1aWQrKyksKFU9emUuZXZlbnRzKXx8KFU9emUuZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCkpLChPPXplLmhhbmRsZSl8fChPPXplLmhhbmRsZT1mdW5jdGlvbihwdCl7cmV0dXJuIHR5cGVvZiBmPCJ1IiYmZi5ldmVudC50cmlnZ2VyZWQhPT1wdC50eXBlP2YuZXZlbnQuZGlzcGF0Y2guYXBwbHkobyxhcmd1bWVudHMpOnZvaWQgMH0pLGM9KGN8fCIiKS5tYXRjaChFZSl8fFsiIl0sUT1jLmxlbmd0aDtRLS07KVg9a2EuZXhlYyhjW1FdKXx8W10sd2U9WGU9WFsxXSxSZT0oWFsyXXx8IiIpLnNwbGl0KCIuIikuc29ydCgpLHdlJiYocGU9Zi5ldmVudC5zcGVjaWFsW3dlXXx8e30sd2U9KEk/cGUuZGVsZWdhdGVUeXBlOnBlLmJpbmRUeXBlKXx8d2UscGU9Zi5ldmVudC5zcGVjaWFsW3dlXXx8e30sY2U9Zi5leHRlbmQoe3R5cGU6d2Usb3JpZ1R5cGU6WGUsZGF0YTp4LGhhbmRsZXI6eSxndWlkOnkuZ3VpZCxzZWxlY3RvcjpJLG5lZWRzQ29udGV4dDpJJiZmLmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LnRlc3QoSSksbmFtZXNwYWNlOlJlLmpvaW4oIi4iKX0sTiksKG9lPVVbd2VdKXx8KG9lPVVbd2VdPVtdLG9lLmRlbGVnYXRlQ291bnQ9MCwoIXBlLnNldHVwfHxwZS5zZXR1cC5jYWxsKG8seCxSZSxPKT09PSExKSYmby5hZGRFdmVudExpc3RlbmVyJiZvLmFkZEV2ZW50TGlzdGVuZXIod2UsTykpLHBlLmFkZCYmKHBlLmFkZC5jYWxsKG8sY2UpLGNlLmhhbmRsZXIuZ3VpZHx8KGNlLmhhbmRsZXIuZ3VpZD15Lmd1aWQpKSxJP29lLnNwbGljZShvZS5kZWxlZ2F0ZUNvdW50KyssMCxjZSk6b2UucHVzaChjZSksZi5ldmVudC5nbG9iYWxbd2VdPSEwKX0scmVtb3ZlOmZ1bmN0aW9uKG8sYyx5LHgsSSl7dmFyIE4sTyxYLFUsUSxjZSxwZSxvZSx3ZSxSZSxYZSx6ZT12ZS5oYXNEYXRhKG8pJiZ2ZS5nZXQobyk7aWYoISghemV8fCEoVT16ZS5ldmVudHMpKSl7Zm9yKGM9KGN8fCIiKS5tYXRjaChFZSl8fFsiIl0sUT1jLmxlbmd0aDtRLS07KXtpZihYPWthLmV4ZWMoY1tRXSl8fFtdLHdlPVhlPVhbMV0sUmU9KFhbMl18fCIiKS5zcGxpdCgiLiIpLnNvcnQoKSwhd2Upe2Zvcih3ZSBpbiBVKWYuZXZlbnQucmVtb3ZlKG8sd2UrY1tRXSx5LHgsITApO2NvbnRpbnVlfWZvcihwZT1mLmV2ZW50LnNwZWNpYWxbd2VdfHx7fSx3ZT0oeD9wZS5kZWxlZ2F0ZVR5cGU6cGUuYmluZFR5cGUpfHx3ZSxvZT1VW3dlXXx8W10sWD1YWzJdJiZuZXcgUmVnRXhwKCIoXnxcXC4pIitSZS5qb2luKCJcXC4oPzouKlxcLnwpIikrIihcXC58JCkiKSxPPU49b2UubGVuZ3RoO04tLTspY2U9b2VbTl0sKEl8fFhlPT09Y2Uub3JpZ1R5cGUpJiYoIXl8fHkuZ3VpZD09PWNlLmd1aWQpJiYoIVh8fFgudGVzdChjZS5uYW1lc3BhY2UpKSYmKCF4fHx4PT09Y2Uuc2VsZWN0b3J8fHg9PT0iKioiJiZjZS5zZWxlY3RvcikmJihvZS5zcGxpY2UoTiwxKSxjZS5zZWxlY3RvciYmb2UuZGVsZWdhdGVDb3VudC0tLHBlLnJlbW92ZSYmcGUucmVtb3ZlLmNhbGwobyxjZSkpO08mJiFvZS5sZW5ndGgmJigoIXBlLnRlYXJkb3dufHxwZS50ZWFyZG93bi5jYWxsKG8sUmUsemUuaGFuZGxlKT09PSExKSYmZi5yZW1vdmVFdmVudChvLHdlLHplLmhhbmRsZSksZGVsZXRlIFVbd2VdKX1mLmlzRW1wdHlPYmplY3QoVSkmJnZlLnJlbW92ZShvLCJoYW5kbGUgZXZlbnRzIil9fSxkaXNwYXRjaDpmdW5jdGlvbihvKXt2YXIgYyx5LHgsSSxOLE8sWD1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCksVT1mLmV2ZW50LmZpeChvKSxRPSh2ZS5nZXQodGhpcywiZXZlbnRzIil8fE9iamVjdC5jcmVhdGUobnVsbCkpW1UudHlwZV18fFtdLGNlPWYuZXZlbnQuc3BlY2lhbFtVLnR5cGVdfHx7fTtmb3IoWFswXT1VLGM9MTtjPGFyZ3VtZW50cy5sZW5ndGg7YysrKVhbY109YXJndW1lbnRzW2NdO2lmKFUuZGVsZWdhdGVUYXJnZXQ9dGhpcywhKGNlLnByZURpc3BhdGNoJiZjZS5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsVSk9PT0hMSkpe2ZvcihPPWYuZXZlbnQuaGFuZGxlcnMuY2FsbCh0aGlzLFUsUSksYz0wOyhJPU9bYysrXSkmJiFVLmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7KWZvcihVLmN1cnJlbnRUYXJnZXQ9SS5lbGVtLHk9MDsoTj1JLmhhbmRsZXJzW3krK10pJiYhVS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpOykoIVUucm5hbWVzcGFjZXx8Ti5uYW1lc3BhY2U9PT0hMXx8VS5ybmFtZXNwYWNlLnRlc3QoTi5uYW1lc3BhY2UpKSYmKFUuaGFuZGxlT2JqPU4sVS5kYXRhPU4uZGF0YSx4PSgoZi5ldmVudC5zcGVjaWFsW04ub3JpZ1R5cGVdfHx7fSkuaGFuZGxlfHxOLmhhbmRsZXIpLmFwcGx5KEkuZWxlbSxYKSx4IT09dm9pZCAwJiYoVS5yZXN1bHQ9eCk9PT0hMSYmKFUucHJldmVudERlZmF1bHQoKSxVLnN0b3BQcm9wYWdhdGlvbigpKSk7cmV0dXJuIGNlLnBvc3REaXNwYXRjaCYmY2UucG9zdERpc3BhdGNoLmNhbGwodGhpcyxVKSxVLnJlc3VsdH19LGhhbmRsZXJzOmZ1bmN0aW9uKG8sYyl7dmFyIHkseCxJLE4sTyxYPVtdLFU9Yy5kZWxlZ2F0ZUNvdW50LFE9by50YXJnZXQ7aWYoVSYmUS5ub2RlVHlwZSYmIShvLnR5cGU9PT0iY2xpY2siJiZvLmJ1dHRvbj49MSkpe2Zvcig7USE9PXRoaXM7UT1RLnBhcmVudE5vZGV8fHRoaXMpaWYoUS5ub2RlVHlwZT09PTEmJiEoby50eXBlPT09ImNsaWNrIiYmUS5kaXNhYmxlZD09PSEwKSl7Zm9yKE49W10sTz17fSx5PTA7eTxVO3krKyl4PWNbeV0sST14LnNlbGVjdG9yKyIgIixPW0ldPT09dm9pZCAwJiYoT1tJXT14Lm5lZWRzQ29udGV4dD9mKEksdGhpcykuaW5kZXgoUSk+LTE6Zi5maW5kKEksdGhpcyxudWxsLFtRXSkubGVuZ3RoKSxPW0ldJiZOLnB1c2goeCk7Ti5sZW5ndGgmJlgucHVzaCh7ZWxlbTpRLGhhbmRsZXJzOk59KX19cmV0dXJuIFE9dGhpcyxVPGMubGVuZ3RoJiZYLnB1c2goe2VsZW06USxoYW5kbGVyczpjLnNsaWNlKFUpfSksWH0sYWRkUHJvcDpmdW5jdGlvbihvLGMpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShmLkV2ZW50LnByb3RvdHlwZSxvLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxnZXQ6VChjKT9mdW5jdGlvbigpe2lmKHRoaXMub3JpZ2luYWxFdmVudClyZXR1cm4gYyh0aGlzLm9yaWdpbmFsRXZlbnQpfTpmdW5jdGlvbigpe2lmKHRoaXMub3JpZ2luYWxFdmVudClyZXR1cm4gdGhpcy5vcmlnaW5hbEV2ZW50W29dfSxzZXQ6ZnVuY3Rpb24oeSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsbyx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6eX0pfX0pfSxmaXg6ZnVuY3Rpb24obyl7cmV0dXJuIG9bZi5leHBhbmRvXT9vOm5ldyBmLkV2ZW50KG8pfSxzcGVjaWFsOntsb2FkOntub0J1YmJsZTohMH0sY2xpY2s6e3NldHVwOmZ1bmN0aW9uKG8pe3ZhciBjPXRoaXN8fG87cmV0dXJuIFp0LnRlc3QoYy50eXBlKSYmYy5jbGljayYmWihjLCJpbnB1dCIpJiZUcihjLCJjbGljayIsITApLCExfSx0cmlnZ2VyOmZ1bmN0aW9uKG8pe3ZhciBjPXRoaXN8fG87cmV0dXJuIFp0LnRlc3QoYy50eXBlKSYmYy5jbGljayYmWihjLCJpbnB1dCIpJiZUcihjLCJjbGljayIpLCEwfSxfZGVmYXVsdDpmdW5jdGlvbihvKXt2YXIgYz1vLnRhcmdldDtyZXR1cm4gWnQudGVzdChjLnR5cGUpJiZjLmNsaWNrJiZaKGMsImlucHV0IikmJnZlLmdldChjLCJjbGljayIpfHxaKGMsImEiKX19LGJlZm9yZXVubG9hZDp7cG9zdERpc3BhdGNoOmZ1bmN0aW9uKG8pe28ucmVzdWx0IT09dm9pZCAwJiZvLm9yaWdpbmFsRXZlbnQmJihvLm9yaWdpbmFsRXZlbnQucmV0dXJuVmFsdWU9by5yZXN1bHQpfX19fTtmdW5jdGlvbiBUcihvLGMseSl7aWYoIXkpe3ZlLmdldChvLGMpPT09dm9pZCAwJiZmLmV2ZW50LmFkZChvLGMsUG4pO3JldHVybn12ZS5zZXQobyxjLCExKSxmLmV2ZW50LmFkZChvLGMse25hbWVzcGFjZTohMSxoYW5kbGVyOmZ1bmN0aW9uKHgpe3ZhciBJLE49dmUuZ2V0KHRoaXMsYyk7aWYoeC5pc1RyaWdnZXImMSYmdGhpc1tjXSl7aWYoTikoZi5ldmVudC5zcGVjaWFsW2NdfHx7fSkuZGVsZWdhdGVUeXBlJiZ4LnN0b3BQcm9wYWdhdGlvbigpO2Vsc2UgaWYoTj1pLmNhbGwoYXJndW1lbnRzKSx2ZS5zZXQodGhpcyxjLE4pLHRoaXNbY10oKSxJPXZlLmdldCh0aGlzLGMpLHZlLnNldCh0aGlzLGMsITEpLE4hPT1JKXJldHVybiB4LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLHgucHJldmVudERlZmF1bHQoKSxJfWVsc2UgTiYmKHZlLnNldCh0aGlzLGMsZi5ldmVudC50cmlnZ2VyKE5bMF0sTi5zbGljZSgxKSx0aGlzKSkseC5zdG9wUHJvcGFnYXRpb24oKSx4LmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkPVBuKX19KX1mLnJlbW92ZUV2ZW50PWZ1bmN0aW9uKG8sYyx5KXtvLnJlbW92ZUV2ZW50TGlzdGVuZXImJm8ucmVtb3ZlRXZlbnRMaXN0ZW5lcihjLHkpfSxmLkV2ZW50PWZ1bmN0aW9uKG8sYyl7aWYoISh0aGlzIGluc3RhbmNlb2YgZi5FdmVudCkpcmV0dXJuIG5ldyBmLkV2ZW50KG8sYyk7byYmby50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9byx0aGlzLnR5cGU9by50eXBlLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPW8uZGVmYXVsdFByZXZlbnRlZHx8by5kZWZhdWx0UHJldmVudGVkPT09dm9pZCAwJiZvLnJldHVyblZhbHVlPT09ITE/UG46T24sdGhpcy50YXJnZXQ9by50YXJnZXQmJm8udGFyZ2V0Lm5vZGVUeXBlPT09Mz9vLnRhcmdldC5wYXJlbnROb2RlOm8udGFyZ2V0LHRoaXMuY3VycmVudFRhcmdldD1vLmN1cnJlbnRUYXJnZXQsdGhpcy5yZWxhdGVkVGFyZ2V0PW8ucmVsYXRlZFRhcmdldCk6dGhpcy50eXBlPW8sYyYmZi5leHRlbmQodGhpcyxjKSx0aGlzLnRpbWVTdGFtcD1vJiZvLnRpbWVTdGFtcHx8RGF0ZS5ub3coKSx0aGlzW2YuZXhwYW5kb109ITB9LGYuRXZlbnQucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpmLkV2ZW50LGlzRGVmYXVsdFByZXZlbnRlZDpPbixpc1Byb3BhZ2F0aW9uU3RvcHBlZDpPbixpc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZDpPbixpc1NpbXVsYXRlZDohMSxwcmV2ZW50RGVmYXVsdDpmdW5jdGlvbigpe3ZhciBvPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1QbixvJiYhdGhpcy5pc1NpbXVsYXRlZCYmby5wcmV2ZW50RGVmYXVsdCgpfSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgbz10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1QbixvJiYhdGhpcy5pc1NpbXVsYXRlZCYmby5zdG9wUHJvcGFnYXRpb24oKX0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIG89dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9UG4sbyYmIXRoaXMuaXNTaW11bGF0ZWQmJm8uc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksdGhpcy5zdG9wUHJvcGFnYXRpb24oKX19LGYuZWFjaCh7YWx0S2V5OiEwLGJ1YmJsZXM6ITAsY2FuY2VsYWJsZTohMCxjaGFuZ2VkVG91Y2hlczohMCxjdHJsS2V5OiEwLGRldGFpbDohMCxldmVudFBoYXNlOiEwLG1ldGFLZXk6ITAscGFnZVg6ITAscGFnZVk6ITAsc2hpZnRLZXk6ITAsdmlldzohMCxjaGFyOiEwLGNvZGU6ITAsY2hhckNvZGU6ITAsa2V5OiEwLGtleUNvZGU6ITAsYnV0dG9uOiEwLGJ1dHRvbnM6ITAsY2xpZW50WDohMCxjbGllbnRZOiEwLG9mZnNldFg6ITAsb2Zmc2V0WTohMCxwb2ludGVySWQ6ITAscG9pbnRlclR5cGU6ITAsc2NyZWVuWDohMCxzY3JlZW5ZOiEwLHRhcmdldFRvdWNoZXM6ITAsdG9FbGVtZW50OiEwLHRvdWNoZXM6ITAsd2hpY2g6ITB9LGYuZXZlbnQuYWRkUHJvcCksZi5lYWNoKHtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQifSxmdW5jdGlvbihvLGMpe2Z1bmN0aW9uIHkoeCl7aWYoaC5kb2N1bWVudE1vZGUpe3ZhciBJPXZlLmdldCh0aGlzLCJoYW5kbGUiKSxOPWYuZXZlbnQuZml4KHgpO04udHlwZT14LnR5cGU9PT0iZm9jdXNpbiI/ImZvY3VzIjoiYmx1ciIsTi5pc1NpbXVsYXRlZD0hMCxJKHgpLE4udGFyZ2V0PT09Ti5jdXJyZW50VGFyZ2V0JiZJKE4pfWVsc2UgZi5ldmVudC5zaW11bGF0ZShjLHgudGFyZ2V0LGYuZXZlbnQuZml4KHgpKX1mLmV2ZW50LnNwZWNpYWxbb109e3NldHVwOmZ1bmN0aW9uKCl7dmFyIHg7aWYoVHIodGhpcyxvLCEwKSxoLmRvY3VtZW50TW9kZSl4PXZlLmdldCh0aGlzLGMpLHh8fHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihjLHkpLHZlLnNldCh0aGlzLGMsKHh8fDApKzEpO2Vsc2UgcmV0dXJuITF9LHRyaWdnZXI6ZnVuY3Rpb24oKXtyZXR1cm4gVHIodGhpcyxvKSwhMH0sdGVhcmRvd246ZnVuY3Rpb24oKXt2YXIgeDtpZihoLmRvY3VtZW50TW9kZSl4PXZlLmdldCh0aGlzLGMpLTEseD92ZS5zZXQodGhpcyxjLHgpOih0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoYyx5KSx2ZS5yZW1vdmUodGhpcyxjKSk7ZWxzZSByZXR1cm4hMX0sX2RlZmF1bHQ6ZnVuY3Rpb24oeCl7cmV0dXJuIHZlLmdldCh4LnRhcmdldCxvKX0sZGVsZWdhdGVUeXBlOmN9LGYuZXZlbnQuc3BlY2lhbFtjXT17c2V0dXA6ZnVuY3Rpb24oKXt2YXIgeD10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMuZG9jdW1lbnR8fHRoaXMsST1oLmRvY3VtZW50TW9kZT90aGlzOngsTj12ZS5nZXQoSSxjKTtOfHwoaC5kb2N1bWVudE1vZGU/dGhpcy5hZGRFdmVudExpc3RlbmVyKGMseSk6eC5hZGRFdmVudExpc3RlbmVyKG8seSwhMCkpLHZlLnNldChJLGMsKE58fDApKzEpfSx0ZWFyZG93bjpmdW5jdGlvbigpe3ZhciB4PXRoaXMub3duZXJEb2N1bWVudHx8dGhpcy5kb2N1bWVudHx8dGhpcyxJPWguZG9jdW1lbnRNb2RlP3RoaXM6eCxOPXZlLmdldChJLGMpLTE7Tj92ZS5zZXQoSSxjLE4pOihoLmRvY3VtZW50TW9kZT90aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoYyx5KTp4LnJlbW92ZUV2ZW50TGlzdGVuZXIobyx5LCEwKSx2ZS5yZW1vdmUoSSxjKSl9fX0pLGYuZWFjaCh7bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCIscG9pbnRlcmVudGVyOiJwb2ludGVyb3ZlciIscG9pbnRlcmxlYXZlOiJwb2ludGVyb3V0In0sZnVuY3Rpb24obyxjKXtmLmV2ZW50LnNwZWNpYWxbb109e2RlbGVnYXRlVHlwZTpjLGJpbmRUeXBlOmMsaGFuZGxlOmZ1bmN0aW9uKHkpe3ZhciB4LEk9dGhpcyxOPXkucmVsYXRlZFRhcmdldCxPPXkuaGFuZGxlT2JqO3JldHVybighTnx8TiE9PUkmJiFmLmNvbnRhaW5zKEksTikpJiYoeS50eXBlPU8ub3JpZ1R5cGUseD1PLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpLHkudHlwZT1jKSx4fX19KSxmLmZuLmV4dGVuZCh7b246ZnVuY3Rpb24obyxjLHkseCl7cmV0dXJuIHVpKHRoaXMsbyxjLHkseCl9LG9uZTpmdW5jdGlvbihvLGMseSx4KXtyZXR1cm4gdWkodGhpcyxvLGMseSx4LDEpfSxvZmY6ZnVuY3Rpb24obyxjLHkpe3ZhciB4LEk7aWYobyYmby5wcmV2ZW50RGVmYXVsdCYmby5oYW5kbGVPYmopcmV0dXJuIHg9by5oYW5kbGVPYmosZihvLmRlbGVnYXRlVGFyZ2V0KS5vZmYoeC5uYW1lc3BhY2U/eC5vcmlnVHlwZSsiLiIreC5uYW1lc3BhY2U6eC5vcmlnVHlwZSx4LnNlbGVjdG9yLHguaGFuZGxlciksdGhpcztpZih0eXBlb2Ygbz09Im9iamVjdCIpe2ZvcihJIGluIG8pdGhpcy5vZmYoSSxjLG9bSV0pO3JldHVybiB0aGlzfXJldHVybihjPT09ITF8fHR5cGVvZiBjPT0iZnVuY3Rpb24iKSYmKHk9YyxjPXZvaWQgMCkseT09PSExJiYoeT1PbiksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Zi5ldmVudC5yZW1vdmUodGhpcyxvLHksYyl9KX19KTt2YXIgWG89LzxzY3JpcHR8PHN0eWxlfDxsaW5rL2ksWm89L2NoZWNrZWRccyooPzpbXj1dfD1ccyouY2hlY2tlZC4pL2ksWW89L15ccyo8IVxbQ0RBVEFcW3xcXVxdPlxzKiQvZztmdW5jdGlvbiBBYShvLGMpe3JldHVybiBaKG8sInRhYmxlIikmJlooYy5ub2RlVHlwZSE9PTExP2M6Yy5maXJzdENoaWxkLCJ0ciIpJiZmKG8pLmNoaWxkcmVuKCJ0Ym9keSIpWzBdfHxvfWZ1bmN0aW9uIEtvKG8pe3JldHVybiBvLnR5cGU9KG8uZ2V0QXR0cmlidXRlKCJ0eXBlIikhPT1udWxsKSsiLyIrby50eXBlLG99ZnVuY3Rpb24gSm8obyl7cmV0dXJuKG8udHlwZXx8IiIpLnNsaWNlKDAsNSk9PT0idHJ1ZS8iP28udHlwZT1vLnR5cGUuc2xpY2UoNSk6by5yZW1vdmVBdHRyaWJ1dGUoInR5cGUiKSxvfWZ1bmN0aW9uIElhKG8sYyl7dmFyIHkseCxJLE4sTyxYLFU7aWYoYy5ub2RlVHlwZT09PTEpe2lmKHZlLmhhc0RhdGEobykmJihOPXZlLmdldChvKSxVPU4uZXZlbnRzLFUpKXt2ZS5yZW1vdmUoYywiaGFuZGxlIGV2ZW50cyIpO2ZvcihJIGluIFUpZm9yKHk9MCx4PVVbSV0ubGVuZ3RoO3k8eDt5KyspZi5ldmVudC5hZGQoYyxJLFVbSV1beV0pfWplLmhhc0RhdGEobykmJihPPWplLmFjY2VzcyhvKSxYPWYuZXh0ZW5kKHt9LE8pLGplLnNldChjLFgpKX19ZnVuY3Rpb24gUW8obyxjKXt2YXIgeT1jLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7eT09PSJpbnB1dCImJlp0LnRlc3Qoby50eXBlKT9jLmNoZWNrZWQ9by5jaGVja2VkOih5PT09ImlucHV0Inx8eT09PSJ0ZXh0YXJlYSIpJiYoYy5kZWZhdWx0VmFsdWU9by5kZWZhdWx0VmFsdWUpfWZ1bmN0aW9uIEVuKG8sYyx5LHgpe2M9YShjKTt2YXIgSSxOLE8sWCxVLFEsY2U9MCxwZT1vLmxlbmd0aCxvZT1wZS0xLHdlPWNbMF0sUmU9VCh3ZSk7aWYoUmV8fHBlPjEmJnR5cGVvZiB3ZT09InN0cmluZyImJiFiLmNoZWNrQ2xvbmUmJlpvLnRlc3Qod2UpKXJldHVybiBvLmVhY2goZnVuY3Rpb24oWGUpe3ZhciB6ZT1vLmVxKFhlKTtSZSYmKGNbMF09d2UuY2FsbCh0aGlzLFhlLHplLmh0bWwoKSkpLEVuKHplLGMseSx4KX0pO2lmKHBlJiYoST1EYShjLG9bMF0ub3duZXJEb2N1bWVudCwhMSxvLHgpLE49SS5maXJzdENoaWxkLEkuY2hpbGROb2Rlcy5sZW5ndGg9PT0xJiYoST1OKSxOfHx4KSl7Zm9yKE89Zi5tYXAoRHQoSSwic2NyaXB0IiksS28pLFg9Ty5sZW5ndGg7Y2U8cGU7Y2UrKylVPUksY2UhPT1vZSYmKFU9Zi5jbG9uZShVLCEwLCEwKSxYJiZmLm1lcmdlKE8sRHQoVSwic2NyaXB0IikpKSx5LmNhbGwob1tjZV0sVSxjZSk7aWYoWClmb3IoUT1PW08ubGVuZ3RoLTFdLm93bmVyRG9jdW1lbnQsZi5tYXAoTyxKbyksY2U9MDtjZTxYO2NlKyspVT1PW2NlXSxUYS50ZXN0KFUudHlwZXx8IiIpJiYhdmUuYWNjZXNzKFUsImdsb2JhbEV2YWwiKSYmZi5jb250YWlucyhRLFUpJiYoVS5zcmMmJihVLnR5cGV8fCIiKS50b0xvd2VyQ2FzZSgpIT09Im1vZHVsZSI/Zi5fZXZhbFVybCYmIVUubm9Nb2R1bGUmJmYuX2V2YWxVcmwoVS5zcmMse25vbmNlOlUubm9uY2V8fFUuZ2V0QXR0cmlidXRlKCJub25jZSIpfSxRKTpwKFUudGV4dENvbnRlbnQucmVwbGFjZShZbywiIiksVSxRKSl9cmV0dXJuIG99ZnVuY3Rpb24gTmEobyxjLHkpe2Zvcih2YXIgeCxJPWM/Zi5maWx0ZXIoYyxvKTpvLE49MDsoeD1JW05dKSE9bnVsbDtOKyspIXkmJngubm9kZVR5cGU9PT0xJiZmLmNsZWFuRGF0YShEdCh4KSkseC5wYXJlbnROb2RlJiYoeSYmdnQoeCkmJmxpKER0KHgsInNjcmlwdCIpKSx4LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoeCkpO3JldHVybiBvfWYuZXh0ZW5kKHtodG1sUHJlZmlsdGVyOmZ1bmN0aW9uKG8pe3JldHVybiBvfSxjbG9uZTpmdW5jdGlvbihvLGMseSl7dmFyIHgsSSxOLE8sWD1vLmNsb25lTm9kZSghMCksVT12dChvKTtpZighYi5ub0Nsb25lQ2hlY2tlZCYmKG8ubm9kZVR5cGU9PT0xfHxvLm5vZGVUeXBlPT09MTEpJiYhZi5pc1hNTERvYyhvKSlmb3IoTz1EdChYKSxOPUR0KG8pLHg9MCxJPU4ubGVuZ3RoO3g8STt4KyspUW8oTlt4XSxPW3hdKTtpZihjKWlmKHkpZm9yKE49Tnx8RHQobyksTz1PfHxEdChYKSx4PTAsST1OLmxlbmd0aDt4PEk7eCsrKUlhKE5beF0sT1t4XSk7ZWxzZSBJYShvLFgpO3JldHVybiBPPUR0KFgsInNjcmlwdCIpLE8ubGVuZ3RoPjAmJmxpKE8sIVUmJkR0KG8sInNjcmlwdCIpKSxYfSxjbGVhbkRhdGE6ZnVuY3Rpb24obyl7Zm9yKHZhciBjLHkseCxJPWYuZXZlbnQuc3BlY2lhbCxOPTA7KHk9b1tOXSkhPT12b2lkIDA7TisrKWlmKFRlKHkpKXtpZihjPXlbdmUuZXhwYW5kb10pe2lmKGMuZXZlbnRzKWZvcih4IGluIGMuZXZlbnRzKUlbeF0/Zi5ldmVudC5yZW1vdmUoeSx4KTpmLnJlbW92ZUV2ZW50KHkseCxjLmhhbmRsZSk7eVt2ZS5leHBhbmRvXT12b2lkIDB9eVtqZS5leHBhbmRvXSYmKHlbamUuZXhwYW5kb109dm9pZCAwKX19fSksZi5mbi5leHRlbmQoe2RldGFjaDpmdW5jdGlvbihvKXtyZXR1cm4gTmEodGhpcyxvLCEwKX0scmVtb3ZlOmZ1bmN0aW9uKG8pe3JldHVybiBOYSh0aGlzLG8pfSx0ZXh0OmZ1bmN0aW9uKG8pe3JldHVybiBLKHRoaXMsZnVuY3Rpb24oYyl7cmV0dXJuIGM9PT12b2lkIDA/Zi50ZXh0KHRoaXMpOnRoaXMuZW1wdHkoKS5lYWNoKGZ1bmN0aW9uKCl7KHRoaXMubm9kZVR5cGU9PT0xfHx0aGlzLm5vZGVUeXBlPT09MTF8fHRoaXMubm9kZVR5cGU9PT05KSYmKHRoaXMudGV4dENvbnRlbnQ9Yyl9KX0sbnVsbCxvLGFyZ3VtZW50cy5sZW5ndGgpfSxhcHBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gRW4odGhpcyxhcmd1bWVudHMsZnVuY3Rpb24obyl7aWYodGhpcy5ub2RlVHlwZT09PTF8fHRoaXMubm9kZVR5cGU9PT0xMXx8dGhpcy5ub2RlVHlwZT09PTkpe3ZhciBjPUFhKHRoaXMsbyk7Yy5hcHBlbmRDaGlsZChvKX19KX0scHJlcGVuZDpmdW5jdGlvbigpe3JldHVybiBFbih0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihvKXtpZih0aGlzLm5vZGVUeXBlPT09MXx8dGhpcy5ub2RlVHlwZT09PTExfHx0aGlzLm5vZGVUeXBlPT09OSl7dmFyIGM9QWEodGhpcyxvKTtjLmluc2VydEJlZm9yZShvLGMuZmlyc3RDaGlsZCl9fSl9LGJlZm9yZTpmdW5jdGlvbigpe3JldHVybiBFbih0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihvKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobyx0aGlzKX0pfSxhZnRlcjpmdW5jdGlvbigpe3JldHVybiBFbih0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihvKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobyx0aGlzLm5leHRTaWJsaW5nKX0pfSxlbXB0eTpmdW5jdGlvbigpe2Zvcih2YXIgbyxjPTA7KG89dGhpc1tjXSkhPW51bGw7YysrKW8ubm9kZVR5cGU9PT0xJiYoZi5jbGVhbkRhdGEoRHQobywhMSkpLG8udGV4dENvbnRlbnQ9IiIpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbihvLGMpe3JldHVybiBvPW8/PyExLGM9Yz8/byx0aGlzLm1hcChmdW5jdGlvbigpe3JldHVybiBmLmNsb25lKHRoaXMsbyxjKX0pfSxodG1sOmZ1bmN0aW9uKG8pe3JldHVybiBLKHRoaXMsZnVuY3Rpb24oYyl7dmFyIHk9dGhpc1swXXx8e30seD0wLEk9dGhpcy5sZW5ndGg7aWYoYz09PXZvaWQgMCYmeS5ub2RlVHlwZT09PTEpcmV0dXJuIHkuaW5uZXJIVE1MO2lmKHR5cGVvZiBjPT0ic3RyaW5nIiYmIVhvLnRlc3QoYykmJiFqdFsoU2EuZXhlYyhjKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKV0pe2M9Zi5odG1sUHJlZmlsdGVyKGMpO3RyeXtmb3IoO3g8STt4KyspeT10aGlzW3hdfHx7fSx5Lm5vZGVUeXBlPT09MSYmKGYuY2xlYW5EYXRhKER0KHksITEpKSx5LmlubmVySFRNTD1jKTt5PTB9Y2F0Y2h7fX15JiZ0aGlzLmVtcHR5KCkuYXBwZW5kKGMpfSxudWxsLG8sYXJndW1lbnRzLmxlbmd0aCl9LHJlcGxhY2VXaXRoOmZ1bmN0aW9uKCl7dmFyIG89W107cmV0dXJuIEVuKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGMpe3ZhciB5PXRoaXMucGFyZW50Tm9kZTtmLmluQXJyYXkodGhpcyxvKTwwJiYoZi5jbGVhbkRhdGEoRHQodGhpcykpLHkmJnkucmVwbGFjZUNoaWxkKGMsdGhpcykpfSxvKX19KSxmLmVhY2goe2FwcGVuZFRvOiJhcHBlbmQiLHByZXBlbmRUbzoicHJlcGVuZCIsaW5zZXJ0QmVmb3JlOiJiZWZvcmUiLGluc2VydEFmdGVyOiJhZnRlciIscmVwbGFjZUFsbDoicmVwbGFjZVdpdGgifSxmdW5jdGlvbihvLGMpe2YuZm5bb109ZnVuY3Rpb24oeSl7Zm9yKHZhciB4LEk9W10sTj1mKHkpLE89Ti5sZW5ndGgtMSxYPTA7WDw9TztYKyspeD1YPT09Tz90aGlzOnRoaXMuY2xvbmUoITApLGYoTltYXSlbY10oeCkscy5hcHBseShJLHguZ2V0KCkpO3JldHVybiB0aGlzLnB1c2hTdGFjayhJKX19KTt2YXIgY2k9bmV3IFJlZ0V4cCgiXigiK3VuKyIpKD8hcHgpW2EteiVdKyQiLCJpIiksZGk9L14tLS8sRHI9ZnVuY3Rpb24obyl7dmFyIGM9by5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3O3JldHVybighY3x8IWMub3BlbmVyKSYmKGM9ZSksYy5nZXRDb21wdXRlZFN0eWxlKG8pfSxGYT1mdW5jdGlvbihvLGMseSl7dmFyIHgsSSxOPXt9O2ZvcihJIGluIGMpTltJXT1vLnN0eWxlW0ldLG8uc3R5bGVbSV09Y1tJXTt4PXkuY2FsbChvKTtmb3IoSSBpbiBjKW8uc3R5bGVbSV09TltJXTtyZXR1cm4geH0sZWw9bmV3IFJlZ0V4cChUdC5qb2luKCJ8IiksImkiKTsoZnVuY3Rpb24oKXtmdW5jdGlvbiBvKCl7aWYoUSl7VS5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi0xMTExMXB4O3dpZHRoOjYwcHg7bWFyZ2luLXRvcDoxcHg7cGFkZGluZzowO2JvcmRlcjowIixRLnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94O292ZXJmbG93OnNjcm9sbDttYXJnaW46YXV0bztib3JkZXI6MXB4O3BhZGRpbmc6MXB4O3dpZHRoOjYwJTt0b3A6MSUiLEd0LmFwcGVuZENoaWxkKFUpLmFwcGVuZENoaWxkKFEpO3ZhciBjZT1lLmdldENvbXB1dGVkU3R5bGUoUSk7eT1jZS50b3AhPT0iMSUiLFg9YyhjZS5tYXJnaW5MZWZ0KT09PTEyLFEuc3R5bGUucmlnaHQ9IjYwJSIsTj1jKGNlLnJpZ2h0KT09PTM2LHg9YyhjZS53aWR0aCk9PT0zNixRLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsST1jKFEub2Zmc2V0V2lkdGgvMyk9PT0xMixHdC5yZW1vdmVDaGlsZChVKSxRPW51bGx9fWZ1bmN0aW9uIGMoY2Upe3JldHVybiBNYXRoLnJvdW5kKHBhcnNlRmxvYXQoY2UpKX12YXIgeSx4LEksTixPLFgsVT1oLmNyZWF0ZUVsZW1lbnQoImRpdiIpLFE9aC5jcmVhdGVFbGVtZW50KCJkaXYiKTtRLnN0eWxlJiYoUS5zdHlsZS5iYWNrZ3JvdW5kQ2xpcD0iY29udGVudC1ib3giLFEuY2xvbmVOb2RlKCEwKS5zdHlsZS5iYWNrZ3JvdW5kQ2xpcD0iIixiLmNsZWFyQ2xvbmVTdHlsZT1RLnN0eWxlLmJhY2tncm91bmRDbGlwPT09ImNvbnRlbnQtYm94IixmLmV4dGVuZChiLHtib3hTaXppbmdSZWxpYWJsZTpmdW5jdGlvbigpe3JldHVybiBvKCkseH0scGl4ZWxCb3hTdHlsZXM6ZnVuY3Rpb24oKXtyZXR1cm4gbygpLE59LHBpeGVsUG9zaXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gbygpLHl9LHJlbGlhYmxlTWFyZ2luTGVmdDpmdW5jdGlvbigpe3JldHVybiBvKCksWH0sc2Nyb2xsYm94U2l6ZTpmdW5jdGlvbigpe3JldHVybiBvKCksSX0scmVsaWFibGVUckRpbWVuc2lvbnM6ZnVuY3Rpb24oKXt2YXIgY2UscGUsb2Usd2U7cmV0dXJuIE89PW51bGwmJihjZT1oLmNyZWF0ZUVsZW1lbnQoInRhYmxlIikscGU9aC5jcmVhdGVFbGVtZW50KCJ0ciIpLG9lPWguY3JlYXRlRWxlbWVudCgiZGl2IiksY2Uuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7bGVmdDotMTExMTFweDtib3JkZXItY29sbGFwc2U6c2VwYXJhdGUiLHBlLnN0eWxlLmNzc1RleHQ9ImJveC1zaXppbmc6Y29udGVudC1ib3g7Ym9yZGVyOjFweCBzb2xpZCIscGUuc3R5bGUuaGVpZ2h0PSIxcHgiLG9lLnN0eWxlLmhlaWdodD0iOXB4IixvZS5zdHlsZS5kaXNwbGF5PSJibG9jayIsR3QuYXBwZW5kQ2hpbGQoY2UpLmFwcGVuZENoaWxkKHBlKS5hcHBlbmRDaGlsZChvZSksd2U9ZS5nZXRDb21wdXRlZFN0eWxlKHBlKSxPPXBhcnNlSW50KHdlLmhlaWdodCwxMCkrcGFyc2VJbnQod2UuYm9yZGVyVG9wV2lkdGgsMTApK3BhcnNlSW50KHdlLmJvcmRlckJvdHRvbVdpZHRoLDEwKT09PXBlLm9mZnNldEhlaWdodCxHdC5yZW1vdmVDaGlsZChjZSkpLE99fSkpfSkoKTtmdW5jdGlvbiB0cihvLGMseSl7dmFyIHgsSSxOLE8sWD1kaS50ZXN0KGMpLFU9by5zdHlsZTtyZXR1cm4geT15fHxEcihvKSx5JiYoTz15LmdldFByb3BlcnR5VmFsdWUoYyl8fHlbY10sWCYmTyYmKE89Ty5yZXBsYWNlKFMsIiQxIil8fHZvaWQgMCksTz09PSIiJiYhdnQobykmJihPPWYuc3R5bGUobyxjKSksIWIucGl4ZWxCb3hTdHlsZXMoKSYmY2kudGVzdChPKSYmZWwudGVzdChjKSYmKHg9VS53aWR0aCxJPVUubWluV2lkdGgsTj1VLm1heFdpZHRoLFUubWluV2lkdGg9VS5tYXhXaWR0aD1VLndpZHRoPU8sTz15LndpZHRoLFUud2lkdGg9eCxVLm1pbldpZHRoPUksVS5tYXhXaWR0aD1OKSksTyE9PXZvaWQgMD9PKyIiOk99ZnVuY3Rpb24gTGEobyxjKXtyZXR1cm57Z2V0OmZ1bmN0aW9uKCl7aWYobygpKXtkZWxldGUgdGhpcy5nZXQ7cmV0dXJufXJldHVybih0aGlzLmdldD1jKS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fX12YXIgUGE9WyJXZWJraXQiLCJNb3oiLCJtcyJdLE9hPWguY3JlYXRlRWxlbWVudCgiZGl2Iikuc3R5bGUsRWE9e307ZnVuY3Rpb24gdGwobyl7Zm9yKHZhciBjPW9bMF0udG9VcHBlckNhc2UoKStvLnNsaWNlKDEpLHk9UGEubGVuZ3RoO3ktLTspaWYobz1QYVt5XStjLG8gaW4gT2EpcmV0dXJuIG99ZnVuY3Rpb24gZmkobyl7dmFyIGM9Zi5jc3NQcm9wc1tvXXx8RWFbb107cmV0dXJuIGN8fChvIGluIE9hP286RWFbb109dGwobyl8fG8pfXZhciBubD0vXihub25lfHRhYmxlKD8hLWNbZWFdKS4rKS8scmw9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdmlzaWJpbGl0eToiaGlkZGVuIixkaXNwbGF5OiJibG9jayJ9LEJhPXtsZXR0ZXJTcGFjaW5nOiIwIixmb250V2VpZ2h0OiI0MDAifTtmdW5jdGlvbiBSYShvLGMseSl7dmFyIHg9aXQuZXhlYyhjKTtyZXR1cm4geD9NYXRoLm1heCgwLHhbMl0tKHl8fDApKSsoeFszXXx8InB4Iik6Y31mdW5jdGlvbiBoaShvLGMseSx4LEksTil7dmFyIE89Yz09PSJ3aWR0aCI/MTowLFg9MCxVPTAsUT0wO2lmKHk9PT0oeD8iYm9yZGVyIjoiY29udGVudCIpKXJldHVybiAwO2Zvcig7Tzw0O08rPTIpeT09PSJtYXJnaW4iJiYoUSs9Zi5jc3Mobyx5K1R0W09dLCEwLEkpKSx4Pyh5PT09ImNvbnRlbnQiJiYoVS09Zi5jc3MobywicGFkZGluZyIrVHRbT10sITAsSSkpLHkhPT0ibWFyZ2luIiYmKFUtPWYuY3NzKG8sImJvcmRlciIrVHRbT10rIldpZHRoIiwhMCxJKSkpOihVKz1mLmNzcyhvLCJwYWRkaW5nIitUdFtPXSwhMCxJKSx5IT09InBhZGRpbmciP1UrPWYuY3NzKG8sImJvcmRlciIrVHRbT10rIldpZHRoIiwhMCxJKTpYKz1mLmNzcyhvLCJib3JkZXIiK1R0W09dKyJXaWR0aCIsITAsSSkpO3JldHVybiF4JiZOPj0wJiYoVSs9TWF0aC5tYXgoMCxNYXRoLmNlaWwob1sib2Zmc2V0IitjWzBdLnRvVXBwZXJDYXNlKCkrYy5zbGljZSgxKV0tTi1VLVgtLjUpKXx8MCksVStRfWZ1bmN0aW9uIE1hKG8sYyx5KXt2YXIgeD1EcihvKSxJPSFiLmJveFNpemluZ1JlbGlhYmxlKCl8fHksTj1JJiZmLmNzcyhvLCJib3hTaXppbmciLCExLHgpPT09ImJvcmRlci1ib3giLE89TixYPXRyKG8sYyx4KSxVPSJvZmZzZXQiK2NbMF0udG9VcHBlckNhc2UoKStjLnNsaWNlKDEpO2lmKGNpLnRlc3QoWCkpe2lmKCF5KXJldHVybiBYO1g9ImF1dG8ifXJldHVybighYi5ib3hTaXppbmdSZWxpYWJsZSgpJiZOfHwhYi5yZWxpYWJsZVRyRGltZW5zaW9ucygpJiZaKG8sInRyIil8fFg9PT0iYXV0byJ8fCFwYXJzZUZsb2F0KFgpJiZmLmNzcyhvLCJkaXNwbGF5IiwhMSx4KT09PSJpbmxpbmUiKSYmby5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCYmKE49Zi5jc3MobywiYm94U2l6aW5nIiwhMSx4KT09PSJib3JkZXItYm94IixPPVUgaW4gbyxPJiYoWD1vW1VdKSksWD1wYXJzZUZsb2F0KFgpfHwwLFgraGkobyxjLHl8fChOPyJib3JkZXIiOiJjb250ZW50IiksTyx4LFgpKyJweCJ9Zi5leHRlbmQoe2Nzc0hvb2tzOntvcGFjaXR5OntnZXQ6ZnVuY3Rpb24obyxjKXtpZihjKXt2YXIgeT10cihvLCJvcGFjaXR5Iik7cmV0dXJuIHk9PT0iIj8iMSI6eX19fX0sY3NzTnVtYmVyOnthbmltYXRpb25JdGVyYXRpb25Db3VudDohMCxhc3BlY3RSYXRpbzohMCxib3JkZXJJbWFnZVNsaWNlOiEwLGNvbHVtbkNvdW50OiEwLGZsZXhHcm93OiEwLGZsZXhTaHJpbms6ITAsZm9udFdlaWdodDohMCxncmlkQXJlYTohMCxncmlkQ29sdW1uOiEwLGdyaWRDb2x1bW5FbmQ6ITAsZ3JpZENvbHVtblN0YXJ0OiEwLGdyaWRSb3c6ITAsZ3JpZFJvd0VuZDohMCxncmlkUm93U3RhcnQ6ITAsbGluZUhlaWdodDohMCxvcGFjaXR5OiEwLG9yZGVyOiEwLG9ycGhhbnM6ITAsc2NhbGU6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwLGZpbGxPcGFjaXR5OiEwLGZsb29kT3BhY2l0eTohMCxzdG9wT3BhY2l0eTohMCxzdHJva2VNaXRlcmxpbWl0OiEwLHN0cm9rZU9wYWNpdHk6ITB9LGNzc1Byb3BzOnt9LHN0eWxlOmZ1bmN0aW9uKG8sYyx5LHgpe2lmKCEoIW98fG8ubm9kZVR5cGU9PT0zfHxvLm5vZGVUeXBlPT09OHx8IW8uc3R5bGUpKXt2YXIgSSxOLE8sWD1iZShjKSxVPWRpLnRlc3QoYyksUT1vLnN0eWxlO2lmKFV8fChjPWZpKFgpKSxPPWYuY3NzSG9va3NbY118fGYuY3NzSG9va3NbWF0seSE9PXZvaWQgMCl7aWYoTj10eXBlb2YgeSxOPT09InN0cmluZyImJihJPWl0LmV4ZWMoeSkpJiZJWzFdJiYoeT14cihvLGMsSSksTj0ibnVtYmVyIikseT09bnVsbHx8eSE9PXkpcmV0dXJuO049PT0ibnVtYmVyIiYmIVUmJih5Kz1JJiZJWzNdfHwoZi5jc3NOdW1iZXJbWF0/IiI6InB4IikpLCFiLmNsZWFyQ2xvbmVTdHlsZSYmeT09PSIiJiZjLmluZGV4T2YoImJhY2tncm91bmQiKT09PTAmJihRW2NdPSJpbmhlcml0IiksKCFPfHwhKCJzZXQiaW4gTyl8fCh5PU8uc2V0KG8seSx4KSkhPT12b2lkIDApJiYoVT9RLnNldFByb3BlcnR5KGMseSk6UVtjXT15KX1lbHNlIHJldHVybiBPJiYiZ2V0ImluIE8mJihJPU8uZ2V0KG8sITEseCkpIT09dm9pZCAwP0k6UVtjXX19LGNzczpmdW5jdGlvbihvLGMseSx4KXt2YXIgSSxOLE8sWD1iZShjKSxVPWRpLnRlc3QoYyk7cmV0dXJuIFV8fChjPWZpKFgpKSxPPWYuY3NzSG9va3NbY118fGYuY3NzSG9va3NbWF0sTyYmImdldCJpbiBPJiYoST1PLmdldChvLCEwLHkpKSxJPT09dm9pZCAwJiYoST10cihvLGMseCkpLEk9PT0ibm9ybWFsIiYmYyBpbiBCYSYmKEk9QmFbY10pLHk9PT0iInx8eT8oTj1wYXJzZUZsb2F0KEkpLHk9PT0hMHx8aXNGaW5pdGUoTik/Tnx8MDpJKTpJfX0pLGYuZWFjaChbImhlaWdodCIsIndpZHRoIl0sZnVuY3Rpb24obyxjKXtmLmNzc0hvb2tzW2NdPXtnZXQ6ZnVuY3Rpb24oeSx4LEkpe2lmKHgpcmV0dXJuIG5sLnRlc3QoZi5jc3MoeSwiZGlzcGxheSIpKSYmKCF5LmdldENsaWVudFJlY3RzKCkubGVuZ3RofHwheS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCk/RmEoeSxybCxmdW5jdGlvbigpe3JldHVybiBNYSh5LGMsSSl9KTpNYSh5LGMsSSl9LHNldDpmdW5jdGlvbih5LHgsSSl7dmFyIE4sTz1Ecih5KSxYPSFiLnNjcm9sbGJveFNpemUoKSYmTy5wb3NpdGlvbj09PSJhYnNvbHV0ZSIsVT1YfHxJLFE9VSYmZi5jc3MoeSwiYm94U2l6aW5nIiwhMSxPKT09PSJib3JkZXItYm94IixjZT1JP2hpKHksYyxJLFEsTyk6MDtyZXR1cm4gUSYmWCYmKGNlLT1NYXRoLmNlaWwoeVsib2Zmc2V0IitjWzBdLnRvVXBwZXJDYXNlKCkrYy5zbGljZSgxKV0tcGFyc2VGbG9hdChPW2NdKS1oaSh5LGMsImJvcmRlciIsITEsTyktLjUpKSxjZSYmKE49aXQuZXhlYyh4KSkmJihOWzNdfHwicHgiKSE9PSJweCImJih5LnN0eWxlW2NdPXgseD1mLmNzcyh5LGMpKSxSYSh5LHgsY2UpfX19KSxmLmNzc0hvb2tzLm1hcmdpbkxlZnQ9TGEoYi5yZWxpYWJsZU1hcmdpbkxlZnQsZnVuY3Rpb24obyxjKXtpZihjKXJldHVybihwYXJzZUZsb2F0KHRyKG8sIm1hcmdpbkxlZnQiKSl8fG8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdC1GYShvLHttYXJnaW5MZWZ0OjB9LGZ1bmN0aW9uKCl7cmV0dXJuIG8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdH0pKSsicHgifSksZi5lYWNoKHttYXJnaW46IiIscGFkZGluZzoiIixib3JkZXI6IldpZHRoIn0sZnVuY3Rpb24obyxjKXtmLmNzc0hvb2tzW28rY109e2V4cGFuZDpmdW5jdGlvbih5KXtmb3IodmFyIHg9MCxJPXt9LE49dHlwZW9mIHk9PSJzdHJpbmciP3kuc3BsaXQoIiAiKTpbeV07eDw0O3grKylJW28rVHRbeF0rY109Tlt4XXx8Tlt4LTJdfHxOWzBdO3JldHVybiBJfX0sbyE9PSJtYXJnaW4iJiYoZi5jc3NIb29rc1tvK2NdLnNldD1SYSl9KSxmLmZuLmV4dGVuZCh7Y3NzOmZ1bmN0aW9uKG8sYyl7cmV0dXJuIEsodGhpcyxmdW5jdGlvbih5LHgsSSl7dmFyIE4sTyxYPXt9LFU9MDtpZihBcnJheS5pc0FycmF5KHgpKXtmb3IoTj1Ecih5KSxPPXgubGVuZ3RoO1U8TztVKyspWFt4W1VdXT1mLmNzcyh5LHhbVV0sITEsTik7cmV0dXJuIFh9cmV0dXJuIEkhPT12b2lkIDA/Zi5zdHlsZSh5LHgsSSk6Zi5jc3MoeSx4KX0sbyxjLGFyZ3VtZW50cy5sZW5ndGg+MSl9fSk7ZnVuY3Rpb24ga3QobyxjLHkseCxJKXtyZXR1cm4gbmV3IGt0LnByb3RvdHlwZS5pbml0KG8sYyx5LHgsSSl9Zi5Ud2Vlbj1rdCxrdC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmt0LGluaXQ6ZnVuY3Rpb24obyxjLHkseCxJLE4pe3RoaXMuZWxlbT1vLHRoaXMucHJvcD15LHRoaXMuZWFzaW5nPUl8fGYuZWFzaW5nLl9kZWZhdWx0LHRoaXMub3B0aW9ucz1jLHRoaXMuc3RhcnQ9dGhpcy5ub3c9dGhpcy5jdXIoKSx0aGlzLmVuZD14LHRoaXMudW5pdD1OfHwoZi5jc3NOdW1iZXJbeV0/IiI6InB4Iil9LGN1cjpmdW5jdGlvbigpe3ZhciBvPWt0LnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiBvJiZvLmdldD9vLmdldCh0aGlzKTprdC5wcm9wSG9va3MuX2RlZmF1bHQuZ2V0KHRoaXMpfSxydW46ZnVuY3Rpb24obyl7dmFyIGMseT1rdC5wcm9wSG9va3NbdGhpcy5wcm9wXTtyZXR1cm4gdGhpcy5vcHRpb25zLmR1cmF0aW9uP3RoaXMucG9zPWM9Zi5lYXNpbmdbdGhpcy5lYXNpbmddKG8sdGhpcy5vcHRpb25zLmR1cmF0aW9uKm8sMCwxLHRoaXMub3B0aW9ucy5kdXJhdGlvbik6dGhpcy5wb3M9Yz1vLHRoaXMubm93PSh0aGlzLmVuZC10aGlzLnN0YXJ0KSpjK3RoaXMuc3RhcnQsdGhpcy5vcHRpb25zLnN0ZXAmJnRoaXMub3B0aW9ucy5zdGVwLmNhbGwodGhpcy5lbGVtLHRoaXMubm93LHRoaXMpLHkmJnkuc2V0P3kuc2V0KHRoaXMpOmt0LnByb3BIb29rcy5fZGVmYXVsdC5zZXQodGhpcyksdGhpc319LGt0LnByb3RvdHlwZS5pbml0LnByb3RvdHlwZT1rdC5wcm90b3R5cGUsa3QucHJvcEhvb2tzPXtfZGVmYXVsdDp7Z2V0OmZ1bmN0aW9uKG8pe3ZhciBjO3JldHVybiBvLmVsZW0ubm9kZVR5cGUhPT0xfHxvLmVsZW1bby5wcm9wXSE9bnVsbCYmby5lbGVtLnN0eWxlW28ucHJvcF09PW51bGw/by5lbGVtW28ucHJvcF06KGM9Zi5jc3Moby5lbGVtLG8ucHJvcCwiIiksIWN8fGM9PT0iYXV0byI/MDpjKX0sc2V0OmZ1bmN0aW9uKG8pe2YuZnguc3RlcFtvLnByb3BdP2YuZnguc3RlcFtvLnByb3BdKG8pOm8uZWxlbS5ub2RlVHlwZT09PTEmJihmLmNzc0hvb2tzW28ucHJvcF18fG8uZWxlbS5zdHlsZVtmaShvLnByb3ApXSE9bnVsbCk/Zi5zdHlsZShvLmVsZW0sby5wcm9wLG8ubm93K28udW5pdCk6by5lbGVtW28ucHJvcF09by5ub3d9fX0sa3QucHJvcEhvb2tzLnNjcm9sbFRvcD1rdC5wcm9wSG9va3Muc2Nyb2xsTGVmdD17c2V0OmZ1bmN0aW9uKG8pe28uZWxlbS5ub2RlVHlwZSYmby5lbGVtLnBhcmVudE5vZGUmJihvLmVsZW1bby5wcm9wXT1vLm5vdyl9fSxmLmVhc2luZz17bGluZWFyOmZ1bmN0aW9uKG8pe3JldHVybiBvfSxzd2luZzpmdW5jdGlvbihvKXtyZXR1cm4gLjUtTWF0aC5jb3MobypNYXRoLlBJKS8yfSxfZGVmYXVsdDoic3dpbmcifSxmLmZ4PWt0LnByb3RvdHlwZS5pbml0LGYuZnguc3RlcD17fTt2YXIgQm4sa3IsaWw9L14oPzp0b2dnbGV8c2hvd3xoaWRlKSQvLGFsPS9xdWV1ZUhvb2tzJC87ZnVuY3Rpb24gcGkoKXtrciYmKGguaGlkZGVuPT09ITEmJmUucmVxdWVzdEFuaW1hdGlvbkZyYW1lP2UucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHBpKTplLnNldFRpbWVvdXQocGksZi5meC5pbnRlcnZhbCksZi5meC50aWNrKCkpfWZ1bmN0aW9uIGphKCl7cmV0dXJuIGUuc2V0VGltZW91dChmdW5jdGlvbigpe0JuPXZvaWQgMH0pLEJuPURhdGUubm93KCl9ZnVuY3Rpb24gQXIobyxjKXt2YXIgeSx4PTAsST17aGVpZ2h0Om99O2ZvcihjPWM/MTowO3g8NDt4Kz0yLWMpeT1UdFt4XSxJWyJtYXJnaW4iK3ldPUlbInBhZGRpbmciK3ldPW87cmV0dXJuIGMmJihJLm9wYWNpdHk9SS53aWR0aD1vKSxJfWZ1bmN0aW9uIFZhKG8sYyx5KXtmb3IodmFyIHgsST0oJHQudHdlZW5lcnNbY118fFtdKS5jb25jYXQoJHQudHdlZW5lcnNbIioiXSksTj0wLE89SS5sZW5ndGg7TjxPO04rKylpZih4PUlbTl0uY2FsbCh5LGMsbykpcmV0dXJuIHh9ZnVuY3Rpb24gc2wobyxjLHkpe3ZhciB4LEksTixPLFgsVSxRLGNlLHBlPSJ3aWR0aCJpbiBjfHwiaGVpZ2h0ImluIGMsb2U9dGhpcyx3ZT17fSxSZT1vLnN0eWxlLFhlPW8ubm9kZVR5cGUmJkxuKG8pLHplPXZlLmdldChvLCJmeHNob3ciKTt5LnF1ZXVlfHwoTz1mLl9xdWV1ZUhvb2tzKG8sImZ4IiksTy51bnF1ZXVlZD09bnVsbCYmKE8udW5xdWV1ZWQ9MCxYPU8uZW1wdHkuZmlyZSxPLmVtcHR5LmZpcmU9ZnVuY3Rpb24oKXtPLnVucXVldWVkfHxYKCl9KSxPLnVucXVldWVkKyssb2UuYWx3YXlzKGZ1bmN0aW9uKCl7b2UuYWx3YXlzKGZ1bmN0aW9uKCl7Ty51bnF1ZXVlZC0tLGYucXVldWUobywiZngiKS5sZW5ndGh8fE8uZW1wdHkuZmlyZSgpfSl9KSk7Zm9yKHggaW4gYylpZihJPWNbeF0saWwudGVzdChJKSl7aWYoZGVsZXRlIGNbeF0sTj1OfHxJPT09InRvZ2dsZSIsST09PShYZT8iaGlkZSI6InNob3ciKSlpZihJPT09InNob3ciJiZ6ZSYmemVbeF0hPT12b2lkIDApWGU9ITA7ZWxzZSBjb250aW51ZTt3ZVt4XT16ZSYmemVbeF18fGYuc3R5bGUobyx4KX1pZihVPSFmLmlzRW1wdHlPYmplY3QoYyksISghVSYmZi5pc0VtcHR5T2JqZWN0KHdlKSkpe3BlJiZvLm5vZGVUeXBlPT09MSYmKHkub3ZlcmZsb3c9W1JlLm92ZXJmbG93LFJlLm92ZXJmbG93WCxSZS5vdmVyZmxvd1ldLFE9emUmJnplLmRpc3BsYXksUT09bnVsbCYmKFE9dmUuZ2V0KG8sImRpc3BsYXkiKSksY2U9Zi5jc3MobywiZGlzcGxheSIpLGNlPT09Im5vbmUiJiYoUT9jZT1ROihNdChbb10sITApLFE9by5zdHlsZS5kaXNwbGF5fHxRLGNlPWYuY3NzKG8sImRpc3BsYXkiKSxNdChbb10pKSksKGNlPT09ImlubGluZSJ8fGNlPT09ImlubGluZS1ibG9jayImJlEhPW51bGwpJiZmLmNzcyhvLCJmbG9hdCIpPT09Im5vbmUiJiYoVXx8KG9lLmRvbmUoZnVuY3Rpb24oKXtSZS5kaXNwbGF5PVF9KSxRPT1udWxsJiYoY2U9UmUuZGlzcGxheSxRPWNlPT09Im5vbmUiPyIiOmNlKSksUmUuZGlzcGxheT0iaW5saW5lLWJsb2NrIikpLHkub3ZlcmZsb3cmJihSZS5vdmVyZmxvdz0iaGlkZGVuIixvZS5hbHdheXMoZnVuY3Rpb24oKXtSZS5vdmVyZmxvdz15Lm92ZXJmbG93WzBdLFJlLm92ZXJmbG93WD15Lm92ZXJmbG93WzFdLFJlLm92ZXJmbG93WT15Lm92ZXJmbG93WzJdfSkpLFU9ITE7Zm9yKHggaW4gd2UpVXx8KHplPyJoaWRkZW4iaW4gemUmJihYZT16ZS5oaWRkZW4pOnplPXZlLmFjY2VzcyhvLCJmeHNob3ciLHtkaXNwbGF5OlF9KSxOJiYoemUuaGlkZGVuPSFYZSksWGUmJk10KFtvXSwhMCksb2UuZG9uZShmdW5jdGlvbigpe1hlfHxNdChbb10pLHZlLnJlbW92ZShvLCJmeHNob3ciKTtmb3IoeCBpbiB3ZSlmLnN0eWxlKG8seCx3ZVt4XSl9KSksVT1WYShYZT96ZVt4XTowLHgsb2UpLHggaW4gemV8fCh6ZVt4XT1VLnN0YXJ0LFhlJiYoVS5lbmQ9VS5zdGFydCxVLnN0YXJ0PTApKX19ZnVuY3Rpb24gb2wobyxjKXt2YXIgeSx4LEksTixPO2Zvcih5IGluIG8paWYoeD1iZSh5KSxJPWNbeF0sTj1vW3ldLEFycmF5LmlzQXJyYXkoTikmJihJPU5bMV0sTj1vW3ldPU5bMF0pLHkhPT14JiYob1t4XT1OLGRlbGV0ZSBvW3ldKSxPPWYuY3NzSG9va3NbeF0sTyYmImV4cGFuZCJpbiBPKXtOPU8uZXhwYW5kKE4pLGRlbGV0ZSBvW3hdO2Zvcih5IGluIE4peSBpbiBvfHwob1t5XT1OW3ldLGNbeV09SSl9ZWxzZSBjW3hdPUl9ZnVuY3Rpb24gJHQobyxjLHkpe3ZhciB4LEksTj0wLE89JHQucHJlZmlsdGVycy5sZW5ndGgsWD1mLkRlZmVycmVkKCkuYWx3YXlzKGZ1bmN0aW9uKCl7ZGVsZXRlIFUuZWxlbX0pLFU9ZnVuY3Rpb24oKXtpZihJKXJldHVybiExO2Zvcih2YXIgcGU9Qm58fGphKCksb2U9TWF0aC5tYXgoMCxRLnN0YXJ0VGltZStRLmR1cmF0aW9uLXBlKSx3ZT1vZS9RLmR1cmF0aW9ufHwwLFJlPTEtd2UsWGU9MCx6ZT1RLnR3ZWVucy5sZW5ndGg7WGU8emU7WGUrKylRLnR3ZWVuc1tYZV0ucnVuKFJlKTtyZXR1cm4gWC5ub3RpZnlXaXRoKG8sW1EsUmUsb2VdKSxSZTwxJiZ6ZT9vZTooemV8fFgubm90aWZ5V2l0aChvLFtRLDEsMF0pLFgucmVzb2x2ZVdpdGgobyxbUV0pLCExKX0sUT1YLnByb21pc2Uoe2VsZW06byxwcm9wczpmLmV4dGVuZCh7fSxjKSxvcHRzOmYuZXh0ZW5kKCEwLHtzcGVjaWFsRWFzaW5nOnt9LGVhc2luZzpmLmVhc2luZy5fZGVmYXVsdH0seSksb3JpZ2luYWxQcm9wZXJ0aWVzOmMsb3JpZ2luYWxPcHRpb25zOnksc3RhcnRUaW1lOkJufHxqYSgpLGR1cmF0aW9uOnkuZHVyYXRpb24sdHdlZW5zOltdLGNyZWF0ZVR3ZWVuOmZ1bmN0aW9uKHBlLG9lKXt2YXIgd2U9Zi5Ud2VlbihvLFEub3B0cyxwZSxvZSxRLm9wdHMuc3BlY2lhbEVhc2luZ1twZV18fFEub3B0cy5lYXNpbmcpO3JldHVybiBRLnR3ZWVucy5wdXNoKHdlKSx3ZX0sc3RvcDpmdW5jdGlvbihwZSl7dmFyIG9lPTAsd2U9cGU/US50d2VlbnMubGVuZ3RoOjA7aWYoSSlyZXR1cm4gdGhpcztmb3IoST0hMDtvZTx3ZTtvZSsrKVEudHdlZW5zW29lXS5ydW4oMSk7cmV0dXJuIHBlPyhYLm5vdGlmeVdpdGgobyxbUSwxLDBdKSxYLnJlc29sdmVXaXRoKG8sW1EscGVdKSk6WC5yZWplY3RXaXRoKG8sW1EscGVdKSx0aGlzfX0pLGNlPVEucHJvcHM7Zm9yKG9sKGNlLFEub3B0cy5zcGVjaWFsRWFzaW5nKTtOPE87TisrKWlmKHg9JHQucHJlZmlsdGVyc1tOXS5jYWxsKFEsbyxjZSxRLm9wdHMpLHgpcmV0dXJuIFQoeC5zdG9wKSYmKGYuX3F1ZXVlSG9va3MoUS5lbGVtLFEub3B0cy5xdWV1ZSkuc3RvcD14LnN0b3AuYmluZCh4KSkseDtyZXR1cm4gZi5tYXAoY2UsVmEsUSksVChRLm9wdHMuc3RhcnQpJiZRLm9wdHMuc3RhcnQuY2FsbChvLFEpLFEucHJvZ3Jlc3MoUS5vcHRzLnByb2dyZXNzKS5kb25lKFEub3B0cy5kb25lLFEub3B0cy5jb21wbGV0ZSkuZmFpbChRLm9wdHMuZmFpbCkuYWx3YXlzKFEub3B0cy5hbHdheXMpLGYuZngudGltZXIoZi5leHRlbmQoVSx7ZWxlbTpvLGFuaW06USxxdWV1ZTpRLm9wdHMucXVldWV9KSksUX1mLkFuaW1hdGlvbj1mLmV4dGVuZCgkdCx7dHdlZW5lcnM6eyIqIjpbZnVuY3Rpb24obyxjKXt2YXIgeT10aGlzLmNyZWF0ZVR3ZWVuKG8sYyk7cmV0dXJuIHhyKHkuZWxlbSxvLGl0LmV4ZWMoYykseSkseX1dfSx0d2VlbmVyOmZ1bmN0aW9uKG8sYyl7VChvKT8oYz1vLG89WyIqIl0pOm89by5tYXRjaChFZSk7Zm9yKHZhciB5LHg9MCxJPW8ubGVuZ3RoO3g8STt4KyspeT1vW3hdLCR0LnR3ZWVuZXJzW3ldPSR0LnR3ZWVuZXJzW3ldfHxbXSwkdC50d2VlbmVyc1t5XS51bnNoaWZ0KGMpfSxwcmVmaWx0ZXJzOltzbF0scHJlZmlsdGVyOmZ1bmN0aW9uKG8sYyl7Yz8kdC5wcmVmaWx0ZXJzLnVuc2hpZnQobyk6JHQucHJlZmlsdGVycy5wdXNoKG8pfX0pLGYuc3BlZWQ9ZnVuY3Rpb24obyxjLHkpe3ZhciB4PW8mJnR5cGVvZiBvPT0ib2JqZWN0Ij9mLmV4dGVuZCh7fSxvKTp7Y29tcGxldGU6eXx8IXkmJmN8fFQobykmJm8sZHVyYXRpb246byxlYXNpbmc6eSYmY3x8YyYmIVQoYykmJmN9O3JldHVybiBmLmZ4Lm9mZj94LmR1cmF0aW9uPTA6dHlwZW9mIHguZHVyYXRpb24hPSJudW1iZXIiJiYoeC5kdXJhdGlvbiBpbiBmLmZ4LnNwZWVkcz94LmR1cmF0aW9uPWYuZnguc3BlZWRzW3guZHVyYXRpb25dOnguZHVyYXRpb249Zi5meC5zcGVlZHMuX2RlZmF1bHQpLCh4LnF1ZXVlPT1udWxsfHx4LnF1ZXVlPT09ITApJiYoeC5xdWV1ZT0iZngiKSx4Lm9sZD14LmNvbXBsZXRlLHguY29tcGxldGU9ZnVuY3Rpb24oKXtUKHgub2xkKSYmeC5vbGQuY2FsbCh0aGlzKSx4LnF1ZXVlJiZmLmRlcXVldWUodGhpcyx4LnF1ZXVlKX0seH0sZi5mbi5leHRlbmQoe2ZhZGVUbzpmdW5jdGlvbihvLGMseSx4KXtyZXR1cm4gdGhpcy5maWx0ZXIoTG4pLmNzcygib3BhY2l0eSIsMCkuc2hvdygpLmVuZCgpLmFuaW1hdGUoe29wYWNpdHk6Y30sbyx5LHgpfSxhbmltYXRlOmZ1bmN0aW9uKG8sYyx5LHgpe3ZhciBJPWYuaXNFbXB0eU9iamVjdChvKSxOPWYuc3BlZWQoYyx5LHgpLE89ZnVuY3Rpb24oKXt2YXIgWD0kdCh0aGlzLGYuZXh0ZW5kKHt9LG8pLE4pOyhJfHx2ZS5nZXQodGhpcywiZmluaXNoIikpJiZYLnN0b3AoITApfTtyZXR1cm4gTy5maW5pc2g9TyxJfHxOLnF1ZXVlPT09ITE/dGhpcy5lYWNoKE8pOnRoaXMucXVldWUoTi5xdWV1ZSxPKX0sc3RvcDpmdW5jdGlvbihvLGMseSl7dmFyIHg9ZnVuY3Rpb24oSSl7dmFyIE49SS5zdG9wO2RlbGV0ZSBJLnN0b3AsTih5KX07cmV0dXJuIHR5cGVvZiBvIT0ic3RyaW5nIiYmKHk9YyxjPW8sbz12b2lkIDApLGMmJnRoaXMucXVldWUob3x8ImZ4IixbXSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIEk9ITAsTj1vIT1udWxsJiZvKyJxdWV1ZUhvb2tzIixPPWYudGltZXJzLFg9dmUuZ2V0KHRoaXMpO2lmKE4pWFtOXSYmWFtOXS5zdG9wJiZ4KFhbTl0pO2Vsc2UgZm9yKE4gaW4gWClYW05dJiZYW05dLnN0b3AmJmFsLnRlc3QoTikmJngoWFtOXSk7Zm9yKE49Ty5sZW5ndGg7Ti0tOylPW05dLmVsZW09PT10aGlzJiYobz09bnVsbHx8T1tOXS5xdWV1ZT09PW8pJiYoT1tOXS5hbmltLnN0b3AoeSksST0hMSxPLnNwbGljZShOLDEpKTsoSXx8IXkpJiZmLmRlcXVldWUodGhpcyxvKX0pfSxmaW5pc2g6ZnVuY3Rpb24obyl7cmV0dXJuIG8hPT0hMSYmKG89b3x8ImZ4IiksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGMseT12ZS5nZXQodGhpcykseD15W28rInF1ZXVlIl0sST15W28rInF1ZXVlSG9va3MiXSxOPWYudGltZXJzLE89eD94Lmxlbmd0aDowO2Zvcih5LmZpbmlzaD0hMCxmLnF1ZXVlKHRoaXMsbyxbXSksSSYmSS5zdG9wJiZJLnN0b3AuY2FsbCh0aGlzLCEwKSxjPU4ubGVuZ3RoO2MtLTspTltjXS5lbGVtPT09dGhpcyYmTltjXS5xdWV1ZT09PW8mJihOW2NdLmFuaW0uc3RvcCghMCksTi5zcGxpY2UoYywxKSk7Zm9yKGM9MDtjPE87YysrKXhbY10mJnhbY10uZmluaXNoJiZ4W2NdLmZpbmlzaC5jYWxsKHRoaXMpO2RlbGV0ZSB5LmZpbmlzaH0pfX0pLGYuZWFjaChbInRvZ2dsZSIsInNob3ciLCJoaWRlIl0sZnVuY3Rpb24obyxjKXt2YXIgeT1mLmZuW2NdO2YuZm5bY109ZnVuY3Rpb24oeCxJLE4pe3JldHVybiB4PT1udWxsfHx0eXBlb2YgeD09ImJvb2xlYW4iP3kuYXBwbHkodGhpcyxhcmd1bWVudHMpOnRoaXMuYW5pbWF0ZShBcihjLCEwKSx4LEksTil9fSksZi5lYWNoKHtzbGlkZURvd246QXIoInNob3ciKSxzbGlkZVVwOkFyKCJoaWRlIiksc2xpZGVUb2dnbGU6QXIoInRvZ2dsZSIpLGZhZGVJbjp7b3BhY2l0eToic2hvdyJ9LGZhZGVPdXQ6e29wYWNpdHk6ImhpZGUifSxmYWRlVG9nZ2xlOntvcGFjaXR5OiJ0b2dnbGUifX0sZnVuY3Rpb24obyxjKXtmLmZuW29dPWZ1bmN0aW9uKHkseCxJKXtyZXR1cm4gdGhpcy5hbmltYXRlKGMseSx4LEkpfX0pLGYudGltZXJzPVtdLGYuZngudGljaz1mdW5jdGlvbigpe3ZhciBvLGM9MCx5PWYudGltZXJzO2ZvcihCbj1EYXRlLm5vdygpO2M8eS5sZW5ndGg7YysrKW89eVtjXSwhbygpJiZ5W2NdPT09byYmeS5zcGxpY2UoYy0tLDEpO3kubGVuZ3RofHxmLmZ4LnN0b3AoKSxCbj12b2lkIDB9LGYuZngudGltZXI9ZnVuY3Rpb24obyl7Zi50aW1lcnMucHVzaChvKSxmLmZ4LnN0YXJ0KCl9LGYuZnguaW50ZXJ2YWw9MTMsZi5meC5zdGFydD1mdW5jdGlvbigpe2tyfHwoa3I9ITAscGkoKSl9LGYuZnguc3RvcD1mdW5jdGlvbigpe2tyPW51bGx9LGYuZnguc3BlZWRzPXtzbG93OjYwMCxmYXN0OjIwMCxfZGVmYXVsdDo0MDB9LGYuZm4uZGVsYXk9ZnVuY3Rpb24obyxjKXtyZXR1cm4gbz1mLmZ4JiZmLmZ4LnNwZWVkc1tvXXx8byxjPWN8fCJmeCIsdGhpcy5xdWV1ZShjLGZ1bmN0aW9uKHkseCl7dmFyIEk9ZS5zZXRUaW1lb3V0KHksbyk7eC5zdG9wPWZ1bmN0aW9uKCl7ZS5jbGVhclRpbWVvdXQoSSl9fSl9LChmdW5jdGlvbigpe3ZhciBvPWguY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxjPWguY3JlYXRlRWxlbWVudCgic2VsZWN0IikseT1jLmFwcGVuZENoaWxkKGguY3JlYXRlRWxlbWVudCgib3B0aW9uIikpO28udHlwZT0iY2hlY2tib3giLGIuY2hlY2tPbj1vLnZhbHVlIT09IiIsYi5vcHRTZWxlY3RlZD15LnNlbGVjdGVkLG89aC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLG8udmFsdWU9InQiLG8udHlwZT0icmFkaW8iLGIucmFkaW9WYWx1ZT1vLnZhbHVlPT09InQifSkoKTt2YXIgSGEsbnI9Zi5leHByLmF0dHJIYW5kbGU7Zi5mbi5leHRlbmQoe2F0dHI6ZnVuY3Rpb24obyxjKXtyZXR1cm4gSyh0aGlzLGYuYXR0cixvLGMsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihvKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Zi5yZW1vdmVBdHRyKHRoaXMsbyl9KX19KSxmLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihvLGMseSl7dmFyIHgsSSxOPW8ubm9kZVR5cGU7aWYoIShOPT09M3x8Tj09PTh8fE49PT0yKSl7aWYodHlwZW9mIG8uZ2V0QXR0cmlidXRlPiJ1IilyZXR1cm4gZi5wcm9wKG8sYyx5KTtpZigoTiE9PTF8fCFmLmlzWE1MRG9jKG8pKSYmKEk9Zi5hdHRySG9va3NbYy50b0xvd2VyQ2FzZSgpXXx8KGYuZXhwci5tYXRjaC5ib29sLnRlc3QoYyk/SGE6dm9pZCAwKSkseSE9PXZvaWQgMCl7aWYoeT09PW51bGwpe2YucmVtb3ZlQXR0cihvLGMpO3JldHVybn1yZXR1cm4gSSYmInNldCJpbiBJJiYoeD1JLnNldChvLHksYykpIT09dm9pZCAwP3g6KG8uc2V0QXR0cmlidXRlKGMseSsiIikseSl9cmV0dXJuIEkmJiJnZXQiaW4gSSYmKHg9SS5nZXQobyxjKSkhPT1udWxsP3g6KHg9Zi5maW5kLmF0dHIobyxjKSx4Pz92b2lkIDApfX0sYXR0ckhvb2tzOnt0eXBlOntzZXQ6ZnVuY3Rpb24obyxjKXtpZighYi5yYWRpb1ZhbHVlJiZjPT09InJhZGlvIiYmWihvLCJpbnB1dCIpKXt2YXIgeT1vLnZhbHVlO3JldHVybiBvLnNldEF0dHJpYnV0ZSgidHlwZSIsYykseSYmKG8udmFsdWU9eSksY319fX0scmVtb3ZlQXR0cjpmdW5jdGlvbihvLGMpe3ZhciB5LHg9MCxJPWMmJmMubWF0Y2goRWUpO2lmKEkmJm8ubm9kZVR5cGU9PT0xKWZvcig7eT1JW3grK107KW8ucmVtb3ZlQXR0cmlidXRlKHkpfX0pLEhhPXtzZXQ6ZnVuY3Rpb24obyxjLHkpe3JldHVybiBjPT09ITE/Zi5yZW1vdmVBdHRyKG8seSk6by5zZXRBdHRyaWJ1dGUoeSx5KSx5fX0sZi5lYWNoKGYuZXhwci5tYXRjaC5ib29sLnNvdXJjZS5tYXRjaCgvXHcrL2cpLGZ1bmN0aW9uKG8sYyl7dmFyIHk9bnJbY118fGYuZmluZC5hdHRyO25yW2NdPWZ1bmN0aW9uKHgsSSxOKXt2YXIgTyxYLFU9SS50b0xvd2VyQ2FzZSgpO3JldHVybiBOfHwoWD1ucltVXSxucltVXT1PLE89eSh4LEksTikhPW51bGw/VTpudWxsLG5yW1VdPVgpLE99fSk7dmFyIGxsPS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbikkL2ksdWw9L14oPzphfGFyZWEpJC9pO2YuZm4uZXh0ZW5kKHtwcm9wOmZ1bmN0aW9uKG8sYyl7cmV0dXJuIEsodGhpcyxmLnByb3AsbyxjLGFyZ3VtZW50cy5sZW5ndGg+MSl9LHJlbW92ZVByb3A6ZnVuY3Rpb24obyl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2RlbGV0ZSB0aGlzW2YucHJvcEZpeFtvXXx8b119KX19KSxmLmV4dGVuZCh7cHJvcDpmdW5jdGlvbihvLGMseSl7dmFyIHgsSSxOPW8ubm9kZVR5cGU7aWYoIShOPT09M3x8Tj09PTh8fE49PT0yKSlyZXR1cm4oTiE9PTF8fCFmLmlzWE1MRG9jKG8pKSYmKGM9Zi5wcm9wRml4W2NdfHxjLEk9Zi5wcm9wSG9va3NbY10pLHkhPT12b2lkIDA/SSYmInNldCJpbiBJJiYoeD1JLnNldChvLHksYykpIT09dm9pZCAwP3g6b1tjXT15OkkmJiJnZXQiaW4gSSYmKHg9SS5nZXQobyxjKSkhPT1udWxsP3g6b1tjXX0scHJvcEhvb2tzOnt0YWJJbmRleDp7Z2V0OmZ1bmN0aW9uKG8pe3ZhciBjPWYuZmluZC5hdHRyKG8sInRhYmluZGV4Iik7cmV0dXJuIGM/cGFyc2VJbnQoYywxMCk6bGwudGVzdChvLm5vZGVOYW1lKXx8dWwudGVzdChvLm5vZGVOYW1lKSYmby5ocmVmPzA6LTF9fX0scHJvcEZpeDp7Zm9yOiJodG1sRm9yIixjbGFzczoiY2xhc3NOYW1lIn19KSxiLm9wdFNlbGVjdGVkfHwoZi5wcm9wSG9va3Muc2VsZWN0ZWQ9e2dldDpmdW5jdGlvbihvKXt2YXIgYz1vLnBhcmVudE5vZGU7cmV0dXJuIGMmJmMucGFyZW50Tm9kZSYmYy5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsbnVsbH0sc2V0OmZ1bmN0aW9uKG8pe3ZhciBjPW8ucGFyZW50Tm9kZTtjJiYoYy5zZWxlY3RlZEluZGV4LGMucGFyZW50Tm9kZSYmYy5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgpfX0pLGYuZWFjaChbInRhYkluZGV4IiwicmVhZE9ubHkiLCJtYXhMZW5ndGgiLCJjZWxsU3BhY2luZyIsImNlbGxQYWRkaW5nIiwicm93U3BhbiIsImNvbFNwYW4iLCJ1c2VNYXAiLCJmcmFtZUJvcmRlciIsImNvbnRlbnRFZGl0YWJsZSJdLGZ1bmN0aW9uKCl7Zi5wcm9wRml4W3RoaXMudG9Mb3dlckNhc2UoKV09dGhpc30pO2Z1bmN0aW9uIF9uKG8pe3ZhciBjPW8ubWF0Y2goRWUpfHxbXTtyZXR1cm4gYy5qb2luKCIgIil9ZnVuY3Rpb24gd24obyl7cmV0dXJuIG8uZ2V0QXR0cmlidXRlJiZvLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiJ9ZnVuY3Rpb24gbWkobyl7cmV0dXJuIEFycmF5LmlzQXJyYXkobyk/bzp0eXBlb2Ygbz09InN0cmluZyI/by5tYXRjaChFZSl8fFtdOltdfWYuZm4uZXh0ZW5kKHthZGRDbGFzczpmdW5jdGlvbihvKXt2YXIgYyx5LHgsSSxOLE87cmV0dXJuIFQobyk/dGhpcy5lYWNoKGZ1bmN0aW9uKFgpe2YodGhpcykuYWRkQ2xhc3Moby5jYWxsKHRoaXMsWCx3bih0aGlzKSkpfSk6KGM9bWkobyksYy5sZW5ndGg/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7aWYoeD13bih0aGlzKSx5PXRoaXMubm9kZVR5cGU9PT0xJiYiICIrX24oeCkrIiAiLHkpe2ZvcihOPTA7TjxjLmxlbmd0aDtOKyspST1jW05dLHkuaW5kZXhPZigiICIrSSsiICIpPDAmJih5Kz1JKyIgIik7Tz1fbih5KSx4IT09TyYmdGhpcy5zZXRBdHRyaWJ1dGUoImNsYXNzIixPKX19KTp0aGlzKX0scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24obyl7dmFyIGMseSx4LEksTixPO3JldHVybiBUKG8pP3RoaXMuZWFjaChmdW5jdGlvbihYKXtmKHRoaXMpLnJlbW92ZUNsYXNzKG8uY2FsbCh0aGlzLFgsd24odGhpcykpKX0pOmFyZ3VtZW50cy5sZW5ndGg/KGM9bWkobyksYy5sZW5ndGg/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7aWYoeD13bih0aGlzKSx5PXRoaXMubm9kZVR5cGU9PT0xJiYiICIrX24oeCkrIiAiLHkpe2ZvcihOPTA7TjxjLmxlbmd0aDtOKyspZm9yKEk9Y1tOXTt5LmluZGV4T2YoIiAiK0krIiAiKT4tMTspeT15LnJlcGxhY2UoIiAiK0krIiAiLCIgIik7Tz1fbih5KSx4IT09TyYmdGhpcy5zZXRBdHRyaWJ1dGUoImNsYXNzIixPKX19KTp0aGlzKTp0aGlzLmF0dHIoImNsYXNzIiwiIil9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKG8sYyl7dmFyIHkseCxJLE4sTz10eXBlb2YgbyxYPU89PT0ic3RyaW5nInx8QXJyYXkuaXNBcnJheShvKTtyZXR1cm4gVChvKT90aGlzLmVhY2goZnVuY3Rpb24oVSl7Zih0aGlzKS50b2dnbGVDbGFzcyhvLmNhbGwodGhpcyxVLHduKHRoaXMpLGMpLGMpfSk6dHlwZW9mIGM9PSJib29sZWFuIiYmWD9jP3RoaXMuYWRkQ2xhc3Mobyk6dGhpcy5yZW1vdmVDbGFzcyhvKTooeT1taShvKSx0aGlzLmVhY2goZnVuY3Rpb24oKXtpZihYKWZvcihOPWYodGhpcyksST0wO0k8eS5sZW5ndGg7SSsrKXg9eVtJXSxOLmhhc0NsYXNzKHgpP04ucmVtb3ZlQ2xhc3MoeCk6Ti5hZGRDbGFzcyh4KTtlbHNlKG89PT12b2lkIDB8fE89PT0iYm9vbGVhbiIpJiYoeD13bih0aGlzKSx4JiZ2ZS5zZXQodGhpcywiX19jbGFzc05hbWVfXyIseCksdGhpcy5zZXRBdHRyaWJ1dGUmJnRoaXMuc2V0QXR0cmlidXRlKCJjbGFzcyIseHx8bz09PSExPyIiOnZlLmdldCh0aGlzLCJfX2NsYXNzTmFtZV9fIil8fCIiKSl9KSl9LGhhc0NsYXNzOmZ1bmN0aW9uKG8pe3ZhciBjLHkseD0wO2ZvcihjPSIgIitvKyIgIjt5PXRoaXNbeCsrXTspaWYoeS5ub2RlVHlwZT09PTEmJigiICIrX24od24oeSkpKyIgIikuaW5kZXhPZihjKT4tMSlyZXR1cm4hMDtyZXR1cm4hMX19KTt2YXIgY2w9L1xyL2c7Zi5mbi5leHRlbmQoe3ZhbDpmdW5jdGlvbihvKXt2YXIgYyx5LHgsST10aGlzWzBdO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh4PVQobyksdGhpcy5lYWNoKGZ1bmN0aW9uKE4pe3ZhciBPO3RoaXMubm9kZVR5cGU9PT0xJiYoeD9PPW8uY2FsbCh0aGlzLE4sZih0aGlzKS52YWwoKSk6Tz1vLE89PW51bGw/Tz0iIjp0eXBlb2YgTz09Im51bWJlciI/Tys9IiI6QXJyYXkuaXNBcnJheShPKSYmKE89Zi5tYXAoTyxmdW5jdGlvbihYKXtyZXR1cm4gWD09bnVsbD8iIjpYKyIifSkpLGM9Zi52YWxIb29rc1t0aGlzLnR5cGVdfHxmLnZhbEhvb2tzW3RoaXMubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0sKCFjfHwhKCJzZXQiaW4gYyl8fGMuc2V0KHRoaXMsTywidmFsdWUiKT09PXZvaWQgMCkmJih0aGlzLnZhbHVlPU8pKX0pKTpJPyhjPWYudmFsSG9va3NbSS50eXBlXXx8Zi52YWxIb29rc1tJLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGMmJiJnZXQiaW4gYyYmKHk9Yy5nZXQoSSwidmFsdWUiKSkhPT12b2lkIDA/eTooeT1JLnZhbHVlLHR5cGVvZiB5PT0ic3RyaW5nIj95LnJlcGxhY2UoY2wsIiIpOnk/PyIiKSk6dm9pZCAwfX0pLGYuZXh0ZW5kKHt2YWxIb29rczp7b3B0aW9uOntnZXQ6ZnVuY3Rpb24obyl7dmFyIGM9Zi5maW5kLmF0dHIobywidmFsdWUiKTtyZXR1cm4gYz8/X24oZi50ZXh0KG8pKX19LHNlbGVjdDp7Z2V0OmZ1bmN0aW9uKG8pe3ZhciBjLHkseCxJPW8ub3B0aW9ucyxOPW8uc2VsZWN0ZWRJbmRleCxPPW8udHlwZT09PSJzZWxlY3Qtb25lIixYPU8/bnVsbDpbXSxVPU8/TisxOkkubGVuZ3RoO2ZvcihOPDA/eD1VOng9Tz9OOjA7eDxVO3grKylpZih5PUlbeF0sKHkuc2VsZWN0ZWR8fHg9PT1OKSYmIXkuZGlzYWJsZWQmJigheS5wYXJlbnROb2RlLmRpc2FibGVkfHwhWih5LnBhcmVudE5vZGUsIm9wdGdyb3VwIikpKXtpZihjPWYoeSkudmFsKCksTylyZXR1cm4gYztYLnB1c2goYyl9cmV0dXJuIFh9LHNldDpmdW5jdGlvbihvLGMpe2Zvcih2YXIgeSx4LEk9by5vcHRpb25zLE49Zi5tYWtlQXJyYXkoYyksTz1JLmxlbmd0aDtPLS07KXg9SVtPXSwoeC5zZWxlY3RlZD1mLmluQXJyYXkoZi52YWxIb29rcy5vcHRpb24uZ2V0KHgpLE4pPi0xKSYmKHk9ITApO3JldHVybiB5fHwoby5zZWxlY3RlZEluZGV4PS0xKSxOfX19fSksZi5lYWNoKFsicmFkaW8iLCJjaGVja2JveCJdLGZ1bmN0aW9uKCl7Zi52YWxIb29rc1t0aGlzXT17c2V0OmZ1bmN0aW9uKG8sYyl7aWYoQXJyYXkuaXNBcnJheShjKSlyZXR1cm4gby5jaGVja2VkPWYuaW5BcnJheShmKG8pLnZhbCgpLGMpPi0xfX0sYi5jaGVja09ufHwoZi52YWxIb29rc1t0aGlzXS5nZXQ9ZnVuY3Rpb24obyl7cmV0dXJuIG8uZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpPT09bnVsbD8ib24iOm8udmFsdWV9KX0pO3ZhciBycj1lLmxvY2F0aW9uLHphPXtndWlkOkRhdGUubm93KCl9LHZpPS9cPy87Zi5wYXJzZVhNTD1mdW5jdGlvbihvKXt2YXIgYyx5O2lmKCFvfHx0eXBlb2YgbyE9InN0cmluZyIpcmV0dXJuIG51bGw7dHJ5e2M9bmV3IGUuRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKG8sInRleHQveG1sIil9Y2F0Y2h7fXJldHVybiB5PWMmJmMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInBhcnNlcmVycm9yIilbMF0sKCFjfHx5KSYmZi5lcnJvcigiSW52YWxpZCBYTUw6ICIrKHk/Zi5tYXAoeS5jaGlsZE5vZGVzLGZ1bmN0aW9uKHgpe3JldHVybiB4LnRleHRDb250ZW50fSkuam9pbihgCmApOm8pKSxjfTt2YXIgV2E9L14oPzpmb2N1c2luZm9jdXN8Zm9jdXNvdXRibHVyKSQvLFVhPWZ1bmN0aW9uKG8pe28uc3RvcFByb3BhZ2F0aW9uKCl9O2YuZXh0ZW5kKGYuZXZlbnQse3RyaWdnZXI6ZnVuY3Rpb24obyxjLHkseCl7dmFyIEksTixPLFgsVSxRLGNlLHBlLG9lPVt5fHxoXSx3ZT12LmNhbGwobywidHlwZSIpP28udHlwZTpvLFJlPXYuY2FsbChvLCJuYW1lc3BhY2UiKT9vLm5hbWVzcGFjZS5zcGxpdCgiLiIpOltdO2lmKE49cGU9Tz15PXl8fGgsISh5Lm5vZGVUeXBlPT09M3x8eS5ub2RlVHlwZT09PTgpJiYhV2EudGVzdCh3ZStmLmV2ZW50LnRyaWdnZXJlZCkmJih3ZS5pbmRleE9mKCIuIik+LTEmJihSZT13ZS5zcGxpdCgiLiIpLHdlPVJlLnNoaWZ0KCksUmUuc29ydCgpKSxVPXdlLmluZGV4T2YoIjoiKTwwJiYib24iK3dlLG89b1tmLmV4cGFuZG9dP286bmV3IGYuRXZlbnQod2UsdHlwZW9mIG89PSJvYmplY3QiJiZvKSxvLmlzVHJpZ2dlcj14PzI6MyxvLm5hbWVzcGFjZT1SZS5qb2luKCIuIiksby5ybmFtZXNwYWNlPW8ubmFtZXNwYWNlP25ldyBSZWdFeHAoIihefFxcLikiK1JlLmpvaW4oIlxcLig/Oi4qXFwufCkiKSsiKFxcLnwkKSIpOm51bGwsby5yZXN1bHQ9dm9pZCAwLG8udGFyZ2V0fHwoby50YXJnZXQ9eSksYz1jPT1udWxsP1tvXTpmLm1ha2VBcnJheShjLFtvXSksY2U9Zi5ldmVudC5zcGVjaWFsW3dlXXx8e30sISgheCYmY2UudHJpZ2dlciYmY2UudHJpZ2dlci5hcHBseSh5LGMpPT09ITEpKSl7aWYoIXgmJiFjZS5ub0J1YmJsZSYmIUQoeSkpe2ZvcihYPWNlLmRlbGVnYXRlVHlwZXx8d2UsV2EudGVzdChYK3dlKXx8KE49Ti5wYXJlbnROb2RlKTtOO049Ti5wYXJlbnROb2RlKW9lLnB1c2goTiksTz1OO089PT0oeS5vd25lckRvY3VtZW50fHxoKSYmb2UucHVzaChPLmRlZmF1bHRWaWV3fHxPLnBhcmVudFdpbmRvd3x8ZSl9Zm9yKEk9MDsoTj1vZVtJKytdKSYmIW8uaXNQcm9wYWdhdGlvblN0b3BwZWQoKTspcGU9TixvLnR5cGU9ST4xP1g6Y2UuYmluZFR5cGV8fHdlLFE9KHZlLmdldChOLCJldmVudHMiKXx8T2JqZWN0LmNyZWF0ZShudWxsKSlbby50eXBlXSYmdmUuZ2V0KE4sImhhbmRsZSIpLFEmJlEuYXBwbHkoTixjKSxRPVUmJk5bVV0sUSYmUS5hcHBseSYmVGUoTikmJihvLnJlc3VsdD1RLmFwcGx5KE4sYyksby5yZXN1bHQ9PT0hMSYmby5wcmV2ZW50RGVmYXVsdCgpKTtyZXR1cm4gby50eXBlPXdlLCF4JiYhby5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmKCFjZS5fZGVmYXVsdHx8Y2UuX2RlZmF1bHQuYXBwbHkob2UucG9wKCksYyk9PT0hMSkmJlRlKHkpJiZVJiZUKHlbd2VdKSYmIUQoeSkmJihPPXlbVV0sTyYmKHlbVV09bnVsbCksZi5ldmVudC50cmlnZ2VyZWQ9d2Usby5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpJiZwZS5hZGRFdmVudExpc3RlbmVyKHdlLFVhKSx5W3dlXSgpLG8uaXNQcm9wYWdhdGlvblN0b3BwZWQoKSYmcGUucmVtb3ZlRXZlbnRMaXN0ZW5lcih3ZSxVYSksZi5ldmVudC50cmlnZ2VyZWQ9dm9pZCAwLE8mJih5W1VdPU8pKSxvLnJlc3VsdH19LHNpbXVsYXRlOmZ1bmN0aW9uKG8sYyx5KXt2YXIgeD1mLmV4dGVuZChuZXcgZi5FdmVudCx5LHt0eXBlOm8saXNTaW11bGF0ZWQ6ITB9KTtmLmV2ZW50LnRyaWdnZXIoeCxudWxsLGMpfX0pLGYuZm4uZXh0ZW5kKHt0cmlnZ2VyOmZ1bmN0aW9uKG8sYyl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2YuZXZlbnQudHJpZ2dlcihvLGMsdGhpcyl9KX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24obyxjKXt2YXIgeT10aGlzWzBdO2lmKHkpcmV0dXJuIGYuZXZlbnQudHJpZ2dlcihvLGMseSwhMCl9fSk7dmFyIGRsPS9cW1xdJC8scWE9L1xyP1xuL2csZmw9L14oPzpzdWJtaXR8YnV0dG9ufGltYWdlfHJlc2V0fGZpbGUpJC9pLGhsPS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGtleWdlbikvaTtmdW5jdGlvbiBnaShvLGMseSx4KXt2YXIgSTtpZihBcnJheS5pc0FycmF5KGMpKWYuZWFjaChjLGZ1bmN0aW9uKE4sTyl7eXx8ZGwudGVzdChvKT94KG8sTyk6Z2kobysiWyIrKHR5cGVvZiBPPT0ib2JqZWN0IiYmTyE9bnVsbD9OOiIiKSsiXSIsTyx5LHgpfSk7ZWxzZSBpZigheSYmQyhjKT09PSJvYmplY3QiKWZvcihJIGluIGMpZ2kobysiWyIrSSsiXSIsY1tJXSx5LHgpO2Vsc2UgeChvLGMpfWYucGFyYW09ZnVuY3Rpb24obyxjKXt2YXIgeSx4PVtdLEk9ZnVuY3Rpb24oTixPKXt2YXIgWD1UKE8pP08oKTpPO3hbeC5sZW5ndGhdPWVuY29kZVVSSUNvbXBvbmVudChOKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KFg/PyIiKX07aWYobz09bnVsbClyZXR1cm4iIjtpZihBcnJheS5pc0FycmF5KG8pfHxvLmpxdWVyeSYmIWYuaXNQbGFpbk9iamVjdChvKSlmLmVhY2gobyxmdW5jdGlvbigpe0kodGhpcy5uYW1lLHRoaXMudmFsdWUpfSk7ZWxzZSBmb3IoeSBpbiBvKWdpKHksb1t5XSxjLEkpO3JldHVybiB4LmpvaW4oIiYiKX0sZi5mbi5leHRlbmQoe3NlcmlhbGl6ZTpmdW5jdGlvbigpe3JldHVybiBmLnBhcmFtKHRoaXMuc2VyaWFsaXplQXJyYXkoKSl9LHNlcmlhbGl6ZUFycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIG89Zi5wcm9wKHRoaXMsImVsZW1lbnRzIik7cmV0dXJuIG8/Zi5tYWtlQXJyYXkobyk6dGhpc30pLmZpbHRlcihmdW5jdGlvbigpe3ZhciBvPXRoaXMudHlwZTtyZXR1cm4gdGhpcy5uYW1lJiYhZih0aGlzKS5pcygiOmRpc2FibGVkIikmJmhsLnRlc3QodGhpcy5ub2RlTmFtZSkmJiFmbC50ZXN0KG8pJiYodGhpcy5jaGVja2VkfHwhWnQudGVzdChvKSl9KS5tYXAoZnVuY3Rpb24obyxjKXt2YXIgeT1mKHRoaXMpLnZhbCgpO3JldHVybiB5PT1udWxsP251bGw6QXJyYXkuaXNBcnJheSh5KT9mLm1hcCh5LGZ1bmN0aW9uKHgpe3JldHVybntuYW1lOmMubmFtZSx2YWx1ZTp4LnJlcGxhY2UocWEsYFxyCmApfX0pOntuYW1lOmMubmFtZSx2YWx1ZTp5LnJlcGxhY2UocWEsYFxyCmApfX0pLmdldCgpfX0pO3ZhciBwbD0vJTIwL2csbWw9LyMuKiQvLHZsPS8oWz8mXSlfPVteJl0qLyxnbD0vXiguKj8pOlsgXHRdKihbXlxyXG5dKikkL21nLHlsPS9eKD86YWJvdXR8YXBwfGFwcC1zdG9yYWdlfC4rLWV4dGVuc2lvbnxmaWxlfHJlc3x3aWRnZXQpOiQvLGJsPS9eKD86R0VUfEhFQUQpJC8sX2w9L15cL1wvLyxHYT17fSx5aT17fSwkYT0iKi8iLmNvbmNhdCgiKiIpLGJpPWguY3JlYXRlRWxlbWVudCgiYSIpO2JpLmhyZWY9cnIuaHJlZjtmdW5jdGlvbiBYYShvKXtyZXR1cm4gZnVuY3Rpb24oYyx5KXt0eXBlb2YgYyE9InN0cmluZyImJih5PWMsYz0iKiIpO3ZhciB4LEk9MCxOPWMudG9Mb3dlckNhc2UoKS5tYXRjaChFZSl8fFtdO2lmKFQoeSkpZm9yKDt4PU5bSSsrXTspeFswXT09PSIrIj8oeD14LnNsaWNlKDEpfHwiKiIsKG9beF09b1t4XXx8W10pLnVuc2hpZnQoeSkpOihvW3hdPW9beF18fFtdKS5wdXNoKHkpfX1mdW5jdGlvbiBaYShvLGMseSx4KXt2YXIgST17fSxOPW89PT15aTtmdW5jdGlvbiBPKFgpe3ZhciBVO3JldHVybiBJW1hdPSEwLGYuZWFjaChvW1hdfHxbXSxmdW5jdGlvbihRLGNlKXt2YXIgcGU9Y2UoYyx5LHgpO2lmKHR5cGVvZiBwZT09InN0cmluZyImJiFOJiYhSVtwZV0pcmV0dXJuIGMuZGF0YVR5cGVzLnVuc2hpZnQocGUpLE8ocGUpLCExO2lmKE4pcmV0dXJuIShVPXBlKX0pLFV9cmV0dXJuIE8oYy5kYXRhVHlwZXNbMF0pfHwhSVsiKiJdJiZPKCIqIil9ZnVuY3Rpb24gX2kobyxjKXt2YXIgeSx4LEk9Zi5hamF4U2V0dGluZ3MuZmxhdE9wdGlvbnN8fHt9O2Zvcih5IGluIGMpY1t5XSE9PXZvaWQgMCYmKChJW3ldP286eHx8KHg9e30pKVt5XT1jW3ldKTtyZXR1cm4geCYmZi5leHRlbmQoITAsbyx4KSxvfWZ1bmN0aW9uIHdsKG8sYyx5KXtmb3IodmFyIHgsSSxOLE8sWD1vLmNvbnRlbnRzLFU9by5kYXRhVHlwZXM7VVswXT09PSIqIjspVS5zaGlmdCgpLHg9PT12b2lkIDAmJih4PW8ubWltZVR5cGV8fGMuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpKTtpZih4KXtmb3IoSSBpbiBYKWlmKFhbSV0mJlhbSV0udGVzdCh4KSl7VS51bnNoaWZ0KEkpO2JyZWFrfX1pZihVWzBdaW4geSlOPVVbMF07ZWxzZXtmb3IoSSBpbiB5KXtpZighVVswXXx8by5jb252ZXJ0ZXJzW0krIiAiK1VbMF1dKXtOPUk7YnJlYWt9T3x8KE89SSl9Tj1OfHxPfWlmKE4pcmV0dXJuIE4hPT1VWzBdJiZVLnVuc2hpZnQoTikseVtOXX1mdW5jdGlvbiB4bChvLGMseSx4KXt2YXIgSSxOLE8sWCxVLFE9e30sY2U9by5kYXRhVHlwZXMuc2xpY2UoKTtpZihjZVsxXSlmb3IoTyBpbiBvLmNvbnZlcnRlcnMpUVtPLnRvTG93ZXJDYXNlKCldPW8uY29udmVydGVyc1tPXTtmb3IoTj1jZS5zaGlmdCgpO047KWlmKG8ucmVzcG9uc2VGaWVsZHNbTl0mJih5W28ucmVzcG9uc2VGaWVsZHNbTl1dPWMpLCFVJiZ4JiZvLmRhdGFGaWx0ZXImJihjPW8uZGF0YUZpbHRlcihjLG8uZGF0YVR5cGUpKSxVPU4sTj1jZS5zaGlmdCgpLE4pe2lmKE49PT0iKiIpTj1VO2Vsc2UgaWYoVSE9PSIqIiYmVSE9PU4pe2lmKE89UVtVKyIgIitOXXx8UVsiKiAiK05dLCFPKXtmb3IoSSBpbiBRKWlmKFg9SS5zcGxpdCgiICIpLFhbMV09PT1OJiYoTz1RW1UrIiAiK1hbMF1dfHxRWyIqICIrWFswXV0sTykpe089PT0hMD9PPVFbSV06UVtJXSE9PSEwJiYoTj1YWzBdLGNlLnVuc2hpZnQoWFsxXSkpO2JyZWFrfX1pZihPIT09ITApaWYoTyYmby50aHJvd3MpYz1PKGMpO2Vsc2UgdHJ5e2M9TyhjKX1jYXRjaChwZSl7cmV0dXJue3N0YXRlOiJwYXJzZXJlcnJvciIsZXJyb3I6Tz9wZToiTm8gY29udmVyc2lvbiBmcm9tICIrVSsiIHRvICIrTn19fX1yZXR1cm57c3RhdGU6InN1Y2Nlc3MiLGRhdGE6Y319Zi5leHRlbmQoe2FjdGl2ZTowLGxhc3RNb2RpZmllZDp7fSxldGFnOnt9LGFqYXhTZXR0aW5nczp7dXJsOnJyLmhyZWYsdHlwZToiR0VUIixpc0xvY2FsOnlsLnRlc3QocnIucHJvdG9jb2wpLGdsb2JhbDohMCxwcm9jZXNzRGF0YTohMCxhc3luYzohMCxjb250ZW50VHlwZToiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04IixhY2NlcHRzOnsiKiI6JGEsdGV4dDoidGV4dC9wbGFpbiIsaHRtbDoidGV4dC9odG1sIix4bWw6ImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLGpzb246ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCJ9LGNvbnRlbnRzOnt4bWw6L1xieG1sXGIvLGh0bWw6L1xiaHRtbC8sanNvbjovXGJqc29uXGIvfSxyZXNwb25zZUZpZWxkczp7eG1sOiJyZXNwb25zZVhNTCIsdGV4dDoicmVzcG9uc2VUZXh0Iixqc29uOiJyZXNwb25zZUpTT04ifSxjb252ZXJ0ZXJzOnsiKiB0ZXh0IjpTdHJpbmcsInRleHQgaHRtbCI6ITAsInRleHQganNvbiI6SlNPTi5wYXJzZSwidGV4dCB4bWwiOmYucGFyc2VYTUx9LGZsYXRPcHRpb25zOnt1cmw6ITAsY29udGV4dDohMH19LGFqYXhTZXR1cDpmdW5jdGlvbihvLGMpe3JldHVybiBjP19pKF9pKG8sZi5hamF4U2V0dGluZ3MpLGMpOl9pKGYuYWpheFNldHRpbmdzLG8pfSxhamF4UHJlZmlsdGVyOlhhKEdhKSxhamF4VHJhbnNwb3J0OlhhKHlpKSxhamF4OmZ1bmN0aW9uKG8sYyl7dHlwZW9mIG89PSJvYmplY3QiJiYoYz1vLG89dm9pZCAwKSxjPWN8fHt9O3ZhciB5LHgsSSxOLE8sWCxVLFEsY2UscGUsb2U9Zi5hamF4U2V0dXAoe30sYyksd2U9b2UuY29udGV4dHx8b2UsUmU9b2UuY29udGV4dCYmKHdlLm5vZGVUeXBlfHx3ZS5qcXVlcnkpP2Yod2UpOmYuZXZlbnQsWGU9Zi5EZWZlcnJlZCgpLHplPWYuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLHB0PW9lLnN0YXR1c0NvZGV8fHt9LGR0PXt9LFl0PXt9LEt0PSJjYW5jZWxlZCIsJGU9e3JlYWR5U3RhdGU6MCxnZXRSZXNwb25zZUhlYWRlcjpmdW5jdGlvbihaZSl7dmFyIGx0O2lmKFUpe2lmKCFOKWZvcihOPXt9O2x0PWdsLmV4ZWMoSSk7KU5bbHRbMV0udG9Mb3dlckNhc2UoKSsiICJdPShOW2x0WzFdLnRvTG93ZXJDYXNlKCkrIiAiXXx8W10pLmNvbmNhdChsdFsyXSk7bHQ9TltaZS50b0xvd2VyQ2FzZSgpKyIgIl19cmV0dXJuIGx0PT1udWxsP251bGw6bHQuam9pbigiLCAiKX0sZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOmZ1bmN0aW9uKCl7cmV0dXJuIFU/STpudWxsfSxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKFplLGx0KXtyZXR1cm4gVT09bnVsbCYmKFplPVl0W1plLnRvTG93ZXJDYXNlKCldPVl0W1plLnRvTG93ZXJDYXNlKCldfHxaZSxkdFtaZV09bHQpLHRoaXN9LG92ZXJyaWRlTWltZVR5cGU6ZnVuY3Rpb24oWmUpe3JldHVybiBVPT1udWxsJiYob2UubWltZVR5cGU9WmUpLHRoaXN9LHN0YXR1c0NvZGU6ZnVuY3Rpb24oWmUpe3ZhciBsdDtpZihaZSlpZihVKSRlLmFsd2F5cyhaZVskZS5zdGF0dXNdKTtlbHNlIGZvcihsdCBpbiBaZSlwdFtsdF09W3B0W2x0XSxaZVtsdF1dO3JldHVybiB0aGlzfSxhYm9ydDpmdW5jdGlvbihaZSl7dmFyIGx0PVplfHxLdDtyZXR1cm4geSYmeS5hYm9ydChsdCkseG4oMCxsdCksdGhpc319O2lmKFhlLnByb21pc2UoJGUpLG9lLnVybD0oKG98fG9lLnVybHx8cnIuaHJlZikrIiIpLnJlcGxhY2UoX2wscnIucHJvdG9jb2wrIi8vIiksb2UudHlwZT1jLm1ldGhvZHx8Yy50eXBlfHxvZS5tZXRob2R8fG9lLnR5cGUsb2UuZGF0YVR5cGVzPShvZS5kYXRhVHlwZXx8IioiKS50b0xvd2VyQ2FzZSgpLm1hdGNoKEVlKXx8WyIiXSxvZS5jcm9zc0RvbWFpbj09bnVsbCl7WD1oLmNyZWF0ZUVsZW1lbnQoImEiKTt0cnl7WC5ocmVmPW9lLnVybCxYLmhyZWY9WC5ocmVmLG9lLmNyb3NzRG9tYWluPWJpLnByb3RvY29sKyIvLyIrYmkuaG9zdCE9WC5wcm90b2NvbCsiLy8iK1guaG9zdH1jYXRjaHtvZS5jcm9zc0RvbWFpbj0hMH19aWYob2UuZGF0YSYmb2UucHJvY2Vzc0RhdGEmJnR5cGVvZiBvZS5kYXRhIT0ic3RyaW5nIiYmKG9lLmRhdGE9Zi5wYXJhbShvZS5kYXRhLG9lLnRyYWRpdGlvbmFsKSksWmEoR2Esb2UsYywkZSksVSlyZXR1cm4gJGU7UT1mLmV2ZW50JiZvZS5nbG9iYWwsUSYmZi5hY3RpdmUrKz09PTAmJmYuZXZlbnQudHJpZ2dlcigiYWpheFN0YXJ0Iiksb2UudHlwZT1vZS50eXBlLnRvVXBwZXJDYXNlKCksb2UuaGFzQ29udGVudD0hYmwudGVzdChvZS50eXBlKSx4PW9lLnVybC5yZXBsYWNlKG1sLCIiKSxvZS5oYXNDb250ZW50P29lLmRhdGEmJm9lLnByb2Nlc3NEYXRhJiYob2UuY29udGVudFR5cGV8fCIiKS5pbmRleE9mKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKT09PTAmJihvZS5kYXRhPW9lLmRhdGEucmVwbGFjZShwbCwiKyIpKToocGU9b2UudXJsLnNsaWNlKHgubGVuZ3RoKSxvZS5kYXRhJiYob2UucHJvY2Vzc0RhdGF8fHR5cGVvZiBvZS5kYXRhPT0ic3RyaW5nIikmJih4Kz0odmkudGVzdCh4KT8iJiI6Ij8iKStvZS5kYXRhLGRlbGV0ZSBvZS5kYXRhKSxvZS5jYWNoZT09PSExJiYoeD14LnJlcGxhY2UodmwsIiQxIikscGU9KHZpLnRlc3QoeCk/IiYiOiI/IikrIl89Iit6YS5ndWlkKysrcGUpLG9lLnVybD14K3BlKSxvZS5pZk1vZGlmaWVkJiYoZi5sYXN0TW9kaWZpZWRbeF0mJiRlLnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIixmLmxhc3RNb2RpZmllZFt4XSksZi5ldGFnW3hdJiYkZS5zZXRSZXF1ZXN0SGVhZGVyKCJJZi1Ob25lLU1hdGNoIixmLmV0YWdbeF0pKSwob2UuZGF0YSYmb2UuaGFzQ29udGVudCYmb2UuY29udGVudFR5cGUhPT0hMXx8Yy5jb250ZW50VHlwZSkmJiRlLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsb2UuY29udGVudFR5cGUpLCRlLnNldFJlcXVlc3RIZWFkZXIoIkFjY2VwdCIsb2UuZGF0YVR5cGVzWzBdJiZvZS5hY2NlcHRzW29lLmRhdGFUeXBlc1swXV0/b2UuYWNjZXB0c1tvZS5kYXRhVHlwZXNbMF1dKyhvZS5kYXRhVHlwZXNbMF0hPT0iKiI/IiwgIiskYSsiOyBxPTAuMDEiOiIiKTpvZS5hY2NlcHRzWyIqIl0pO2ZvcihjZSBpbiBvZS5oZWFkZXJzKSRlLnNldFJlcXVlc3RIZWFkZXIoY2Usb2UuaGVhZGVyc1tjZV0pO2lmKG9lLmJlZm9yZVNlbmQmJihvZS5iZWZvcmVTZW5kLmNhbGwod2UsJGUsb2UpPT09ITF8fFUpKXJldHVybiAkZS5hYm9ydCgpO2lmKEt0PSJhYm9ydCIsemUuYWRkKG9lLmNvbXBsZXRlKSwkZS5kb25lKG9lLnN1Y2Nlc3MpLCRlLmZhaWwob2UuZXJyb3IpLHk9WmEoeWksb2UsYywkZSksIXkpeG4oLTEsIk5vIFRyYW5zcG9ydCIpO2Vsc2V7aWYoJGUucmVhZHlTdGF0ZT0xLFEmJlJlLnRyaWdnZXIoImFqYXhTZW5kIixbJGUsb2VdKSxVKXJldHVybiAkZTtvZS5hc3luYyYmb2UudGltZW91dD4wJiYoTz1lLnNldFRpbWVvdXQoZnVuY3Rpb24oKXskZS5hYm9ydCgidGltZW91dCIpfSxvZS50aW1lb3V0KSk7dHJ5e1U9ITEseS5zZW5kKGR0LHhuKX1jYXRjaChaZSl7aWYoVSl0aHJvdyBaZTt4bigtMSxaZSl9fWZ1bmN0aW9uIHhuKFplLGx0LGFyLHhpKXt2YXIgSnQsc3IsUXQsY24sZG4sVnQ9bHQ7VXx8KFU9ITAsTyYmZS5jbGVhclRpbWVvdXQoTykseT12b2lkIDAsST14aXx8IiIsJGUucmVhZHlTdGF0ZT1aZT4wPzQ6MCxKdD1aZT49MjAwJiZaZTwzMDB8fFplPT09MzA0LGFyJiYoY249d2wob2UsJGUsYXIpKSwhSnQmJmYuaW5BcnJheSgic2NyaXB0IixvZS5kYXRhVHlwZXMpPi0xJiZmLmluQXJyYXkoImpzb24iLG9lLmRhdGFUeXBlcyk8MCYmKG9lLmNvbnZlcnRlcnNbInRleHQgc2NyaXB0Il09ZnVuY3Rpb24oKXt9KSxjbj14bChvZSxjbiwkZSxKdCksSnQ/KG9lLmlmTW9kaWZpZWQmJihkbj0kZS5nZXRSZXNwb25zZUhlYWRlcigiTGFzdC1Nb2RpZmllZCIpLGRuJiYoZi5sYXN0TW9kaWZpZWRbeF09ZG4pLGRuPSRlLmdldFJlc3BvbnNlSGVhZGVyKCJldGFnIiksZG4mJihmLmV0YWdbeF09ZG4pKSxaZT09PTIwNHx8b2UudHlwZT09PSJIRUFEIj9WdD0ibm9jb250ZW50IjpaZT09PTMwND9WdD0ibm90bW9kaWZpZWQiOihWdD1jbi5zdGF0ZSxzcj1jbi5kYXRhLFF0PWNuLmVycm9yLEp0PSFRdCkpOihRdD1WdCwoWmV8fCFWdCkmJihWdD0iZXJyb3IiLFplPDAmJihaZT0wKSkpLCRlLnN0YXR1cz1aZSwkZS5zdGF0dXNUZXh0PShsdHx8VnQpKyIiLEp0P1hlLnJlc29sdmVXaXRoKHdlLFtzcixWdCwkZV0pOlhlLnJlamVjdFdpdGgod2UsWyRlLFZ0LFF0XSksJGUuc3RhdHVzQ29kZShwdCkscHQ9dm9pZCAwLFEmJlJlLnRyaWdnZXIoSnQ/ImFqYXhTdWNjZXNzIjoiYWpheEVycm9yIixbJGUsb2UsSnQ/c3I6UXRdKSx6ZS5maXJlV2l0aCh3ZSxbJGUsVnRdKSxRJiYoUmUudHJpZ2dlcigiYWpheENvbXBsZXRlIixbJGUsb2VdKSwtLWYuYWN0aXZlfHxmLmV2ZW50LnRyaWdnZXIoImFqYXhTdG9wIikpKX1yZXR1cm4gJGV9LGdldEpTT046ZnVuY3Rpb24obyxjLHkpe3JldHVybiBmLmdldChvLGMseSwianNvbiIpfSxnZXRTY3JpcHQ6ZnVuY3Rpb24obyxjKXtyZXR1cm4gZi5nZXQobyx2b2lkIDAsYywic2NyaXB0Iil9fSksZi5lYWNoKFsiZ2V0IiwicG9zdCJdLGZ1bmN0aW9uKG8sYyl7ZltjXT1mdW5jdGlvbih5LHgsSSxOKXtyZXR1cm4gVCh4KSYmKE49Tnx8SSxJPXgseD12b2lkIDApLGYuYWpheChmLmV4dGVuZCh7dXJsOnksdHlwZTpjLGRhdGFUeXBlOk4sZGF0YTp4LHN1Y2Nlc3M6SX0sZi5pc1BsYWluT2JqZWN0KHkpJiZ5KSl9fSksZi5hamF4UHJlZmlsdGVyKGZ1bmN0aW9uKG8pe3ZhciBjO2ZvcihjIGluIG8uaGVhZGVycyljLnRvTG93ZXJDYXNlKCk9PT0iY29udGVudC10eXBlIiYmKG8uY29udGVudFR5cGU9by5oZWFkZXJzW2NdfHwiIil9KSxmLl9ldmFsVXJsPWZ1bmN0aW9uKG8sYyx5KXtyZXR1cm4gZi5hamF4KHt1cmw6byx0eXBlOiJHRVQiLGRhdGFUeXBlOiJzY3JpcHQiLGNhY2hlOiEwLGFzeW5jOiExLGdsb2JhbDohMSxjb252ZXJ0ZXJzOnsidGV4dCBzY3JpcHQiOmZ1bmN0aW9uKCl7fX0sZGF0YUZpbHRlcjpmdW5jdGlvbih4KXtmLmdsb2JhbEV2YWwoeCxjLHkpfX0pfSxmLmZuLmV4dGVuZCh7d3JhcEFsbDpmdW5jdGlvbihvKXt2YXIgYztyZXR1cm4gdGhpc1swXSYmKFQobykmJihvPW8uY2FsbCh0aGlzWzBdKSksYz1mKG8sdGhpc1swXS5vd25lckRvY3VtZW50KS5lcSgwKS5jbG9uZSghMCksdGhpc1swXS5wYXJlbnROb2RlJiZjLmluc2VydEJlZm9yZSh0aGlzWzBdKSxjLm1hcChmdW5jdGlvbigpe2Zvcih2YXIgeT10aGlzO3kuZmlyc3RFbGVtZW50Q2hpbGQ7KXk9eS5maXJzdEVsZW1lbnRDaGlsZDtyZXR1cm4geX0pLmFwcGVuZCh0aGlzKSksdGhpc30sd3JhcElubmVyOmZ1bmN0aW9uKG8pe3JldHVybiBUKG8pP3RoaXMuZWFjaChmdW5jdGlvbihjKXtmKHRoaXMpLndyYXBJbm5lcihvLmNhbGwodGhpcyxjKSl9KTp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1mKHRoaXMpLHk9Yy5jb250ZW50cygpO3kubGVuZ3RoP3kud3JhcEFsbChvKTpjLmFwcGVuZChvKX0pfSx3cmFwOmZ1bmN0aW9uKG8pe3ZhciBjPVQobyk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbih5KXtmKHRoaXMpLndyYXBBbGwoYz9vLmNhbGwodGhpcyx5KTpvKX0pfSx1bndyYXA6ZnVuY3Rpb24obyl7cmV0dXJuIHRoaXMucGFyZW50KG8pLm5vdCgiYm9keSIpLmVhY2goZnVuY3Rpb24oKXtmKHRoaXMpLnJlcGxhY2VXaXRoKHRoaXMuY2hpbGROb2Rlcyl9KSx0aGlzfX0pLGYuZXhwci5wc2V1ZG9zLmhpZGRlbj1mdW5jdGlvbihvKXtyZXR1cm4hZi5leHByLnBzZXVkb3MudmlzaWJsZShvKX0sZi5leHByLnBzZXVkb3MudmlzaWJsZT1mdW5jdGlvbihvKXtyZXR1cm4hIShvLm9mZnNldFdpZHRofHxvLm9mZnNldEhlaWdodHx8by5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCl9LGYuYWpheFNldHRpbmdzLnhocj1mdW5jdGlvbigpe3RyeXtyZXR1cm4gbmV3IGUuWE1MSHR0cFJlcXVlc3R9Y2F0Y2h7fX07dmFyIENsPXswOjIwMCwxMjIzOjIwNH0saXI9Zi5hamF4U2V0dGluZ3MueGhyKCk7Yi5jb3JzPSEhaXImJiJ3aXRoQ3JlZGVudGlhbHMiaW4gaXIsYi5hamF4PWlyPSEhaXIsZi5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uKG8pe3ZhciBjLHk7aWYoYi5jb3JzfHxpciYmIW8uY3Jvc3NEb21haW4pcmV0dXJue3NlbmQ6ZnVuY3Rpb24oeCxJKXt2YXIgTixPPW8ueGhyKCk7aWYoTy5vcGVuKG8udHlwZSxvLnVybCxvLmFzeW5jLG8udXNlcm5hbWUsby5wYXNzd29yZCksby54aHJGaWVsZHMpZm9yKE4gaW4gby54aHJGaWVsZHMpT1tOXT1vLnhockZpZWxkc1tOXTtvLm1pbWVUeXBlJiZPLm92ZXJyaWRlTWltZVR5cGUmJk8ub3ZlcnJpZGVNaW1lVHlwZShvLm1pbWVUeXBlKSwhby5jcm9zc0RvbWFpbiYmIXhbIlgtUmVxdWVzdGVkLVdpdGgiXSYmKHhbIlgtUmVxdWVzdGVkLVdpdGgiXT0iWE1MSHR0cFJlcXVlc3QiKTtmb3IoTiBpbiB4KU8uc2V0UmVxdWVzdEhlYWRlcihOLHhbTl0pO2M9ZnVuY3Rpb24oWCl7cmV0dXJuIGZ1bmN0aW9uKCl7YyYmKGM9eT1PLm9ubG9hZD1PLm9uZXJyb3I9Ty5vbmFib3J0PU8ub250aW1lb3V0PU8ub25yZWFkeXN0YXRlY2hhbmdlPW51bGwsWD09PSJhYm9ydCI/Ty5hYm9ydCgpOlg9PT0iZXJyb3IiP3R5cGVvZiBPLnN0YXR1cyE9Im51bWJlciI/SSgwLCJlcnJvciIpOkkoTy5zdGF0dXMsTy5zdGF0dXNUZXh0KTpJKENsW08uc3RhdHVzXXx8Ty5zdGF0dXMsTy5zdGF0dXNUZXh0LChPLnJlc3BvbnNlVHlwZXx8InRleHQiKSE9PSJ0ZXh0Inx8dHlwZW9mIE8ucmVzcG9uc2VUZXh0IT0ic3RyaW5nIj97YmluYXJ5Ok8ucmVzcG9uc2V9Ont0ZXh0Ok8ucmVzcG9uc2VUZXh0fSxPLmdldEFsbFJlc3BvbnNlSGVhZGVycygpKSl9fSxPLm9ubG9hZD1jKCkseT1PLm9uZXJyb3I9Ty5vbnRpbWVvdXQ9YygiZXJyb3IiKSxPLm9uYWJvcnQhPT12b2lkIDA/Ty5vbmFib3J0PXk6Ty5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXtPLnJlYWR5U3RhdGU9PT00JiZlLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtjJiZ5KCl9KX0sYz1jKCJhYm9ydCIpO3RyeXtPLnNlbmQoby5oYXNDb250ZW50JiZvLmRhdGF8fG51bGwpfWNhdGNoKFgpe2lmKGMpdGhyb3cgWH19LGFib3J0OmZ1bmN0aW9uKCl7YyYmYygpfX19KSxmLmFqYXhQcmVmaWx0ZXIoZnVuY3Rpb24obyl7by5jcm9zc0RvbWFpbiYmKG8uY29udGVudHMuc2NyaXB0PSExKX0pLGYuYWpheFNldHVwKHthY2NlcHRzOntzY3JpcHQ6InRleHQvamF2YXNjcmlwdCwgYXBwbGljYXRpb24vamF2YXNjcmlwdCwgYXBwbGljYXRpb24vZWNtYXNjcmlwdCwgYXBwbGljYXRpb24veC1lY21hc2NyaXB0In0sY29udGVudHM6e3NjcmlwdDovXGIoPzpqYXZhfGVjbWEpc2NyaXB0XGIvfSxjb252ZXJ0ZXJzOnsidGV4dCBzY3JpcHQiOmZ1bmN0aW9uKG8pe3JldHVybiBmLmdsb2JhbEV2YWwobyksb319fSksZi5hamF4UHJlZmlsdGVyKCJzY3JpcHQiLGZ1bmN0aW9uKG8pe28uY2FjaGU9PT12b2lkIDAmJihvLmNhY2hlPSExKSxvLmNyb3NzRG9tYWluJiYoby50eXBlPSJHRVQiKX0pLGYuYWpheFRyYW5zcG9ydCgic2NyaXB0IixmdW5jdGlvbihvKXtpZihvLmNyb3NzRG9tYWlufHxvLnNjcmlwdEF0dHJzKXt2YXIgYyx5O3JldHVybntzZW5kOmZ1bmN0aW9uKHgsSSl7Yz1mKCI8c2NyaXB0PiIpLmF0dHIoby5zY3JpcHRBdHRyc3x8e30pLnByb3Aoe2NoYXJzZXQ6by5zY3JpcHRDaGFyc2V0LHNyYzpvLnVybH0pLm9uKCJsb2FkIGVycm9yIix5PWZ1bmN0aW9uKE4pe2MucmVtb3ZlKCkseT1udWxsLE4mJkkoTi50eXBlPT09ImVycm9yIj80MDQ6MjAwLE4udHlwZSl9KSxoLmhlYWQuYXBwZW5kQ2hpbGQoY1swXSl9LGFib3J0OmZ1bmN0aW9uKCl7eSYmeSgpfX19fSk7dmFyIFlhPVtdLHdpPS8oPSlcPyg/PSZ8JCl8XD9cPy87Zi5hamF4U2V0dXAoe2pzb25wOiJjYWxsYmFjayIsanNvbnBDYWxsYmFjazpmdW5jdGlvbigpe3ZhciBvPVlhLnBvcCgpfHxmLmV4cGFuZG8rIl8iK3phLmd1aWQrKztyZXR1cm4gdGhpc1tvXT0hMCxvfX0pLGYuYWpheFByZWZpbHRlcigianNvbiBqc29ucCIsZnVuY3Rpb24obyxjLHkpe3ZhciB4LEksTixPPW8uanNvbnAhPT0hMSYmKHdpLnRlc3Qoby51cmwpPyJ1cmwiOnR5cGVvZiBvLmRhdGE9PSJzdHJpbmciJiYoby5jb250ZW50VHlwZXx8IiIpLmluZGV4T2YoImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpPT09MCYmd2kudGVzdChvLmRhdGEpJiYiZGF0YSIpO2lmKE98fG8uZGF0YVR5cGVzWzBdPT09Impzb25wIilyZXR1cm4geD1vLmpzb25wQ2FsbGJhY2s9VChvLmpzb25wQ2FsbGJhY2spP28uanNvbnBDYWxsYmFjaygpOm8uanNvbnBDYWxsYmFjayxPP29bT109b1tPXS5yZXBsYWNlKHdpLCIkMSIreCk6by5qc29ucCE9PSExJiYoby51cmwrPSh2aS50ZXN0KG8udXJsKT8iJiI6Ij8iKStvLmpzb25wKyI9Iit4KSxvLmNvbnZlcnRlcnNbInNjcmlwdCBqc29uIl09ZnVuY3Rpb24oKXtyZXR1cm4gTnx8Zi5lcnJvcih4KyIgd2FzIG5vdCBjYWxsZWQiKSxOWzBdfSxvLmRhdGFUeXBlc1swXT0ianNvbiIsST1lW3hdLGVbeF09ZnVuY3Rpb24oKXtOPWFyZ3VtZW50c30seS5hbHdheXMoZnVuY3Rpb24oKXtJPT09dm9pZCAwP2YoZSkucmVtb3ZlUHJvcCh4KTplW3hdPUksb1t4XSYmKG8uanNvbnBDYWxsYmFjaz1jLmpzb25wQ2FsbGJhY2ssWWEucHVzaCh4KSksTiYmVChJKSYmSShOWzBdKSxOPUk9dm9pZCAwfSksInNjcmlwdCJ9KSxiLmNyZWF0ZUhUTUxEb2N1bWVudD0oZnVuY3Rpb24oKXt2YXIgbz1oLmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgiIikuYm9keTtyZXR1cm4gby5pbm5lckhUTUw9Ijxmb3JtPjwvZm9ybT48Zm9ybT48L2Zvcm0+IixvLmNoaWxkTm9kZXMubGVuZ3RoPT09Mn0pKCksZi5wYXJzZUhUTUw9ZnVuY3Rpb24obyxjLHkpe2lmKHR5cGVvZiBvIT0ic3RyaW5nIilyZXR1cm5bXTt0eXBlb2YgYz09ImJvb2xlYW4iJiYoeT1jLGM9ITEpO3ZhciB4LEksTjtyZXR1cm4gY3x8KGIuY3JlYXRlSFRNTERvY3VtZW50PyhjPWguaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCIiKSx4PWMuY3JlYXRlRWxlbWVudCgiYmFzZSIpLHguaHJlZj1oLmxvY2F0aW9uLmhyZWYsYy5oZWFkLmFwcGVuZENoaWxkKHgpKTpjPWgpLEk9YWUuZXhlYyhvKSxOPSF5JiZbXSxJP1tjLmNyZWF0ZUVsZW1lbnQoSVsxXSldOihJPURhKFtvXSxjLE4pLE4mJk4ubGVuZ3RoJiZmKE4pLnJlbW92ZSgpLGYubWVyZ2UoW10sSS5jaGlsZE5vZGVzKSl9LGYuZm4ubG9hZD1mdW5jdGlvbihvLGMseSl7dmFyIHgsSSxOLE89dGhpcyxYPW8uaW5kZXhPZigiICIpO3JldHVybiBYPi0xJiYoeD1fbihvLnNsaWNlKFgpKSxvPW8uc2xpY2UoMCxYKSksVChjKT8oeT1jLGM9dm9pZCAwKTpjJiZ0eXBlb2YgYz09Im9iamVjdCImJihJPSJQT1NUIiksTy5sZW5ndGg+MCYmZi5hamF4KHt1cmw6byx0eXBlOkl8fCJHRVQiLGRhdGFUeXBlOiJodG1sIixkYXRhOmN9KS5kb25lKGZ1bmN0aW9uKFUpe049YXJndW1lbnRzLE8uaHRtbCh4P2YoIjxkaXY+IikuYXBwZW5kKGYucGFyc2VIVE1MKFUpKS5maW5kKHgpOlUpfSkuYWx3YXlzKHkmJmZ1bmN0aW9uKFUsUSl7Ty5lYWNoKGZ1bmN0aW9uKCl7eS5hcHBseSh0aGlzLE58fFtVLnJlc3BvbnNlVGV4dCxRLFVdKX0pfSksdGhpc30sZi5leHByLnBzZXVkb3MuYW5pbWF0ZWQ9ZnVuY3Rpb24obyl7cmV0dXJuIGYuZ3JlcChmLnRpbWVycyxmdW5jdGlvbihjKXtyZXR1cm4gbz09PWMuZWxlbX0pLmxlbmd0aH0sZi5vZmZzZXQ9e3NldE9mZnNldDpmdW5jdGlvbihvLGMseSl7dmFyIHgsSSxOLE8sWCxVLFEsY2U9Zi5jc3MobywicG9zaXRpb24iKSxwZT1mKG8pLG9lPXt9O2NlPT09InN0YXRpYyImJihvLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIpLFg9cGUub2Zmc2V0KCksTj1mLmNzcyhvLCJ0b3AiKSxVPWYuY3NzKG8sImxlZnQiKSxRPShjZT09PSJhYnNvbHV0ZSJ8fGNlPT09ImZpeGVkIikmJihOK1UpLmluZGV4T2YoImF1dG8iKT4tMSxRPyh4PXBlLnBvc2l0aW9uKCksTz14LnRvcCxJPXgubGVmdCk6KE89cGFyc2VGbG9hdChOKXx8MCxJPXBhcnNlRmxvYXQoVSl8fDApLFQoYykmJihjPWMuY2FsbChvLHksZi5leHRlbmQoe30sWCkpKSxjLnRvcCE9bnVsbCYmKG9lLnRvcD1jLnRvcC1YLnRvcCtPKSxjLmxlZnQhPW51bGwmJihvZS5sZWZ0PWMubGVmdC1YLmxlZnQrSSksInVzaW5nImluIGM/Yy51c2luZy5jYWxsKG8sb2UpOnBlLmNzcyhvZSl9fSxmLmZuLmV4dGVuZCh7b2Zmc2V0OmZ1bmN0aW9uKG8pe2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIG89PT12b2lkIDA/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oSSl7Zi5vZmZzZXQuc2V0T2Zmc2V0KHRoaXMsbyxJKX0pO3ZhciBjLHkseD10aGlzWzBdO2lmKHgpcmV0dXJuIHguZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGg/KGM9eC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx5PXgub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldyx7dG9wOmMudG9wK3kucGFnZVlPZmZzZXQsbGVmdDpjLmxlZnQreS5wYWdlWE9mZnNldH0pOnt0b3A6MCxsZWZ0OjB9fSxwb3NpdGlvbjpmdW5jdGlvbigpe2lmKHRoaXNbMF0pe3ZhciBvLGMseSx4PXRoaXNbMF0sST17dG9wOjAsbGVmdDowfTtpZihmLmNzcyh4LCJwb3NpdGlvbiIpPT09ImZpeGVkIiljPXguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7ZWxzZXtmb3IoYz10aGlzLm9mZnNldCgpLHk9eC5vd25lckRvY3VtZW50LG89eC5vZmZzZXRQYXJlbnR8fHkuZG9jdW1lbnRFbGVtZW50O28mJihvPT09eS5ib2R5fHxvPT09eS5kb2N1bWVudEVsZW1lbnQpJiZmLmNzcyhvLCJwb3NpdGlvbiIpPT09InN0YXRpYyI7KW89by5wYXJlbnROb2RlO28mJm8hPT14JiZvLm5vZGVUeXBlPT09MSYmKEk9ZihvKS5vZmZzZXQoKSxJLnRvcCs9Zi5jc3MobywiYm9yZGVyVG9wV2lkdGgiLCEwKSxJLmxlZnQrPWYuY3NzKG8sImJvcmRlckxlZnRXaWR0aCIsITApKX1yZXR1cm57dG9wOmMudG9wLUkudG9wLWYuY3NzKHgsIm1hcmdpblRvcCIsITApLGxlZnQ6Yy5sZWZ0LUkubGVmdC1mLmNzcyh4LCJtYXJnaW5MZWZ0IiwhMCl9fX0sb2Zmc2V0UGFyZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7Zm9yKHZhciBvPXRoaXMub2Zmc2V0UGFyZW50O28mJmYuY3NzKG8sInBvc2l0aW9uIik9PT0ic3RhdGljIjspbz1vLm9mZnNldFBhcmVudDtyZXR1cm4gb3x8R3R9KX19KSxmLmVhY2goe3Njcm9sbExlZnQ6InBhZ2VYT2Zmc2V0IixzY3JvbGxUb3A6InBhZ2VZT2Zmc2V0In0sZnVuY3Rpb24obyxjKXt2YXIgeT1jPT09InBhZ2VZT2Zmc2V0IjtmLmZuW29dPWZ1bmN0aW9uKHgpe3JldHVybiBLKHRoaXMsZnVuY3Rpb24oSSxOLE8pe3ZhciBYO2lmKEQoSSk/WD1JOkkubm9kZVR5cGU9PT05JiYoWD1JLmRlZmF1bHRWaWV3KSxPPT09dm9pZCAwKXJldHVybiBYP1hbY106SVtOXTtYP1guc2Nyb2xsVG8oeT9YLnBhZ2VYT2Zmc2V0Ok8seT9POlgucGFnZVlPZmZzZXQpOklbTl09T30sbyx4LGFyZ3VtZW50cy5sZW5ndGgpfX0pLGYuZWFjaChbInRvcCIsImxlZnQiXSxmdW5jdGlvbihvLGMpe2YuY3NzSG9va3NbY109TGEoYi5waXhlbFBvc2l0aW9uLGZ1bmN0aW9uKHkseCl7aWYoeClyZXR1cm4geD10cih5LGMpLGNpLnRlc3QoeCk/Zih5KS5wb3NpdGlvbigpW2NdKyJweCI6eH0pfSksZi5lYWNoKHtIZWlnaHQ6ImhlaWdodCIsV2lkdGg6IndpZHRoIn0sZnVuY3Rpb24obyxjKXtmLmVhY2goe3BhZGRpbmc6ImlubmVyIitvLGNvbnRlbnQ6YywiIjoib3V0ZXIiK299LGZ1bmN0aW9uKHkseCl7Zi5mblt4XT1mdW5jdGlvbihJLE4pe3ZhciBPPWFyZ3VtZW50cy5sZW5ndGgmJih5fHx0eXBlb2YgSSE9ImJvb2xlYW4iKSxYPXl8fChJPT09ITB8fE49PT0hMD8ibWFyZ2luIjoiYm9yZGVyIik7cmV0dXJuIEsodGhpcyxmdW5jdGlvbihVLFEsY2Upe3ZhciBwZTtyZXR1cm4gRChVKT94LmluZGV4T2YoIm91dGVyIik9PT0wP1VbImlubmVyIitvXTpVLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFsiY2xpZW50IitvXTpVLm5vZGVUeXBlPT09OT8ocGU9VS5kb2N1bWVudEVsZW1lbnQsTWF0aC5tYXgoVS5ib2R5WyJzY3JvbGwiK29dLHBlWyJzY3JvbGwiK29dLFUuYm9keVsib2Zmc2V0IitvXSxwZVsib2Zmc2V0IitvXSxwZVsiY2xpZW50IitvXSkpOmNlPT09dm9pZCAwP2YuY3NzKFUsUSxYKTpmLnN0eWxlKFUsUSxjZSxYKX0sYyxPP0k6dm9pZCAwLE8pfX0pfSksZi5lYWNoKFsiYWpheFN0YXJ0IiwiYWpheFN0b3AiLCJhamF4Q29tcGxldGUiLCJhamF4RXJyb3IiLCJhamF4U3VjY2VzcyIsImFqYXhTZW5kIl0sZnVuY3Rpb24obyxjKXtmLmZuW2NdPWZ1bmN0aW9uKHkpe3JldHVybiB0aGlzLm9uKGMseSl9fSksZi5mbi5leHRlbmQoe2JpbmQ6ZnVuY3Rpb24obyxjLHkpe3JldHVybiB0aGlzLm9uKG8sbnVsbCxjLHkpfSx1bmJpbmQ6ZnVuY3Rpb24obyxjKXtyZXR1cm4gdGhpcy5vZmYobyxudWxsLGMpfSxkZWxlZ2F0ZTpmdW5jdGlvbihvLGMseSx4KXtyZXR1cm4gdGhpcy5vbihjLG8seSx4KX0sdW5kZWxlZ2F0ZTpmdW5jdGlvbihvLGMseSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg9PT0xP3RoaXMub2ZmKG8sIioqIik6dGhpcy5vZmYoYyxvfHwiKioiLHkpfSxob3ZlcjpmdW5jdGlvbihvLGMpe3JldHVybiB0aGlzLm9uKCJtb3VzZWVudGVyIixvKS5vbigibW91c2VsZWF2ZSIsY3x8byl9fSksZi5lYWNoKCJibHVyIGZvY3VzIGZvY3VzaW4gZm9jdXNvdXQgcmVzaXplIHNjcm9sbCBjbGljayBkYmxjbGljayBtb3VzZWRvd24gbW91c2V1cCBtb3VzZW1vdmUgbW91c2VvdmVyIG1vdXNlb3V0IG1vdXNlZW50ZXIgbW91c2VsZWF2ZSBjaGFuZ2Ugc2VsZWN0IHN1Ym1pdCBrZXlkb3duIGtleXByZXNzIGtleXVwIGNvbnRleHRtZW51Ii5zcGxpdCgiICIpLGZ1bmN0aW9uKG8sYyl7Zi5mbltjXT1mdW5jdGlvbih5LHgpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjA/dGhpcy5vbihjLG51bGwseSx4KTp0aGlzLnRyaWdnZXIoYyl9fSk7dmFyIFNsPS9eW1xzXHVGRUZGXHhBMF0rfChbXlxzXHVGRUZGXHhBMF0pW1xzXHVGRUZGXHhBMF0rJC9nO2YucHJveHk9ZnVuY3Rpb24obyxjKXt2YXIgeSx4LEk7aWYodHlwZW9mIGM9PSJzdHJpbmciJiYoeT1vW2NdLGM9byxvPXkpLCEhVChvKSlyZXR1cm4geD1pLmNhbGwoYXJndW1lbnRzLDIpLEk9ZnVuY3Rpb24oKXtyZXR1cm4gby5hcHBseShjfHx0aGlzLHguY29uY2F0KGkuY2FsbChhcmd1bWVudHMpKSl9LEkuZ3VpZD1vLmd1aWQ9by5ndWlkfHxmLmd1aWQrKyxJfSxmLmhvbGRSZWFkeT1mdW5jdGlvbihvKXtvP2YucmVhZHlXYWl0Kys6Zi5yZWFkeSghMCl9LGYuaXNBcnJheT1BcnJheS5pc0FycmF5LGYucGFyc2VKU09OPUpTT04ucGFyc2UsZi5ub2RlTmFtZT1aLGYuaXNGdW5jdGlvbj1ULGYuaXNXaW5kb3c9RCxmLmNhbWVsQ2FzZT1iZSxmLnR5cGU9QyxmLm5vdz1EYXRlLm5vdyxmLmlzTnVtZXJpYz1mdW5jdGlvbihvKXt2YXIgYz1mLnR5cGUobyk7cmV0dXJuKGM9PT0ibnVtYmVyInx8Yz09PSJzdHJpbmciKSYmIWlzTmFOKG8tcGFyc2VGbG9hdChvKSl9LGYudHJpbT1mdW5jdGlvbihvKXtyZXR1cm4gbz09bnVsbD8iIjoobysiIikucmVwbGFjZShTbCwiJDEiKX0sdHlwZW9mIGRlZmluZT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZCYmZGVmaW5lKCJqcXVlcnkiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIGZ9KTt2YXIgVGw9ZS5qUXVlcnksRGw9ZS4kO3JldHVybiBmLm5vQ29uZmxpY3Q9ZnVuY3Rpb24obyl7cmV0dXJuIGUuJD09PWYmJihlLiQ9RGwpLG8mJmUualF1ZXJ5PT09ZiYmKGUualF1ZXJ5PVRsKSxmfSx0eXBlb2YgdD4idSImJihlLmpRdWVyeT1lLiQ9ZiksZn0pfSk7dmFyIHFvPXN0KHJzKCkpLF90PXN0KG90KCkpO3ZhciBMdT1zdChvdCgpLDEpO3ZhciBDcz1zdChvdCgpLDEpO3ZhciBIPUNzLmRlZmF1bHQsZ2U9ZnVuY3Rpb24oZSx0KXtpZihnZS5mYWN0b3J5KGUsdCkpcmV0dXJuIGdlO2lmKHRoaXMgaW5zdGFuY2VvZiBnZSlyZXR1cm4gSChlKS5EYXRhVGFibGUodCk7dD1lO3ZhciBuPXRoaXMscj10PT09dm9pZCAwLGk9dGhpcy5sZW5ndGg7cmV0dXJuIHImJih0PXt9KSx0aGlzLmFwaT1mdW5jdGlvbigpe3JldHVybiBuZXcgcWUodGhpcyl9LHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBhPXt9LHM9aT4xP3BzKGEsdCwhMCk6dCx1PTAsZCxtPXRoaXMuZ2V0QXR0cmlidXRlKCJpZCIpLHY9Z2UuZGVmYXVsdHMsZz1IKHRoaXMpO2lmKHRoaXMubm9kZU5hbWUudG9Mb3dlckNhc2UoKSE9InRhYmxlIil7V3QobnVsbCwwLCJOb24tdGFibGUgbm9kZSBpbml0aWFsaXNhdGlvbiAoIit0aGlzLm5vZGVOYW1lKyIpIiwyKTtyZXR1cm59cy5vbiYmcy5vbi5vcHRpb25zJiZtcyhnLCJvcHRpb25zIixzLm9uLm9wdGlvbnMpLGcudHJpZ2dlcigib3B0aW9ucy5kdCIscyksc3ModiksQXModi5jb2x1bW4pLHBuKHYsdiwhMCkscG4odi5jb2x1bW4sdi5jb2x1bW4sITApLHBuKHYsSC5leHRlbmQocyxxcyhnLmRhdGEoKSkpLCEwKTt2YXIgdz1nZS5zZXR0aW5ncztmb3IodT0wLGQ9dy5sZW5ndGg7dTxkO3UrKyl7dmFyIGI9d1t1XTtpZihiLm5UYWJsZT09dGhpc3x8Yi5uVEhlYWQmJmIublRIZWFkLnBhcmVudE5vZGU9PXRoaXN8fGIublRGb290JiZiLm5URm9vdC5wYXJlbnROb2RlPT10aGlzKXt2YXIgVD1zLmJSZXRyaWV2ZSE9PXZvaWQgMD9zLmJSZXRyaWV2ZTp2LmJSZXRyaWV2ZSxEPXMuYkRlc3Ryb3khPT12b2lkIDA/cy5iRGVzdHJveTp2LmJEZXN0cm95O2lmKHJ8fFQpcmV0dXJuIGIub0luc3RhbmNlO2lmKEQpe25ldyBnZS5BcGkoYikuZGVzdHJveSgpO2JyZWFrfWVsc2V7V3QoYiwwLCJDYW5ub3QgcmVpbml0aWFsaXNlIERhdGFUYWJsZSIsMyk7cmV0dXJufX1pZihiLnNUYWJsZUlkPT10aGlzLmlkKXt3LnNwbGljZSh1LDEpO2JyZWFrfX0obT09PW51bGx8fG09PT0iIikmJihtPSJEYXRhVGFibGVzX1RhYmxlXyIrZ2UuZXh0Ll91bmlxdWUrKyx0aGlzLmlkPW0pO3ZhciBoPUguZXh0ZW5kKCEwLHt9LGdlLm1vZGVscy5vU2V0dGluZ3Mse3NEZXN0cm95V2lkdGg6Z1swXS5zdHlsZS53aWR0aCxzSW5zdGFuY2U6bSxzVGFibGVJZDptLGNvbGdyb3VwOkgoIjxjb2xncm91cD4iKS5wcmVwZW5kVG8odGhpcyksZmFzdERhdGE6ZnVuY3Rpb24oTCxSLEIpe3JldHVybiBVdChoLEwsUixCKX19KTtoLm5UYWJsZT10aGlzLGgub0luaXQ9cyx3LnB1c2goaCksaC5hcGk9bmV3IHFlKGgpLGgub0luc3RhbmNlPW4ubGVuZ3RoPT09MT9uOmcuZGF0YVRhYmxlKCksc3Mocykscy5hTGVuZ3RoTWVudSYmIXMuaURpc3BsYXlMZW5ndGgmJihzLmlEaXNwbGF5TGVuZ3RoPUFycmF5LmlzQXJyYXkocy5hTGVuZ3RoTWVudVswXSk/cy5hTGVuZ3RoTWVudVswXVswXTpILmlzUGxhaW5PYmplY3Qocy5hTGVuZ3RoTWVudVswXSk/cy5hTGVuZ3RoTWVudVswXS52YWx1ZTpzLmFMZW5ndGhNZW51WzBdKSxzPXBzKEguZXh0ZW5kKCEwLHt9LHYpLHMpLHZuKGgub0ZlYXR1cmVzLHMsWyJiUGFnaW5hdGUiLCJiTGVuZ3RoQ2hhbmdlIiwiYkZpbHRlciIsImJTb3J0IiwiYlNvcnRNdWx0aSIsImJJbmZvIiwiYlByb2Nlc3NpbmciLCJiQXV0b1dpZHRoIiwiYlNvcnRDbGFzc2VzIiwiYlNlcnZlclNpZGUiLCJiRGVmZXJSZW5kZXIiXSksdm4oaCxzLFsiYWpheCIsImZuRm9ybWF0TnVtYmVyIiwic1NlcnZlck1ldGhvZCIsImFhU29ydGluZyIsImFhU29ydGluZ0ZpeGVkIiwiYUxlbmd0aE1lbnUiLCJzUGFnaW5hdGlvblR5cGUiLCJpU3RhdGVEdXJhdGlvbiIsImJTb3J0Q2VsbHNUb3AiLCJpVGFiSW5kZXgiLCJzRG9tIiwiZm5TdGF0ZUxvYWRDYWxsYmFjayIsImZuU3RhdGVTYXZlQ2FsbGJhY2siLCJyZW5kZXJlciIsInNlYXJjaERlbGF5Iiwicm93SWQiLCJjYXB0aW9uIiwibGF5b3V0Iiwib3JkZXJEZXNjUmV2ZXJzZSIsIm9yZGVySW5kaWNhdG9ycyIsIm9yZGVySGFuZGxlciIsInRpdGxlUm93IiwidHlwZURldGVjdCIsWyJpQ29va2llRHVyYXRpb24iLCJpU3RhdGVEdXJhdGlvbiJdLFsib1NlYXJjaCIsIm9QcmV2aW91c1NlYXJjaCJdLFsiYW9TZWFyY2hDb2xzIiwiYW9QcmVTZWFyY2hDb2xzIl0sWyJpRGlzcGxheUxlbmd0aCIsIl9pRGlzcGxheUxlbmd0aCJdXSksdm4oaC5vU2Nyb2xsLHMsW1sic1Njcm9sbFgiLCJzWCJdLFsic1Njcm9sbFhJbm5lciIsInNYSW5uZXIiXSxbInNTY3JvbGxZIiwic1kiXSxbImJTY3JvbGxDb2xsYXBzZSIsImJDb2xsYXBzZSJdXSksdm4oaC5vTGFuZ3VhZ2UscywiZm5JbmZvQ2FsbGJhY2siKSx6dChoLCJhb0RyYXdDYWxsYmFjayIscy5mbkRyYXdDYWxsYmFjayksenQoaCwiYW9TdGF0ZVNhdmVQYXJhbXMiLHMuZm5TdGF0ZVNhdmVQYXJhbXMpLHp0KGgsImFvU3RhdGVMb2FkUGFyYW1zIixzLmZuU3RhdGVMb2FkUGFyYW1zKSx6dChoLCJhb1N0YXRlTG9hZGVkIixzLmZuU3RhdGVMb2FkZWQpLHp0KGgsImFvUm93Q2FsbGJhY2siLHMuZm5Sb3dDYWxsYmFjayksenQoaCwiYW9Sb3dDcmVhdGVkQ2FsbGJhY2siLHMuZm5DcmVhdGVkUm93KSx6dChoLCJhb0hlYWRlckNhbGxiYWNrIixzLmZuSGVhZGVyQ2FsbGJhY2spLHp0KGgsImFvRm9vdGVyQ2FsbGJhY2siLHMuZm5Gb290ZXJDYWxsYmFjayksenQoaCwiYW9Jbml0Q29tcGxldGUiLHMuZm5Jbml0Q29tcGxldGUpLHp0KGgsImFvUHJlRHJhd0NhbGxiYWNrIixzLmZuUHJlRHJhd0NhbGxiYWNrKSxoLnJvd0lkRm49em4ocy5yb3dJZCkscy5vbiYmT2JqZWN0LmtleXMocy5vbikuZm9yRWFjaChmdW5jdGlvbihMKXttcyhnLEwscy5vbltMXSl9KSxxbChoKTt2YXIgbD1oLm9DbGFzc2VzO0guZXh0ZW5kKGwsZ2UuZXh0LmNsYXNzZXMscy5vQ2xhc3NlcyksZy5hZGRDbGFzcyhsLnRhYmxlKSxoLm9GZWF0dXJlcy5iUGFnaW5hdGV8fChzLmlEaXNwbGF5U3RhcnQ9MCksaC5pSW5pdERpc3BsYXlTdGFydD09PXZvaWQgMCYmKGguaUluaXREaXNwbGF5U3RhcnQ9cy5pRGlzcGxheVN0YXJ0LGguX2lEaXNwbGF5U3RhcnQ9cy5pRGlzcGxheVN0YXJ0KTt2YXIgcD1zLmlEZWZlckxvYWRpbmc7aWYocCE9PW51bGwpe2guZGVmZXJMb2FkaW5nPSEwO3ZhciBDPUFycmF5LmlzQXJyYXkocCk7aC5faVJlY29yZHNEaXNwbGF5PUM/cFswXTpwLGguX2lSZWNvcmRzVG90YWw9Qz9wWzFdOnB9dmFyIEY9W10sUD10aGlzLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0aGVhZCIpLGY9RXMoaCxQWzBdKTtpZihzLmFvQ29sdW1ucylGPXMuYW9Db2x1bW5zO2Vsc2UgaWYoZi5sZW5ndGgpZm9yKHU9MCxkPWZbMF0ubGVuZ3RoO3U8ZDt1KyspRi5wdXNoKG51bGwpO2Zvcih1PTAsZD1GLmxlbmd0aDt1PGQ7dSsrKUlzKGgpO1hsKGgscy5hb0NvbHVtbkRlZnMsRixmLGZ1bmN0aW9uKEwsUil7QmkoaCxMLFIpfSk7dmFyIFc9Zy5jaGlsZHJlbigidGJvZHkiKS5maW5kKCJ0cjpmaXJzdC1jaGlsZCIpLmVxKDApO2lmKFcubGVuZ3RoKXt2YXIgWj1mdW5jdGlvbihMLFIpe3JldHVybiBMLmdldEF0dHJpYnV0ZSgiZGF0YS0iK1IpIT09bnVsbD9SOm51bGx9O0goV1swXSkuY2hpbGRyZW4oInRoLCB0ZCIpLmVhY2goZnVuY3Rpb24oTCxSKXt2YXIgQj1oLmFvQ29sdW1uc1tMXTtpZihCfHxXdChoLDAsIkluY29ycmVjdCBjb2x1bW4gY291bnQiLDE4KSxCLm1EYXRhPT09TCl7dmFyIEc9WihSLCJzb3J0Iil8fFooUiwib3JkZXIiKSxNPVooUiwiZmlsdGVyIil8fFooUiwic2VhcmNoIik7KEchPT1udWxsfHxNIT09bnVsbCkmJihCLm1EYXRhPXtfOkwrIi5kaXNwbGF5Iixzb3J0OkchPT1udWxsP0wrIi5AZGF0YS0iK0c6dm9pZCAwLHR5cGU6RyE9PW51bGw/TCsiLkBkYXRhLSIrRzp2b2lkIDAsZmlsdGVyOk0hPT1udWxsP0wrIi5AZGF0YS0iK006dm9pZCAwfSxCLl9pc0FycmF5SG9zdD0hMCxCaShoLEwpKX19KX16dChoLCJhb0RyYXdDYWxsYmFjayIsS3IpO3ZhciBpZT1oLm9GZWF0dXJlcztpZihzLmJTdGF0ZVNhdmUmJihpZS5iU3RhdGVTYXZlPSEwKSxzLmFhU29ydGluZz09PXZvaWQgMCl7dmFyIEU9aC5hYVNvcnRpbmc7Zm9yKHU9MCxkPUUubGVuZ3RoO3U8ZDt1KyspRVt1XVsxXT1oLmFvQ29sdW1uc1t1XS5hc1NvcnRpbmdbMF19amkoaCksenQoaCwiYW9EcmF3Q2FsbGJhY2siLGZ1bmN0aW9uKCl7KGguYlNvcnRlZHx8T3QoaCk9PT0ic3NwInx8aWUuYkRlZmVyUmVuZGVyKSYmamkoaCl9KTt2YXIgSj1nLmNoaWxkcmVuKCJjYXB0aW9uIik7aC5jYXB0aW9uJiYoSi5sZW5ndGg9PT0wJiYoSj1IKCI8Y2FwdGlvbi8+IikuYXBwZW5kVG8oZykpLEouaHRtbChoLmNhcHRpb24pKSxKLmxlbmd0aCYmKEpbMF0uX2NhcHRpb25TaWRlPUouY3NzKCJjYXB0aW9uLXNpZGUiKSxoLmNhcHRpb25Ob2RlPUpbMF0pLFAubGVuZ3RoPT09MCYmKFA9SCgiPHRoZWFkLz4iKS5hcHBlbmRUbyhnKSksaC5uVEhlYWQ9UFswXTt2YXIgXz1nLmNoaWxkcmVuKCJ0Ym9keSIpO18ubGVuZ3RoPT09MCYmKF89SCgiPHRib2R5Lz4iKS5pbnNlcnRBZnRlcihQKSksaC5uVEJvZHk9X1swXTt2YXIgUz1nLmNoaWxkcmVuKCJ0Zm9vdCIpO1MubGVuZ3RoPT09MCYmKFM9SCgiPHRmb290Lz4iKS5hcHBlbmRUbyhnKSksaC5uVEZvb3Q9U1swXSxoLmFpRGlzcGxheT1oLmFpRGlzcGxheU1hc3Rlci5zbGljZSgpLGguYkluaXRpYWxpc2VkPSEwO3ZhciBrPWgub0xhbmd1YWdlO0guZXh0ZW5kKCEwLGsscy5vTGFuZ3VhZ2UpLGsuc1VybD9ILmFqYXgoe2RhdGFUeXBlOiJqc29uIix1cmw6ay5zVXJsLHN1Y2Nlc3M6ZnVuY3Rpb24oTCl7cG4odi5vTGFuZ3VhZ2UsTCksSC5leHRlbmQoITAsayxMLGgub0luaXQub0xhbmd1YWdlKSxLZShoLG51bGwsImkxOG4iLFtoXSwhMCksUnIoaCl9LGVycm9yOmZ1bmN0aW9uKCl7V3QoaCwwLCJpMThuIGZpbGUgbG9hZGluZyBlcnJvciIsMjEpLFJyKGgpfX0pOihLZShoLG51bGwsImkxOG4iLFtoXSwhMCksUnIoaCkpfSksbj1udWxsLHRoaXN9O2dlLmV4dD1mdD17YnVpbGRlcjoiLXNvdXJjZS0iLGJ1dHRvbnM6e30sY2NDb250ZW50Ont9LGNsYXNzZXM6e30sZXJyTW9kZToiYWxlcnQiLGVzY2FwZTp7YXR0cmlidXRlczohMX0sZmVhdHVyZTpbXSxmZWF0dXJlczp7fSxzZWFyY2g6W10sc2VsZWN0b3I6e2NlbGw6W10sY29sdW1uOltdLHJvdzpbXX0sbGVnYWN5OnthamF4Om51bGx9LHBhZ2VyOnt9LHJlbmRlcmVyOntwYWdlQnV0dG9uOnt9LGhlYWRlcjp7fX0sb3JkZXI6e30sdHlwZTp7Y2xhc3NOYW1lOnt9LGRldGVjdDpbXSxyZW5kZXI6e30sc2VhcmNoOnt9LG9yZGVyOnt9fSxfdW5pcXVlOjAsZm5WZXJzaW9uQ2hlY2s6Z2UuZm5WZXJzaW9uQ2hlY2ssaUFwaUluZGV4OjAsc1ZlcnNpb246Z2UudmVyc2lvbn07SC5leHRlbmQoZnQse2FmbkZpbHRlcmluZzpmdC5zZWFyY2gsYVR5cGVzOmZ0LnR5cGUuZGV0ZWN0LG9mblNlYXJjaDpmdC50eXBlLnNlYXJjaCxvU29ydDpmdC50eXBlLm9yZGVyLGFmblNvcnREYXRhOmZ0Lm9yZGVyLGFvRmVhdHVyZXM6ZnQuZmVhdHVyZSxvU3RkQ2xhc3NlczpmdC5jbGFzc2VzLG9QYWdpbmF0aW9uOmZ0LnBhZ2VyfSk7SC5leHRlbmQoZ2UuZXh0LmNsYXNzZXMse2NvbnRhaW5lcjoiZHQtY29udGFpbmVyIixlbXB0eTp7cm93OiJkdC1lbXB0eSJ9LGluZm86e2NvbnRhaW5lcjoiZHQtaW5mbyJ9LGxheW91dDp7cm93OiJkdC1sYXlvdXQtcm93IixjZWxsOiJkdC1sYXlvdXQtY2VsbCIsdGFibGVSb3c6ImR0LWxheW91dC10YWJsZSIsdGFibGVDZWxsOiIiLHN0YXJ0OiJkdC1sYXlvdXQtc3RhcnQiLGVuZDoiZHQtbGF5b3V0LWVuZCIsZnVsbDoiZHQtbGF5b3V0LWZ1bGwifSxsZW5ndGg6e2NvbnRhaW5lcjoiZHQtbGVuZ3RoIixzZWxlY3Q6ImR0LWlucHV0In0sb3JkZXI6e2NhbkFzYzoiZHQtb3JkZXJhYmxlLWFzYyIsY2FuRGVzYzoiZHQtb3JkZXJhYmxlLWRlc2MiLGlzQXNjOiJkdC1vcmRlcmluZy1hc2MiLGlzRGVzYzoiZHQtb3JkZXJpbmctZGVzYyIsbm9uZToiZHQtb3JkZXJhYmxlLW5vbmUiLHBvc2l0aW9uOiJzb3J0aW5nXyJ9LHByb2Nlc3Npbmc6e2NvbnRhaW5lcjoiZHQtcHJvY2Vzc2luZyJ9LHNjcm9sbGluZzp7Ym9keToiZHQtc2Nyb2xsLWJvZHkiLGNvbnRhaW5lcjoiZHQtc2Nyb2xsIixmb290ZXI6e3NlbGY6ImR0LXNjcm9sbC1mb290Iixpbm5lcjoiZHQtc2Nyb2xsLWZvb3RJbm5lciJ9LGhlYWRlcjp7c2VsZjoiZHQtc2Nyb2xsLWhlYWQiLGlubmVyOiJkdC1zY3JvbGwtaGVhZElubmVyIn19LHNlYXJjaDp7Y29udGFpbmVyOiJkdC1zZWFyY2giLGlucHV0OiJkdC1pbnB1dCJ9LHRhYmxlOiJkYXRhVGFibGUiLHRib2R5OntjZWxsOiIiLHJvdzoiIn0sdGhlYWQ6e2NlbGw6IiIscm93OiIifSx0Zm9vdDp7Y2VsbDoiIixyb3c6IiJ9LHBhZ2luZzp7YWN0aXZlOiJjdXJyZW50IixidXR0b246ImR0LXBhZ2luZy1idXR0b24iLGNvbnRhaW5lcjoiZHQtcGFnaW5nIixkaXNhYmxlZDoiZGlzYWJsZWQiLG5hdjoiIn19KTt2YXIgZnQscWUsTmUsZXQsTmk9e30sVmw9L1tcclxuXHUyMDI4XS9nLHppPS88KFtePl0qPikvZyxIbD1NYXRoLnBvdygyLDI4KSxhcz0vXlxkezIsNH1bLi8tXVxkezEsMn1bLi8tXVxkezEsMn0oW1QgXXsxfVxkezEsMn1bOi5dXGR7Mn0oWy46XVxkezJ9KT8pPyQvLHpsPW5ldyBSZWdFeHAoIihcXCIrWyIvIiwiLiIsIioiLCIrIiwiPyIsInwiLCIoIiwiKSIsIlsiLCJdIiwieyIsIn0iLCJcXCIsIiQiLCJeIiwiLSJdLmpvaW4oInxcXCIpKyIpIiwiZyIpLFdpPS9bJ1x1MDBBMCwkwqPigqzCpSVcdTIwMDlcdTIwMkZcdTIwQkRcdTIwYTlcdTIwQkFyZmvJg86eXS9naSxMdD1mdW5jdGlvbihlKXtyZXR1cm4hZXx8ZT09PSEwfHxlPT09Ii0ifSxTcz1mdW5jdGlvbihlKXt2YXIgdD1wYXJzZUludChlLDEwKTtyZXR1cm4haXNOYU4odCkmJmlzRmluaXRlKGUpP3Q6bnVsbH0sVHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTmlbdF18fChOaVt0XT1uZXcgUmVnRXhwKE1pKHQpLCJnIikpLHR5cGVvZiBlPT0ic3RyaW5nIiYmdCE9PSIuIj9lLnJlcGxhY2UoL1wuL2csIiIpLnJlcGxhY2UoTmlbdF0sIi4iKTplfSxjcj1mdW5jdGlvbihlLHQsbixyKXt2YXIgaT10eXBlb2YgZSxhPWk9PT0ic3RyaW5nIjtyZXR1cm4gaT09PSJudW1iZXIifHxpPT09ImJpZ2ludCJ8fHImJkx0KGUpPyEwOih0JiZhJiYoZT1UcyhlLHQpKSxuJiZhJiYoZT1lLnJlcGxhY2UoV2ksIiIpKSwhaXNOYU4ocGFyc2VGbG9hdChlKSkmJmlzRmluaXRlKGUpKX0sV2w9ZnVuY3Rpb24oZSl7cmV0dXJuIEx0KGUpfHx0eXBlb2YgZT09InN0cmluZyJ9LE1yPWZ1bmN0aW9uKGUsdCxuLHIpe2lmKHImJkx0KGUpKXJldHVybiEwO2lmKHR5cGVvZiBlPT0ic3RyaW5nIiYmZS5tYXRjaCgvPChpbnB1dHxzZWxlY3QpL2kpKXJldHVybiBudWxsO3ZhciBpPVdsKGUpO3JldHVybiBpJiZjcihvbihlKSx0LG4scik/ITA6bnVsbH0seXQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPVtdLGk9MCxhPWUubGVuZ3RoO2lmKG4hPT12b2lkIDApZm9yKDtpPGE7aSsrKWVbaV0mJmVbaV1bdF0mJnIucHVzaChlW2ldW3RdW25dKTtlbHNlIGZvcig7aTxhO2krKyllW2ldJiZyLnB1c2goZVtpXVt0XSk7cmV0dXJuIHJ9LGhyPWZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpPVtdLGE9MCxzPXQubGVuZ3RoO2lmKHIhPT12b2lkIDApZm9yKDthPHM7YSsrKWVbdFthXV0mJmVbdFthXV1bbl0mJmkucHVzaChlW3RbYV1dW25dW3JdKTtlbHNlIGZvcig7YTxzO2ErKyllW3RbYV1dJiZpLnB1c2goZVt0W2FdXVtuXSk7cmV0dXJuIGl9LGhuPWZ1bmN0aW9uKGUsdCl7dmFyIG49W10scjt0PT09dm9pZCAwPyh0PTAscj1lKToocj10LHQ9ZSk7Zm9yKHZhciBpPXQ7aTxyO2krKyluLnB1c2goaSk7cmV0dXJuIG59LERzPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxuPTAscj1lLmxlbmd0aDtuPHI7bisrKWVbbl0mJnQucHVzaChlW25dKTtyZXR1cm4gdH0sb249ZnVuY3Rpb24oZSl7aWYoIWV8fHR5cGVvZiBlIT0ic3RyaW5nIilyZXR1cm4gZTtpZihlLmxlbmd0aD5IbCl0aHJvdyBuZXcgRXJyb3IoIkV4Y2VlZGVkIG1heCBzdHIgbGVuIik7dmFyIHQ7ZT1lLnJlcGxhY2UoemksIiIpO2RvIHQ9ZSxlPWUucmVwbGFjZSgvPHNjcmlwdC9pLCIiKTt3aGlsZShlIT09dCk7cmV0dXJuIHR9LERuPWZ1bmN0aW9uKGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpJiYoZT1lLmpvaW4oIiwiKSksdHlwZW9mIGU9PSJzdHJpbmciP2UucmVwbGFjZSgvJi9nLCImYW1wOyIpLnJlcGxhY2UoLzwvZywiJmx0OyIpLnJlcGxhY2UoLz4vZywiJmd0OyIpLnJlcGxhY2UoLyIvZywiJnF1b3Q7Iik6ZX0sanI9ZnVuY3Rpb24oZSx0KXtpZih0eXBlb2YgZSE9InN0cmluZyIpcmV0dXJuIGU7dmFyIG49ZS5ub3JtYWxpemU/ZS5ub3JtYWxpemUoIk5GRCIpOmU7cmV0dXJuIG4ubGVuZ3RoIT09ZS5sZW5ndGg/KHQ9PT0hMD9lKyIgIjoiIikrbi5yZXBsYWNlKC9bXHUwMzAwLVx1MDM2Zl0vZywiIik6bn0sVWw9ZnVuY3Rpb24oZSl7aWYoZS5sZW5ndGg8MilyZXR1cm4hMDtmb3IodmFyIHQ9ZS5zbGljZSgpLnNvcnQoKSxuPXRbMF0scj0xLGk9dC5sZW5ndGg7cjxpO3IrKyl7aWYodFtyXT09PW4pcmV0dXJuITE7bj10W3JdfXJldHVybiEwfSxVbj1mdW5jdGlvbihlKXtpZihBcnJheS5mcm9tJiZTZXQpcmV0dXJuIEFycmF5LmZyb20obmV3IFNldChlKSk7aWYoVWwoZSkpcmV0dXJuIGUuc2xpY2UoKTt2YXIgdD1bXSxuLHIsaT1lLmxlbmd0aCxhLHM9MDtlOmZvcihyPTA7cjxpO3IrKyl7Zm9yKG49ZVtyXSxhPTA7YTxzO2ErKylpZih0W2FdPT09biljb250aW51ZSBlO3QucHVzaChuKSxzKyt9cmV0dXJuIHR9LGtzPWZ1bmN0aW9uKGUsdCl7aWYoQXJyYXkuaXNBcnJheSh0KSlmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKylrcyhlLHRbbl0pO2Vsc2UgZS5wdXNoKHQpO3JldHVybiBlfTtmdW5jdGlvbiBIbihlLHQpe3QmJnQuc3BsaXQoIiAiKS5mb3JFYWNoKGZ1bmN0aW9uKG4pe24mJmUuY2xhc3NMaXN0LmFkZChuKX0pfWdlLnV0aWw9e2RpYWNyaXRpY3M6ZnVuY3Rpb24oZSx0KXt2YXIgbj10eXBlb2YgZTtpZihuIT09ImZ1bmN0aW9uIilyZXR1cm4ganIoZSx0KTtqcj1lfSxkZWJvdW5jZTpmdW5jdGlvbihlLHQpe3ZhciBuO3JldHVybiBmdW5jdGlvbigpe3ZhciByPXRoaXMsaT1hcmd1bWVudHM7Y2xlYXJUaW1lb3V0KG4pLG49c2V0VGltZW91dChmdW5jdGlvbigpe2UuYXBwbHkocixpKX0sdHx8MjUwKX19LHRocm90dGxlOmZ1bmN0aW9uKGUsdCl7dmFyIG49dCE9PXZvaWQgMD90OjIwMCxyLGk7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxzPStuZXcgRGF0ZSx1PWFyZ3VtZW50cztyJiZzPHIrbj8oY2xlYXJUaW1lb3V0KGkpLGk9c2V0VGltZW91dChmdW5jdGlvbigpe3I9dm9pZCAwLGUuYXBwbHkoYSx1KX0sbikpOihyPXMsZS5hcHBseShhLHUpKX19LGVzY2FwZVJlZ2V4OmZ1bmN0aW9uKGUpe3JldHVybiBlLnJlcGxhY2UoemwsIlxcJDEiKX0sc2V0OmZ1bmN0aW9uKGUpe2lmKEguaXNQbGFpbk9iamVjdChlKSlyZXR1cm4gZ2UudXRpbC5zZXQoZS5fKTtpZihlPT09bnVsbClyZXR1cm4gZnVuY3Rpb24oKXt9O2lmKHR5cGVvZiBlPT0iZnVuY3Rpb24iKXJldHVybiBmdW5jdGlvbihuLHIsaSl7ZShuLCJzZXQiLHIsaSl9O2lmKHR5cGVvZiBlPT0ic3RyaW5nIiYmKGUuaW5kZXhPZigiLiIpIT09LTF8fGUuaW5kZXhPZigiWyIpIT09LTF8fGUuaW5kZXhPZigiKCIpIT09LTEpKXt2YXIgdD1mdW5jdGlvbihuLHIsaSl7Zm9yKHZhciBhPWxzKGkpLHMsdT1hW2EubGVuZ3RoLTFdLGQsbSx2LGcsdz0wLGI9YS5sZW5ndGgtMTt3PGI7dysrKXtpZihhW3ddPT09Il9fcHJvdG9fXyJ8fGFbd109PT0iY29uc3RydWN0b3IiKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHNldCBwcm90b3R5cGUgdmFsdWVzIik7aWYoZD1hW3ddLm1hdGNoKHVyKSxtPWFbd10ubWF0Y2goam4pLGQpe2lmKGFbd109YVt3XS5yZXBsYWNlKHVyLCIiKSxuW2Fbd11dPVtdLHM9YS5zbGljZSgpLHMuc3BsaWNlKDAsdysxKSxnPXMuam9pbigiLiIpLEFycmF5LmlzQXJyYXkocikpZm9yKHZhciBUPTAsRD1yLmxlbmd0aDtUPEQ7VCsrKXY9e30sdCh2LHJbVF0sZyksblthW3ddXS5wdXNoKHYpO2Vsc2UgblthW3ddXT1yO3JldHVybn1lbHNlIG0mJihhW3ddPWFbd10ucmVwbGFjZShqbiwiIiksbj1uW2Fbd11dKHIpKTsoblthW3ddXT09PW51bGx8fG5bYVt3XV09PT12b2lkIDApJiYoblthW3ddXT17fSksbj1uW2Fbd11dfXUubWF0Y2goam4pP249blt1LnJlcGxhY2Uoam4sIiIpXShyKTpuW3UucmVwbGFjZSh1ciwiIildPXJ9O3JldHVybiBmdW5jdGlvbihuLHIpe3JldHVybiB0KG4scixlKX19ZWxzZSByZXR1cm4gZnVuY3Rpb24obixyKXtuW2VdPXJ9fSxnZXQ6ZnVuY3Rpb24oZSl7aWYoSC5pc1BsYWluT2JqZWN0KGUpKXt2YXIgdD17fTtyZXR1cm4gSC5lYWNoKGUsZnVuY3Rpb24ocixpKXtpJiYodFtyXT1nZS51dGlsLmdldChpKSl9KSxmdW5jdGlvbihyLGksYSxzKXt2YXIgdT10W2ldfHx0Ll87cmV0dXJuIHUhPT12b2lkIDA/dShyLGksYSxzKTpyfX1lbHNle2lmKGU9PT1udWxsKXJldHVybiBmdW5jdGlvbihyKXtyZXR1cm4gcn07aWYodHlwZW9mIGU9PSJmdW5jdGlvbiIpcmV0dXJuIGZ1bmN0aW9uKHIsaSxhLHMpe3JldHVybiBlKHIsaSxhLHMpfTtpZih0eXBlb2YgZT09InN0cmluZyImJihlLmluZGV4T2YoIi4iKSE9PS0xfHxlLmluZGV4T2YoIlsiKSE9PS0xfHxlLmluZGV4T2YoIigiKSE9PS0xKSl7dmFyIG49ZnVuY3Rpb24ocixpLGEpe3ZhciBzLHUsZCxtO2lmKGEhPT0iIilmb3IodmFyIHY9bHMoYSksZz0wLHc9di5sZW5ndGg7Zzx3O2crKyl7aWYocz12W2ddLm1hdGNoKHVyKSx1PXZbZ10ubWF0Y2goam4pLHMpe2lmKHZbZ109dltnXS5yZXBsYWNlKHVyLCIiKSx2W2ddIT09IiImJihyPXJbdltnXV0pLGQ9W10sdi5zcGxpY2UoMCxnKzEpLG09di5qb2luKCIuIiksQXJyYXkuaXNBcnJheShyKSlmb3IodmFyIGI9MCxUPXIubGVuZ3RoO2I8VDtiKyspZC5wdXNoKG4ocltiXSxpLG0pKTt2YXIgRD1zWzBdLnN1YnN0cmluZygxLHNbMF0ubGVuZ3RoLTEpO3I9RD09PSIiP2Q6ZC5qb2luKEQpO2JyZWFrfWVsc2UgaWYodSl7dltnXT12W2ddLnJlcGxhY2Uoam4sIiIpLHI9clt2W2ddXSgpO2NvbnRpbnVlfWlmKHI9PT1udWxsfHxyW3ZbZ11dPT09bnVsbClyZXR1cm4gbnVsbDtpZihyPT09dm9pZCAwfHxyW3ZbZ11dPT09dm9pZCAwKXJldHVybjtyPXJbdltnXV19cmV0dXJuIHJ9O3JldHVybiBmdW5jdGlvbihyLGkpe3JldHVybiBuKHIsaSxlKX19ZWxzZSByZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIHJbZV19fX0sc3RyaXBIdG1sOmZ1bmN0aW9uKGUpe3ZhciB0PXR5cGVvZiBlO2lmKHQ9PT0iZnVuY3Rpb24iKXtvbj1lO3JldHVybn1lbHNlIGlmKHQ9PT0ic3RyaW5nIilyZXR1cm4gb24oZSk7cmV0dXJuIGV9LGVzY2FwZUh0bWw6ZnVuY3Rpb24oZSl7dmFyIHQ9dHlwZW9mIGU7aWYodD09PSJmdW5jdGlvbiIpe0RuPWU7cmV0dXJufWVsc2UgaWYodD09PSJzdHJpbmcifHxBcnJheS5pc0FycmF5KGUpKXJldHVybiBEbihlKTtyZXR1cm4gZX0sdW5pcXVlOlVufTtmdW5jdGlvbiBxcihlKXt2YXIgdD0iYSBhYSBhaSBhbyBhcyBiIGZuIGkgbSBvIHMgIixuLHIsaT17fTtILmVhY2goZSxmdW5jdGlvbihhKXtuPWEubWF0Y2goL14oW15BLVpdKz8pKFtBLVpdKS8pLG4mJnQuaW5kZXhPZihuWzFdKyIgIikhPT0tMSYmKHI9YS5yZXBsYWNlKG5bMF0sblsyXS50b0xvd2VyQ2FzZSgpKSxpW3JdPWEsblsxXT09PSJvIiYmcXIoZVthXSkpfSksZS5faHVuZ2FyaWFuTWFwPWl9ZnVuY3Rpb24gcG4oZSx0LG4pe2UuX2h1bmdhcmlhbk1hcHx8cXIoZSk7dmFyIHI7SC5lYWNoKHQsZnVuY3Rpb24oaSl7cj1lLl9odW5nYXJpYW5NYXBbaV0sciE9PXZvaWQgMCYmKG58fHRbcl09PT12b2lkIDApJiYoci5jaGFyQXQoMCk9PT0ibyI/KHRbcl18fCh0W3JdPXt9KSxILmV4dGVuZCghMCx0W3JdLHRbaV0pLHBuKGVbcl0sdFtyXSxuKSk6dFtyXT10W2ldKX0pfXZhciBJdD1mdW5jdGlvbihlLHQsbil7ZVt0XSE9PXZvaWQgMCYmKGVbbl09ZVt0XSl9O2Z1bmN0aW9uIHNzKGUpe0l0KGUsIm9yZGVyaW5nIiwiYlNvcnQiKSxJdChlLCJvcmRlck11bHRpIiwiYlNvcnRNdWx0aSIpLEl0KGUsIm9yZGVyQ2xhc3NlcyIsImJTb3J0Q2xhc3NlcyIpLEl0KGUsIm9yZGVyQ2VsbHNUb3AiLCJiU29ydENlbGxzVG9wIiksSXQoZSwib3JkZXIiLCJhYVNvcnRpbmciKSxJdChlLCJvcmRlckZpeGVkIiwiYWFTb3J0aW5nRml4ZWQiKSxJdChlLCJwYWdpbmciLCJiUGFnaW5hdGUiKSxJdChlLCJwYWdpbmdUeXBlIiwic1BhZ2luYXRpb25UeXBlIiksSXQoZSwicGFnZUxlbmd0aCIsImlEaXNwbGF5TGVuZ3RoIiksSXQoZSwic2VhcmNoaW5nIiwiYkZpbHRlciIpLHR5cGVvZiBlLnNTY3JvbGxYPT0iYm9vbGVhbiImJihlLnNTY3JvbGxYPWUuc1Njcm9sbFg/IjEwMCUiOiIiKSx0eXBlb2YgZS5zY3JvbGxYPT0iYm9vbGVhbiImJihlLnNjcm9sbFg9ZS5zY3JvbGxYPyIxMDAlIjoiIiksdHlwZW9mIGUuYlNvcnQ9PSJvYmplY3QiPyhlLm9yZGVySW5kaWNhdG9ycz1lLmJTb3J0LmluZGljYXRvcnMhPT12b2lkIDA/ZS5iU29ydC5pbmRpY2F0b3JzOiEwLGUub3JkZXJIYW5kbGVyPWUuYlNvcnQuaGFuZGxlciE9PXZvaWQgMD9lLmJTb3J0LmhhbmRsZXI6ITAsZS5iU29ydD0hMCk6ZS5iU29ydD09PSExPyhlLm9yZGVySW5kaWNhdG9ycz0hMSxlLm9yZGVySGFuZGxlcj0hMSk6ZS5iU29ydD09PSEwJiYoZS5vcmRlckluZGljYXRvcnM9ITAsZS5vcmRlckhhbmRsZXI9ITApLHR5cGVvZiBlLmJTb3J0Q2VsbHNUb3A9PSJib29sZWFuIiYmKGUudGl0bGVSb3c9ZS5iU29ydENlbGxzVG9wKTt2YXIgdD1lLmFvU2VhcmNoQ29scztpZih0KWZvcih2YXIgbj0wLHI9dC5sZW5ndGg7bjxyO24rKyl0W25dJiZwbihnZS5tb2RlbHMub1NlYXJjaCx0W25dKTtlLnNlcnZlclNpZGUmJiFlLnNlYXJjaERlbGF5JiYoZS5zZWFyY2hEZWxheT00MDApfWZ1bmN0aW9uIEFzKGUpe0l0KGUsIm9yZGVyYWJsZSIsImJTb3J0YWJsZSIpLEl0KGUsIm9yZGVyRGF0YSIsImFEYXRhU29ydCIpLEl0KGUsIm9yZGVyU2VxdWVuY2UiLCJhc1NvcnRpbmciKSxJdChlLCJvcmRlckRhdGFUeXBlIiwic29ydERhdGFUeXBlIik7dmFyIHQ9ZS5hRGF0YVNvcnQ7dHlwZW9mIHQ9PSJudW1iZXIiJiYhQXJyYXkuaXNBcnJheSh0KSYmKGUuYURhdGFTb3J0PVt0XSl9ZnVuY3Rpb24gcWwoZSl7aWYoIWdlLl9fYnJvd3Nlcil7dmFyIHQ9e307Z2UuX19icm93c2VyPXQ7dmFyIG49SCgiPGRpdi8+IikuY3NzKHtwb3NpdGlvbjoiZml4ZWQiLHRvcDowLGxlZnQ6LTEqd2luZG93LnBhZ2VYT2Zmc2V0LGhlaWdodDoxLHdpZHRoOjEsb3ZlcmZsb3c6ImhpZGRlbiJ9KS5hcHBlbmQoSCgiPGRpdi8+IikuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDoxLGxlZnQ6MSx3aWR0aDoxMDAsb3ZlcmZsb3c6InNjcm9sbCJ9KS5hcHBlbmQoSCgiPGRpdi8+IikuY3NzKHt3aWR0aDoiMTAwJSIsaGVpZ2h0OjEwfSkpKS5hcHBlbmRUbygiYm9keSIpLHI9bi5jaGlsZHJlbigpLGk9ci5jaGlsZHJlbigpO3QuYmFyV2lkdGg9clswXS5vZmZzZXRXaWR0aC1yWzBdLmNsaWVudFdpZHRoLHQuYlNjcm9sbGJhckxlZnQ9TWF0aC5yb3VuZChpLm9mZnNldCgpLmxlZnQpIT09MSxuLnJlbW92ZSgpfUguZXh0ZW5kKGUub0Jyb3dzZXIsZ2UuX19icm93c2VyKSxlLm9TY3JvbGwuaUJhcldpZHRoPWdlLl9fYnJvd3Nlci5iYXJXaWR0aH1mdW5jdGlvbiBJcyhlKXt2YXIgdD1nZS5kZWZhdWx0cy5jb2x1bW4sbj1lLmFvQ29sdW1ucy5sZW5ndGgscj1ILmV4dGVuZCh7fSxnZS5tb2RlbHMub0NvbHVtbix0LHthRGF0YVNvcnQ6dC5hRGF0YVNvcnQ/dC5hRGF0YVNvcnQ6W25dLG1EYXRhOnQubURhdGE/dC5tRGF0YTpuLGlkeDpuLHNlYXJjaEZpeGVkOnt9LGNvbEVsOkgoIjxjb2w+IikuYXR0cigiZGF0YS1kdC1jb2x1bW4iLG4pfSk7ZS5hb0NvbHVtbnMucHVzaChyKTt2YXIgaT1lLmFvUHJlU2VhcmNoQ29scztpW25dPUguZXh0ZW5kKHt9LGdlLm1vZGVscy5vU2VhcmNoLGlbbl0pfWZ1bmN0aW9uIEJpKGUsdCxuKXt2YXIgcj1lLmFvQ29sdW1uc1t0XTtpZihuIT1udWxsKXtBcyhuKSxwbihnZS5kZWZhdWx0cy5jb2x1bW4sbiwhMCksbi5tRGF0YVByb3AhPT12b2lkIDAmJiFuLm1EYXRhJiYobi5tRGF0YT1uLm1EYXRhUHJvcCksbi5zVHlwZSYmKHIuX3NNYW51YWxUeXBlPW4uc1R5cGUpLG4uY2xhc3NOYW1lJiYhbi5zQ2xhc3MmJihuLnNDbGFzcz1uLmNsYXNzTmFtZSk7dmFyIGk9ci5zQ2xhc3M7SC5leHRlbmQocixuKSx2bihyLG4sInNXaWR0aCIsInNXaWR0aE9yaWciKSxpIT09ci5zQ2xhc3MmJihyLnNDbGFzcz1pKyIgIityLnNDbGFzcyksbi5pRGF0YVNvcnQhPT12b2lkIDAmJihyLmFEYXRhU29ydD1bbi5pRGF0YVNvcnRdKSx2bihyLG4sImFEYXRhU29ydCIpfXZhciBhPXIubURhdGEscz16bihhKTtpZihyLm1SZW5kZXImJkFycmF5LmlzQXJyYXkoci5tUmVuZGVyKSl7dmFyIHU9ci5tUmVuZGVyLnNsaWNlKCksZD11LnNoaWZ0KCk7ci5tUmVuZGVyPWdlLnJlbmRlcltkXS5hcHBseSh3aW5kb3csdSl9ci5fcmVuZGVyPXIubVJlbmRlcj96bihyLm1SZW5kZXIpOm51bGw7dmFyIG09ZnVuY3Rpb24odil7cmV0dXJuIHR5cGVvZiB2PT0ic3RyaW5nIiYmdi5pbmRleE9mKCJAIikhPT0tMX07ci5fYkF0dHJTcmM9SC5pc1BsYWluT2JqZWN0KGEpJiYobShhLnNvcnQpfHxtKGEudHlwZSl8fG0oYS5maWx0ZXIpKSxyLl9zZXR0ZXI9bnVsbCxyLmZuR2V0RGF0YT1mdW5jdGlvbih2LGcsdyl7dmFyIGI9cyh2LGcsdm9pZCAwLHcpO3JldHVybiByLl9yZW5kZXImJmc/ci5fcmVuZGVyKGIsZyx2LHcpOmJ9LHIuZm5TZXREYXRhPWZ1bmN0aW9uKHYsZyx3KXtyZXR1cm4gU24oYSkodixnLHcpfSx0eXBlb2YgYSE9Im51bWJlciImJiFyLl9pc0FycmF5SG9zdCYmKGUuX3Jvd1JlYWRPYmplY3Q9ITApLGUub0ZlYXR1cmVzLmJTb3J0fHwoci5iU29ydGFibGU9ITEpfWZ1bmN0aW9uIEdyKGUpe3V1KGUpLEdsKGUpO3ZhciB0PWUub1Njcm9sbDsodC5zWSE9PSIifHx0LnNYIT09IiIpJiZqcyhlKSxLZShlLG51bGwsImNvbHVtbi1zaXppbmciLFtlXSl9ZnVuY3Rpb24gR2woZSl7Zm9yKHZhciB0PWUuYW9Db2x1bW5zLG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIHI9TnMoZSxbbl0sITEsITEpO3Rbbl0uY29sRWwuY3NzKCJ3aWR0aCIsciksZS5vU2Nyb2xsLnNYJiZ0W25dLmNvbEVsLmNzcygibWluLXdpZHRoIixyKX19ZnVuY3Rpb24gVWkoZSx0KXt2YXIgbj1xaShlLCJiVmlzaWJsZSIpO3JldHVybiB0eXBlb2Ygblt0XT09Im51bWJlciI/blt0XTpudWxsfWZ1bmN0aW9uIHByKGUsdCl7dmFyIG49cWkoZSwiYlZpc2libGUiKSxyPW4uaW5kZXhPZih0KTtyZXR1cm4gciE9PS0xP3I6bnVsbH1mdW5jdGlvbiAkcihlKXt2YXIgdD1lLmFvSGVhZGVyLG49ZS5hb0NvbHVtbnMscj0wO2lmKHQubGVuZ3RoKWZvcih2YXIgaT0wLGE9dFswXS5sZW5ndGg7aTxhO2krKyluW2ldLmJWaXNpYmxlJiZIKHRbMF1baV0uY2VsbCkuY3NzKCJkaXNwbGF5IikhPT0ibm9uZSImJnIrKztyZXR1cm4gcn1mdW5jdGlvbiBxaShlLHQpe3ZhciBuPVtdO3JldHVybiBlLmFvQ29sdW1ucy5tYXAoZnVuY3Rpb24ocixpKXtyW3RdJiZuLnB1c2goaSl9KSxufWZ1bmN0aW9uIEZpKGUsdCl7cmV0dXJuIHQ9PT0hMD9lLl9uYW1lOnR9ZnVuY3Rpb24gWHIoZSl7dmFyIHQ9ZS5hb0NvbHVtbnMsbj1lLmFvRGF0YSxyPWdlLmV4dC50eXBlLmRldGVjdCxpLGEscyx1LGQsbSx2LGcsdztmb3IoaT0wLGE9dC5sZW5ndGg7aTxhO2krKyl7aWYodj10W2ldLHc9W10sIXYuc1R5cGUmJnYuX3NNYW51YWxUeXBlKXYuc1R5cGU9di5fc01hbnVhbFR5cGU7ZWxzZSBpZighdi5zVHlwZSl7aWYoIWUudHlwZURldGVjdClyZXR1cm47Zm9yKHM9MCx1PXIubGVuZ3RoO3M8dTtzKyspe3ZhciBiPXJbc10sVD1iLm9uZU9mLEQ9Yi5hbGxPZnx8YixoPWIuaW5pdCxsPSExO2lmKGc9bnVsbCxoJiYoZz1GaShiLGgoZSx2LGkpKSxnKSl7di5zVHlwZT1nO2JyZWFrfWZvcihkPTAsbT1uLmxlbmd0aDtkPG0mJiEobltkXSYmKHdbZF09PT12b2lkIDAmJih3W2RdPVV0KGUsZCxpLCJ0eXBlIikpLFQmJiFsJiYobD1GaShiLFQod1tkXSxlKSkpLGc9RmkoYixEKHdbZF0sZSkpLCFnJiZzIT09ci5sZW5ndGgtM3x8Zz09PSJodG1sIiYmIUx0KHdbZF0pKSk7ZCsrKTtpZihUJiZsJiZnfHwhVCYmZyl7di5zVHlwZT1nO2JyZWFrfX12LnNUeXBlfHwodi5zVHlwZT0ic3RyaW5nIil9dmFyIHA9ZnQudHlwZS5jbGFzc05hbWVbdi5zVHlwZV07cCYmKG9zKGUuYW9IZWFkZXIsaSxwKSxvcyhlLmFvRm9vdGVyLGkscCkpO3ZhciBDPWZ0LnR5cGUucmVuZGVyW3Yuc1R5cGVdO0MmJiF2Ll9yZW5kZXImJih2Ll9yZW5kZXI9Z2UudXRpbC5nZXQoQyksJGwoZSxpKSl9fWZ1bmN0aW9uICRsKGUsdCl7Zm9yKHZhciBuPWUuYW9EYXRhLHI9MDtyPG4ubGVuZ3RoO3IrKylpZihuW3JdLm5Ucil7dmFyIGk9VXQoZSxyLHQsImRpc3BsYXkiKTtuW3JdLmRpc3BsYXlEYXRhW3RdPWksVnIobltyXS5hbkNlbGxzW3RdLGkpfX1mdW5jdGlvbiBvcyhlLHQsbil7ZS5mb3JFYWNoKGZ1bmN0aW9uKHIpe3JbdF0mJnJbdF0udW5pcXVlJiZIbihyW3RdLmNlbGwsbil9KX1mdW5jdGlvbiBYbChlLHQsbixyLGkpe3ZhciBhLHMsdSxkLG0sdixnLHc9ZS5hb0NvbHVtbnM7aWYobilmb3IoYT0wLHM9bi5sZW5ndGg7YTxzO2ErKyluW2FdJiZuW2FdLm5hbWUmJih3W2FdLnNOYW1lPW5bYV0ubmFtZSk7aWYodClmb3IoYT10Lmxlbmd0aC0xO2E+PTA7YS0tKXtnPXRbYV07dmFyIGI9Zy50YXJnZXQhPT12b2lkIDA/Zy50YXJnZXQ6Zy50YXJnZXRzIT09dm9pZCAwP2cudGFyZ2V0czpnLmFUYXJnZXRzO2ZvcihBcnJheS5pc0FycmF5KGIpfHwoYj1bYl0pLHU9MCxkPWIubGVuZ3RoO3U8ZDt1Kyspe3ZhciBUPWJbdV07aWYodHlwZW9mIFQ9PSJudW1iZXIiJiZUPj0wKXtmb3IoO3cubGVuZ3RoPD1UOylJcyhlKTtpKFQsZyl9ZWxzZSBpZih0eXBlb2YgVD09Im51bWJlciImJlQ8MClpKHcubGVuZ3RoK1QsZyk7ZWxzZSBpZih0eXBlb2YgVD09InN0cmluZyIpZm9yKG09MCx2PXcubGVuZ3RoO208djttKyspVD09PSJfYWxsIj9pKG0sZyk6VC5pbmRleE9mKCI6bmFtZSIpIT09LTE/d1ttXS5zTmFtZT09PVQucmVwbGFjZSgiOm5hbWUiLCIiKSYmaShtLGcpOnIuZm9yRWFjaChmdW5jdGlvbihEKXtpZihEW21dKXt2YXIgaD1IKERbbV0uY2VsbCk7VC5tYXRjaCgvXlthLXpdW1x3LV0qJC9pKSYmKFQ9Ii4iK1QpLGguaXMoVCkmJmkobSxnKX19KX19aWYobilmb3IoYT0wLHM9bi5sZW5ndGg7YTxzO2ErKylpKGEsblthXSl9ZnVuY3Rpb24gTnMoZSx0LG4scil7QXJyYXkuaXNBcnJheSh0KXx8KHQ9R2kodCkpO2Zvcih2YXIgaT0wLGEscz1lLmFvQ29sdW1ucyx1PTAsZD10Lmxlbmd0aDt1PGQ7dSsrKXt2YXIgbT1zW3RbdV1dLHY9bj9tLnNXaWR0aE9yaWc6bS5zV2lkdGg7aWYoISghciYmbS5iVmlzaWJsZT09PSExKSl7aWYodj09bnVsbClyZXR1cm4gbnVsbDtpZih0eXBlb2Ygdj09Im51bWJlciIpYT0icHgiLGkrPXY7ZWxzZXt2YXIgZz12Lm1hdGNoKC8oW1xkXC5dKykoW15cZF0qKS8pO2cmJihpKz1nWzFdKjEsYT1nLmxlbmd0aD09PTM/Z1syXToicHgiKX19fXJldHVybiBpK2F9ZnVuY3Rpb24gR2koZSl7dmFyIHQ9SChlKS5jbG9zZXN0KCJbZGF0YS1kdC1jb2x1bW5dIikuYXR0cigiZGF0YS1kdC1jb2x1bW4iKTtyZXR1cm4gdD90LnNwbGl0KCIsIikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuKjF9KTpbXX1mdW5jdGlvbiBrbihlLHQsbixyKXt2YXIgaT1lLmFvRGF0YS5sZW5ndGgsYT1ILmV4dGVuZCghMCx7fSxnZS5tb2RlbHMub1Jvdyx7c3JjOm4/ImRvbSI6ImRhdGEiLGlkeDppfSk7YS5fYURhdGE9dCxlLmFvRGF0YS5wdXNoKGEpO2Zvcih2YXIgcz1lLmFvQ29sdW1ucyx1PTAsZD1zLmxlbmd0aDt1PGQ7dSsrKXNbdV0uc1R5cGU9bnVsbDtlLmFpRGlzcGxheU1hc3Rlci5wdXNoKGkpO3ZhciBtPWUucm93SWRGbih0KTtyZXR1cm4gbSE9PXZvaWQgMCYmKGUuYUlkc1ttXT1hKSwobnx8IWUub0ZlYXR1cmVzLmJEZWZlclJlbmRlcikmJkxzKGUsaSxuLHIpLGl9ZnVuY3Rpb24gJGkoZSx0KXt2YXIgbjtyZXR1cm4gdCBpbnN0YW5jZW9mIEh8fCh0PUgodCkpLHQubWFwKGZ1bmN0aW9uKHIsaSl7cmV0dXJuIG49RnMoZSxpKSxrbihlLG4uZGF0YSxpLG4uY2VsbHMpfSl9ZnVuY3Rpb24gVXQoZSx0LG4scil7cj09PSJzZWFyY2giP3I9ImZpbHRlciI6cj09PSJvcmRlciImJihyPSJzb3J0Iik7dmFyIGk9ZS5hb0RhdGFbdF07aWYoaSl7dmFyIGE9ZS5pRHJhdyxzPWUuYW9Db2x1bW5zW25dLHU9aS5fYURhdGEsZD1zLnNEZWZhdWx0Q29udGVudCxtPXMuZm5HZXREYXRhKHUscix7c2V0dGluZ3M6ZSxyb3c6dCxjb2w6bn0pO2lmKHIhPT0iZGlzcGxheSImJm0mJnR5cGVvZiBtPT0ib2JqZWN0IiYmbS5ub2RlTmFtZSYmKG09bS5pbm5lckhUTUwpLG09PT12b2lkIDApcmV0dXJuIGUuaURyYXdFcnJvciE9YSYmZD09PW51bGwmJihXdChlLDAsIlJlcXVlc3RlZCB1bmtub3duIHBhcmFtZXRlciAiKyh0eXBlb2Ygcy5tRGF0YT09ImZ1bmN0aW9uIj8ie2Z1bmN0aW9ufSI6IiciK3MubURhdGErIiciKSsiIGZvciByb3cgIit0KyIsIGNvbHVtbiAiK24sNCksZS5pRHJhd0Vycm9yPWEpLGQ7aWYoKG09PT11fHxtPT09bnVsbCkmJmQhPT1udWxsJiZyIT09dm9pZCAwKW09ZDtlbHNlIGlmKHR5cGVvZiBtPT0iZnVuY3Rpb24iKXJldHVybiBtLmNhbGwodSk7aWYobT09PW51bGwmJnI9PT0iZGlzcGxheSIpcmV0dXJuIiI7aWYocj09PSJmaWx0ZXIiKXt2YXIgdj1nZS5leHQudHlwZS5zZWFyY2g7dltzLnNUeXBlXSYmKG09dltzLnNUeXBlXShtKSl9cmV0dXJuIG19fWZ1bmN0aW9uIFpsKGUsdCxuLHIpe3ZhciBpPWUuYW9Db2x1bW5zW25dLGE9ZS5hb0RhdGFbdF0uX2FEYXRhO2kuZm5TZXREYXRhKGEscix7c2V0dGluZ3M6ZSxyb3c6dCxjb2w6bn0pfWZ1bmN0aW9uIFZyKGUsdCl7dCYmdHlwZW9mIHQ9PSJvYmplY3QiJiZ0Lm5vZGVOYW1lP0goZSkuZW1wdHkoKS5hcHBlbmQodCk6ZS5pbm5lckhUTUw9dH12YXIgdXI9L1xbLio/XF0kLyxqbj0vXChcKSQvO2Z1bmN0aW9uIGxzKGUpe3ZhciB0PWUubWF0Y2goLyhcXC58W14uXSkrL2cpfHxbIiJdO3JldHVybiB0Lm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbi5yZXBsYWNlKC9cXFwuL2csIi4iKX0pfXZhciB6bj1nZS51dGlsLmdldCxTbj1nZS51dGlsLnNldDtmdW5jdGlvbiB1cyhlKXtyZXR1cm4geXQoZS5hb0RhdGEsIl9hRGF0YSIpfWZ1bmN0aW9uIFhpKGUpe2UuYW9EYXRhLmxlbmd0aD0wLGUuYWlEaXNwbGF5TWFzdGVyLmxlbmd0aD0wLGUuYWlEaXNwbGF5Lmxlbmd0aD0wLGUuYUlkcz17fX1mdW5jdGlvbiBacihlLHQsbixyKXt2YXIgaT1lLmFvRGF0YVt0XSxhLHM7aWYoaS5fYVNvcnREYXRhPW51bGwsaS5fYUZpbHRlckRhdGE9bnVsbCxpLmRpc3BsYXlEYXRhPW51bGwsbj09PSJkb20ifHwoIW58fG49PT0iYXV0byIpJiZpLnNyYz09PSJkb20iKWkuX2FEYXRhPUZzKGUsaSxyLHI9PT12b2lkIDA/dm9pZCAwOmkuX2FEYXRhKS5kYXRhO2Vsc2V7dmFyIHU9aS5hbkNlbGxzLGQ9WmkoZSx0KTtpZih1KWlmKHIhPT12b2lkIDApVnIodVtyXSxkW3JdKTtlbHNlIGZvcihhPTAscz11Lmxlbmd0aDthPHM7YSsrKVZyKHVbYV0sZFthXSl9dmFyIG09ZS5hb0NvbHVtbnM7aWYociE9PXZvaWQgMCltW3JdLnNUeXBlPW51bGwsbVtyXS5tYXhMZW5TdHJpbmc9bnVsbDtlbHNle2ZvcihhPTAscz1tLmxlbmd0aDthPHM7YSsrKW1bYV0uc1R5cGU9bnVsbCxtW2FdLm1heExlblN0cmluZz1udWxsO1BzKGUsaSl9fWZ1bmN0aW9uIEZzKGUsdCxuLHIpe3ZhciBpPVtdLGE9dC5maXJzdENoaWxkLHMsdSxkPTAsbSx2PWUuYW9Db2x1bW5zLGc9ZS5fcm93UmVhZE9iamVjdDtyPXIhPT12b2lkIDA/cjpnP3t9OltdO3ZhciB3PWZ1bmN0aW9uKHAsQyl7aWYodHlwZW9mIHA9PSJzdHJpbmciKXt2YXIgRj1wLmluZGV4T2YoIkAiKTtpZihGIT09LTEpe3ZhciBQPXAuc3Vic3RyaW5nKEYrMSksZj1TbihwKTtmKHIsQy5nZXRBdHRyaWJ1dGUoUCkpfX19LGI9ZnVuY3Rpb24ocCl7aWYobj09PXZvaWQgMHx8bj09PWQpaWYodT12W2RdLG09cC5pbm5lckhUTUwudHJpbSgpLHUmJnUuX2JBdHRyU3JjKXt2YXIgQz1Tbih1Lm1EYXRhLl8pO0MocixtKSx3KHUubURhdGEuc29ydCxwKSx3KHUubURhdGEudHlwZSxwKSx3KHUubURhdGEuZmlsdGVyLHApfWVsc2UgZz8odS5fc2V0dGVyfHwodS5fc2V0dGVyPVNuKHUubURhdGEpKSx1Ll9zZXR0ZXIocixtKSk6cltkXT1tO2QrK307aWYoYSlmb3IoO2E7KXM9YS5ub2RlTmFtZS50b1VwcGVyQ2FzZSgpLChzPT0iVEQifHxzPT0iVEgiKSYmKGIoYSksaS5wdXNoKGEpKSxhPWEubmV4dFNpYmxpbmc7ZWxzZXtpPXQuYW5DZWxscztmb3IodmFyIFQ9MCxEPWkubGVuZ3RoO1Q8RDtUKyspYihpW1RdKX12YXIgaD10LmZpcnN0Q2hpbGQ/dDp0Lm5UcjtpZihoKXt2YXIgbD1oLmdldEF0dHJpYnV0ZSgiaWQiKTtsJiZTbihlLnJvd0lkKShyLGwpfXJldHVybntkYXRhOnIsY2VsbHM6aX19ZnVuY3Rpb24gWmkoZSx0KXt2YXIgbj1lLmFvRGF0YVt0XSxyPWUuYW9Db2x1bW5zO2lmKCFuLmRpc3BsYXlEYXRhKXtuLmRpc3BsYXlEYXRhPVtdO2Zvcih2YXIgaT0wLGE9ci5sZW5ndGg7aTxhO2krKyluLmRpc3BsYXlEYXRhLnB1c2goVXQoZSx0LGksImRpc3BsYXkiKSl9cmV0dXJuIG4uZGlzcGxheURhdGF9ZnVuY3Rpb24gTHMoZSx0LG4scil7dmFyIGk9ZS5hb0RhdGFbdF0sYT1pLl9hRGF0YSxzPVtdLHUsZCxtLHYsZyx3LGI9ZS5vQ2xhc3Nlcy50Ym9keS5yb3c7aWYoaS5uVHI9PT1udWxsKXtmb3IodT1ufHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpLGkublRyPXUsaS5hbkNlbGxzPXMsSG4odSxiKSx1Ll9EVF9Sb3dJbmRleD10LFBzKGUsaSksdj0wLGc9ZS5hb0NvbHVtbnMubGVuZ3RoO3Y8Zzt2Kyspe209ZS5hb0NvbHVtbnNbdl0sdz0hKG4mJnJbdl0pLGQ9dz9kb2N1bWVudC5jcmVhdGVFbGVtZW50KG0uc0NlbGxUeXBlKTpyW3ZdLGR8fFd0KGUsMCwiSW5jb3JyZWN0IGNvbHVtbiBjb3VudCIsMTgpLGQuX0RUX0NlbGxJbmRleD17cm93OnQsY29sdW1uOnZ9LHMucHVzaChkKTt2YXIgVD1aaShlLHQpOyh3fHwobS5tUmVuZGVyfHxtLm1EYXRhIT09dikmJighSC5pc1BsYWluT2JqZWN0KG0ubURhdGEpfHxtLm1EYXRhLl8hPT12KyIuZGlzcGxheSIpKSYmVnIoZCxUW3ZdKSxIbihkLG0uc0NsYXNzKSxtLmJWaXNpYmxlJiZ3P3UuYXBwZW5kQ2hpbGQoZCk6IW0uYlZpc2libGUmJiF3JiZkLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZCksbS5mbkNyZWF0ZWRDZWxsJiZtLmZuQ3JlYXRlZENlbGwuY2FsbChlLm9JbnN0YW5jZSxkLFV0KGUsdCx2KSxhLHQsdil9S2UoZSwiYW9Sb3dDcmVhdGVkQ2FsbGJhY2siLCJyb3ctY3JlYXRlZCIsW3UsYSx0LHNdKX1lbHNlIEhuKGkublRyLGIpfWZ1bmN0aW9uIFBzKGUsdCl7dmFyIG49dC5uVHIscj10Ll9hRGF0YTtpZihuKXt2YXIgaT1lLnJvd0lkRm4ocik7aWYoaSYmKG4uaWQ9aSksci5EVF9Sb3dDbGFzcyl7dmFyIGE9ci5EVF9Sb3dDbGFzcy5zcGxpdCgiICIpO3QuX19yb3djPXQuX19yb3djP1VuKHQuX19yb3djLmNvbmNhdChhKSk6YSxIKG4pLnJlbW92ZUNsYXNzKHQuX19yb3djLmpvaW4oIiAiKSkuYWRkQ2xhc3Moci5EVF9Sb3dDbGFzcyl9ci5EVF9Sb3dBdHRyJiZIKG4pLmF0dHIoci5EVF9Sb3dBdHRyKSxyLkRUX1Jvd0RhdGEmJkgobikuZGF0YShyLkRUX1Jvd0RhdGEpfX1mdW5jdGlvbiBjcyhlLHQpe3ZhciBuPWUub0NsYXNzZXMscj1lLmFvQ29sdW1ucyxpLGEscyx1PXQ9PT0iaGVhZGVyIj9lLm5USGVhZDplLm5URm9vdCxkPXQ9PT0iaGVhZGVyIj8ic1RpdGxlIjp0O2lmKHUpe2lmKCh0PT09ImhlYWRlciJ8fHl0KGUuYW9Db2x1bW5zLGQpLmpvaW4oIiIpKSYmKHM9SCgidHIiLHUpLHMubGVuZ3RofHwocz1IKCI8dHIvPiIpLmFwcGVuZFRvKHUpKSxzLmxlbmd0aD09PTEpKXt2YXIgbT0wO2ZvcihIKCJ0ZCwgdGgiLHMpLmVhY2goZnVuY3Rpb24oKXttKz10aGlzLmNvbFNwYW59KSxpPW0sYT1yLmxlbmd0aDtpPGE7aSsrKUgoIjx0aC8+IikuaHRtbChyW2ldW2RdfHwiIikuYXBwZW5kVG8ocyl9dmFyIHY9RXMoZSx1LCEwKTt0PT09ImhlYWRlciI/KGUuYW9IZWFkZXI9dixIKCJ0ciIsdSkuYWRkQ2xhc3Mobi50aGVhZC5yb3cpKTooZS5hb0Zvb3Rlcj12LEgoInRyIix1KS5hZGRDbGFzcyhuLnRmb290LnJvdykpLEgodSkuY2hpbGRyZW4oInRyIikuY2hpbGRyZW4oInRoLCB0ZCIpLmVhY2goZnVuY3Rpb24oKXtXcihlLHQpKGUsSCh0aGlzKSxuKX0pfX1mdW5jdGlvbiBPcyhlLHQsbil7dmFyIHIsaSxhLHM9W10sdT1bXSxkPWUuYW9Db2x1bW5zLG09ZC5sZW5ndGgsdixnO2lmKHQpe2ZvcihufHwobj1obihtKS5maWx0ZXIoZnVuY3Rpb24oVCl7cmV0dXJuIGRbVF0uYlZpc2libGV9KSkscj0wO3I8dC5sZW5ndGg7cisrKXNbcl09dFtyXS5zbGljZSgpLmZpbHRlcihmdW5jdGlvbihULEQpe3JldHVybiBuLmluY2x1ZGVzKEQpfSksdS5wdXNoKFtdKTtmb3Iocj0wO3I8cy5sZW5ndGg7cisrKWZvcihpPTA7aTxzW3JdLmxlbmd0aDtpKyspaWYodj0xLGc9MSx1W3JdW2ldPT09dm9pZCAwKXtmb3IoYT1zW3JdW2ldLmNlbGw7c1tyK3ZdIT09dm9pZCAwJiZzW3JdW2ldLmNlbGw9PXNbcit2XVtpXS5jZWxsOyl1W3Irdl1baV09bnVsbCx2Kys7Zm9yKDtzW3JdW2krZ10hPT12b2lkIDAmJnNbcl1baV0uY2VsbD09c1tyXVtpK2ddLmNlbGw7KXtmb3IodmFyIHc9MDt3PHY7dysrKXVbcit3XVtpK2ddPW51bGw7ZysrfXZhciBiPUgoInNwYW4uZHQtY29sdW1uLXRpdGxlIixhKTt1W3JdW2ldPXtjZWxsOmEsY29sc3BhbjpnLHJvd3NwYW46dix0aXRsZTpiLmxlbmd0aD9iLmh0bWwoKTpIKGEpLmh0bWwoKX19cmV0dXJuIHV9fWZ1bmN0aW9uIEhyKGUsdCl7Zm9yKHZhciBuPU9zKGUsdCkscixpLGE9MDthPHQubGVuZ3RoO2ErKyl7aWYocj10W2FdLnJvdyxyKWZvcig7aT1yLmZpcnN0Q2hpbGQ7KXIucmVtb3ZlQ2hpbGQoaSk7Zm9yKHZhciBzPTA7czxuW2FdLmxlbmd0aDtzKyspe3ZhciB1PW5bYV1bc107dSYmSCh1LmNlbGwpLmFwcGVuZFRvKHIpLmF0dHIoInJvd3NwYW4iLHUucm93c3BhbikuYXR0cigiY29sc3BhbiIsdS5jb2xzcGFuKX19fWZ1bmN0aW9uIHFuKGUsdCl7ZXUoZSk7dmFyIG49S2UoZSwiYW9QcmVEcmF3Q2FsbGJhY2siLCJwcmVEcmF3IixbZV0pO2lmKG4uaW5kZXhPZighMSkhPT0tMSl7UHQoZSwhMSk7cmV0dXJufXZhciByPVtdLGk9MCxhPU90KGUpPT0ic3NwIixzPWUuYWlEaXNwbGF5LHU9ZS5faURpc3BsYXlTdGFydCxkPWUuZm5EaXNwbGF5RW5kKCksbT1lLmFvQ29sdW1ucyx2PUgoZS5uVEJvZHkpO2lmKGUuYkRyYXdpbmc9ITAsZS5kZWZlckxvYWRpbmcpZS5kZWZlckxvYWRpbmc9ITEsZS5pRHJhdysrLFB0KGUsITEpO2Vsc2UgaWYoIWEpZS5pRHJhdysrO2Vsc2UgaWYoIWUuYkRlc3Ryb3lpbmcmJiF0KXtlLmlEcmF3PT09MCYmdi5lbXB0eSgpLmFwcGVuZChkcyhlKSksdHUoZSk7cmV0dXJufWlmKHMubGVuZ3RoIT09MClmb3IodmFyIGc9YT8wOnUsdz1hP2UuYW9EYXRhLmxlbmd0aDpkLGI9ZztiPHc7YisrKXt2YXIgVD1zW2JdLEQ9ZS5hb0RhdGFbVF07RC5uVHI9PT1udWxsJiZMcyhlLFQpO2Zvcih2YXIgaD1ELm5UcixsPTA7bDxtLmxlbmd0aDtsKyspe3ZhciBwPW1bbF0sQz1ELmFuQ2VsbHNbbF07SG4oQyxmdC50eXBlLmNsYXNzTmFtZVtwLnNUeXBlXSksSG4oQyxlLm9DbGFzc2VzLnRib2R5LmNlbGwpfUtlKGUsImFvUm93Q2FsbGJhY2siLG51bGwsW2gsRC5fYURhdGEsaSxiLFRdKSxyLnB1c2goaCksaSsrfWVsc2UgclswXT1kcyhlKTtLZShlLCJhb0hlYWRlckNhbGxiYWNrIiwiaGVhZGVyIixbSChlLm5USGVhZCkuY2hpbGRyZW4oInRyIilbMF0sdXMoZSksdSxkLHNdKSxLZShlLCJhb0Zvb3RlckNhbGxiYWNrIiwiZm9vdGVyIixbSChlLm5URm9vdCkuY2hpbGRyZW4oInRyIilbMF0sdXMoZSksdSxkLHNdKSx2WzBdLnJlcGxhY2VDaGlsZHJlbj92WzBdLnJlcGxhY2VDaGlsZHJlbi5hcHBseSh2WzBdLHIpOih2LmNoaWxkcmVuKCkuZGV0YWNoKCksdi5hcHBlbmQoSChyKSkpLEgoZS5uVGFibGVXcmFwcGVyKS50b2dnbGVDbGFzcygiZHQtZW1wdHktZm9vdGVyIixIKCJ0ciIsZS5uVEZvb3QpLmxlbmd0aD09PTApLEtlKGUsImFvRHJhd0NhbGxiYWNrIiwiZHJhdyIsW2VdLCEwKSxlLmJTb3J0ZWQ9ITEsZS5iRmlsdGVyZWQ9ITEsZS5iRHJhd2luZz0hMX1mdW5jdGlvbiBXbihlLHQsbil7dmFyIHI9ZS5vRmVhdHVyZXMsaT1yLmJTb3J0LGE9ci5iRmlsdGVyOyhuPT09dm9pZCAwfHxuPT09ITApJiYoWHIoZSksaSYmSmkoZSksYT9mcihlLGUub1ByZXZpb3VzU2VhcmNoKTplLmFpRGlzcGxheT1lLmFpRGlzcGxheU1hc3Rlci5zbGljZSgpKSx0IT09ITAmJihlLl9pRGlzcGxheVN0YXJ0PTApLGUuX2RyYXdIb2xkPXQscW4oZSksZS5hcGkub25lKCJkcmF3IixmdW5jdGlvbigpe2UuX2RyYXdIb2xkPSExfSl9ZnVuY3Rpb24gZHMoZSl7dmFyIHQ9ZS5vTGFuZ3VhZ2Usbj10LnNaZXJvUmVjb3JkcyxyPU90KGUpO3JldHVybihyPT09InNzcCJ8fHI9PT0iYWpheCIpJiYhZS5qc29uP249dC5zTG9hZGluZ1JlY29yZHM6dC5zRW1wdHlUYWJsZSYmZS5mblJlY29yZHNUb3RhbCgpPT09MCYmKG49dC5zRW1wdHlUYWJsZSksSCgiPHRyLz4iKS5hcHBlbmQoSCgiPHRkIC8+Iix7Y29sU3BhbjokcihlKSxjbGFzczplLm9DbGFzc2VzLmVtcHR5LnJvd30pLmh0bWwobikpWzBdfWZ1bmN0aW9uIFJpKGUsdCxuKXtpZihBcnJheS5pc0FycmF5KG4pKXtmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKylSaShlLHQsbltyXSk7cmV0dXJufXZhciBpPWVbdF07SC5pc1BsYWluT2JqZWN0KG4pP24uZmVhdHVyZXM/KG4ucm93SWQmJihlLmlkPW4ucm93SWQpLG4ucm93Q2xhc3MmJihlLmNsYXNzTmFtZT1uLnJvd0NsYXNzKSxpLmlkPW4uaWQsaS5jbGFzc05hbWU9bi5jbGFzc05hbWUsUmkoZSx0LG4uZmVhdHVyZXMpKTpPYmplY3Qua2V5cyhuKS5tYXAoZnVuY3Rpb24oYSl7aS5jb250ZW50cy5wdXNoKHtmZWF0dXJlOmEsb3B0czpuW2FdfSl9KTppLmNvbnRlbnRzLnB1c2gobil9ZnVuY3Rpb24gWWwoZSx0LG4pe2Zvcih2YXIgcixpPTA7aTxlLmxlbmd0aDtpKyspaWYocj1lW2ldLHIucm93TnVtPT09dCYmKG49PT0iZnVsbCImJnIuZnVsbHx8KG49PT0ic3RhcnQifHxuPT09ImVuZCIpJiYoci5zdGFydHx8ci5lbmQpKSlyZXR1cm4gcltuXXx8KHJbbl09e2NvbnRlbnRzOltdfSkscjtyZXR1cm4gcj17cm93TnVtOnR9LHJbbl09e2NvbnRlbnRzOltdfSxlLnB1c2gocikscn1mdW5jdGlvbiBmcyhlLHQsbil7dmFyIHI9W107SC5lYWNoKHQsZnVuY3Rpb24oYSxzKXtpZihzIT09bnVsbCl7dmFyIHU9YS5tYXRjaCgvXihbYS16XSspKFswLTldKikoW0EtWmEtel0qKSQvKSxkPXVbMl0/dVsyXSoxOjAsbT11WzNdP3VbM10udG9Mb3dlckNhc2UoKToiZnVsbCI7aWYodVsxXT09PW4pe3ZhciB2PVlsKHIsZCxtKTtSaSh2LG0scyl9fX0pLHIuc29ydChmdW5jdGlvbihhLHMpe3ZhciB1PWEucm93TnVtLGQ9cy5yb3dOdW07aWYodT09PWQpe3ZhciBtPWEuZnVsbCYmIXMuZnVsbD8tMToxO3JldHVybiBuPT09ImJvdHRvbSI/bSotMTptfXJldHVybiBkLXV9KSxuPT09ImJvdHRvbSImJnIucmV2ZXJzZSgpO2Zvcih2YXIgaT0wO2k8ci5sZW5ndGg7aSsrKWRlbGV0ZSByW2ldLnJvd051bSxLbChlLHJbaV0pO3JldHVybiByfWZ1bmN0aW9uIEtsKGUsdCl7dmFyIG49ZnVuY3Rpb24oaSxhKXtyZXR1cm4gZnQuZmVhdHVyZXNbaV18fFd0KGUsMCwiVW5rbm93biBmZWF0dXJlOiAiK2kpLGZ0LmZlYXR1cmVzW2ldLmFwcGx5KHRoaXMsW2UsYV0pfSxyPWZ1bmN0aW9uKGkpe2lmKHRbaV0pZm9yKHZhciBhPXRbaV0uY29udGVudHMscz0wLHU9YS5sZW5ndGg7czx1O3MrKylpZihhW3NdKXtpZih0eXBlb2YgYVtzXT09InN0cmluZyIpYVtzXT1uKGFbc10sbnVsbCk7ZWxzZSBpZihILmlzUGxhaW5PYmplY3QoYVtzXSkpYVtzXT1uKGFbc10uZmVhdHVyZSxhW3NdLm9wdHMpO2Vsc2UgaWYodHlwZW9mIGFbc10ubm9kZT09ImZ1bmN0aW9uIilhW3NdPWFbc10ubm9kZShlKTtlbHNlIGlmKHR5cGVvZiBhW3NdPT0iZnVuY3Rpb24iKXt2YXIgZD1hW3NdKGUpO2Fbc109dHlwZW9mIGQubm9kZT09ImZ1bmN0aW9uIj9kLm5vZGUoKTpkfX1lbHNlIGNvbnRpbnVlfTtyKCJzdGFydCIpLHIoImVuZCIpLHIoImZ1bGwiKX1mdW5jdGlvbiBKbChlKXt2YXIgdD1lLm9DbGFzc2VzLG49SChlLm5UYWJsZSkscj1IKCI8ZGl2Lz4iKS5hdHRyKHtpZDplLnNUYWJsZUlkKyJfd3JhcHBlciIsY2xhc3M6dC5jb250YWluZXJ9KS5pbnNlcnRCZWZvcmUobik7aWYoZS5uVGFibGVXcmFwcGVyPXJbMF0sZS5zRG9tKVFsKGUsZS5zRG9tLHIpO2Vsc2V7dmFyIGk9ZnMoZSxlLmxheW91dCwidG9wIiksYT1mcyhlLGUubGF5b3V0LCJib3R0b20iKSxzPVdyKGUsImxheW91dCIpO2kuZm9yRWFjaChmdW5jdGlvbih1KXtzKGUscix1KX0pLHMoZSxyLHtmdWxsOnt0YWJsZTohMCxjb250ZW50czpbTXMoZSldfX0pLGEuZm9yRWFjaChmdW5jdGlvbih1KXtzKGUscix1KX0pfWx1KGUpfWZ1bmN0aW9uIFFsKGUsdCxuKXtmb3IodmFyIHI9dC5tYXRjaCgvKCIuKj8iKXwoJy4qPycpfC4vZyksaSxhLHMsdSxkLG09MDttPHIubGVuZ3RoO20rKyl7aWYoaT1udWxsLGE9clttXSxhPT0iPCIpe2lmKHM9SCgiPGRpdi8+IiksdT1yW20rMV0sdVswXT09IicifHx1WzBdPT0nIicpe2Q9dS5yZXBsYWNlKC9bJyJdL2csIiIpO3ZhciB2PSIiLGc7aWYoZC5pbmRleE9mKCIuIikhPS0xKXt2YXIgdz1kLnNwbGl0KCIuIik7dj13WzBdLGc9d1sxXX1lbHNlIGRbMF09PSIjIj92PWQ6Zz1kO3MuYXR0cigiaWQiLHYuc3Vic3RyaW5nKDEpKS5hZGRDbGFzcyhnKSxtKyt9bi5hcHBlbmQocyksbj1zfWVsc2UgYT09Ij4iP249bi5wYXJlbnQoKTphPT0idCI/aT1NcyhlKTpnZS5leHQuZmVhdHVyZS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2E9PWIuY0ZlYXR1cmUmJihpPWIuZm5Jbml0KGUpKX0pO2kmJm4uYXBwZW5kKGkpfX1mdW5jdGlvbiBFcyhlLHQsbil7dmFyIHI9ZS5hb0NvbHVtbnMsaT1IKHQpLmNoaWxkcmVuKCJ0ciIpLGEscyx1LGQsbSx2LGcsdyxiLFQsRD1lLnRpdGxlUm93LGg9dCYmdC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09InRoZWFkIixsPVtdLHAsQz1mdW5jdGlvbihFLEosXyl7Zm9yKHZhciBTPUVbSl07U1tfXTspXysrO3JldHVybiBffTtmb3IodT0wLHY9aS5sZW5ndGg7dTx2O3UrKylsLnB1c2goW10pO2Zvcih1PTAsdj1pLmxlbmd0aDt1PHY7dSsrKWZvcihhPWlbdV0sdz0wLHM9YS5maXJzdENoaWxkO3M7KXtpZihzLm5vZGVOYW1lLnRvVXBwZXJDYXNlKCk9PSJURCJ8fHMubm9kZU5hbWUudG9VcHBlckNhc2UoKT09IlRIIil7dmFyIEY9W10sUD1IKHMpO2lmKGI9cy5nZXRBdHRyaWJ1dGUoImNvbHNwYW4iKSoxLFQ9cy5nZXRBdHRyaWJ1dGUoInJvd3NwYW4iKSoxLGI9IWJ8fGI9PT0wfHxiPT09MT8xOmIsVD0hVHx8VD09PTB8fFQ9PT0xPzE6VCxnPUMobCx1LHcpLHA9Yj09PTEsbil7aWYocCl7QmkoZSxnLHFzKFAuZGF0YSgpKSk7dmFyIGY9cltnXSxXPXMuZ2V0QXR0cmlidXRlKCJ3aWR0aCIpfHxudWxsLFo9cy5zdHlsZS53aWR0aC5tYXRjaCgvd2lkdGg6XHMqKFxkK1tweGVtJV0rKS8pO1omJihXPVpbMV0pLGYuc1dpZHRoT3JpZz1mLnNXaWR0aHx8VyxoPyhmLnNUaXRsZSE9PW51bGwmJiFmLmF1dG9UaXRsZSYmKEQ9PT0hMCYmdT09PTB8fEQ9PT0hMSYmdT09PWkubGVuZ3RoLTF8fEQ9PT11fHxEPT09bnVsbCkmJihzLmlubmVySFRNTD1mLnNUaXRsZSksIWYuc1RpdGxlJiZwJiYoZi5zVGl0bGU9b24ocy5pbm5lckhUTUwpLGYuYXV0b1RpdGxlPSEwKSk6Zi5mb290ZXImJihzLmlubmVySFRNTD1mLmZvb3RlciksZi5hcmlhVGl0bGV8fChmLmFyaWFUaXRsZT1QLmF0dHIoImFyaWEtbGFiZWwiKXx8Zi5zVGl0bGUpLGYuY2xhc3NOYW1lJiZQLmFkZENsYXNzKGYuY2xhc3NOYW1lKX1IKCJzcGFuLmR0LWNvbHVtbi10aXRsZSIscykubGVuZ3RoPT09MCYmSCgiPHNwYW4+IikuYWRkQ2xhc3MoImR0LWNvbHVtbi10aXRsZSIpLmFwcGVuZChzLmNoaWxkTm9kZXMpLmFwcGVuZFRvKHMpLGUub3JkZXJJbmRpY2F0b3JzJiZoJiZQLmZpbHRlcigiOm5vdChbZGF0YS1kdC1vcmRlcj1kaXNhYmxlXSkiKS5sZW5ndGghPT0wJiZQLnBhcmVudCgiOm5vdChbZGF0YS1kdC1vcmRlcj1kaXNhYmxlXSkiKS5sZW5ndGghPT0wJiZIKCJzcGFuLmR0LWNvbHVtbi1vcmRlciIscykubGVuZ3RoPT09MCYmSCgiPHNwYW4+IikuYWRkQ2xhc3MoImR0LWNvbHVtbi1vcmRlciIpLmFwcGVuZFRvKHMpO3ZhciBpZT1oPyJoZWFkZXIiOiJmb290ZXIiO0goInNwYW4uZHQtY29sdW1uLSIraWUscykubGVuZ3RoPT09MCYmSCgiPGRpdj4iKS5hZGRDbGFzcygiZHQtY29sdW1uLSIraWUpLmFwcGVuZChzLmNoaWxkTm9kZXMpLmFwcGVuZFRvKHMpfWZvcihtPTA7bTxiO20rKyl7Zm9yKGQ9MDtkPFQ7ZCsrKWxbdStkXVtnK21dPXtjZWxsOnMsdW5pcXVlOnB9LGxbdStkXS5yb3c9YTtGLnB1c2goZyttKX1zLnNldEF0dHJpYnV0ZSgiZGF0YS1kdC1jb2x1bW4iLFVuKEYpLmpvaW4oIiwiKSl9cz1zLm5leHRTaWJsaW5nfXJldHVybiBsfWZ1bmN0aW9uIGV1KGUpe3ZhciB0PU90KGUpPT0ic3NwIixuPWUuaUluaXREaXNwbGF5U3RhcnQ7biE9PXZvaWQgMCYmbiE9PS0xJiYoZS5faURpc3BsYXlTdGFydD10P246bj49ZS5mblJlY29yZHNEaXNwbGF5KCk/MDpuLGUuaUluaXREaXNwbGF5U3RhcnQ9LTEpfWZ1bmN0aW9uIFlpKGUsdCxuKXt2YXIgcixpPWUuYWpheCxhPWUub0luc3RhbmNlLHM9ZnVuY3Rpb24odil7dmFyIGc9ZS5qcVhIUj9lLmpxWEhSLnN0YXR1czpudWxsOyh2PT09bnVsbHx8dHlwZW9mIGc9PSJudW1iZXIiJiZnPT0yMDQpJiYodj17fSxkcihlLHYsW10pKTt2YXIgdz12LmVycm9yfHx2LnNFcnJvcjtpZih3JiZXdChlLDAsdyksdi5kJiZ0eXBlb2Ygdi5kPT0ic3RyaW5nIil0cnl7dj1KU09OLnBhcnNlKHYuZCl9Y2F0Y2h7fWUuanNvbj12LEtlKGUsbnVsbCwieGhyIixbZSx2LGUuanFYSFJdLCEwKSxuKHYpfTtpZihILmlzUGxhaW5PYmplY3QoaSkmJmkuZGF0YSl7cj1pLmRhdGE7dmFyIHU9dHlwZW9mIHI9PSJmdW5jdGlvbiI/cih0LGUpOnI7dD10eXBlb2Ygcj09ImZ1bmN0aW9uIiYmdT91OkguZXh0ZW5kKCEwLHQsdSksZGVsZXRlIGkuZGF0YX12YXIgZD17dXJsOnR5cGVvZiBpPT0ic3RyaW5nIj9pOiIiLGRhdGE6dCxzdWNjZXNzOnMsZGF0YVR5cGU6Impzb24iLGNhY2hlOiExLHR5cGU6ZS5zU2VydmVyTWV0aG9kLGVycm9yOmZ1bmN0aW9uKHYsZyl7dmFyIHc9S2UoZSxudWxsLCJ4aHIiLFtlLG51bGwsZS5qcVhIUl0sITApO3cuaW5kZXhPZighMCk9PT0tMSYmKGc9PSJwYXJzZXJlcnJvciI/V3QoZSwwLCJJbnZhbGlkIEpTT04gcmVzcG9uc2UiLDEpOnYucmVhZHlTdGF0ZT09PTQmJld0KGUsMCwiQWpheCBlcnJvciIsNykpLFB0KGUsITEpfX07aWYoSC5pc1BsYWluT2JqZWN0KGkpJiZILmV4dGVuZChkLGkpLGUub0FqYXhEYXRhPXQsS2UoZSxudWxsLCJwcmVYaHIiLFtlLHQsZF0sITApLGQuc3VibWl0QXM9PT0ianNvbiImJnR5cGVvZiB0PT0ib2JqZWN0IiYmKGQuZGF0YT1KU09OLnN0cmluZ2lmeSh0KSksdHlwZW9mIGk9PSJmdW5jdGlvbiIpZS5qcVhIUj1pLmNhbGwoYSx0LHMsZSk7ZWxzZSBpZihpLnVybD09PSIiKXt2YXIgbT17fTtkcihlLG0sW10pLHMobSl9ZWxzZSBlLmpxWEhSPUguYWpheChkKTtyJiYoaS5kYXRhPXIpfWZ1bmN0aW9uIHR1KGUpe2UuaURyYXcrKyxQdChlLCEwKSxZaShlLG51KGUpLGZ1bmN0aW9uKHQpe3J1KGUsdCl9KX1mdW5jdGlvbiBudShlKXt2YXIgdD1lLmFvQ29sdW1ucyxuPWUub0ZlYXR1cmVzLHI9ZS5vUHJldmlvdXNTZWFyY2gsaT1lLmFvUHJlU2VhcmNoQ29scyxhPWZ1bmN0aW9uKHMsdSl7cmV0dXJuIHR5cGVvZiB0W3NdW3VdPT0iZnVuY3Rpb24iPyJmdW5jdGlvbiI6dFtzXVt1XX07cmV0dXJue2RyYXc6ZS5pRHJhdyxjb2x1bW5zOnQubWFwKGZ1bmN0aW9uKHMsdSl7cmV0dXJue2RhdGE6YSh1LCJtRGF0YSIpLG5hbWU6cy5zTmFtZSxzZWFyY2hhYmxlOnMuYlNlYXJjaGFibGUsb3JkZXJhYmxlOnMuYlNvcnRhYmxlLHNlYXJjaDp7dmFsdWU6aVt1XS5zZWFyY2gscmVnZXg6aVt1XS5yZWdleCxmaXhlZDpPYmplY3Qua2V5cyhzLnNlYXJjaEZpeGVkKS5tYXAoZnVuY3Rpb24oZCl7cmV0dXJue25hbWU6ZCx0ZXJtOnMuc2VhcmNoRml4ZWRbZF0udG9TdHJpbmcoKX19KX19fSksb3JkZXI6WXIoZSkubWFwKGZ1bmN0aW9uKHMpe3JldHVybntjb2x1bW46cy5jb2wsZGlyOnMuZGlyLG5hbWU6YShzLmNvbCwic05hbWUiKX19KSxzdGFydDplLl9pRGlzcGxheVN0YXJ0LGxlbmd0aDpuLmJQYWdpbmF0ZT9lLl9pRGlzcGxheUxlbmd0aDotMSxzZWFyY2g6e3ZhbHVlOnIuc2VhcmNoLHJlZ2V4OnIucmVnZXgsZml4ZWQ6T2JqZWN0LmtleXMoZS5zZWFyY2hGaXhlZCkubWFwKGZ1bmN0aW9uKHMpe3JldHVybntuYW1lOnMsdGVybTplLnNlYXJjaEZpeGVkW3NdLnRvU3RyaW5nKCl9fSl9fX1mdW5jdGlvbiBydShlLHQpe3ZhciBuPWRyKGUsdCkscj1MaShlLCJkcmF3Iix0KSxpPUxpKGUsInJlY29yZHNUb3RhbCIsdCksYT1MaShlLCJyZWNvcmRzRmlsdGVyZWQiLHQpO2lmKHIhPT12b2lkIDApe2lmKHIqMTxlLmlEcmF3KXJldHVybjtlLmlEcmF3PXIqMX1ufHwobj1bXSksWGkoZSksZS5faVJlY29yZHNUb3RhbD1wYXJzZUludChpLDEwKSxlLl9pUmVjb3Jkc0Rpc3BsYXk9cGFyc2VJbnQoYSwxMCk7Zm9yKHZhciBzPTAsdT1uLmxlbmd0aDtzPHU7cysrKWtuKGUsbltzXSk7ZS5haURpc3BsYXk9ZS5haURpc3BsYXlNYXN0ZXIuc2xpY2UoKSxYcihlKSxxbihlLCEwKSx6cihlKSxQdChlLCExKX1mdW5jdGlvbiBkcihlLHQsbil7dmFyIHI9ImRhdGEiO2lmKEguaXNQbGFpbk9iamVjdChlLmFqYXgpJiZlLmFqYXguZGF0YVNyYyE9PXZvaWQgMCl7dmFyIGk9ZS5hamF4LmRhdGFTcmM7dHlwZW9mIGk9PSJzdHJpbmcifHx0eXBlb2YgaT09ImZ1bmN0aW9uIj9yPWk6aS5kYXRhIT09dm9pZCAwJiYocj1pLmRhdGEpfWlmKCFuKXJldHVybiByPT09ImRhdGEiP3QuYWFEYXRhfHx0W3JdOnIhPT0iIj96bihyKSh0KTp0O1NuKHIpKHQsbil9ZnVuY3Rpb24gTGkoZSx0LG4pe3ZhciByPUguaXNQbGFpbk9iamVjdChlLmFqYXgpP2UuYWpheC5kYXRhU3JjOm51bGw7aWYociYmclt0XSlyZXR1cm4gem4oclt0XSkobik7dmFyIGk9IiI7cmV0dXJuIHQ9PT0iZHJhdyI/aT0ic0VjaG8iOnQ9PT0icmVjb3Jkc1RvdGFsIj9pPSJpVG90YWxSZWNvcmRzIjp0PT09InJlY29yZHNGaWx0ZXJlZCImJihpPSJpVG90YWxEaXNwbGF5UmVjb3JkcyIpLG5baV0hPT12b2lkIDA/bltpXTpuW3RdfWZ1bmN0aW9uIGZyKGUsdCl7dmFyIG49ZS5hb1ByZVNlYXJjaENvbHM7aWYoT3QoZSkhPSJzc3AiKXtvdShlKSxlLmFpRGlzcGxheT1lLmFpRGlzcGxheU1hc3Rlci5zbGljZSgpLE9yKGUuYWlEaXNwbGF5LGUsdC5zZWFyY2gsdCksSC5lYWNoKGUuc2VhcmNoRml4ZWQsZnVuY3Rpb24oYSxzKXtPcihlLmFpRGlzcGxheSxlLHMse30pfSk7Zm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspe3ZhciBpPW5bcl07T3IoZS5haURpc3BsYXksZSxpLnNlYXJjaCxpLHIpLEguZWFjaChlLmFvQ29sdW1uc1tyXS5zZWFyY2hGaXhlZCxmdW5jdGlvbihhLHMpe09yKGUuYWlEaXNwbGF5LGUscyx7fSxyKX0pfWl1KGUpfWUuYkZpbHRlcmVkPSEwLEtlKGUsbnVsbCwic2VhcmNoIixbZV0pfWZ1bmN0aW9uIGl1KGUpe2Zvcih2YXIgdD1nZS5leHQuc2VhcmNoLG49ZS5haURpc3BsYXkscixpLGE9MCxzPXQubGVuZ3RoO2E8czthKyspe2Zvcih2YXIgdT1bXSxkPTAsbT1uLmxlbmd0aDtkPG07ZCsrKWk9bltkXSxyPWUuYW9EYXRhW2ldLHRbYV0oZSxyLl9hRmlsdGVyRGF0YSxpLHIuX2FEYXRhLGQpJiZ1LnB1c2goaSk7bi5sZW5ndGg9MCxKcihuLHUpfX1mdW5jdGlvbiBPcihlLHQsbixyLGkpe2lmKG4hPT0iIil7dmFyIGE9MCxzPVtdLHU9dHlwZW9mIG49PSJmdW5jdGlvbiI/bjpudWxsLGQ9biBpbnN0YW5jZW9mIFJlZ0V4cD9uOnU/bnVsbDphdShuLHIpO2ZvcihhPTA7YTxlLmxlbmd0aDthKyspe3ZhciBtPXQuYW9EYXRhW2VbYV1dLHY9aT09PXZvaWQgMD9tLl9zRmlsdGVyUm93Om0uX2FGaWx0ZXJEYXRhW2ldOyh1JiZ1KHYsbS5fYURhdGEsZVthXSxpKXx8ZCYmZC50ZXN0KHYpKSYmcy5wdXNoKGVbYV0pfWZvcihlLmxlbmd0aD1zLmxlbmd0aCxhPTA7YTxzLmxlbmd0aDthKyspZVthXT1zW2FdfX1mdW5jdGlvbiBhdShlLHQpe3ZhciBuPVtdLHI9SC5leHRlbmQoe30se2JvdW5kYXJ5OiExLGNhc2VJbnNlbnNpdGl2ZTohMCxleGFjdDohMSxyZWdleDohMSxzbWFydDohMH0sdCk7aWYodHlwZW9mIGUhPSJzdHJpbmciJiYoZT1lLnRvU3RyaW5nKCkpLGU9anIoZSksci5leGFjdClyZXR1cm4gbmV3IFJlZ0V4cCgiXiIrTWkoZSkrIiQiLHIuY2FzZUluc2Vuc2l0aXZlPyJpIjoiIik7aWYoZT1yLnJlZ2V4P2U6TWkoZSksci5zbWFydCl7dmFyIGk9ZS5tYXRjaCgvIT9bIlx1MjAxQ11bXiJcdTIwMURdK1siXHUyMDFEXXxbXiBdKy9nKXx8WyIiXSxhPWkubWFwKGZ1bmN0aW9uKGQpe3ZhciBtPSExLHY7cmV0dXJuIGQuY2hhckF0KDApPT09IiEiJiYobT0hMCxkPWQuc3Vic3RyaW5nKDEpKSxkLmNoYXJBdCgwKT09PSciJz8odj1kLm1hdGNoKC9eIiguKikiJC8pLGQ9dj92WzFdOmQpOmQuY2hhckF0KDApPT09Ilx1MjAxQyImJih2PWQubWF0Y2goL15cdTIwMUMoLiopXHUyMDFEJC8pLGQ9dj92WzFdOmQpLG0mJihkLmxlbmd0aD4xJiZuLnB1c2goIig/ISIrZCsiKSIpLGQ9IiIpLGQucmVwbGFjZSgvIi9nLCIiKX0pLHM9bi5sZW5ndGg/bi5qb2luKCIiKToiIix1PXIuYm91bmRhcnk/IlxcYiI6IiI7ZT0iXig/PS4qPyIrdSthLmpvaW4oIikoPz0uKj8iK3UpKyIpKCIrcysiLikqJCJ9cmV0dXJuIG5ldyBSZWdFeHAoZSxyLmNhc2VJbnNlbnNpdGl2ZT8iaSI6IiIpfXZhciBNaT1nZS51dGlsLmVzY2FwZVJlZ2V4LEJyPUgoIjxkaXY+IilbMF0sc3U9QnIudGV4dENvbnRlbnQhPT12b2lkIDA7ZnVuY3Rpb24gb3UoZSl7Zm9yKHZhciB0PWUuYW9Db2x1bW5zLG49ZS5hb0RhdGEscixpLGEscyx1LGQsbT0hMSx2PTA7djxuLmxlbmd0aDt2KyspaWYoblt2XSYmKGQ9blt2XSwhZC5fYUZpbHRlckRhdGEpKXtmb3Iocz1bXSxpPTAsYT10Lmxlbmd0aDtpPGE7aSsrKXI9dFtpXSxyLmJTZWFyY2hhYmxlPyh1PVV0KGUsdixpLCJmaWx0ZXIiKSx1PT09bnVsbCYmKHU9IiIpLHR5cGVvZiB1IT0ic3RyaW5nIiYmdS50b1N0cmluZyYmKHU9dS50b1N0cmluZygpKSk6dT0iIix1LmluZGV4T2YmJnUuaW5kZXhPZigiJiIpIT09LTEmJihCci5pbm5lckhUTUw9dSx1PXN1P0JyLnRleHRDb250ZW50OkJyLmlubmVyVGV4dCksdS5yZXBsYWNlJiYodT11LnJlcGxhY2UoL1tcclxuXHUyMDI4XS9nLCIiKSkscy5wdXNoKHUpO2QuX2FGaWx0ZXJEYXRhPXMsZC5fc0ZpbHRlclJvdz1zLmpvaW4oIiAgIiksbT0hMH1yZXR1cm4gbX1mdW5jdGlvbiBScihlKXt2YXIgdCxuPWUub0luaXQscj1lLmRlZmVyTG9hZGluZyxpPU90KGUpO2lmKCFlLmJJbml0aWFsaXNlZCl7c2V0VGltZW91dChmdW5jdGlvbigpe1JyKGUpfSwyMDApO3JldHVybn1jcyhlLCJoZWFkZXIiKSxjcyhlLCJmb290ZXIiKSxwdShlLG4sZnVuY3Rpb24oKXtIcihlLGUuYW9IZWFkZXIpLEhyKGUsZS5hb0Zvb3Rlcik7dmFyIGE9ZS5pSW5pdERpc3BsYXlTdGFydDtpZihuLmFhRGF0YSlmb3IodD0wO3Q8bi5hYURhdGEubGVuZ3RoO3QrKylrbihlLG4uYWFEYXRhW3RdKTtlbHNlKHJ8fGk9PSJkb20iKSYmJGkoZSxIKGUublRCb2R5KS5jaGlsZHJlbigidHIiKSk7ZS5haURpc3BsYXk9ZS5haURpc3BsYXlNYXN0ZXIuc2xpY2UoKSxKbChlKSxkdShlKSxWcyhlKSxQdChlLCEwKSxLZShlLG51bGwsInByZUluaXQiLFtlXSwhMCksV24oZSksKGkhPSJzc3AifHxyKSYmKGk9PSJhamF4Ij9ZaShlLHt9LGZ1bmN0aW9uKHMpe3ZhciB1PWRyKGUscyk7Zm9yKHQ9MDt0PHUubGVuZ3RoO3QrKylrbihlLHVbdF0pO2UuaUluaXREaXNwbGF5U3RhcnQ9YSxXbihlKSxQdChlLCExKSx6cihlKX0sZSk6KHpyKGUpLFB0KGUsITEpKSl9KX1mdW5jdGlvbiB6cihlKXtpZighZS5fYkluaXRDb21wbGV0ZSl7dmFyIHQ9W2UsZS5qc29uXTtlLl9iSW5pdENvbXBsZXRlPSEwLEdyKGUpLEtlKGUsbnVsbCwicGx1Z2luLWluaXQiLHQsITApLEtlKGUsImFvSW5pdENvbXBsZXRlIiwiaW5pdCIsdCwhMCl9fWZ1bmN0aW9uIEJzKGUsdCl7dmFyIG49cGFyc2VJbnQodCwxMCk7ZS5faURpc3BsYXlMZW5ndGg9bixVcyhlKSxLZShlLG51bGwsImxlbmd0aCIsW2Usbl0pfWZ1bmN0aW9uIEtpKGUsdCxuKXt2YXIgcj1lLl9pRGlzcGxheVN0YXJ0LGk9ZS5faURpc3BsYXlMZW5ndGgsYT1lLmZuUmVjb3Jkc0Rpc3BsYXkoKTtpZihhPT09MHx8aT09PS0xKXI9MDtlbHNlIGlmKHR5cGVvZiB0PT0ibnVtYmVyIilyPXQqaSxyPmEmJihyPTApO2Vsc2UgaWYodD09ImZpcnN0IilyPTA7ZWxzZSBpZih0PT0icHJldmlvdXMiKXI9aT49MD9yLWk6MCxyPDAmJihyPTApO2Vsc2UgaWYodD09Im5leHQiKXIraTxhJiYocis9aSk7ZWxzZSBpZih0PT0ibGFzdCIpcj1NYXRoLmZsb29yKChhLTEpL2kpKmk7ZWxzZXtpZih0PT09ImVsbGlwc2lzIilyZXR1cm47V3QoZSwwLCJVbmtub3duIHBhZ2luZyBhY3Rpb246ICIrdCw1KX12YXIgcz1lLl9pRGlzcGxheVN0YXJ0IT09cjtyZXR1cm4gZS5faURpc3BsYXlTdGFydD1yLEtlKGUsbnVsbCxzPyJwYWdlIjoicGFnZS1uYyIsW2VdKSxzJiZuJiZxbihlKSxzfWZ1bmN0aW9uIGx1KGUpe3ZhciB0PWUublRhYmxlLG49ZS5vU2Nyb2xsLnNYIT09IiJ8fGUub1Njcm9sbC5zWSE9PSIiO2lmKGUub0ZlYXR1cmVzLmJQcm9jZXNzaW5nKXt2YXIgcj1IKCI8ZGl2Lz4iLHtpZDplLnNUYWJsZUlkKyJfcHJvY2Vzc2luZyIsY2xhc3M6ZS5vQ2xhc3Nlcy5wcm9jZXNzaW5nLmNvbnRhaW5lcixyb2xlOiJzdGF0dXMifSkuaHRtbChlLm9MYW5ndWFnZS5zUHJvY2Vzc2luZykuYXBwZW5kKCI8ZGl2PjxkaXY+PC9kaXY+PGRpdj48L2Rpdj48ZGl2PjwvZGl2PjxkaXY+PC9kaXY+PC9kaXY+Iik7bj9yLnByZXBlbmRUbyhIKCJkaXYuZHQtc2Nyb2xsIixlLm5UYWJsZVdyYXBwZXIpKTpyLmluc2VydEJlZm9yZSh0KSxIKHQpLm9uKCJwcm9jZXNzaW5nLmR0LkRUIixmdW5jdGlvbihpLGEscyl7ci5jc3MoImRpc3BsYXkiLHM/ImJsb2NrIjoibm9uZSIpfSl9fWZ1bmN0aW9uIFB0KGUsdCl7ZS5iRHJhd2luZyYmdD09PSExfHxLZShlLG51bGwsInByb2Nlc3NpbmciLFtlLHRdKX1mdW5jdGlvbiBScyhlLHQsbil7dD8oUHQoZSwhMCksc2V0VGltZW91dChmdW5jdGlvbigpe24oKSxQdChlLCExKX0sMCkpOm4oKX1mdW5jdGlvbiBNcyhlKXt2YXIgdD1IKGUublRhYmxlKSxuPWUub1Njcm9sbDtpZihuLnNYPT09IiImJm4uc1k9PT0iIilyZXR1cm4gZS5uVGFibGU7dmFyIHI9bi5zWCxpPW4uc1ksYT1lLm9DbGFzc2VzLnNjcm9sbGluZyxzPWUuY2FwdGlvbk5vZGUsdT1zP3MuX2NhcHRpb25TaWRlOm51bGwsZD1IKHRbMF0uY2xvbmVOb2RlKCExKSksbT1IKHRbMF0uY2xvbmVOb2RlKCExKSksdj10LmNoaWxkcmVuKCJ0Zm9vdCIpLGc9IjxkaXYvPiIsdz1mdW5jdGlvbihwKXtyZXR1cm4gcD9tbihwKTpudWxsfTt2Lmxlbmd0aHx8KHY9bnVsbCk7dmFyIGI9SChnLHtjbGFzczphLmNvbnRhaW5lcn0pLmFwcGVuZChIKGcse2NsYXNzOmEuaGVhZGVyLnNlbGZ9KS5jc3Moe292ZXJmbG93OiJoaWRkZW4iLHBvc2l0aW9uOiJyZWxhdGl2ZSIsYm9yZGVyOjAsd2lkdGg6cj93KHIpOiIxMDAlIn0pLmFwcGVuZChIKGcse2NsYXNzOmEuaGVhZGVyLmlubmVyfSkuY3NzKHsiYm94LXNpemluZyI6ImNvbnRlbnQtYm94Iix3aWR0aDpuLnNYSW5uZXJ8fCIxMDAlIn0pLmFwcGVuZChkLnJlbW92ZUF0dHIoImlkIikuY3NzKCJtYXJnaW4tbGVmdCIsMCkuYXBwZW5kKHU9PT0idG9wIj9zOm51bGwpLmFwcGVuZCh0LmNoaWxkcmVuKCJ0aGVhZCIpKSkpKS5hcHBlbmQoSChnLHtjbGFzczphLmJvZHl9KS5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsb3ZlcmZsb3c6ImF1dG8iLHdpZHRoOncocil9KS5hcHBlbmQodCkpO3YmJmIuYXBwZW5kKEgoZyx7Y2xhc3M6YS5mb290ZXIuc2VsZn0pLmNzcyh7b3ZlcmZsb3c6ImhpZGRlbiIsYm9yZGVyOjAsd2lkdGg6cj93KHIpOiIxMDAlIn0pLmFwcGVuZChIKGcse2NsYXNzOmEuZm9vdGVyLmlubmVyfSkuYXBwZW5kKG0ucmVtb3ZlQXR0cigiaWQiKS5jc3MoIm1hcmdpbi1sZWZ0IiwwKS5hcHBlbmQodT09PSJib3R0b20iP3M6bnVsbCkuYXBwZW5kKHQuY2hpbGRyZW4oInRmb290IikpKSkpO3ZhciBUPWIuY2hpbGRyZW4oKSxEPVRbMF0saD1UWzFdLGw9dj9UWzJdOm51bGw7cmV0dXJuIEgoaCkub24oInNjcm9sbC5EVCIsZnVuY3Rpb24oKXt2YXIgcD10aGlzLnNjcm9sbExlZnQ7RC5zY3JvbGxMZWZ0PXAsdiYmKGwuc2Nyb2xsTGVmdD1wKX0pLEgoInRoLCB0ZCIsRCkub24oImZvY3VzIixmdW5jdGlvbigpe3ZhciBwPUQuc2Nyb2xsTGVmdDtoLnNjcm9sbExlZnQ9cCx2JiYoaC5zY3JvbGxMZWZ0PXApfSksSChoKS5jc3MoIm1heC1oZWlnaHQiLGkpLG4uYkNvbGxhcHNlfHxIKGgpLmNzcygiaGVpZ2h0IixpKSxlLm5TY3JvbGxIZWFkPUQsZS5uU2Nyb2xsQm9keT1oLGUublNjcm9sbEZvb3Q9bCxlLmFvRHJhd0NhbGxiYWNrLnB1c2goanMpLGJbMF19ZnVuY3Rpb24ganMoZSl7dmFyIHQ9ZS5vU2Nyb2xsLG49dC5pQmFyV2lkdGgscj1IKGUublNjcm9sbEhlYWQpLGk9ci5jaGlsZHJlbigiZGl2IiksYT1pLmNoaWxkcmVuKCJ0YWJsZSIpLHM9ZS5uU2Nyb2xsQm9keSx1PUgocyksZD1IKGUublNjcm9sbEZvb3QpLG09ZC5jaGlsZHJlbigiZGl2Iiksdj1tLmNoaWxkcmVuKCJ0YWJsZSIpLGc9SChlLm5USGVhZCksdz1IKGUublRhYmxlKSxiPWUublRGb290JiZIKCJ0aCwgdGQiLGUublRGb290KS5sZW5ndGg/SChlLm5URm9vdCk6bnVsbCxUPWUub0Jyb3dzZXIsRCxoLGw9cy5zY3JvbGxIZWlnaHQ+cy5jbGllbnRIZWlnaHQ7aWYoZS5zY3JvbGxCYXJWaXMhPT1sJiZlLnNjcm9sbEJhclZpcyE9PXZvaWQgMCl7ZS5zY3JvbGxCYXJWaXM9bCxHcihlKTtyZXR1cm59ZWxzZSBlLnNjcm9sbEJhclZpcz1sO2lmKHcuY2hpbGRyZW4oInRoZWFkLCB0Zm9vdCIpLnJlbW92ZSgpLEQ9Zy5jbG9uZSgpLnByZXBlbmRUbyh3KSxELmZpbmQoInRoLCB0ZCIpLnJlbW92ZUF0dHIoInRhYmluZGV4IiksRC5maW5kKCJbaWRdIikucmVtb3ZlQXR0cigiaWQiKSxiJiYoaD1iLmNsb25lKCkucHJlcGVuZFRvKHcpLGguZmluZCgiW2lkXSIpLnJlbW92ZUF0dHIoImlkIikpLGUuYWlEaXNwbGF5Lmxlbmd0aCl7dmFyIHA9bnVsbCxDPU90KGUpIT09InNzcCI/ZS5faURpc3BsYXlTdGFydDowO2ZvcihXPUM7VzxDK2UuYWlEaXNwbGF5Lmxlbmd0aDtXKyspe3ZhciBGPWUuYWlEaXNwbGF5W1ddLFA9ZS5hb0RhdGFbRl0ublRyO2lmKFApe3A9UDticmVha319aWYocClmb3IodmFyIGY9SChwKS5jaGlsZHJlbigidGgsIHRkIikubWFwKGZ1bmN0aW9uKFMpe3JldHVybntpZHg6VWkoZSxTKSx3aWR0aDpIKHRoaXMpLm91dGVyV2lkdGgoKX19KSxXPTA7VzxmLmxlbmd0aDtXKyspe3ZhciBaPWUuYW9Db2x1bW5zW2ZbV10uaWR4XS5jb2xFbFswXSxpZT1aLnN0eWxlLndpZHRoLnJlcGxhY2UoInB4IiwiIik7aWUhPT1mW1ddLndpZHRoJiYoWi5zdHlsZS53aWR0aD1mW1ddLndpZHRoKyJweCIsdC5zWCYmKFouc3R5bGUubWluV2lkdGg9ZltXXS53aWR0aCsicHgiKSl9fWEuZmluZCgiY29sZ3JvdXAiKS5yZW1vdmUoKSxhLmFwcGVuZChlLmNvbGdyb3VwLmNsb25lKCkpLGImJih2LmZpbmQoImNvbGdyb3VwIikucmVtb3ZlKCksdi5hcHBlbmQoZS5jb2xncm91cC5jbG9uZSgpKSksSCgidGgsIHRkIixEKS5lYWNoKGZ1bmN0aW9uKCl7SCh0aGlzLmNoaWxkTm9kZXMpLndyYXBBbGwoJzxkaXYgY2xhc3M9ImR0LXNjcm9sbC1zaXppbmciPicpfSksYiYmSCgidGgsIHRkIixoKS5lYWNoKGZ1bmN0aW9uKCl7SCh0aGlzLmNoaWxkTm9kZXMpLndyYXBBbGwoJzxkaXYgY2xhc3M9ImR0LXNjcm9sbC1zaXppbmciPicpfSk7dmFyIEU9TWF0aC5mbG9vcih3LmhlaWdodCgpKT5zLmNsaWVudEhlaWdodHx8dS5jc3MoIm92ZXJmbG93LXkiKT09InNjcm9sbCIsSj0icGFkZGluZyIrKFQuYlNjcm9sbGJhckxlZnQ/IkxlZnQiOiJSaWdodCIpLF89dy5vdXRlcldpZHRoKCk7YS5jc3MoIndpZHRoIixtbihfKSksaS5jc3MoIndpZHRoIixtbihfKSkuY3NzKEosRT9uKyJweCI6IjBweCIpLGImJih2LmNzcygid2lkdGgiLG1uKF8pKSxtLmNzcygid2lkdGgiLG1uKF8pKS5jc3MoSixFP24rInB4IjoiMHB4IikpLHcuY2hpbGRyZW4oImNvbGdyb3VwIikucHJlcGVuZFRvKHcpLHUudHJpZ2dlcigic2Nyb2xsIiksKGUuYlNvcnRlZHx8ZS5iRmlsdGVyZWQpJiYhZS5fZHJhd0hvbGQmJihzLnNjcm9sbFRvcD0wKX1mdW5jdGlvbiB1dShlKXtpZihlLm9GZWF0dXJlcy5iQXV0b1dpZHRoKXt2YXIgdD1lLm5UYWJsZSxuPWUuYW9Db2x1bW5zLHI9ZS5vU2Nyb2xsLGk9ci5zWSxhPXIuc1gscz1yLnNYSW5uZXIsdT1xaShlLCJiVmlzaWJsZSIpLGQ9dC5nZXRBdHRyaWJ1dGUoIndpZHRoIiksbT10LnBhcmVudE5vZGUsdixnLHcsYj10LnN0eWxlLndpZHRoLFQ9aHMoZSk7aWYoVD09PWUuY29udGFpbmVyV2lkdGgpcmV0dXJuITE7ZS5jb250YWluZXJXaWR0aD1ULCFiJiYhZCYmKHQuc3R5bGUud2lkdGg9IjEwMCUiLGI9IjEwMCUiKSxiJiZiLmluZGV4T2YoIiUiKSE9PS0xJiYoZD1iKSxLZShlLG51bGwsImNvbHVtbi1jYWxjIix7dmlzaWJsZTp1fSwhMSk7dmFyIEQ9SCh0LmNsb25lTm9kZSgpKS5jc3MoInZpc2liaWxpdHkiLCJoaWRkZW4iKS5yZW1vdmVBdHRyKCJpZCIpO0QuYXBwZW5kKCI8dGJvZHkvPiIpO3ZhciBoPUgoIjx0ci8+IikuYXBwZW5kVG8oRC5maW5kKCJ0Ym9keSIpKTtmb3IoRC5hcHBlbmQoSChlLm5USGVhZCkuY2xvbmUoKSkuYXBwZW5kKEgoZS5uVEZvb3QpLmNsb25lKCkpLEQuZmluZCgidGZvb3QgdGgsIHRmb290IHRkIikuY3NzKCJ3aWR0aCIsIiIpLEQuZmluZCgidGhlYWQgdGgsIHRoZWFkIHRkIikuZWFjaChmdW5jdGlvbigpe3ZhciBfPU5zKGUsdGhpcywhMCwhMSk7Xz8odGhpcy5zdHlsZS53aWR0aD1fLGEmJih0aGlzLnN0eWxlLm1pbldpZHRoPV8sSCh0aGlzKS5hcHBlbmQoSCgiPGRpdi8+IikuY3NzKHt3aWR0aDpfLG1hcmdpbjowLHBhZGRpbmc6MCxib3JkZXI6MCxoZWlnaHQ6MX0pKSkpOnRoaXMuc3R5bGUud2lkdGg9IiJ9KSx2PTA7djx1Lmxlbmd0aDt2Kyspe3c9dVt2XSxnPW5bd107dmFyIGw9Y3UoZSx3KSxwPWZ0LnR5cGUuY2xhc3NOYW1lW2cuc1R5cGVdLEM9bCtnLnNDb250ZW50UGFkZGluZyxGPWwuaW5kZXhPZigiPCIpPT09LTE/ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoQyk6QztIKCI8dGQvPiIpLmFkZENsYXNzKHApLmFkZENsYXNzKGcuc0NsYXNzKS5hcHBlbmQoRikuYXBwZW5kVG8oaCl9SCgiW25hbWVdIixEKS5yZW1vdmVBdHRyKCJuYW1lIik7dmFyIFA9SCgiPGRpdi8+IikuY3NzKGF8fGk/e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOjAsbGVmdDowLGhlaWdodDoxLHJpZ2h0OjAsb3ZlcmZsb3c6ImhpZGRlbiJ9Ont9KS5hcHBlbmQoRCkuYXBwZW5kVG8obSk7YSYmcz9ELndpZHRoKHMpOmE/KEQuY3NzKCJ3aWR0aCIsImF1dG8iKSxELnJlbW92ZUF0dHIoIndpZHRoIiksRC5vdXRlcldpZHRoKCk8bS5jbGllbnRXaWR0aCYmZCYmRC5vdXRlcldpZHRoKG0uY2xpZW50V2lkdGgpKTppP0Qub3V0ZXJXaWR0aChtLmNsaWVudFdpZHRoKTpkJiZELm91dGVyV2lkdGgoZCk7dmFyIGY9MCxXPUQuZmluZCgidGJvZHkgdHIiKS5lcSgwKS5jaGlsZHJlbigpO2Zvcih2PTA7djx1Lmxlbmd0aDt2Kyspe3ZhciBaPVdbdl0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7Zis9WixuW3Vbdl1dLnNXaWR0aD1tbihaKX1pZih0LnN0eWxlLndpZHRoPW1uKGYpLFAucmVtb3ZlKCksZCYmKHQuc3R5bGUud2lkdGg9bW4oZCkpLChkfHxhKSYmIWUuX3Jlc3pFdnQpe3ZhciBpZT1nZS51dGlsLnRocm90dGxlKGZ1bmN0aW9uKCl7dmFyIF89aHMoZSk7IWUuYkRlc3Ryb3lpbmcmJl8hPT0wJiZHcihlKX0pO2lmKHdpbmRvdy5SZXNpemVPYnNlcnZlcil7dmFyIEU9SChlLm5UYWJsZVdyYXBwZXIpLmlzKCI6dmlzaWJsZSIpLEo9SCgiPGRpdj4iKS5jc3Moe3dpZHRoOiIxMDAlIixoZWlnaHQ6MH0pLmFkZENsYXNzKCJkdC1hdXRvc2l6ZSIpLmFwcGVuZFRvKGUublRhYmxlV3JhcHBlcik7ZS5yZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIoZnVuY3Rpb24oXyl7RT9FPSExOmllKCl9KSxlLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUoSlswXSl9ZWxzZSBIKHdpbmRvdykub24oInJlc2l6ZS5EVC0iK2Uuc0luc3RhbmNlLGllKTtlLl9yZXN6RXZ0PSEwfX19ZnVuY3Rpb24gaHMoZSl7cmV0dXJuIEgoZS5uVGFibGVXcmFwcGVyKS5pcygiOnZpc2libGUiKT9IKGUublRhYmxlV3JhcHBlcikud2lkdGgoKTowfWZ1bmN0aW9uIGN1KGUsdCl7dmFyIG49ZS5hb0NvbHVtbnNbdF07aWYoIW4ubWF4TGVuU3RyaW5nKXtmb3IodmFyIHIsaT0iIixhPS0xLHM9MCx1PWUuYWlEaXNwbGF5TWFzdGVyLmxlbmd0aDtzPHU7cysrKXt2YXIgZD1lLmFpRGlzcGxheU1hc3RlcltzXSxtPVppKGUsZClbdF0sdj1tJiZ0eXBlb2YgbT09Im9iamVjdCImJm0ubm9kZVR5cGU/bS5pbm5lckhUTUw6bSsiIjt2PXYucmVwbGFjZSgvaWQ9Ii4qPyIvZywiIikucmVwbGFjZSgvbmFtZT0iLio/Ii9nLCIiKSxyPW9uKHYpLnJlcGxhY2UoLyZuYnNwOy9nLCIgIiksci5sZW5ndGg+YSYmKGk9dixhPXIubGVuZ3RoKX1uLm1heExlblN0cmluZz1pfXJldHVybiBuLm1heExlblN0cmluZ31mdW5jdGlvbiBtbihlKXtyZXR1cm4gZT09PW51bGw/IjBweCI6dHlwZW9mIGU9PSJudW1iZXIiP2U8MD8iMHB4IjplKyJweCI6ZS5tYXRjaCgvXGQkLyk/ZSsicHgiOmV9ZnVuY3Rpb24gVnMoZSl7dmFyIHQ9ZS5hb0NvbHVtbnM7Zm9yKGUuY29sZ3JvdXAuZW1wdHkoKSx1dD0wO3V0PHQubGVuZ3RoO3V0KyspdFt1dF0uYlZpc2libGUmJmUuY29sZ3JvdXAuYXBwZW5kKHRbdXRdLmNvbEVsKX1mdW5jdGlvbiBkdShlKXt2YXIgdD1lLm5USGVhZCxuPXQucXVlcnlTZWxlY3RvckFsbCgidHIiKSxyPWUudGl0bGVSb3csaT0nOm5vdChbZGF0YS1kdC1vcmRlcj0iZGlzYWJsZSJdKTpub3QoW2RhdGEtZHQtb3JkZXI9Imljb24tb25seSJdKSc7cj09PSEwP3Q9blswXTpyPT09ITE/dD1uW24ubGVuZ3RoLTFdOnIhPT1udWxsJiYodD1uW3JdKSxlLm9yZGVySGFuZGxlciYmSHMoZSx0LHQ9PT1lLm5USGVhZD8idHIiK2krIiB0aCIraSsiLCB0ciIraSsiIHRkIitpOiJ0aCIraSsiLCB0ZCIraSk7dmFyIGE9W107VG4oZSxhLGUuYWFTb3J0aW5nKSxlLmFhU29ydGluZz1hfWZ1bmN0aW9uIEhzKGUsdCxuLHIsaSl7V3ModCxuLGZ1bmN0aW9uKGEpe3ZhciBzPSExLHU9cj09PXZvaWQgMD9HaShhLnRhcmdldCk6dHlwZW9mIHI9PSJmdW5jdGlvbiI/cigpOkFycmF5LmlzQXJyYXkocik/cjpbcl07aWYodS5sZW5ndGgpe2Zvcih2YXIgZD0wLG09dS5sZW5ndGg7ZDxtO2QrKyl7dmFyIHY9ZnUoZSx1W2RdLGQsYS5zaGlmdEtleSk7aWYodiE9PSExJiYocz0hMCksZS5hYVNvcnRpbmcubGVuZ3RoPT09MSYmZS5hYVNvcnRpbmdbMF1bMV09PT0iIilicmVha31zJiZScyhlLCEwLGZ1bmN0aW9uKCl7SmkoZSksenMoZSxlLmFpRGlzcGxheSksV24oZSwhMSwhMSksaSYmaSgpfSl9fSl9ZnVuY3Rpb24genMoZSx0KXtpZighKHQubGVuZ3RoPDIpKXt2YXIgbj1lLmFpRGlzcGxheU1hc3RlcixyPXt9LGk9e30sYTtmb3IoYT0wO2E8bi5sZW5ndGg7YSsrKXJbblthXV09YTtmb3IoYT0wO2E8dC5sZW5ndGg7YSsrKWlbdFthXV09clt0W2FdXTt0LnNvcnQoZnVuY3Rpb24ocyx1KXtyZXR1cm4gaVtzXS1pW3VdfSl9fWZ1bmN0aW9uIFRuKGUsdCxuKXt2YXIgcj1mdW5jdGlvbihhKXtpZihILmlzUGxhaW5PYmplY3QoYSkpe2lmKGEuaWR4IT09dm9pZCAwKXQucHVzaChbYS5pZHgsYS5kaXJdKTtlbHNlIGlmKGEubmFtZSl7dmFyIHM9eXQoZS5hb0NvbHVtbnMsInNOYW1lIiksdT1zLmluZGV4T2YoYS5uYW1lKTt1IT09LTEmJnQucHVzaChbdSxhLmRpcl0pfX1lbHNlIHQucHVzaChhKX07aWYoSC5pc1BsYWluT2JqZWN0KG4pKXIobik7ZWxzZSBpZihuLmxlbmd0aCYmdHlwZW9mIG5bMF09PSJudW1iZXIiKXIobik7ZWxzZSBpZihuLmxlbmd0aClmb3IodmFyIGk9MDtpPG4ubGVuZ3RoO2krKylyKG5baV0pfWZ1bmN0aW9uIFlyKGUpe3ZhciB0LG4scixpPVtdLGE9Z2UuZXh0LnR5cGUub3JkZXIscz1lLmFvQ29sdW1ucyx1LGQsbSx2LGc9ZS5hYVNvcnRpbmdGaXhlZCx3PUguaXNQbGFpbk9iamVjdChnKSxiPVtdO2lmKCFlLm9GZWF0dXJlcy5iU29ydClyZXR1cm4gaTtmb3IoQXJyYXkuaXNBcnJheShnKSYmVG4oZSxiLGcpLHcmJmcucHJlJiZUbihlLGIsZy5wcmUpLFRuKGUsYixlLmFhU29ydGluZyksdyYmZy5wb3N0JiZUbihlLGIsZy5wb3N0KSx0PTA7dDxiLmxlbmd0aDt0KyspaWYodj1iW3RdWzBdLHNbdl0pZm9yKHU9c1t2XS5hRGF0YVNvcnQsbj0wLHI9dS5sZW5ndGg7bjxyO24rKylkPXVbbl0sbT1zW2RdLnNUeXBlfHwic3RyaW5nIixiW3RdLl9pZHg9PT12b2lkIDAmJihiW3RdLl9pZHg9c1tkXS5hc1NvcnRpbmcuaW5kZXhPZihiW3RdWzFdKSksYlt0XVsxXSYmaS5wdXNoKHtzcmM6dixjb2w6ZCxkaXI6Ylt0XVsxXSxpbmRleDpiW3RdLl9pZHgsdHlwZTptLGZvcm1hdHRlcjphW20rIi1wcmUiXSxzb3J0ZXI6YVttKyItIitiW3RdWzFdXX0pO3JldHVybiBpfWZ1bmN0aW9uIEppKGUsdCxuKXt2YXIgcixpLGE9W10scz1nZS5leHQudHlwZS5vcmRlcix1PWUuYW9EYXRhLGQsbT1lLmFpRGlzcGxheU1hc3Rlcix2O2lmKFhyKGUpLHQhPT12b2lkIDApe3ZhciBnPWUuYW9Db2x1bW5zW3RdO3Y9W3tzcmM6dCxjb2w6dCxkaXI6bixpbmRleDowLHR5cGU6Zy5zVHlwZSxmb3JtYXR0ZXI6c1tnLnNUeXBlKyItcHJlIl0sc29ydGVyOnNbZy5zVHlwZSsiLSIrbl19XSxtPW0uc2xpY2UoKX1lbHNlIHY9WXIoZSk7Zm9yKHI9MCxpPXYubGVuZ3RoO3I8aTtyKyspZD12W3JdLGh1KGUsZC5jb2wpO2lmKE90KGUpIT0ic3NwIiYmdi5sZW5ndGghPT0wKXtmb3Iocj0wLGk9bS5sZW5ndGg7cjxpO3IrKylhW3JdPXI7di5sZW5ndGgmJnZbMF0uZGlyPT09ImRlc2MiJiZlLm9yZGVyRGVzY1JldmVyc2UmJmEucmV2ZXJzZSgpLG0uc29ydChmdW5jdGlvbih3LGIpe3ZhciBULEQsaCxsLHAsQz12Lmxlbmd0aCxGPXVbd10uX2FTb3J0RGF0YSxQPXVbYl0uX2FTb3J0RGF0YTtmb3IoaD0wO2g8QztoKyspaWYocD12W2hdLFQ9RltwLmNvbF0sRD1QW3AuY29sXSxwLnNvcnRlcil7aWYobD1wLnNvcnRlcihULEQpLGwhPT0wKXJldHVybiBsfWVsc2UgaWYobD1UPEQ/LTE6VD5EPzE6MCxsIT09MClyZXR1cm4gcC5kaXI9PT0iYXNjIj9sOi1sO3JldHVybiBUPWFbd10sRD1hW2JdLFQ8RD8tMTpUPkQ/MTowfSl9ZWxzZSB2Lmxlbmd0aD09PTAmJm0uc29ydChmdW5jdGlvbih3LGIpe3JldHVybiB3PGI/LTE6dz5iPzE6MH0pO3JldHVybiB0PT09dm9pZCAwJiYoZS5iU29ydGVkPSEwLGUuc29ydERldGFpbHM9dixLZShlLG51bGwsIm9yZGVyIixbZSx2XSkpLG19ZnVuY3Rpb24gZnUoZSx0LG4scil7dmFyIGk9ZS5hb0NvbHVtbnNbdF0sYT1lLmFhU29ydGluZyxzPWkuYXNTb3J0aW5nLHUsZD1mdW5jdGlvbih2LGcpe3ZhciB3PXYuX2lkeDtyZXR1cm4gdz09PXZvaWQgMCYmKHc9cy5pbmRleE9mKHZbMV0pKSx3KzE8cy5sZW5ndGg/dysxOmc/bnVsbDowfTtpZighaS5iU29ydGFibGUpcmV0dXJuITE7aWYodHlwZW9mIGFbMF09PSJudW1iZXIiJiYoYT1lLmFhU29ydGluZz1bYV0pLChyfHxuKSYmZS5vRmVhdHVyZXMuYlNvcnRNdWx0aSl7dmFyIG09eXQoYSwiMCIpLmluZGV4T2YodCk7bSE9PS0xPyh1PWQoYVttXSwhMCksdT09PW51bGwmJmEubGVuZ3RoPT09MSYmKHU9MCksdT09PW51bGx8fHNbdV09PT0iIj9hLnNwbGljZShtLDEpOihhW21dWzFdPXNbdV0sYVttXS5faWR4PXUpKTpyPyhhLnB1c2goW3Qsc1swXSwwXSksYVthLmxlbmd0aC0xXS5faWR4PTApOihhLnB1c2goW3QsYVswXVsxXSwwXSksYVthLmxlbmd0aC0xXS5faWR4PTApfWVsc2UgYS5sZW5ndGgmJmFbMF1bMF09PXQ/KHU9ZChhWzBdKSxhLmxlbmd0aD0xLGFbMF1bMV09c1t1XSxhWzBdLl9pZHg9dSk6KGEubGVuZ3RoPTAsYS5wdXNoKFt0LHNbMF1dKSxhWzBdLl9pZHg9MCl9ZnVuY3Rpb24gamkoZSl7dmFyIHQ9ZS5hTGFzdFNvcnQsbj1lLm9DbGFzc2VzLm9yZGVyLnBvc2l0aW9uLHI9WXIoZSksaT1lLm9GZWF0dXJlcyxhLHMsdTtpZihpLmJTb3J0JiZpLmJTb3J0Q2xhc3Nlcyl7Zm9yKGE9MCxzPXQubGVuZ3RoO2E8czthKyspdT10W2FdLnNyYyxIKHl0KGUuYW9EYXRhLCJhbkNlbGxzIix1KSkucmVtb3ZlQ2xhc3MobisoYTwyP2ErMTozKSk7Zm9yKGE9MCxzPXIubGVuZ3RoO2E8czthKyspdT1yW2FdLnNyYyxIKHl0KGUuYW9EYXRhLCJhbkNlbGxzIix1KSkuYWRkQ2xhc3MobisoYTwyP2ErMTozKSl9ZS5hTGFzdFNvcnQ9cn1mdW5jdGlvbiBodShlLHQpe3ZhciBuPWUuYW9Db2x1bW5zW3RdLHI9Z2UuZXh0Lm9yZGVyW24uc1NvcnREYXRhVHlwZV0saTtyJiYoaT1yLmNhbGwoZS5vSW5zdGFuY2UsZSx0LHByKGUsdCkpKTtmb3IodmFyIGEscyx1PWdlLmV4dC50eXBlLm9yZGVyW24uc1R5cGUrIi1wcmUiXSxkPWUuYW9EYXRhLG09MDttPGQubGVuZ3RoO20rKylkW21dJiYoYT1kW21dLGEuX2FTb3J0RGF0YXx8KGEuX2FTb3J0RGF0YT1bXSksKCFhLl9hU29ydERhdGFbdF18fHIpJiYocz1yP2lbbV06VXQoZSxtLHQsInNvcnQiKSxhLl9hU29ydERhdGFbdF09dT91KHMsZSk6cykpfWZ1bmN0aW9uIEtyKGUpe2lmKCFlLl9iTG9hZGluZ1N0YXRlKXt2YXIgdD1bXTtUbihlLHQsZS5hYVNvcnRpbmcpO3ZhciBuPWUuYW9Db2x1bW5zLHI9e3RpbWU6K25ldyBEYXRlLHN0YXJ0OmUuX2lEaXNwbGF5U3RhcnQsbGVuZ3RoOmUuX2lEaXNwbGF5TGVuZ3RoLG9yZGVyOnQubWFwKGZ1bmN0aW9uKGkpe3JldHVybiBuW2lbMF1dJiZuW2lbMF1dLnNOYW1lP1tuW2lbMF1dLnNOYW1lLGlbMV1dOmkuc2xpY2UoKX0pLHNlYXJjaDpILmV4dGVuZCh7fSxlLm9QcmV2aW91c1NlYXJjaCksY29sdW1uczplLmFvQ29sdW1ucy5tYXAoZnVuY3Rpb24oaSxhKXtyZXR1cm57bmFtZTppLnNOYW1lLHZpc2libGU6aS5iVmlzaWJsZSxzZWFyY2g6SC5leHRlbmQoe30sZS5hb1ByZVNlYXJjaENvbHNbYV0pfX0pfTtlLm9TYXZlZFN0YXRlPXIsS2UoZSwiYW9TdGF0ZVNhdmVQYXJhbXMiLCJzdGF0ZVNhdmVQYXJhbXMiLFtlLHJdKSxlLm9GZWF0dXJlcy5iU3RhdGVTYXZlJiYhZS5iRGVzdHJveWluZyYmZS5mblN0YXRlU2F2ZUNhbGxiYWNrLmNhbGwoZS5vSW5zdGFuY2UsZSxyKX19ZnVuY3Rpb24gcHUoZSx0LG4pe2lmKCFlLm9GZWF0dXJlcy5iU3RhdGVTYXZlKXtuKCk7cmV0dXJufXZhciByPWZ1bmN0aW9uKGEpe1ZpKGUsYSxuKX0saT1lLmZuU3RhdGVMb2FkQ2FsbGJhY2suY2FsbChlLm9JbnN0YW5jZSxlLHIpO3JldHVybiBpIT09dm9pZCAwJiZWaShlLGksbiksITB9ZnVuY3Rpb24gVmkoZSx0LG4pe3ZhciByLGksYT1lLmFvQ29sdW1ucyxzPXl0KGUuYW9Db2x1bW5zLCJzTmFtZSIpO2UuX2JMb2FkaW5nU3RhdGU9ITA7dmFyIHU9ZS5fYkluaXRDb21wbGV0ZT9uZXcgZ2UuQXBpKGUpOm51bGw7aWYoIXR8fCF0LnRpbWUpe2UuX2JMb2FkaW5nU3RhdGU9ITEsbigpO3JldHVybn12YXIgZD1lLmlTdGF0ZUR1cmF0aW9uO2lmKGQ+MCYmdC50aW1lPCtuZXcgRGF0ZS1kKjFlMyl7ZS5fYkxvYWRpbmdTdGF0ZT0hMSxuKCk7cmV0dXJufXZhciBtPUtlKGUsImFvU3RhdGVMb2FkUGFyYW1zIiwic3RhdGVMb2FkUGFyYW1zIixbZSx0XSk7aWYobS5pbmRleE9mKCExKSE9PS0xKXtlLl9iTG9hZGluZ1N0YXRlPSExLG4oKTtyZXR1cm59aWYoZS5vTG9hZGVkU3RhdGU9SC5leHRlbmQoITAse30sdCksS2UoZSxudWxsLCJzdGF0ZUxvYWRJbml0IixbZSx0XSwhMCksdC5sZW5ndGghPT12b2lkIDAmJih1P3UucGFnZS5sZW4odC5sZW5ndGgpOmUuX2lEaXNwbGF5TGVuZ3RoPXQubGVuZ3RoKSx0LnN0YXJ0IT09dm9pZCAwJiYodT09PW51bGw/KGUuX2lEaXNwbGF5U3RhcnQ9dC5zdGFydCxlLmlJbml0RGlzcGxheVN0YXJ0PXQuc3RhcnQpOktpKGUsdC5zdGFydC9lLl9pRGlzcGxheUxlbmd0aCkpLHQub3JkZXIhPT12b2lkIDAmJihlLmFhU29ydGluZz1bXSxILmVhY2godC5vcmRlcixmdW5jdGlvbihULEQpe3ZhciBoPVtEWzBdLERbMV1dO2lmKHR5cGVvZiBEWzBdPT0ic3RyaW5nIil7dmFyIGw9cy5pbmRleE9mKERbMF0pO2lmKGw8MClyZXR1cm47aFswXT1sfWVsc2UgaWYoaFswXT49YS5sZW5ndGgpcmV0dXJuO2UuYWFTb3J0aW5nLnB1c2goaCl9KSksdC5zZWFyY2ghPT12b2lkIDAmJkguZXh0ZW5kKGUub1ByZXZpb3VzU2VhcmNoLHQuc2VhcmNoKSx0LmNvbHVtbnMpe3ZhciB2PXQuY29sdW1ucyxnPXl0KHQuY29sdW1ucywibmFtZSIpO2lmKGcuam9pbigiIikubGVuZ3RoJiZnLmpvaW4oIiIpIT09cy5qb2luKCIiKSlmb3Iodj1bXSxyPTA7cjxzLmxlbmd0aDtyKyspaWYoc1tyXSE9IiIpe3ZhciB3PWcuaW5kZXhPZihzW3JdKTt3Pj0wP3YucHVzaCh0LmNvbHVtbnNbd10pOnYucHVzaCh7fSl9ZWxzZSB2LnB1c2goe30pO2lmKHYubGVuZ3RoPT09YS5sZW5ndGgpe2ZvcihyPTAsaT12Lmxlbmd0aDtyPGk7cisrKXt2YXIgYj12W3JdO2IudmlzaWJsZSE9PXZvaWQgMCYmKHU/dS5jb2x1bW4ocikudmlzaWJsZShiLnZpc2libGUsITEpOmFbcl0uYlZpc2libGU9Yi52aXNpYmxlKSxiLnNlYXJjaCE9PXZvaWQgMCYmSC5leHRlbmQoZS5hb1ByZVNlYXJjaENvbHNbcl0sYi5zZWFyY2gpfXUmJnUuY29sdW1ucy5hZGp1c3QoKX19ZS5fYkxvYWRpbmdTdGF0ZT0hMSxLZShlLCJhb1N0YXRlTG9hZGVkIiwic3RhdGVMb2FkZWQiLFtlLHRdKSxuKCl9ZnVuY3Rpb24gV3QoZSx0LG4scil7aWYobj0iRGF0YVRhYmxlcyB3YXJuaW5nOiAiKyhlPyJ0YWJsZSBpZD0iK2Uuc1RhYmxlSWQrIiAtICI6IiIpK24sciYmKG4rPSIuIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgZXJyb3IsIHBsZWFzZSBzZWUgaHR0cHM6Ly9kYXRhdGFibGVzLm5ldC90bi8iK3IpLHQpd2luZG93LmNvbnNvbGUmJmNvbnNvbGUubG9nJiZjb25zb2xlLmxvZyhuKTtlbHNle3ZhciBpPWdlLmV4dCxhPWkuc0Vyck1vZGV8fGkuZXJyTW9kZTtpZihlJiZLZShlLG51bGwsImR0LWVycm9yIixbZSxyLG5dLCEwKSxhPT0iYWxlcnQiKWFsZXJ0KG4pO2Vsc2V7aWYoYT09InRocm93Iil0aHJvdyBuZXcgRXJyb3Iobik7dHlwZW9mIGE9PSJmdW5jdGlvbiImJmEoZSxyLG4pfX19ZnVuY3Rpb24gdm4oZSx0LG4scil7aWYoQXJyYXkuaXNBcnJheShuKSl7SC5lYWNoKG4sZnVuY3Rpb24oaSxhKXtBcnJheS5pc0FycmF5KGEpP3ZuKGUsdCxhWzBdLGFbMV0pOnZuKGUsdCxhKX0pO3JldHVybn1yPT09dm9pZCAwJiYocj1uKSx0W25dIT09dm9pZCAwJiYoZVtyXT10W25dKX1mdW5jdGlvbiBwcyhlLHQsbil7dmFyIHI7Zm9yKHZhciBpIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsaSkmJihyPXRbaV0sSC5pc1BsYWluT2JqZWN0KHIpPyhILmlzUGxhaW5PYmplY3QoZVtpXSl8fChlW2ldPXt9KSxILmV4dGVuZCghMCxlW2ldLHIpKTpuJiZpIT09ImRhdGEiJiZpIT09ImFhRGF0YSImJkFycmF5LmlzQXJyYXkocik/ZVtpXT1yLnNsaWNlKCk6ZVtpXT1yKTtyZXR1cm4gZX1mdW5jdGlvbiBXcyhlLHQsbil7SChlKS5vbigiY2xpY2suRFQiLHQsZnVuY3Rpb24ocil7bihyKX0pLm9uKCJrZXlwcmVzcy5EVCIsdCxmdW5jdGlvbihyKXtyLndoaWNoPT09MTMmJihyLnByZXZlbnREZWZhdWx0KCksbihyKSl9KS5vbigic2VsZWN0c3RhcnQuRFQiLHQsZnVuY3Rpb24oKXtyZXR1cm4hMX0pfWZ1bmN0aW9uIHp0KGUsdCxuKXtuJiZlW3RdLnB1c2gobil9ZnVuY3Rpb24gS2UoZSx0LG4scixpKXt2YXIgYT1bXTtpZih0JiYoYT1lW3RdLnNsaWNlKCkucmV2ZXJzZSgpLm1hcChmdW5jdGlvbihkKXtyZXR1cm4gZC5hcHBseShlLm9JbnN0YW5jZSxyKX0pKSxuIT09bnVsbCl7dmFyIHM9SC5FdmVudChuKyIuZHQiKSx1PUgoZS5uVGFibGUpO3MuZHQ9ZS5hcGksdVtpPyJ0cmlnZ2VyIjoidHJpZ2dlckhhbmRsZXIiXShzLHIpLGkmJnUucGFyZW50cygiYm9keSIpLmxlbmd0aD09PTAmJkgoImJvZHkiKS50cmlnZ2VyKHMsciksYS5wdXNoKHMucmVzdWx0KX1yZXR1cm4gYX1mdW5jdGlvbiBVcyhlKXt2YXIgdD1lLl9pRGlzcGxheVN0YXJ0LG49ZS5mbkRpc3BsYXlFbmQoKSxyPWUuX2lEaXNwbGF5TGVuZ3RoO3Q+PW4mJih0PW4tciksdC09dCVyLChyPT09LTF8fHQ8MCkmJih0PTApLGUuX2lEaXNwbGF5U3RhcnQ9dH1mdW5jdGlvbiBXcihlLHQpe3ZhciBuPWUucmVuZGVyZXIscj1nZS5leHQucmVuZGVyZXJbdF07cmV0dXJuIEguaXNQbGFpbk9iamVjdChuKSYmblt0XT9yW25bdF1dfHxyLl86dHlwZW9mIG49PSJzdHJpbmciJiZyW25dfHxyLl99ZnVuY3Rpb24gT3QoZSl7cmV0dXJuIGUub0ZlYXR1cmVzLmJTZXJ2ZXJTaWRlPyJzc3AiOmUuYWpheD8iYWpheCI6ImRvbSJ9ZnVuY3Rpb24gUWkoZSx0LG4pe3ZhciByPWUuZm5Gb3JtYXROdW1iZXIsaT1lLl9pRGlzcGxheVN0YXJ0KzEsYT1lLl9pRGlzcGxheUxlbmd0aCxzPWUuZm5SZWNvcmRzRGlzcGxheSgpLHU9ZS5mblJlY29yZHNUb3RhbCgpLGQ9YT09PS0xO3JldHVybiB0LnJlcGxhY2UoL19TVEFSVF8vZyxyLmNhbGwoZSxpKSkucmVwbGFjZSgvX0VORF8vZyxyLmNhbGwoZSxlLmZuRGlzcGxheUVuZCgpKSkucmVwbGFjZSgvX01BWF8vZyxyLmNhbGwoZSx1KSkucmVwbGFjZSgvX1RPVEFMXy9nLHIuY2FsbChlLHMpKS5yZXBsYWNlKC9fUEFHRV8vZyxyLmNhbGwoZSxkPzE6TWF0aC5jZWlsKGkvYSkpKS5yZXBsYWNlKC9fUEFHRVNfL2csci5jYWxsKGUsZD8xOk1hdGguY2VpbChzL2EpKSkucmVwbGFjZSgvX0VOVFJJRVNfL2csZS5hcGkuaTE4bigiZW50cmllcyIsIiIsbikpLnJlcGxhY2UoL19FTlRSSUVTLU1BWF8vZyxlLmFwaS5pMThuKCJlbnRyaWVzIiwiIix1KSkucmVwbGFjZSgvX0VOVFJJRVMtVE9UQUxfL2csZS5hcGkuaTE4bigiZW50cmllcyIsIiIscykpfWZ1bmN0aW9uIEpyKGUsdCl7aWYodClpZih0Lmxlbmd0aDwxZTQpZS5wdXNoLmFwcGx5KGUsdCk7ZWxzZSBmb3IodXQ9MDt1dDx0Lmxlbmd0aDt1dCsrKWUucHVzaCh0W3V0XSl9ZnVuY3Rpb24gbXMoZSx0LG4pe2ZvcihBcnJheS5pc0FycmF5KG4pfHwobj1bbl0pLHV0PTA7dXQ8bi5sZW5ndGg7dXQrKyllLm9uKHQrIi5kdCIsblt1dF0pfWZ1bmN0aW9uIHFzKGUpe3JldHVybiBnZS5leHQuZXNjYXBlLmF0dHJpYnV0ZXMmJkguZWFjaChlLGZ1bmN0aW9uKHQsbil7ZVt0XT1EbihuKX0pLGV9dmFyIGVhPVtdLHh0PUFycmF5LnByb3RvdHlwZSxtdT1mdW5jdGlvbihlKXt2YXIgdCxuLHI9Z2Uuc2V0dGluZ3MsaT15dChyLCJuVGFibGUiKTtpZihlKXtpZihlLm5UYWJsZSYmZS5vRmVhdHVyZXMpcmV0dXJuW2VdO2lmKGUubm9kZU5hbWUmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PSJ0YWJsZSIpcmV0dXJuIHQ9aS5pbmRleE9mKGUpLHQhPT0tMT9bclt0XV06bnVsbDtpZihlJiZ0eXBlb2YgZS5zZXR0aW5ncz09ImZ1bmN0aW9uIilyZXR1cm4gZS5zZXR0aW5ncygpLnRvQXJyYXkoKTt0eXBlb2YgZT09InN0cmluZyI/bj1IKGUpLmdldCgpOmUgaW5zdGFuY2VvZiBIJiYobj1lLmdldCgpKX1lbHNlIHJldHVybltdO2lmKG4pcmV0dXJuIHIuZmlsdGVyKGZ1bmN0aW9uKGEscyl7cmV0dXJuIG4uaW5jbHVkZXMoaVtzXSl9KX07cWU9ZnVuY3Rpb24oZSx0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBxZSkpcmV0dXJuIG5ldyBxZShlLHQpO3ZhciBuLHI9W10saT1mdW5jdGlvbihhKXt2YXIgcz1tdShhKTtzJiZyLnB1c2guYXBwbHkocixzKX07aWYoQXJyYXkuaXNBcnJheShlKSlmb3Iobj0wO248ZS5sZW5ndGg7bisrKWkoZVtuXSk7ZWxzZSBpKGUpO3RoaXMuY29udGV4dD1yLmxlbmd0aD4xP1VuKHIpOnIsSnIodGhpcyx0KSx0aGlzLnNlbGVjdG9yPXtyb3dzOm51bGwsY29sczpudWxsLG9wdHM6bnVsbH0scWUuZXh0ZW5kKHRoaXMsdGhpcyxlYSl9O2dlLkFwaT1xZTtILmV4dGVuZChxZS5wcm90b3R5cGUse2FueTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNvdW50KCkhPT0wfSxjb250ZXh0OltdLGNvdW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmxhdHRlbigpLmxlbmd0aH0sZWFjaDpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MCxuPXRoaXMubGVuZ3RoO3Q8bjt0KyspZS5jYWxsKHRoaXMsdGhpc1t0XSx0LHRoaXMpO3JldHVybiB0aGlzfSxlcTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLmNvbnRleHQ7cmV0dXJuIHQubGVuZ3RoPmU/bmV3IHFlKHRbZV0sdGhpc1tlXSk6bnVsbH0sZmlsdGVyOmZ1bmN0aW9uKGUpe3ZhciB0PXh0LmZpbHRlci5jYWxsKHRoaXMsZSx0aGlzKTtyZXR1cm4gbmV3IHFlKHRoaXMuY29udGV4dCx0KX0sZmxhdHRlbjpmdW5jdGlvbigpe3ZhciBlPVtdO3JldHVybiBuZXcgcWUodGhpcy5jb250ZXh0LGUuY29uY2F0LmFwcGx5KGUsdGhpcy50b0FycmF5KCkpKX0sZ2V0OmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzW2VdfSxqb2luOnh0LmpvaW4saW5jbHVkZXM6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuaW5kZXhPZihlKSE9PS0xfSxpbmRleE9mOnh0LmluZGV4T2YsaXRlcmF0b3I6ZnVuY3Rpb24oZSx0LG4scil7dmFyIGk9W10sYSxzLHUsZCxtLHY9dGhpcy5jb250ZXh0LGcsdyxiLFQ9dGhpcy5zZWxlY3Rvcjtmb3IodHlwZW9mIGU9PSJzdHJpbmciJiYocj1uLG49dCx0PWUsZT0hMSkscz0wLHU9di5sZW5ndGg7czx1O3MrKyl7dmFyIEQ9bmV3IHFlKHZbc10pO2lmKHQ9PT0idGFibGUiKWE9bi5jYWxsKEQsdltzXSxzKSxhIT09dm9pZCAwJiZpLnB1c2goYSk7ZWxzZSBpZih0PT09ImNvbHVtbnMifHx0PT09InJvd3MiKWE9bi5jYWxsKEQsdltzXSx0aGlzW3NdLHMpLGEhPT12b2lkIDAmJmkucHVzaChhKTtlbHNlIGlmKHQ9PT0iZXZlcnkifHx0PT09ImNvbHVtbiJ8fHQ9PT0iY29sdW1uLXJvd3MifHx0PT09InJvdyJ8fHQ9PT0iY2VsbCIpZm9yKHc9dGhpc1tzXSx0PT09ImNvbHVtbi1yb3dzIiYmKGc9UXIodltzXSxULm9wdHMpKSxkPTAsbT13Lmxlbmd0aDtkPG07ZCsrKWI9d1tkXSx0PT09ImNlbGwiP2E9bi5jYWxsKEQsdltzXSxiLnJvdyxiLmNvbHVtbixzLGQpOmE9bi5jYWxsKEQsdltzXSxiLHMsZCxnKSxhIT09dm9pZCAwJiZpLnB1c2goYSl9aWYoaS5sZW5ndGh8fHIpe3ZhciBoPW5ldyBxZSh2LGU/aS5jb25jYXQuYXBwbHkoW10saSk6aSksbD1oLnNlbGVjdG9yO3JldHVybiBsLnJvd3M9VC5yb3dzLGwuY29scz1ULmNvbHMsbC5vcHRzPVQub3B0cyxofXJldHVybiB0aGlzfSxsYXN0SW5kZXhPZjp4dC5sYXN0SW5kZXhPZixsZW5ndGg6MCxtYXA6ZnVuY3Rpb24oZSl7dmFyIHQ9eHQubWFwLmNhbGwodGhpcyxlLHRoaXMpO3JldHVybiBuZXcgcWUodGhpcy5jb250ZXh0LHQpfSxwbHVjazpmdW5jdGlvbihlKXt2YXIgdD1nZS51dGlsLmdldChlKTtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24obil7cmV0dXJuIHQobil9KX0scG9wOnh0LnBvcCxwdXNoOnh0LnB1c2gscmVkdWNlOnh0LnJlZHVjZSxyZWR1Y2VSaWdodDp4dC5yZWR1Y2VSaWdodCxyZXZlcnNlOnh0LnJldmVyc2Usc2VsZWN0b3I6bnVsbCxzaGlmdDp4dC5zaGlmdCxzbGljZTpmdW5jdGlvbigpe3JldHVybiBuZXcgcWUodGhpcy5jb250ZXh0LHRoaXMpfSxzb3J0Onh0LnNvcnQsc3BsaWNlOnh0LnNwbGljZSx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHh0LnNsaWNlLmNhbGwodGhpcyl9LHRvJDpmdW5jdGlvbigpe3JldHVybiBIKHRoaXMpfSx0b0pRdWVyeTpmdW5jdGlvbigpe3JldHVybiBIKHRoaXMpfSx1bmlxdWU6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHFlKHRoaXMuY29udGV4dCxVbih0aGlzLnRvQXJyYXkoKSkpfSx1bnNoaWZ0Onh0LnVuc2hpZnR9KTtmdW5jdGlvbiB2dShlLHQsbil7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHI9dC5hcHBseShlfHx0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIHFlLmV4dGVuZChyLHIsbi5tZXRob2RFeHQpLHJ9fWZ1bmN0aW9uIGd1KGUsdCl7Zm9yKHZhciBuPTAscj1lLmxlbmd0aDtuPHI7bisrKWlmKGVbbl0ubmFtZT09PXQpcmV0dXJuIGVbbl07cmV0dXJuIG51bGx9d2luZG93Ll9fYXBpU3RydWN0PWVhO3FlLmV4dGVuZD1mdW5jdGlvbihlLHQsbil7aWYoISghbi5sZW5ndGh8fCF0fHwhKHQgaW5zdGFuY2VvZiBxZSkmJiF0Ll9fZHRfd3JhcHBlcikpe3ZhciByLGksYTtmb3Iocj0wLGk9bi5sZW5ndGg7cjxpO3IrKylhPW5bcl0sYS5uYW1lIT09Il9fcHJvdG9fXyImJih0W2EubmFtZV09YS50eXBlPT09ImZ1bmN0aW9uIj92dShlLGEudmFsLGEpOmEudHlwZT09PSJvYmplY3QiP3t9OmEudmFsLHRbYS5uYW1lXS5fX2R0X3dyYXBwZXI9ITAscWUuZXh0ZW5kKGUsdFthLm5hbWVdLGEucHJvcEV4dCkpfX07cWUucmVnaXN0ZXI9TmU9ZnVuY3Rpb24oZSx0KXtpZihBcnJheS5pc0FycmF5KGUpKXtmb3IodmFyIG49MCxyPWUubGVuZ3RoO248cjtuKyspcWUucmVnaXN0ZXIoZVtuXSx0KTtyZXR1cm59dmFyIGksYSxzPWUuc3BsaXQoIi4iKSx1PWVhLGQsbTtmb3IoaT0wLGE9cy5sZW5ndGg7aTxhO2krKyl7bT1zW2ldLmluZGV4T2YoIigpIikhPT0tMSxkPW0/c1tpXS5yZXBsYWNlKCIoKSIsIiIpOnNbaV07dmFyIHY9Z3UodSxkKTt2fHwodj17bmFtZTpkLHZhbDp7fSxtZXRob2RFeHQ6W10scHJvcEV4dDpbXSx0eXBlOiJvYmplY3QifSx1LnB1c2godikpLGk9PT1hLTE/KHYudmFsPXQsdi50eXBlPXR5cGVvZiB0PT0iZnVuY3Rpb24iPyJmdW5jdGlvbiI6SC5pc1BsYWluT2JqZWN0KHQpPyJvYmplY3QiOiJvdGhlciIpOnU9bT92Lm1ldGhvZEV4dDp2LnByb3BFeHR9fTtxZS5yZWdpc3RlclBsdXJhbD1ldD1mdW5jdGlvbihlLHQsbil7cWUucmVnaXN0ZXIoZSxuKSxxZS5yZWdpc3Rlcih0LGZ1bmN0aW9uKCl7dmFyIHI9bi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIHI9PT10aGlzP3RoaXM6ciBpbnN0YW5jZW9mIHFlP3IubGVuZ3RoP0FycmF5LmlzQXJyYXkoclswXSk/bmV3IHFlKHIuY29udGV4dCxyWzBdKTpyWzBdOnZvaWQgMDpyfSl9O3ZhciBHcz1mdW5jdGlvbihlLHQpe2lmKEFycmF5LmlzQXJyYXkoZSkpe3ZhciBuPVtdO3JldHVybiBlLmZvckVhY2goZnVuY3Rpb24oaSl7dmFyIGE9R3MoaSx0KTtKcihuLGEpfSksbi5maWx0ZXIoZnVuY3Rpb24oaSl7cmV0dXJuIGl9KX1pZih0eXBlb2YgZT09Im51bWJlciIpcmV0dXJuW3RbZV1dO3ZhciByPXQubWFwKGZ1bmN0aW9uKGkpe3JldHVybiBpLm5UYWJsZX0pO3JldHVybiBIKHIpLmZpbHRlcihlKS5tYXAoZnVuY3Rpb24oKXt2YXIgaT1yLmluZGV4T2YodGhpcyk7cmV0dXJuIHRbaV19KS50b0FycmF5KCl9O05lKCJ0YWJsZXMoKSIsZnVuY3Rpb24oZSl7cmV0dXJuIGUhPW51bGw/bmV3IHFlKEdzKGUsdGhpcy5jb250ZXh0KSk6dGhpc30pO05lKCJ0YWJsZSgpIixmdW5jdGlvbihlKXt2YXIgdD10aGlzLnRhYmxlcyhlKSxuPXQuY29udGV4dDtyZXR1cm4gbi5sZW5ndGg/bmV3IHFlKG5bMF0pOnR9KTtbWyJub2RlcyIsIm5vZGUiLCJuVGFibGUiXSxbImJvZHkiLCJib2R5IiwiblRCb2R5Il0sWyJoZWFkZXIiLCJoZWFkZXIiLCJuVEhlYWQiXSxbImZvb3RlciIsImZvb3RlciIsIm5URm9vdCJdXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2V0KCJ0YWJsZXMoKS4iK2VbMF0rIigpIiwidGFibGUoKS4iK2VbMV0rIigpIixmdW5jdGlvbigpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24odCl7cmV0dXJuIHRbZVsyXV19LDEpfSl9KTtbWyJoZWFkZXIiLCJhb0hlYWRlciJdLFsiZm9vdGVyIiwiYW9Gb290ZXIiXV0uZm9yRWFjaChmdW5jdGlvbihlKXtOZSgidGFibGUoKS4iK2VbMF0rIi5zdHJ1Y3R1cmUoKSIsZnVuY3Rpb24odCl7dmFyIG49dGhpcy5jb2x1bW5zKHQpLmluZGV4ZXMoKS5mbGF0dGVuKCkudG9BcnJheSgpLHI9dGhpcy5jb250ZXh0WzBdLGk9T3MocixyW2VbMV1dLG4pLGE9bi5zbGljZSgpLnNvcnQoZnVuY3Rpb24ocyx1KXtyZXR1cm4gcy11fSk7cmV0dXJuIGkubWFwKGZ1bmN0aW9uKHMpe3JldHVybiBuLm1hcChmdW5jdGlvbih1KXtyZXR1cm4gc1thLmluZGV4T2YodSldfSl9KX0pfSk7ZXQoInRhYmxlcygpLmNvbnRhaW5lcnMoKSIsInRhYmxlKCkuY29udGFpbmVyKCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihlKXtyZXR1cm4gZS5uVGFibGVXcmFwcGVyfSwxKX0pO05lKCJ0YWJsZXMoKS5ldmVyeSgpIixmdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24obixyKXtlLmNhbGwodC50YWJsZShyKSxyKX0pfSk7TmUoImNhcHRpb24oKSIsZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLmNvbnRleHQ7aWYoZT09PXZvaWQgMCl7dmFyIHI9blswXS5jYXB0aW9uTm9kZTtyZXR1cm4gciYmbi5sZW5ndGg/ci5pbm5lckhUTUw6bnVsbH1yZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGkpe3ZhciBhPUgoaS5uVGFibGUpLHM9SChpLmNhcHRpb25Ob2RlKSx1PUgoaS5uVGFibGVXcmFwcGVyKTtpZihzLmxlbmd0aHx8KHM9SCgiPGNhcHRpb24vPiIpLmh0bWwoZSksaS5jYXB0aW9uTm9kZT1zWzBdLHR8fChhLnByZXBlbmQocyksdD1zLmNzcygiY2FwdGlvbi1zaWRlIikpKSxzLmh0bWwoZSksdCYmKHMuY3NzKCJjYXB0aW9uLXNpZGUiLHQpLHNbMF0uX2NhcHRpb25TaWRlPXQpLHUuZmluZCgiZGl2LmRhdGFUYWJsZXNfc2Nyb2xsIikubGVuZ3RoKXt2YXIgZD10PT09InRvcCI/IkhlYWQiOiJGb290Ijt1LmZpbmQoImRpdi5kYXRhVGFibGVzX3Njcm9sbCIrZCsiIHRhYmxlIikucHJlcGVuZChzKX1lbHNlIGEucHJlcGVuZChzKX0sMSl9KTtOZSgiY2FwdGlvbi5ub2RlKCkiLGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5jb250ZXh0O3JldHVybiBlLmxlbmd0aD9lWzBdLmNhcHRpb25Ob2RlOm51bGx9KTtOZSgiZHJhdygpIixmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKHQpe2U9PT0icGFnZSI/cW4odCk6KHR5cGVvZiBlPT0ic3RyaW5nIiYmKGU9ZSE9PSJmdWxsLWhvbGQiKSxXbih0LGU9PT0hMSkpfSl9KTtOZSgicGFnZSgpIixmdW5jdGlvbihlKXtyZXR1cm4gZT09PXZvaWQgMD90aGlzLnBhZ2UuaW5mbygpLnBhZ2U6dGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKHQpe0tpKHQsZSl9KX0pO05lKCJwYWdlLmluZm8oKSIsZnVuY3Rpb24oKXtpZih0aGlzLmNvbnRleHQubGVuZ3RoIT09MCl7dmFyIGU9dGhpcy5jb250ZXh0WzBdLHQ9ZS5faURpc3BsYXlTdGFydCxuPWUub0ZlYXR1cmVzLmJQYWdpbmF0ZT9lLl9pRGlzcGxheUxlbmd0aDotMSxyPWUuZm5SZWNvcmRzRGlzcGxheSgpLGk9bj09PS0xO3JldHVybntwYWdlOmk/MDpNYXRoLmZsb29yKHQvbikscGFnZXM6aT8xOk1hdGguY2VpbChyL24pLHN0YXJ0OnQsZW5kOmUuZm5EaXNwbGF5RW5kKCksbGVuZ3RoOm4scmVjb3Jkc1RvdGFsOmUuZm5SZWNvcmRzVG90YWwoKSxyZWNvcmRzRGlzcGxheTpyLHNlcnZlclNpZGU6T3QoZSk9PT0ic3NwIn19fSk7TmUoInBhZ2UubGVuKCkiLGZ1bmN0aW9uKGUpe3JldHVybiBlPT09dm9pZCAwP3RoaXMuY29udGV4dC5sZW5ndGghPT0wP3RoaXMuY29udGV4dFswXS5faURpc3BsYXlMZW5ndGg6dm9pZCAwOnRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbih0KXtCcyh0LGUpfSl9KTt2YXIgJHM9ZnVuY3Rpb24oZSx0LG4pe2lmKG4pe3ZhciByPW5ldyBxZShlKTtyLm9uZSgiZHJhdyIsZnVuY3Rpb24oKXtuKHIuYWpheC5qc29uKCkpfSl9aWYoT3QoZSk9PSJzc3AiKVduKGUsdCk7ZWxzZXtQdChlLCEwKTt2YXIgaT1lLmpxWEhSO2kmJmkucmVhZHlTdGF0ZSE9PTQmJmkuYWJvcnQoKSxZaShlLHt9LGZ1bmN0aW9uKGEpe1hpKGUpO2Zvcih2YXIgcz1kcihlLGEpLHU9MCxkPXMubGVuZ3RoO3U8ZDt1Kyspa24oZSxzW3VdKTtXbihlLHQpLHpyKGUpLFB0KGUsITEpfSl9fTtOZSgiYWpheC5qc29uKCkiLGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5jb250ZXh0O2lmKGUubGVuZ3RoPjApcmV0dXJuIGVbMF0uanNvbn0pO05lKCJhamF4LnBhcmFtcygpIixmdW5jdGlvbigpe3ZhciBlPXRoaXMuY29udGV4dDtpZihlLmxlbmd0aD4wKXJldHVybiBlWzBdLm9BamF4RGF0YX0pO05lKCJhamF4LnJlbG9hZCgpIixmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24obil7JHMobix0PT09ITEsZSl9KX0pO05lKCJhamF4LnVybCgpIixmdW5jdGlvbihlKXt2YXIgdD10aGlzLmNvbnRleHQ7cmV0dXJuIGU9PT12b2lkIDA/dC5sZW5ndGg9PT0wP3ZvaWQgMDoodD10WzBdLEguaXNQbGFpbk9iamVjdCh0LmFqYXgpP3QuYWpheC51cmw6dC5hamF4KTp0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24obil7SC5pc1BsYWluT2JqZWN0KG4uYWpheCk/bi5hamF4LnVybD1lOm4uYWpheD1lfSl9KTtOZSgiYWpheC51cmwoKS5sb2FkKCkiLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihuKXskcyhuLHQ9PT0hMSxlKX0pfSk7dmFyIHRhPWZ1bmN0aW9uKGUsdCxuLHIsaSl7dmFyIGE9W10scyx1LGQsbT10eXBlb2YgdDtmb3IoKCF0fHxtPT09InN0cmluZyJ8fG09PT0iZnVuY3Rpb24ifHx0Lmxlbmd0aD09PXZvaWQgMCkmJih0PVt0XSksdT0wLGQ9dC5sZW5ndGg7dTxkO3UrKylzPW4odHlwZW9mIHRbdV09PSJzdHJpbmciP3RbdV0udHJpbSgpOnRbdV0pLHM9cy5maWx0ZXIoZnVuY3Rpb24oZyl7cmV0dXJuIGchPW51bGx9KSxzJiZzLmxlbmd0aCYmKGE9YS5jb25jYXQocykpO3ZhciB2PWZ0LnNlbGVjdG9yW2VdO2lmKHYubGVuZ3RoKWZvcih1PTAsZD12Lmxlbmd0aDt1PGQ7dSsrKWE9dlt1XShyLGksYSk7cmV0dXJuIFVuKGEpfSxuYT1mdW5jdGlvbihlKXtyZXR1cm4gZXx8KGU9e30pLGUuZmlsdGVyJiZlLnNlYXJjaD09PXZvaWQgMCYmKGUuc2VhcmNoPWUuZmlsdGVyKSxILmV4dGVuZCh7Y29sdW1uT3JkZXI6ImltcGxpZWQiLHNlYXJjaDoibm9uZSIsb3JkZXI6ImN1cnJlbnQiLHBhZ2U6ImFsbCJ9LGUpfSxyYT1mdW5jdGlvbihlKXt2YXIgdD1uZXcgcWUoZS5jb250ZXh0WzBdKTtyZXR1cm4gZS5sZW5ndGgmJnQucHVzaChlWzBdKSx0LnNlbGVjdG9yPWUuc2VsZWN0b3IsdC5sZW5ndGgmJnRbMF0ubGVuZ3RoPjEmJnRbMF0uc3BsaWNlKDEpLHR9LFFyPWZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLGE9W10scz1lLmFpRGlzcGxheSx1PWUuYWlEaXNwbGF5TWFzdGVyLGQ9dC5zZWFyY2gsbT10Lm9yZGVyLHY9dC5wYWdlO2lmKE90KGUpPT0ic3NwIilyZXR1cm4gZD09PSJyZW1vdmVkIj9bXTpobigwLHUubGVuZ3RoKTtpZih2PT0iY3VycmVudCIpZm9yKG49ZS5faURpc3BsYXlTdGFydCxyPWUuZm5EaXNwbGF5RW5kKCk7bjxyO24rKylhLnB1c2goc1tuXSk7ZWxzZSBpZihtPT0iY3VycmVudCJ8fG09PSJhcHBsaWVkIil7aWYoZD09Im5vbmUiKWE9dS5zbGljZSgpO2Vsc2UgaWYoZD09ImFwcGxpZWQiKWE9cy5zbGljZSgpO2Vsc2UgaWYoZD09InJlbW92ZWQiKXt2YXIgZz17fTtmb3Iobj0wLHI9cy5sZW5ndGg7bjxyO24rKylnW3Nbbl1dPW51bGw7dS5mb3JFYWNoKGZ1bmN0aW9uKGIpe09iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChnLGIpfHxhLnB1c2goYil9KX19ZWxzZSBpZihtPT0iaW5kZXgifHxtPT0ib3JpZ2luYWwiKWZvcihuPTAscj1lLmFvRGF0YS5sZW5ndGg7bjxyO24rKyllLmFvRGF0YVtuXSYmKGQ9PSJub25lIj9hLnB1c2gobik6KGk9cy5pbmRleE9mKG4pLChpPT09LTEmJmQ9PSJyZW1vdmVkInx8aT49MCYmZD09ImFwcGxpZWQiKSYmYS5wdXNoKG4pKSk7ZWxzZSBpZih0eXBlb2YgbT09Im51bWJlciIpe3ZhciB3PUppKGUsbSwiYXNjIik7aWYoZD09PSJub25lIilhPXc7ZWxzZSBmb3Iobj0wO248dy5sZW5ndGg7bisrKWk9cy5pbmRleE9mKHdbbl0pLChpPT09LTEmJmQ9PSJyZW1vdmVkInx8aT49MCYmZD09ImFwcGxpZWQiKSYmYS5wdXNoKHdbbl0pfXJldHVybiBhfSx5dT1mdW5jdGlvbihlLHQsbil7dmFyIHIsaT1mdW5jdGlvbihzKXt2YXIgdT1TcyhzKSxkPWUuYW9EYXRhO2lmKHUhPT1udWxsJiYhbilyZXR1cm5bdV07aWYocnx8KHI9UXIoZSxuKSksdSE9PW51bGwmJnIuaW5kZXhPZih1KSE9PS0xKXJldHVyblt1XTtpZihzPT1udWxsfHxzPT09IiIpcmV0dXJuIHI7aWYodHlwZW9mIHM9PSJmdW5jdGlvbiIpcmV0dXJuIHIubWFwKGZ1bmN0aW9uKFQpe3ZhciBEPWRbVF07cmV0dXJuIHMoVCxELl9hRGF0YSxELm5Ucik/VDpudWxsfSk7aWYocy5ub2RlTmFtZSl7dmFyIG09cy5fRFRfUm93SW5kZXgsdj1zLl9EVF9DZWxsSW5kZXg7aWYobSE9PXZvaWQgMClyZXR1cm4gZFttXSYmZFttXS5uVHI9PT1zP1ttXTpbXTtpZih2KXJldHVybiBkW3Yucm93XSYmZFt2LnJvd10ublRyPT09cy5wYXJlbnROb2RlP1t2LnJvd106W107dmFyIGc9SChzKS5jbG9zZXN0KCIqW2RhdGEtZHQtcm93XSIpO3JldHVybiBnLmxlbmd0aD9bZy5kYXRhKCJkdC1yb3ciKV06W119aWYodHlwZW9mIHM9PSJzdHJpbmciJiZzLmNoYXJBdCgwKT09PSIjIil7dmFyIHc9ZS5hSWRzW3MucmVwbGFjZSgvXiMvLCIiKV07aWYodyE9PXZvaWQgMClyZXR1cm5bdy5pZHhdfXZhciBiPURzKGhyKGUuYW9EYXRhLHIsIm5UciIpKTtyZXR1cm4gSChiKS5maWx0ZXIocykubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX0RUX1Jvd0luZGV4fSkudG9BcnJheSgpfSxhPXRhKCJyb3ciLHQsaSxlLG4pO3JldHVybihuLm9yZGVyPT09ImN1cnJlbnQifHxuLm9yZGVyPT09ImFwcGxpZWQiKSYmenMoZSxhKSxhfTtOZSgicm93cygpIixmdW5jdGlvbihlLHQpe2U9PT12b2lkIDA/ZT0iIjpILmlzUGxhaW5PYmplY3QoZSkmJih0PWUsZT0iIiksdD1uYSh0KTt2YXIgbj10aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24ocil7cmV0dXJuIHl1KHIsZSx0KX0sMSk7cmV0dXJuIG4uc2VsZWN0b3Iucm93cz1lLG4uc2VsZWN0b3Iub3B0cz10LG59KTtOZSgicm93cygpLm5vZGVzKCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoInJvdyIsZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5hb0RhdGFbdF0ublRyfHx2b2lkIDB9LDEpfSk7TmUoInJvd3MoKS5kYXRhKCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoITAsInJvd3MiLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGhyKGUuYW9EYXRhLHQsIl9hRGF0YSIpfSwxKX0pO2V0KCJyb3dzKCkuY2FjaGUoKSIsInJvdygpLmNhY2hlKCkiLGZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJyb3ciLGZ1bmN0aW9uKHQsbil7dmFyIHI9dC5hb0RhdGFbbl07cmV0dXJuIGU9PT0ic2VhcmNoIj9yLl9hRmlsdGVyRGF0YTpyLl9hU29ydERhdGF9LDEpfSk7ZXQoInJvd3MoKS5pbnZhbGlkYXRlKCkiLCJyb3coKS5pbnZhbGlkYXRlKCkiLGZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJyb3ciLGZ1bmN0aW9uKHQsbil7WnIodCxuLGUpfSl9KTtldCgicm93cygpLmluZGV4ZXMoKSIsInJvdygpLmluZGV4KCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoInJvdyIsZnVuY3Rpb24oZSx0KXtyZXR1cm4gdH0sMSl9KTtldCgicm93cygpLmlkcygpIiwicm93KCkuaWQoKSIsZnVuY3Rpb24oZSl7Zm9yKHZhciB0PVtdLG49dGhpcy5jb250ZXh0LHI9MCxpPW4ubGVuZ3RoO3I8aTtyKyspZm9yKHZhciBhPTAscz10aGlzW3JdLmxlbmd0aDthPHM7YSsrKXt2YXIgdT1uW3JdLnJvd0lkRm4obltyXS5hb0RhdGFbdGhpc1tyXVthXV0uX2FEYXRhKTt0LnB1c2goKGU9PT0hMD8iIyI6IiIpK3UpfXJldHVybiBuZXcgcWUobix0KX0pO2V0KCJyb3dzKCkucmVtb3ZlKCkiLCJyb3coKS5yZW1vdmUoKSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigicm93IixmdW5jdGlvbihlLHQpe3ZhciBuPWUuYW9EYXRhLHI9blt0XSxpPWUuYWlEaXNwbGF5TWFzdGVyLmluZGV4T2YodCk7aSE9PS0xJiZlLmFpRGlzcGxheU1hc3Rlci5zcGxpY2UoaSwxKSxlLl9pUmVjb3Jkc0Rpc3BsYXk+MCYmZS5faVJlY29yZHNEaXNwbGF5LS0sVXMoZSk7dmFyIGE9ZS5yb3dJZEZuKHIuX2FEYXRhKTthIT09dm9pZCAwJiZkZWxldGUgZS5hSWRzW2FdLG5bdF09bnVsbH0pLHRoaXN9KTtOZSgicm93cy5hZGQoKSIsZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKHIpe3ZhciBpLGEscyx1PVtdO2ZvcihhPTAscz1lLmxlbmd0aDthPHM7YSsrKWk9ZVthXSxpLm5vZGVOYW1lJiZpLm5vZGVOYW1lLnRvVXBwZXJDYXNlKCk9PT0iVFIiP3UucHVzaCgkaShyLGkpWzBdKTp1LnB1c2goa24ocixpKSk7cmV0dXJuIHV9LDEpLG49dGhpcy5yb3dzKC0xKTtyZXR1cm4gbi5wb3AoKSxKcihuLHQpLG59KTtOZSgicm93KCkiLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHJhKHRoaXMucm93cyhlLHQpKX0pO05lKCJyb3coKS5kYXRhKCkiLGZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuY29udGV4dDtpZihlPT09dm9pZCAwKXJldHVybiB0Lmxlbmd0aCYmdGhpcy5sZW5ndGgmJnRoaXNbMF0ubGVuZ3RoP3RbMF0uYW9EYXRhW3RoaXNbMF1dLl9hRGF0YTp2b2lkIDA7dmFyIG49dFswXS5hb0RhdGFbdGhpc1swXV07cmV0dXJuIG4uX2FEYXRhPWUsQXJyYXkuaXNBcnJheShlKSYmbi5uVHImJm4ublRyLmlkJiZTbih0WzBdLnJvd0lkKShlLG4ublRyLmlkKSxacih0WzBdLHRoaXNbMF0sImRhdGEiKSx0aGlzfSk7TmUoInJvdygpLm5vZGUoKSIsZnVuY3Rpb24oKXt2YXIgZT10aGlzLmNvbnRleHQ7aWYoZS5sZW5ndGgmJnRoaXMubGVuZ3RoJiZ0aGlzWzBdLmxlbmd0aCl7dmFyIHQ9ZVswXS5hb0RhdGFbdGhpc1swXV07aWYodCYmdC5uVHIpcmV0dXJuIHQublRyfXJldHVybiBudWxsfSk7TmUoInJvdy5hZGQoKSIsZnVuY3Rpb24oZSl7ZSBpbnN0YW5jZW9mIEgmJmUubGVuZ3RoJiYoZT1lWzBdKTt2YXIgdD10aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24obil7cmV0dXJuIGUubm9kZU5hbWUmJmUubm9kZU5hbWUudG9VcHBlckNhc2UoKT09PSJUUiI/JGkobixlKVswXTprbihuLGUpfSk7cmV0dXJuIHRoaXMucm93KHRbMF0pfSk7SChkb2N1bWVudCkub24oInBsdWdpbi1pbml0LmR0IixmdW5jdGlvbihlLHQpe3ZhciBuPW5ldyBxZSh0KTtuLm9uKCJzdGF0ZVNhdmVQYXJhbXMuRFQiLGZ1bmN0aW9uKHIsaSxhKXtmb3IodmFyIHM9aS5yb3dJZEZuLHU9aS5haURpc3BsYXlNYXN0ZXIsZD1bXSxtPTA7bTx1Lmxlbmd0aDttKyspe3ZhciB2PXVbbV0sZz1pLmFvRGF0YVt2XTtnLl9kZXRhaWxzU2hvdyYmZC5wdXNoKCIjIitzKGcuX2FEYXRhKSl9YS5jaGlsZFJvd3M9ZH0pLG4ub24oInN0YXRlTG9hZGVkLkRUIixmdW5jdGlvbihyLGksYSl7dnMobixhKX0pLHZzKG4sbi5zdGF0ZS5sb2FkZWQoKSl9KTt2YXIgdnM9ZnVuY3Rpb24oZSx0KXt0JiZ0LmNoaWxkUm93cyYmZS5yb3dzKHQuY2hpbGRSb3dzLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbi5yZXBsYWNlKC8oW146XFxdKig/OlxcLlteOlxcXSopKik6L2csIiQxXFw6Iil9KSkuZXZlcnkoZnVuY3Rpb24oKXtLZShlLnNldHRpbmdzKClbMF0sbnVsbCwicmVxdWVzdENoaWxkIixbdGhpc10pfSl9LGJ1PWZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpPVtdLGE9ZnVuY3Rpb24ocyx1KXtpZihBcnJheS5pc0FycmF5KHMpfHxzIGluc3RhbmNlb2YgSCl7Zm9yKHZhciBkPTAsbT1zLmxlbmd0aDtkPG07ZCsrKWEoc1tkXSx1KTtyZXR1cm59aWYocy5ub2RlTmFtZSYmcy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09InRyIilzLnNldEF0dHJpYnV0ZSgiZGF0YS1kdC1yb3ciLHQuaWR4KSxpLnB1c2gocyk7ZWxzZXt2YXIgdj1IKCI8dHI+PHRkPjwvdGQ+PC90cj4iKS5hdHRyKCJkYXRhLWR0LXJvdyIsdC5pZHgpLmFkZENsYXNzKHUpO0goInRkIix2KS5hZGRDbGFzcyh1KS5odG1sKHMpWzBdLmNvbFNwYW49JHIoZSksaS5wdXNoKHZbMF0pfX07YShuLHIpLHQuX2RldGFpbHMmJnQuX2RldGFpbHMuZGV0YWNoKCksdC5fZGV0YWlscz1IKGkpLHQuX2RldGFpbHNTaG93JiZ0Ll9kZXRhaWxzLmluc2VydEFmdGVyKHQublRyKX0sWHM9Z2UudXRpbC50aHJvdHRsZShmdW5jdGlvbihlKXtLcihlWzBdKX0sNTAwKSxpYT1mdW5jdGlvbihlLHQpe3ZhciBuPWUuY29udGV4dDtpZihuLmxlbmd0aCl7dmFyIHI9blswXS5hb0RhdGFbdCE9PXZvaWQgMD90OmVbMF1dO3ImJnIuX2RldGFpbHMmJihyLl9kZXRhaWxzLmRldGFjaCgpLHIuX2RldGFpbHNTaG93PXZvaWQgMCxyLl9kZXRhaWxzPXZvaWQgMCxIKHIublRyKS5yZW1vdmVDbGFzcygiZHQtaGFzQ2hpbGQiKSxYcyhuKSl9fSxacz1mdW5jdGlvbihlLHQpe3ZhciBuPWUuY29udGV4dDtpZihuLmxlbmd0aCYmZS5sZW5ndGgpe3ZhciByPW5bMF0uYW9EYXRhW2VbMF1dO3IuX2RldGFpbHMmJihyLl9kZXRhaWxzU2hvdz10LHQ/KHIuX2RldGFpbHMuaW5zZXJ0QWZ0ZXIoci5uVHIpLEgoci5uVHIpLmFkZENsYXNzKCJkdC1oYXNDaGlsZCIpKTooci5fZGV0YWlscy5kZXRhY2goKSxIKHIublRyKS5yZW1vdmVDbGFzcygiZHQtaGFzQ2hpbGQiKSksS2UoblswXSxudWxsLCJjaGlsZFJvdyIsW3QsZS5yb3coZVswXSldKSxfdShuWzBdKSxYcyhuKSl9fSxfdT1mdW5jdGlvbihlKXt2YXIgdD1uZXcgcWUoZSksbj0iLmR0LkRUX2RldGFpbHMiLHI9ImRyYXciK24saT0iY29sdW1uLXNpemluZyIrbixhPSJkZXN0cm95IituLHM9ZS5hb0RhdGE7dC5vZmYocisiICIraSsiICIrYSkseXQocywiX2RldGFpbHMiKS5sZW5ndGg+MCYmKHQub24ocixmdW5jdGlvbih1LGQpe2U9PT1kJiZ0LnJvd3Moe3BhZ2U6ImN1cnJlbnQifSkuZXEoMCkuZWFjaChmdW5jdGlvbihtKXt2YXIgdj1zW21dO3YuX2RldGFpbHNTaG93JiZ2Ll9kZXRhaWxzLmluc2VydEFmdGVyKHYublRyKX0pfSksdC5vbihpLGZ1bmN0aW9uKHUsZCl7aWYoZT09PWQpZm9yKHZhciBtLHY9JHIoZCksZz0wLHc9cy5sZW5ndGg7Zzx3O2crKyltPXNbZ10sbSYmbS5fZGV0YWlscyYmbS5fZGV0YWlscy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9SCh0aGlzKS5jaGlsZHJlbigidGQiKTtiLmxlbmd0aD09MSYmYi5hdHRyKCJjb2xzcGFuIix2KX0pfSksdC5vbihhLGZ1bmN0aW9uKHUsZCl7aWYoZT09PWQpZm9yKHZhciBtPTAsdj1zLmxlbmd0aDttPHY7bSsrKXNbbV0mJnNbbV0uX2RldGFpbHMmJmlhKHQsbSl9KSl9LHd1PSIiLG1yPXd1KyJyb3coKS5jaGlsZCIsZWk9bXIrIigpIjtOZShlaSxmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMuY29udGV4dDtyZXR1cm4gZT09PXZvaWQgMD9uLmxlbmd0aCYmdGhpcy5sZW5ndGgmJm5bMF0uYW9EYXRhW3RoaXNbMF1dP25bMF0uYW9EYXRhW3RoaXNbMF1dLl9kZXRhaWxzOnZvaWQgMDooZT09PSEwP3RoaXMuY2hpbGQuc2hvdygpOmU9PT0hMT9pYSh0aGlzKTpuLmxlbmd0aCYmdGhpcy5sZW5ndGgmJmJ1KG5bMF0sblswXS5hb0RhdGFbdGhpc1swXV0sZSx0KSx0aGlzKX0pO05lKFttcisiLnNob3coKSIsZWkrIi5zaG93KCkiXSxmdW5jdGlvbigpe3JldHVybiBacyh0aGlzLCEwKSx0aGlzfSk7TmUoW21yKyIuaGlkZSgpIixlaSsiLmhpZGUoKSJdLGZ1bmN0aW9uKCl7cmV0dXJuIFpzKHRoaXMsITEpLHRoaXN9KTtOZShbbXIrIi5yZW1vdmUoKSIsZWkrIi5yZW1vdmUoKSJdLGZ1bmN0aW9uKCl7cmV0dXJuIGlhKHRoaXMpLHRoaXN9KTtOZShtcisiLmlzU2hvd24oKSIsZnVuY3Rpb24oKXt2YXIgZT10aGlzLmNvbnRleHQ7cmV0dXJuIGUubGVuZ3RoJiZ0aGlzLmxlbmd0aCYmZVswXS5hb0RhdGFbdGhpc1swXV0mJmVbMF0uYW9EYXRhW3RoaXNbMF1dLl9kZXRhaWxzU2hvd3x8ITF9KTt2YXIgeHU9L14oW146XSspPzoobmFtZXx0aXRsZXx2aXNJZHh8dmlzaWJsZSkkLyxhYT1mdW5jdGlvbihlLHQsbixyLGksYSl7Zm9yKHZhciBzPVtdLHU9MCxkPWkubGVuZ3RoO3U8ZDt1Kyspcy5wdXNoKFV0KGUsaVt1XSx0LGEpKTtyZXR1cm4gc30sWXM9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWUuYW9IZWFkZXIsaT1lLnRpdGxlUm93LGE9bnVsbDtpZihuIT09dm9pZCAwKWE9bjtlbHNlIGlmKGk9PT0hMClhPTA7ZWxzZSBpZihpPT09ITEpYT1yLmxlbmd0aC0xO2Vsc2UgaWYoaSE9PW51bGwpYT1pO2Vsc2V7Zm9yKHZhciBzPTA7czxyLmxlbmd0aDtzKyspcltzXVt0XS51bmlxdWUmJkgoInNwYW4uZHQtY29sdW1uLXRpdGxlIixyW3NdW3RdLmNlbGwpLnRleHQoKSYmKGE9cyk7YT09PW51bGwmJihhPTApfXJldHVybiByW2FdW3RdLmNlbGx9LEN1PWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxuPTA7bjxlLmxlbmd0aDtuKyspZm9yKHZhciByPTA7cjxlW25dLmxlbmd0aDtyKyspe3ZhciBpPWVbbl1bcl0uY2VsbDt0LmluY2x1ZGVzKGkpfHx0LnB1c2goaSl9cmV0dXJuIHR9LFN1PWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1lLmFvQ29sdW1ucyxpLGEscz1DdShlLmFvSGVhZGVyKSx1PWZ1bmN0aW9uKG0pe3ZhciB2PVNzKG0pO2lmKG09PT0iIilyZXR1cm4gaG4oci5sZW5ndGgpO2lmKHYhPT1udWxsKXJldHVyblt2Pj0wP3Y6ci5sZW5ndGgrdl07aWYodHlwZW9mIG09PSJmdW5jdGlvbiIpe3ZhciBnPVFyKGUsbik7cmV0dXJuIHIubWFwKGZ1bmN0aW9uKGwscCl7cmV0dXJuIG0ocCxhYShlLHAsMCwwLGcpLFlzKGUscCkpP3A6bnVsbH0pfXZhciB3PXR5cGVvZiBtPT0ic3RyaW5nIj9tLm1hdGNoKHh1KToiIjtpZih3KXN3aXRjaCh3WzJdKXtjYXNlInZpc0lkeCI6Y2FzZSJ2aXNpYmxlIjppZih3WzFdJiZ3WzFdLm1hdGNoKC9eXGQrJC8pKXt2YXIgYj1wYXJzZUludCh3WzFdLDEwKTtpZihiPDApe3ZhciBUPXIubWFwKGZ1bmN0aW9uKGwscCl7cmV0dXJuIGwuYlZpc2libGU/cDpudWxsfSk7cmV0dXJuW1RbVC5sZW5ndGgrYl1dfXJldHVybltVaShlLGIpXX1yZXR1cm4gci5tYXAoZnVuY3Rpb24obCxwKXtyZXR1cm4gbC5iVmlzaWJsZT93WzFdP0goc1twXSkuZmlsdGVyKHdbMV0pLmxlbmd0aD4wP3A6bnVsbDpwOm51bGx9KTtjYXNlIm5hbWUiOnJldHVybiBpfHwoaT15dChyLCJzTmFtZSIpKSxpLm1hcChmdW5jdGlvbihsLHApe3JldHVybiBsPT09d1sxXT9wOm51bGx9KTtjYXNlInRpdGxlIjpyZXR1cm4gYXx8KGE9eXQociwic1RpdGxlIikpLGEubWFwKGZ1bmN0aW9uKGwscCl7cmV0dXJuIGw9PT13WzFdP3A6bnVsbH0pO2RlZmF1bHQ6cmV0dXJuW119aWYobS5ub2RlTmFtZSYmbS5fRFRfQ2VsbEluZGV4KXJldHVyblttLl9EVF9DZWxsSW5kZXguY29sdW1uXTt2YXIgRD1IKHMpLmZpbHRlcihtKS5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gR2kodGhpcyl9KS50b0FycmF5KCkuc29ydChmdW5jdGlvbihsLHApe3JldHVybiBsLXB9KTtpZihELmxlbmd0aHx8IW0ubm9kZU5hbWUpcmV0dXJuIEQ7dmFyIGg9SChtKS5jbG9zZXN0KCIqW2RhdGEtZHQtY29sdW1uXSIpO3JldHVybiBoLmxlbmd0aD9baC5kYXRhKCJkdC1jb2x1bW4iKV06W119LGQ9dGEoImNvbHVtbiIsdCx1LGUsbik7cmV0dXJuIG4uY29sdW1uT3JkZXImJm4uY29sdW1uT3JkZXI9PT0iaW5kZXgiP2Quc29ydChmdW5jdGlvbihtLHYpe3JldHVybiBtLXZ9KTpkfSxUdT1mdW5jdGlvbihlLHQsbil7dmFyIHI9ZS5hb0NvbHVtbnMsaT1yW3RdLGE9ZS5hb0RhdGEscyx1LGQsbTtpZihuPT09dm9pZCAwKXJldHVybiBpLmJWaXNpYmxlO2lmKGkuYlZpc2libGU9PT1uKXJldHVybiExO2lmKG4pe3ZhciB2PXl0KHIsImJWaXNpYmxlIikuaW5kZXhPZighMCx0KzEpO2Zvcih1PTAsZD1hLmxlbmd0aDt1PGQ7dSsrKWFbdV0mJihtPWFbdV0ublRyLHM9YVt1XS5hbkNlbGxzLG0mJm0uaW5zZXJ0QmVmb3JlKHNbdF0sc1t2XXx8bnVsbCkpfWVsc2UgSCh5dChlLmFvRGF0YSwiYW5DZWxscyIsdCkpLmRldGFjaCgpO3JldHVybiBpLmJWaXNpYmxlPW4sVnMoZSksITB9O05lKCJjb2x1bW5zKCkiLGZ1bmN0aW9uKGUsdCl7ZT09PXZvaWQgMD9lPSIiOkguaXNQbGFpbk9iamVjdChlKSYmKHQ9ZSxlPSIiKSx0PW5hKHQpO3ZhciBuPXRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihyKXtyZXR1cm4gU3UocixlLHQpfSwxKTtyZXR1cm4gbi5zZWxlY3Rvci5jb2xzPWUsbi5zZWxlY3Rvci5vcHRzPXQsbn0pO2V0KCJjb2x1bW5zKCkuaGVhZGVyKCkiLCJjb2x1bW4oKS5oZWFkZXIoKSIsZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNvbHVtbiIsZnVuY3Rpb24odCxuKXtyZXR1cm4gWXModCxuLGUpfSwxKX0pO2V0KCJjb2x1bW5zKCkuZm9vdGVyKCkiLCJjb2x1bW4oKS5mb290ZXIoKSIsZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNvbHVtbiIsZnVuY3Rpb24odCxuKXt2YXIgcj10LmFvRm9vdGVyO3JldHVybiByLmxlbmd0aD90LmFvRm9vdGVyW2UhPT12b2lkIDA/ZTowXVtuXS5jZWxsOm51bGx9LDEpfSk7ZXQoImNvbHVtbnMoKS5kYXRhKCkiLCJjb2x1bW4oKS5kYXRhKCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNvbHVtbi1yb3dzIixhYSwxKX0pO2V0KCJjb2x1bW5zKCkucmVuZGVyKCkiLCJjb2x1bW4oKS5yZW5kZXIoKSIsZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNvbHVtbi1yb3dzIixmdW5jdGlvbih0LG4scixpLGEpe3JldHVybiBhYSh0LG4scixpLGEsZSl9LDEpfSk7ZXQoImNvbHVtbnMoKS5kYXRhU3JjKCkiLCJjb2x1bW4oKS5kYXRhU3JjKCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNvbHVtbiIsZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5hb0NvbHVtbnNbdF0ubURhdGF9LDEpfSk7ZXQoImNvbHVtbnMoKS5jYWNoZSgpIiwiY29sdW1uKCkuY2FjaGUoKSIsZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNvbHVtbi1yb3dzIixmdW5jdGlvbih0LG4scixpLGEpe3JldHVybiBocih0LmFvRGF0YSxhLGU9PT0ic2VhcmNoIj8iX2FGaWx0ZXJEYXRhIjoiX2FTb3J0RGF0YSIsbil9LDEpfSk7ZXQoImNvbHVtbnMoKS5pbml0KCkiLCJjb2x1bW4oKS5pbml0KCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNvbHVtbiIsZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5hb0NvbHVtbnNbdF19LDEpfSk7ZXQoImNvbHVtbnMoKS5uYW1lcygpIiwiY29sdW1uKCkubmFtZSgpIixmdW5jdGlvbigpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJjb2x1bW4iLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuYW9Db2x1bW5zW3RdLnNOYW1lfSwxKX0pO2V0KCJjb2x1bW5zKCkubm9kZXMoKSIsImNvbHVtbigpLm5vZGVzKCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNvbHVtbi1yb3dzIixmdW5jdGlvbihlLHQsbixyLGkpe3JldHVybiBocihlLmFvRGF0YSxpLCJhbkNlbGxzIix0KX0sMSl9KTtldCgiY29sdW1ucygpLnRpdGxlcygpIiwiY29sdW1uKCkudGl0bGUoKSIsZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5pdGVyYXRvcigiY29sdW1uIixmdW5jdGlvbihuLHIpe3R5cGVvZiBlPT0ibnVtYmVyIiYmKHQ9ZSxlPXZvaWQgMCk7dmFyIGk9SCgic3Bhbi5kdC1jb2x1bW4tdGl0bGUiLHRoaXMuY29sdW1uKHIpLmhlYWRlcih0KSk7cmV0dXJuIGUhPT12b2lkIDA/KGkuaHRtbChlKSx0aGlzKTppLmh0bWwoKX0sMSl9KTtldCgiY29sdW1ucygpLnR5cGVzKCkiLCJjb2x1bW4oKS50eXBlKCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNvbHVtbiIsZnVuY3Rpb24oZSx0KXt2YXIgbj1lLmFvQ29sdW1uc1t0XS5zVHlwZTtyZXR1cm4gbnx8WHIoZSksbn0sMSl9KTtldCgiY29sdW1ucygpLnZpc2libGUoKSIsImNvbHVtbigpLnZpc2libGUoKSIsZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLHI9W10saT10aGlzLml0ZXJhdG9yKCJjb2x1bW4iLGZ1bmN0aW9uKGEscyl7aWYoZT09PXZvaWQgMClyZXR1cm4gYS5hb0NvbHVtbnNbc10uYlZpc2libGU7VHUoYSxzLGUpJiZyLnB1c2gocyl9KTtyZXR1cm4gZSE9PXZvaWQgMCYmdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGEpe0hyKGEsYS5hb0hlYWRlciksSHIoYSxhLmFvRm9vdGVyKSxhLmFpRGlzcGxheS5sZW5ndGh8fEgoYS5uVEJvZHkpLmZpbmQoInRkW2NvbHNwYW5dIikuYXR0cigiY29sc3BhbiIsJHIoYSkpLEtyKGEpLG4uaXRlcmF0b3IoImNvbHVtbiIsZnVuY3Rpb24ocyx1KXtyLmluY2x1ZGVzKHUpJiZLZShzLG51bGwsImNvbHVtbi12aXNpYmlsaXR5Iixbcyx1LGUsdF0pfSksci5sZW5ndGgmJih0PT09dm9pZCAwfHx0KSYmbi5jb2x1bW5zLmFkanVzdCgpfSksaX0pO2V0KCJjb2x1bW5zKCkud2lkdGhzKCkiLCJjb2x1bW4oKS53aWR0aCgpIixmdW5jdGlvbigpe3ZhciBlPXRoaXMuY29sdW1ucygiOnZpc2libGUiKS5jb3VudCgpLHQ9SCgiPHRyPiIpLmh0bWwoIjx0ZD4iK0FycmF5KGUpLmpvaW4oIjwvdGQ+PHRkPiIpKyI8L3RkPiIpO0godGhpcy50YWJsZSgpLmJvZHkoKSkuYXBwZW5kKHQpO3ZhciBuPXQuY2hpbGRyZW4oKS5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gSCh0aGlzKS5vdXRlcldpZHRoKCl9KTtyZXR1cm4gdC5yZW1vdmUoKSx0aGlzLml0ZXJhdG9yKCJjb2x1bW4iLGZ1bmN0aW9uKHIsaSl7dmFyIGE9cHIocixpKTtyZXR1cm4gYSE9PW51bGw/blthXTowfSwxKX0pO2V0KCJjb2x1bW5zKCkuaW5kZXhlcygpIiwiY29sdW1uKCkuaW5kZXgoKSIsZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNvbHVtbiIsZnVuY3Rpb24odCxuKXtyZXR1cm4gZT09PSJ2aXNpYmxlIj9wcih0LG4pOm59LDEpfSk7TmUoImNvbHVtbnMuYWRqdXN0KCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihlKXtlLmNvbnRhaW5lcldpZHRoPS0xLEdyKGUpfSwxKX0pO05lKCJjb2x1bW4uaW5kZXgoKSIsZnVuY3Rpb24oZSx0KXtpZih0aGlzLmNvbnRleHQubGVuZ3RoIT09MCl7dmFyIG49dGhpcy5jb250ZXh0WzBdO2lmKGU9PT0iZnJvbVZpc2libGUifHxlPT09InRvRGF0YSIpcmV0dXJuIFVpKG4sdCk7aWYoZT09PSJmcm9tRGF0YSJ8fGU9PT0idG9WaXNpYmxlIilyZXR1cm4gcHIobix0KX19KTtOZSgiY29sdW1uKCkiLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHJhKHRoaXMuY29sdW1ucyhlLHQpKX0pO3ZhciBEdT1mdW5jdGlvbihlLHQsbil7dmFyIHI9ZS5hb0RhdGEsaT1RcihlLG4pLGE9RHMoaHIocixpLCJhbkNlbGxzIikpLHM9SChrcyhbXSxhKSksdSxkPWUuYW9Db2x1bW5zLmxlbmd0aCxtLHYsZyx3LGIsVCxEPWZ1bmN0aW9uKGgpe3ZhciBsPXR5cGVvZiBoPT0iZnVuY3Rpb24iO2lmKGg9PW51bGx8fGwpe2ZvcihtPVtdLHY9MCxnPWkubGVuZ3RoO3Y8Zzt2KyspZm9yKHU9aVt2XSx3PTA7dzxkO3crKyliPXtyb3c6dSxjb2x1bW46d30sbD8oVD1yW3VdLGgoYixVdChlLHUsdyksVC5hbkNlbGxzP1QuYW5DZWxsc1t3XTpudWxsKSYmbS5wdXNoKGIpKTptLnB1c2goYik7cmV0dXJuIG19aWYoSC5pc1BsYWluT2JqZWN0KGgpKXJldHVybiBoLmNvbHVtbiE9PXZvaWQgMCYmaC5yb3chPT12b2lkIDAmJmkuaW5kZXhPZihoLnJvdykhPT0tMT9baF06W107dmFyIHA9cy5maWx0ZXIoaCkubWFwKGZ1bmN0aW9uKEMsRil7cmV0dXJue3JvdzpGLl9EVF9DZWxsSW5kZXgucm93LGNvbHVtbjpGLl9EVF9DZWxsSW5kZXguY29sdW1ufX0pLnRvQXJyYXkoKTtyZXR1cm4gcC5sZW5ndGh8fCFoLm5vZGVOYW1lP3A6KFQ9SChoKS5jbG9zZXN0KCIqW2RhdGEtZHQtcm93XSIpLFQubGVuZ3RoP1t7cm93OlQuZGF0YSgiZHQtcm93IiksY29sdW1uOlQuZGF0YSgiZHQtY29sdW1uIil9XTpbXSl9O3JldHVybiB0YSgiY2VsbCIsdCxELGUsbil9O05lKCJjZWxscygpIixmdW5jdGlvbihlLHQsbil7aWYoSC5pc1BsYWluT2JqZWN0KGUpJiYoZS5yb3c9PT12b2lkIDA/KG49ZSxlPW51bGwpOihuPXQsdD1udWxsKSksSC5pc1BsYWluT2JqZWN0KHQpJiYobj10LHQ9bnVsbCksdD09bnVsbClyZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKHcpe3JldHVybiBEdSh3LGUsbmEobikpfSk7dmFyIHI9bj97cGFnZTpuLnBhZ2Usb3JkZXI6bi5vcmRlcixzZWFyY2g6bi5zZWFyY2h9Ont9LGk9dGhpcy5jb2x1bW5zKHQsciksYT10aGlzLnJvd3MoZSxyKSxzLHUsZCxtLHY9dGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKHcsYil7dmFyIFQ9W107Zm9yKHM9MCx1PWFbYl0ubGVuZ3RoO3M8dTtzKyspZm9yKGQ9MCxtPWlbYl0ubGVuZ3RoO2Q8bTtkKyspVC5wdXNoKHtyb3c6YVtiXVtzXSxjb2x1bW46aVtiXVtkXX0pO3JldHVybiBUfSwxKSxnPW4mJm4uc2VsZWN0ZWQ/dGhpcy5jZWxscyh2LG4pOnY7cmV0dXJuIEguZXh0ZW5kKGcuc2VsZWN0b3Ise2NvbHM6dCxyb3dzOmUsb3B0czpufSksZ30pO2V0KCJjZWxscygpLm5vZGVzKCkiLCJjZWxsKCkubm9kZSgpIixmdW5jdGlvbigpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJjZWxsIixmdW5jdGlvbihlLHQsbil7dmFyIHI9ZS5hb0RhdGFbdF07cmV0dXJuIHImJnIuYW5DZWxscz9yLmFuQ2VsbHNbbl06dm9pZCAwfSwxKX0pO05lKCJjZWxscygpLmRhdGEoKSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigiY2VsbCIsZnVuY3Rpb24oZSx0LG4pe3JldHVybiBVdChlLHQsbil9LDEpfSk7ZXQoImNlbGxzKCkuY2FjaGUoKSIsImNlbGwoKS5jYWNoZSgpIixmdW5jdGlvbihlKXtyZXR1cm4gZT1lPT09InNlYXJjaCI/Il9hRmlsdGVyRGF0YSI6Il9hU29ydERhdGEiLHRoaXMuaXRlcmF0b3IoImNlbGwiLGZ1bmN0aW9uKHQsbixyKXtyZXR1cm4gdC5hb0RhdGFbbl1bZV1bcl19LDEpfSk7ZXQoImNlbGxzKCkucmVuZGVyKCkiLCJjZWxsKCkucmVuZGVyKCkiLGZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJjZWxsIixmdW5jdGlvbih0LG4scil7cmV0dXJuIFV0KHQsbixyLGUpfSwxKX0pO2V0KCJjZWxscygpLmluZGV4ZXMoKSIsImNlbGwoKS5pbmRleCgpIixmdW5jdGlvbigpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJjZWxsIixmdW5jdGlvbihlLHQsbil7cmV0dXJue3Jvdzp0LGNvbHVtbjpuLGNvbHVtblZpc2libGU6cHIoZSxuKX19LDEpfSk7ZXQoImNlbGxzKCkuaW52YWxpZGF0ZSgpIiwiY2VsbCgpLmludmFsaWRhdGUoKSIsZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNlbGwiLGZ1bmN0aW9uKHQsbixyKXtacih0LG4sZSxyKX0pfSk7TmUoImNlbGwoKSIsZnVuY3Rpb24oZSx0LG4pe3JldHVybiByYSh0aGlzLmNlbGxzKGUsdCxuKSl9KTtOZSgiY2VsbCgpLmRhdGEoKSIsZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5jb250ZXh0LG49dGhpc1swXTtyZXR1cm4gZT09PXZvaWQgMD90Lmxlbmd0aCYmbi5sZW5ndGg/VXQodFswXSxuWzBdLnJvdyxuWzBdLmNvbHVtbik6dm9pZCAwOihabCh0WzBdLG5bMF0ucm93LG5bMF0uY29sdW1uLGUpLFpyKHRbMF0sblswXS5yb3csImRhdGEiLG5bMF0uY29sdW1uKSx0aGlzKX0pO05lKCJvcmRlcigpIixmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMuY29udGV4dCxyPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7cmV0dXJuIGU9PT12b2lkIDA/bi5sZW5ndGghPT0wP25bMF0uYWFTb3J0aW5nOnZvaWQgMDoodHlwZW9mIGU9PSJudW1iZXIiP2U9W1tlLHRdXTpyLmxlbmd0aD4xJiYoZT1yKSx0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oaSl7dmFyIGE9W107VG4oaSxhLGUpLGkuYWFTb3J0aW5nPWF9KSl9KTtOZSgib3JkZXIubGlzdGVuZXIoKSIsZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24ocil7SHMocixlLHt9LHQsbil9KX0pO05lKCJvcmRlci5maXhlZCgpIixmdW5jdGlvbihlKXtpZighZSl7dmFyIHQ9dGhpcy5jb250ZXh0LG49dC5sZW5ndGg/dFswXS5hYVNvcnRpbmdGaXhlZDp2b2lkIDA7cmV0dXJuIEFycmF5LmlzQXJyYXkobik/e3ByZTpufTpufXJldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24ocil7ci5hYVNvcnRpbmdGaXhlZD1ILmV4dGVuZCghMCx7fSxlKX0pfSk7TmUoWyJjb2x1bW5zKCkub3JkZXIoKSIsImNvbHVtbigpLm9yZGVyKCkiXSxmdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiBlP3RoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihuLHIpe24uYWFTb3J0aW5nPXRbcl0ubWFwKGZ1bmN0aW9uKGkpe3JldHVybltpLGVdfSl9KTp0aGlzLml0ZXJhdG9yKCJjb2x1bW4iLGZ1bmN0aW9uKG4scil7Zm9yKHZhciBpPVlyKG4pLGE9MCxzPWkubGVuZ3RoO2E8czthKyspaWYoaVthXS5jb2w9PT1yKXJldHVybiBpW2FdLmRpcjtyZXR1cm4gbnVsbH0sMSl9KTtldCgiY29sdW1ucygpLm9yZGVyYWJsZSgpIiwiY29sdW1uKCkub3JkZXJhYmxlKCkiLGZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJjb2x1bW4iLGZ1bmN0aW9uKHQsbil7dmFyIHI9dC5hb0NvbHVtbnNbbl07cmV0dXJuIGU/ci5hc1NvcnRpbmc6ci5iU29ydGFibGV9LDEpfSk7TmUoInByb2Nlc3NpbmcoKSIsZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbih0KXtQdCh0LGUpfSl9KTtOZSgic2VhcmNoKCkiLGZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpPXRoaXMuY29udGV4dDtyZXR1cm4gZT09PXZvaWQgMD9pLmxlbmd0aCE9PTA/aVswXS5vUHJldmlvdXNTZWFyY2guc2VhcmNoOnZvaWQgMDp0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oYSl7YS5vRmVhdHVyZXMuYkZpbHRlciYmKHR5cGVvZiB0PT0ib2JqZWN0Ij9mcihhLEguZXh0ZW5kKGEub1ByZXZpb3VzU2VhcmNoLHQse3NlYXJjaDplfSkpOmZyKGEsSC5leHRlbmQoYS5vUHJldmlvdXNTZWFyY2gse3NlYXJjaDplLHJlZ2V4OnQ9PT1udWxsPyExOnQsc21hcnQ6bj09PW51bGw/ITA6bixjYXNlSW5zZW5zaXRpdmU6cj09PW51bGw/ITA6cn0pKSl9KX0pO05lKCJzZWFyY2guZml4ZWQoKSIsZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLml0ZXJhdG9yKCEwLCJ0YWJsZSIsZnVuY3Rpb24ocil7dmFyIGk9ci5zZWFyY2hGaXhlZDtpZihlKXtpZih0PT09dm9pZCAwKXJldHVybiBpW2VdO3Q9PT1udWxsP2RlbGV0ZSBpW2VdOmlbZV09dH1lbHNlIHJldHVybiBPYmplY3Qua2V5cyhpKTtyZXR1cm4gdGhpc30pO3JldHVybiBlIT09dm9pZCAwJiZ0PT09dm9pZCAwP25bMF06bn0pO2V0KCJjb2x1bW5zKCkuc2VhcmNoKCkiLCJjb2x1bW4oKS5zZWFyY2goKSIsZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNvbHVtbiIsZnVuY3Rpb24oaSxhKXt2YXIgcz1pLmFvUHJlU2VhcmNoQ29scztpZihlPT09dm9pZCAwKXJldHVybiBzW2FdLnNlYXJjaDtpLm9GZWF0dXJlcy5iRmlsdGVyJiYodHlwZW9mIHQ9PSJvYmplY3QiP0guZXh0ZW5kKHNbYV0sdCx7c2VhcmNoOmV9KTpILmV4dGVuZChzW2FdLHtzZWFyY2g6ZSxyZWdleDp0PT09bnVsbD8hMTp0LHNtYXJ0Om49PT1udWxsPyEwOm4sY2FzZUluc2Vuc2l0aXZlOnI9PT1udWxsPyEwOnJ9KSxmcihpLGkub1ByZXZpb3VzU2VhcmNoKSl9KX0pO05lKFsiY29sdW1ucygpLnNlYXJjaC5maXhlZCgpIiwiY29sdW1uKCkuc2VhcmNoLmZpeGVkKCkiXSxmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMuaXRlcmF0b3IoITAsImNvbHVtbiIsZnVuY3Rpb24ocixpKXt2YXIgYT1yLmFvQ29sdW1uc1tpXS5zZWFyY2hGaXhlZDtpZihlKXtpZih0PT09dm9pZCAwKXJldHVybiBhW2VdfHxudWxsO3Q9PT1udWxsP2RlbGV0ZSBhW2VdOmFbZV09dH1lbHNlIHJldHVybiBPYmplY3Qua2V5cyhhKTtyZXR1cm4gdGhpc30pO3JldHVybiBlIT09dm9pZCAwJiZ0PT09dm9pZCAwP25bMF06bn0pO05lKCJzdGF0ZSgpIixmdW5jdGlvbihlLHQpe2lmKCFlKXJldHVybiB0aGlzLmNvbnRleHQubGVuZ3RoP3RoaXMuY29udGV4dFswXS5vU2F2ZWRTdGF0ZTpudWxsO3ZhciBuPUguZXh0ZW5kKCEwLHt9LGUpO3JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24ocil7dCE9PSExJiYobi50aW1lPStuZXcgRGF0ZSsxMDApLFZpKHIsbixmdW5jdGlvbigpe30pfSl9KTtOZSgic3RhdGUuY2xlYXIoKSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGUpe2UuZm5TdGF0ZVNhdmVDYWxsYmFjay5jYWxsKGUub0luc3RhbmNlLGUse30pfSl9KTtOZSgic3RhdGUubG9hZGVkKCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29udGV4dC5sZW5ndGg/dGhpcy5jb250ZXh0WzBdLm9Mb2FkZWRTdGF0ZTpudWxsfSk7TmUoInN0YXRlLnNhdmUoKSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGUpe0tyKGUpfSl9KTt2YXIgZ3MseXM7Z2UudXNlPWZ1bmN0aW9uKGUsdCl7dmFyIG49dHlwZW9mIGU9PSJzdHJpbmciP3Q6ZSxyPXR5cGVvZiB0PT0ic3RyaW5nIj90OmU7aWYobj09PXZvaWQgMCYmdHlwZW9mIHI9PSJzdHJpbmciKXN3aXRjaChyKXtjYXNlImxpYiI6Y2FzZSJqcSI6cmV0dXJuIEg7Y2FzZSJ3aW4iOnJldHVybiB3aW5kb3c7Y2FzZSJkYXRldGltZSI6cmV0dXJuIGdlLkRhdGVUaW1lO2Nhc2UibHV4b24iOnJldHVybiBnbjtjYXNlIm1vbWVudCI6cmV0dXJuIEFuO2Nhc2UiYm9vdHN0cmFwIjpyZXR1cm4gZ3N8fHdpbmRvdy5ib290c3RyYXA7Y2FzZSJmb3VuZGF0aW9uIjpyZXR1cm4geXN8fHdpbmRvdy5Gb3VuZGF0aW9uO2RlZmF1bHQ6cmV0dXJuIG51bGx9cj09PSJsaWIifHxyPT09ImpxInx8biYmbi5mbiYmbi5mbi5qcXVlcnk/SD1uOnI9PT0id2luInx8biYmbi5kb2N1bWVudD8od2luZG93PW4sZG9jdW1lbnQ9bi5kb2N1bWVudCk6cj09PSJkYXRldGltZSJ8fG4mJm4udHlwZT09PSJEYXRlVGltZSI/Z2UuRGF0ZVRpbWU9bjpyPT09Imx1eG9uInx8biYmbi5GaXhlZE9mZnNldFpvbmU/Z249bjpyPT09Im1vbWVudCJ8fG4mJm4uaXNNb21lbnQ/QW49bjpyPT09ImJvb3RzdHJhcCJ8fG4mJm4uTW9kYWwmJm4uTW9kYWwuTkFNRT09PSJtb2RhbCI/Z3M9bjoocj09PSJmb3VuZGF0aW9uInx8biYmbi5SZXZlYWwpJiYoeXM9bil9O2dlLmZhY3Rvcnk9ZnVuY3Rpb24oZSx0KXt2YXIgbj0hMTtyZXR1cm4gZSYmZS5kb2N1bWVudCYmKHdpbmRvdz1lLGRvY3VtZW50PWUuZG9jdW1lbnQpLHQmJnQuZm4mJnQuZm4uanF1ZXJ5JiYoSD10LG49ITApLG59O2dlLnZlcnNpb25DaGVjaz1mdW5jdGlvbihlLHQpe2Zvcih2YXIgbj10P3Quc3BsaXQoIi4iKTpnZS52ZXJzaW9uLnNwbGl0KCIuIikscj1lLnNwbGl0KCIuIiksaSxhLHM9MCx1PXIubGVuZ3RoO3M8dTtzKyspaWYoaT1wYXJzZUludChuW3NdLDEwKXx8MCxhPXBhcnNlSW50KHJbc10sMTApfHwwLGkhPT1hKXJldHVybiBpPmE7cmV0dXJuITB9O2dlLmlzRGF0YVRhYmxlPWZ1bmN0aW9uKGUpe3ZhciB0PUgoZSkuZ2V0KDApLG49ITE7cmV0dXJuIGUgaW5zdGFuY2VvZiBnZS5BcGk/ITA6KEguZWFjaChnZS5zZXR0aW5ncyxmdW5jdGlvbihyLGkpe3ZhciBhPWkublNjcm9sbEhlYWQ/SCgidGFibGUiLGkublNjcm9sbEhlYWQpWzBdOm51bGwscz1pLm5TY3JvbGxGb290P0goInRhYmxlIixpLm5TY3JvbGxGb290KVswXTpudWxsOyhpLm5UYWJsZT09PXR8fGE9PT10fHxzPT09dCkmJihuPSEwKX0pLG4pfTtnZS50YWJsZXM9ZnVuY3Rpb24oZSl7dmFyIHQ9ITE7SC5pc1BsYWluT2JqZWN0KGUpJiYodD1lLmFwaSxlPWUudmlzaWJsZSk7dmFyIG49Z2Uuc2V0dGluZ3MuZmlsdGVyKGZ1bmN0aW9uKHIpe3JldHVybiEhKCFlfHxlJiZIKHIublRhYmxlKS5pcygiOnZpc2libGUiKSl9KS5tYXAoZnVuY3Rpb24ocil7cmV0dXJuIHIublRhYmxlfSk7cmV0dXJuIHQ/bmV3IHFlKG4pOm59O2dlLmNhbWVsVG9IdW5nYXJpYW49cG47TmUoIiQoKSIsZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLnJvd3ModCkubm9kZXMoKSxyPUgobik7cmV0dXJuIEgoW10uY29uY2F0KHIuZmlsdGVyKGUpLnRvQXJyYXkoKSxyLmZpbmQoZSkudG9BcnJheSgpKSl9KTtILmVhY2goWyJvbiIsIm9uZSIsIm9mZiJdLGZ1bmN0aW9uKGUsdCl7TmUodCsiKCkiLGZ1bmN0aW9uKCl7dmFyIG49QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtuWzBdPW5bMF0uc3BsaXQoL1xzLykubWFwKGZ1bmN0aW9uKGkpe3JldHVybiBpLm1hdGNoKC9cLmR0XGIvKT9pOmkrIi5kdCJ9KS5qb2luKCIgIik7dmFyIHI9SCh0aGlzLnRhYmxlcygpLm5vZGVzKCkpO3JldHVybiByW3RdLmFwcGx5KHIsbiksdGhpc30pfSk7TmUoImNsZWFyKCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihlKXtYaShlKX0pfSk7TmUoImVycm9yKCkiLGZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24odCl7V3QodCwwLGUpfSl9KTtOZSgic2V0dGluZ3MoKSIsZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHFlKHRoaXMuY29udGV4dCx0aGlzLmNvbnRleHQpfSk7TmUoImluaXQoKSIsZnVuY3Rpb24oKXt2YXIgZT10aGlzLmNvbnRleHQ7cmV0dXJuIGUubGVuZ3RoP2VbMF0ub0luaXQ6bnVsbH0pO05lKCJkYXRhKCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihlKXtyZXR1cm4geXQoZS5hb0RhdGEsIl9hRGF0YSIpfSkuZmxhdHRlbigpfSk7TmUoInRyaWdnZXIoKSIsZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24ocil7cmV0dXJuIEtlKHIsbnVsbCxlLHQsbil9KS5mbGF0dGVuKCl9KTtOZSgicmVhZHkoKSIsZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5jb250ZXh0O3JldHVybiBlP3RoaXMudGFibGVzKCkuZXZlcnkoZnVuY3Rpb24oKXt2YXIgbj10aGlzO3RoaXMuY29udGV4dFswXS5fYkluaXRDb21wbGV0ZT9lLmNhbGwobik6dGhpcy5vbigiaW5pdC5kdC5EVCIsZnVuY3Rpb24oKXtlLmNhbGwobil9KX0pOnQubGVuZ3RoP3RbMF0uX2JJbml0Q29tcGxldGV8fCExOm51bGx9KTtOZSgiZGVzdHJveSgpIixmdW5jdGlvbihlKXtyZXR1cm4gZT1lfHwhMSx0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24odCl7dmFyIG49dC5vQ2xhc3NlcyxyPXQublRhYmxlLGk9dC5uVEJvZHksYT10Lm5USGVhZCxzPXQublRGb290LHU9SChyKSxkPUgoaSksbT1IKHQublRhYmxlV3JhcHBlciksdj10LmFvRGF0YS5tYXAoZnVuY3Rpb24oaCl7cmV0dXJuIGg/aC5uVHI6bnVsbH0pLGc9bi5vcmRlcjt0LmJEZXN0cm95aW5nPSEwLEtlKHQsImFvRGVzdHJveUNhbGxiYWNrIiwiZGVzdHJveSIsW3RdLCEwKSxlfHxuZXcgcWUodCkuY29sdW1ucygpLnZpc2libGUoITApLHQucmVzaXplT2JzZXJ2ZXImJnQucmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpLG0ub2ZmKCIuRFQiKS5maW5kKCI6bm90KHRib2R5ICopIikub2ZmKCIuRFQiKSxIKHdpbmRvdykub2ZmKCIuRFQtIit0LnNJbnN0YW5jZSksciE9YS5wYXJlbnROb2RlJiYodS5jaGlsZHJlbigidGhlYWQiKS5kZXRhY2goKSx1LmFwcGVuZChhKSkscyYmciE9cy5wYXJlbnROb2RlJiYodS5jaGlsZHJlbigidGZvb3QiKS5kZXRhY2goKSx1LmFwcGVuZChzKSksYnMoYSwiaGVhZGVyIiksYnMocywiZm9vdGVyIiksdC5jb2xncm91cC5yZW1vdmUoKSx0LmFhU29ydGluZz1bXSx0LmFhU29ydGluZ0ZpeGVkPVtdLGppKHQpLEgodSkuZmluZCgidGgsIHRkIikucmVtb3ZlQ2xhc3MoSC5tYXAoZ2UuZXh0LnR5cGUuY2xhc3NOYW1lLGZ1bmN0aW9uKGgpe3JldHVybiBofSkuam9pbigiICIpKSxIKCJ0aCwgdGQiLGEpLnJlbW92ZUNsYXNzKGcubm9uZSsiICIrZy5jYW5Bc2MrIiAiK2cuY2FuRGVzYysiICIrZy5pc0FzYysiICIrZy5pc0Rlc2MpLmNzcygid2lkdGgiLCIiKS5yZW1vdmVBdHRyKCJhcmlhLXNvcnQiKSxkLmNoaWxkcmVuKCkuZGV0YWNoKCksZC5hcHBlbmQodik7dmFyIHc9dC5uVGFibGVXcmFwcGVyLnBhcmVudE5vZGUsYj10Lm5UYWJsZVdyYXBwZXIubmV4dFNpYmxpbmcsVD1lPyJyZW1vdmUiOiJkZXRhY2giO3VbVF0oKSxtW1RdKCksIWUmJncmJih3Lmluc2VydEJlZm9yZShyLGIpLHUuY3NzKCJ3aWR0aCIsdC5zRGVzdHJveVdpZHRoKS5yZW1vdmVDbGFzcyhuLnRhYmxlKSk7dmFyIEQ9Z2Uuc2V0dGluZ3MuaW5kZXhPZih0KTtEIT09LTEmJmdlLnNldHRpbmdzLnNwbGljZShELDEpfSl9KTtILmVhY2goWyJjb2x1bW4iLCJyb3ciLCJjZWxsIl0sZnVuY3Rpb24oZSx0KXtOZSh0KyJzKCkuZXZlcnkoKSIsZnVuY3Rpb24obil7dmFyIHI9dGhpcy5zZWxlY3Rvci5vcHRzLGk9dGhpcyxhLHM9MDtyZXR1cm4gdGhpcy5pdGVyYXRvcigiZXZlcnkiLGZ1bmN0aW9uKHUsZCxtKXthPWlbdF0oZCxyKSx0PT09ImNlbGwiP24uY2FsbChhLGFbMF1bMF0ucm93LGFbMF1bMF0uY29sdW1uLG0scyk6bi5jYWxsKGEsZCxtLHMpLHMrK30pfSl9KTtOZSgiaTE4bigpIixmdW5jdGlvbihlLHQsbil7dmFyIHI9dGhpcy5jb250ZXh0WzBdLGk9em4oZSkoci5vTGFuZ3VhZ2UpO3JldHVybiBpPT09dm9pZCAwJiYoaT10KSxILmlzUGxhaW5PYmplY3QoaSkmJihpPW4hPT12b2lkIDAmJmlbbl0hPT12b2lkIDA/aVtuXTpuPT09ITE/aTppLl8pLHR5cGVvZiBpPT0ic3RyaW5nIj9pLnJlcGxhY2UoIiVkIixuKTppfSk7ZnVuY3Rpb24gYnMoZSx0KXtIKGUpLmZpbmQoInNwYW4uZHQtY29sdW1uLW9yZGVyIikucmVtb3ZlKCksSChlKS5maW5kKCJzcGFuLmR0LWNvbHVtbi10aXRsZSIpLmVhY2goZnVuY3Rpb24oKXt2YXIgbj1IKHRoaXMpLmh0bWwoKTtIKHRoaXMpLnBhcmVudCgpLnBhcmVudCgpLmFwcGVuZChuKSxIKHRoaXMpLnJlbW92ZSgpfSksSChlKS5maW5kKCJkaXYuZHQtY29sdW1uLSIrdCkucmVtb3ZlKCksSCgidGgsIHRkIixlKS5yZW1vdmVBdHRyKCJkYXRhLWR0LWNvbHVtbiIpfWdlLnZlcnNpb249IjIuMy4zIjtnZS5zZXR0aW5ncz1bXTtnZS5tb2RlbHM9e307Z2UubW9kZWxzLm9TZWFyY2g9e2Nhc2VJbnNlbnNpdGl2ZTohMCxzZWFyY2g6IiIscmVnZXg6ITEsc21hcnQ6ITAscmV0dXJuOiExfTtnZS5tb2RlbHMub1Jvdz17blRyOm51bGwsYW5DZWxsczpudWxsLF9hRGF0YTpbXSxfYVNvcnREYXRhOm51bGwsX2FGaWx0ZXJEYXRhOm51bGwsX3NGaWx0ZXJSb3c6bnVsbCxzcmM6bnVsbCxpZHg6LTEsZGlzcGxheURhdGE6bnVsbH07Z2UubW9kZWxzLm9Db2x1bW49e2lkeDpudWxsLGFEYXRhU29ydDpudWxsLGFzU29ydGluZzpudWxsLGJTZWFyY2hhYmxlOm51bGwsYlNvcnRhYmxlOm51bGwsYlZpc2libGU6bnVsbCxfc01hbnVhbFR5cGU6bnVsbCxfYkF0dHJTcmM6ITEsZm5DcmVhdGVkQ2VsbDpudWxsLGZuR2V0RGF0YTpudWxsLGZuU2V0RGF0YTpudWxsLG1EYXRhOm51bGwsbVJlbmRlcjpudWxsLHNDbGFzczpudWxsLHNDb250ZW50UGFkZGluZzpudWxsLHNEZWZhdWx0Q29udGVudDpudWxsLHNOYW1lOm51bGwsc1NvcnREYXRhVHlwZToic3RkIixzU29ydGluZ0NsYXNzOm51bGwsc1RpdGxlOm51bGwsc1R5cGU6bnVsbCxzV2lkdGg6bnVsbCxzV2lkdGhPcmlnOm51bGwsbWF4TGVuU3RyaW5nOm51bGwsc2VhcmNoRml4ZWQ6bnVsbH07Z2UuZGVmYXVsdHM9e2FhRGF0YTpudWxsLGFhU29ydGluZzpbWzAsImFzYyJdXSxhYVNvcnRpbmdGaXhlZDpbXSxhamF4Om51bGwsYUxlbmd0aE1lbnU6WzEwLDI1LDUwLDEwMF0sYW9Db2x1bW5zOm51bGwsYW9Db2x1bW5EZWZzOm51bGwsYW9TZWFyY2hDb2xzOltdLGJBdXRvV2lkdGg6ITAsYkRlZmVyUmVuZGVyOiEwLGJEZXN0cm95OiExLGJGaWx0ZXI6ITAsYkluZm86ITAsYkxlbmd0aENoYW5nZTohMCxiUGFnaW5hdGU6ITAsYlByb2Nlc3Npbmc6ITEsYlJldHJpZXZlOiExLGJTY3JvbGxDb2xsYXBzZTohMSxiU2VydmVyU2lkZTohMSxiU29ydDohMCxiU29ydE11bHRpOiEwLGJTb3J0Q2VsbHNUb3A6bnVsbCx0aXRsZVJvdzpudWxsLGJTb3J0Q2xhc3NlczohMCxiU3RhdGVTYXZlOiExLGZuQ3JlYXRlZFJvdzpudWxsLGZuRHJhd0NhbGxiYWNrOm51bGwsZm5Gb290ZXJDYWxsYmFjazpudWxsLGZuRm9ybWF0TnVtYmVyOmZ1bmN0aW9uKGUpe3JldHVybiBlLnRvU3RyaW5nKCkucmVwbGFjZSgvXEIoPz0oXGR7M30pKyg/IVxkKSkvZyx0aGlzLm9MYW5ndWFnZS5zVGhvdXNhbmRzKX0sZm5IZWFkZXJDYWxsYmFjazpudWxsLGZuSW5mb0NhbGxiYWNrOm51bGwsZm5Jbml0Q29tcGxldGU6bnVsbCxmblByZURyYXdDYWxsYmFjazpudWxsLGZuUm93Q2FsbGJhY2s6bnVsbCxmblN0YXRlTG9hZENhbGxiYWNrOmZ1bmN0aW9uKGUpe3RyeXtyZXR1cm4gSlNPTi5wYXJzZSgoZS5pU3RhdGVEdXJhdGlvbj09PS0xP3Nlc3Npb25TdG9yYWdlOmxvY2FsU3RvcmFnZSkuZ2V0SXRlbSgiRGF0YVRhYmxlc18iK2Uuc0luc3RhbmNlKyJfIitsb2NhdGlvbi5wYXRobmFtZSkpfWNhdGNoe3JldHVybnt9fX0sZm5TdGF0ZUxvYWRQYXJhbXM6bnVsbCxmblN0YXRlTG9hZGVkOm51bGwsZm5TdGF0ZVNhdmVDYWxsYmFjazpmdW5jdGlvbihlLHQpe3RyeXsoZS5pU3RhdGVEdXJhdGlvbj09PS0xP3Nlc3Npb25TdG9yYWdlOmxvY2FsU3RvcmFnZSkuc2V0SXRlbSgiRGF0YVRhYmxlc18iK2Uuc0luc3RhbmNlKyJfIitsb2NhdGlvbi5wYXRobmFtZSxKU09OLnN0cmluZ2lmeSh0KSl9Y2F0Y2h7fX0sZm5TdGF0ZVNhdmVQYXJhbXM6bnVsbCxpU3RhdGVEdXJhdGlvbjo3MjAwLGlEaXNwbGF5TGVuZ3RoOjEwLGlEaXNwbGF5U3RhcnQ6MCxpVGFiSW5kZXg6MCxvQ2xhc3Nlczp7fSxvTGFuZ3VhZ2U6e29BcmlhOntvcmRlcmFibGU6IjogQWN0aXZhdGUgdG8gc29ydCIsb3JkZXJhYmxlUmV2ZXJzZToiOiBBY3RpdmF0ZSB0byBpbnZlcnQgc29ydGluZyIsb3JkZXJhYmxlUmVtb3ZlOiI6IEFjdGl2YXRlIHRvIHJlbW92ZSBzb3J0aW5nIixwYWdpbmF0ZTp7Zmlyc3Q6IkZpcnN0IixsYXN0OiJMYXN0IixuZXh0OiJOZXh0IixwcmV2aW91czoiUHJldmlvdXMiLG51bWJlcjoiIn19LG9QYWdpbmF0ZTp7c0ZpcnN0OiJceEFCIixzTGFzdDoiXHhCQiIsc05leHQ6Ilx1MjAzQSIsc1ByZXZpb3VzOiJcdTIwMzkifSxlbnRyaWVzOntfOiJlbnRyaWVzIiwxOiJlbnRyeSJ9LGxlbmd0aExhYmVsczp7Ii0xIjoiQWxsIn0sc0VtcHR5VGFibGU6Ik5vIGRhdGEgYXZhaWxhYmxlIGluIHRhYmxlIixzSW5mbzoiU2hvd2luZyBfU1RBUlRfIHRvIF9FTkRfIG9mIF9UT1RBTF8gX0VOVFJJRVMtVE9UQUxfIixzSW5mb0VtcHR5OiJTaG93aW5nIDAgdG8gMCBvZiAwIF9FTlRSSUVTLVRPVEFMXyIsc0luZm9GaWx0ZXJlZDoiKGZpbHRlcmVkIGZyb20gX01BWF8gdG90YWwgX0VOVFJJRVMtTUFYXykiLHNJbmZvUG9zdEZpeDoiIixzRGVjaW1hbDoiIixzVGhvdXNhbmRzOiIsIixzTGVuZ3RoTWVudToiX01FTlVfIF9FTlRSSUVTXyBwZXIgcGFnZSIsc0xvYWRpbmdSZWNvcmRzOiJMb2FkaW5nLi4uIixzUHJvY2Vzc2luZzoiIixzU2VhcmNoOiJTZWFyY2g6IixzU2VhcmNoUGxhY2Vob2xkZXI6IiIsc1VybDoiIixzWmVyb1JlY29yZHM6Ik5vIG1hdGNoaW5nIHJlY29yZHMgZm91bmQifSxvcmRlckRlc2NSZXZlcnNlOiEwLG9TZWFyY2g6SC5leHRlbmQoe30sZ2UubW9kZWxzLm9TZWFyY2gpLGxheW91dDp7dG9wU3RhcnQ6InBhZ2VMZW5ndGgiLHRvcEVuZDoic2VhcmNoIixib3R0b21TdGFydDoiaW5mbyIsYm90dG9tRW5kOiJwYWdpbmcifSxzRG9tOm51bGwsc2VhcmNoRGVsYXk6bnVsbCxzUGFnaW5hdGlvblR5cGU6IiIsc1Njcm9sbFg6IiIsc1Njcm9sbFhJbm5lcjoiIixzU2Nyb2xsWToiIixzU2VydmVyTWV0aG9kOiJHRVQiLHJlbmRlcmVyOm51bGwscm93SWQ6IkRUX1Jvd0lkIixjYXB0aW9uOm51bGwsaURlZmVyTG9hZGluZzpudWxsLG9uOm51bGx9O3FyKGdlLmRlZmF1bHRzKTtnZS5kZWZhdWx0cy5jb2x1bW49e2FEYXRhU29ydDpudWxsLGlEYXRhU29ydDotMSxhcmlhVGl0bGU6IiIsYXNTb3J0aW5nOlsiYXNjIiwiZGVzYyIsIiJdLGJTZWFyY2hhYmxlOiEwLGJTb3J0YWJsZTohMCxiVmlzaWJsZTohMCxmbkNyZWF0ZWRDZWxsOm51bGwsbURhdGE6bnVsbCxtUmVuZGVyOm51bGwsc0NlbGxUeXBlOiJ0ZCIsc0NsYXNzOiIiLHNDb250ZW50UGFkZGluZzoiIixzRGVmYXVsdENvbnRlbnQ6bnVsbCxzTmFtZToiIixzU29ydERhdGFUeXBlOiJzdGQiLHNUaXRsZTpudWxsLHNUeXBlOm51bGwsc1dpZHRoOm51bGx9O3FyKGdlLmRlZmF1bHRzLmNvbHVtbik7Z2UubW9kZWxzLm9TZXR0aW5ncz17b0ZlYXR1cmVzOntiQXV0b1dpZHRoOm51bGwsYkRlZmVyUmVuZGVyOm51bGwsYkZpbHRlcjpudWxsLGJJbmZvOiEwLGJMZW5ndGhDaGFuZ2U6ITAsYlBhZ2luYXRlOm51bGwsYlByb2Nlc3Npbmc6bnVsbCxiU2VydmVyU2lkZTpudWxsLGJTb3J0Om51bGwsYlNvcnRNdWx0aTpudWxsLGJTb3J0Q2xhc3NlczpudWxsLGJTdGF0ZVNhdmU6bnVsbH0sb1Njcm9sbDp7YkNvbGxhcHNlOm51bGwsaUJhcldpZHRoOjAsc1g6bnVsbCxzWElubmVyOm51bGwsc1k6bnVsbH0sb0xhbmd1YWdlOntmbkluZm9DYWxsYmFjazpudWxsfSxvQnJvd3Nlcjp7YlNjcm9sbGJhckxlZnQ6ITEsYmFyV2lkdGg6MH0sYWpheDpudWxsLGFhbkZlYXR1cmVzOltdLGFvRGF0YTpbXSxhaURpc3BsYXk6W10sYWlEaXNwbGF5TWFzdGVyOltdLGFJZHM6e30sYW9Db2x1bW5zOltdLGFvSGVhZGVyOltdLGFvRm9vdGVyOltdLG9QcmV2aW91c1NlYXJjaDp7fSxzZWFyY2hGaXhlZDp7fSxhb1ByZVNlYXJjaENvbHM6W10sYWFTb3J0aW5nOm51bGwsYWFTb3J0aW5nRml4ZWQ6W10sc0Rlc3Ryb3lXaWR0aDowLGFvUm93Q2FsbGJhY2s6W10sYW9IZWFkZXJDYWxsYmFjazpbXSxhb0Zvb3RlckNhbGxiYWNrOltdLGFvRHJhd0NhbGxiYWNrOltdLGFvUm93Q3JlYXRlZENhbGxiYWNrOltdLGFvUHJlRHJhd0NhbGxiYWNrOltdLGFvSW5pdENvbXBsZXRlOltdLGFvU3RhdGVTYXZlUGFyYW1zOltdLGFvU3RhdGVMb2FkUGFyYW1zOltdLGFvU3RhdGVMb2FkZWQ6W10sc1RhYmxlSWQ6IiIsblRhYmxlOm51bGwsblRIZWFkOm51bGwsblRGb290Om51bGwsblRCb2R5Om51bGwsblRhYmxlV3JhcHBlcjpudWxsLGJJbml0aWFsaXNlZDohMSxhb09wZW5Sb3dzOltdLHNEb206bnVsbCxzZWFyY2hEZWxheTpudWxsLHNQYWdpbmF0aW9uVHlwZToidHdvX2J1dHRvbiIscGFnaW5nQ29udHJvbHM6MCxpU3RhdGVEdXJhdGlvbjowLGFvU3RhdGVTYXZlOltdLGFvU3RhdGVMb2FkOltdLG9TYXZlZFN0YXRlOm51bGwsb0xvYWRlZFN0YXRlOm51bGwsYkFqYXhEYXRhR2V0OiEwLGpxWEhSOm51bGwsanNvbjp2b2lkIDAsb0FqYXhEYXRhOnZvaWQgMCxzU2VydmVyTWV0aG9kOm51bGwsZm5Gb3JtYXROdW1iZXI6bnVsbCxhTGVuZ3RoTWVudTpudWxsLGlEcmF3OjAsYkRyYXdpbmc6ITEsaURyYXdFcnJvcjotMSxfaURpc3BsYXlMZW5ndGg6MTAsX2lEaXNwbGF5U3RhcnQ6MCxfaVJlY29yZHNUb3RhbDowLF9pUmVjb3Jkc0Rpc3BsYXk6MCxvQ2xhc3Nlczp7fSxiRmlsdGVyZWQ6ITEsYlNvcnRlZDohMSxiU29ydENlbGxzVG9wOm51bGwsb0luaXQ6bnVsbCxhb0Rlc3Ryb3lDYWxsYmFjazpbXSxmblJlY29yZHNUb3RhbDpmdW5jdGlvbigpe3JldHVybiBPdCh0aGlzKT09InNzcCI/dGhpcy5faVJlY29yZHNUb3RhbCoxOnRoaXMuYWlEaXNwbGF5TWFzdGVyLmxlbmd0aH0sZm5SZWNvcmRzRGlzcGxheTpmdW5jdGlvbigpe3JldHVybiBPdCh0aGlzKT09InNzcCI/dGhpcy5faVJlY29yZHNEaXNwbGF5KjE6dGhpcy5haURpc3BsYXkubGVuZ3RofSxmbkRpc3BsYXlFbmQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9pRGlzcGxheUxlbmd0aCx0PXRoaXMuX2lEaXNwbGF5U3RhcnQsbj10K2Uscj10aGlzLmFpRGlzcGxheS5sZW5ndGgsaT10aGlzLm9GZWF0dXJlcyxhPWkuYlBhZ2luYXRlO3JldHVybiBpLmJTZXJ2ZXJTaWRlP2E9PT0hMXx8ZT09PS0xP3QrcjpNYXRoLm1pbih0K2UsdGhpcy5faVJlY29yZHNEaXNwbGF5KTohYXx8bj5yfHxlPT09LTE/cjpufSxvSW5zdGFuY2U6bnVsbCxzSW5zdGFuY2U6bnVsbCxpVGFiSW5kZXg6MCxuU2Nyb2xsSGVhZDpudWxsLG5TY3JvbGxGb290Om51bGwsYUxhc3RTb3J0OltdLG9QbHVnaW5zOnt9LHJvd0lkRm46bnVsbCxyb3dJZDpudWxsLGNhcHRpb246IiIsY2FwdGlvbk5vZGU6bnVsbCxjb2xncm91cDpudWxsLGRlZmVyTG9hZGluZzpudWxsLHR5cGVEZXRlY3Q6ITAscmVzaXplT2JzZXJ2ZXI6bnVsbCxjb250YWluZXJXaWR0aDotMSxvcmRlckRlc2NSZXZlcnNlOm51bGwsb3JkZXJJbmRpY2F0b3JzOiEwLG9yZGVySGFuZGxlcjohMCx0aXRsZVJvdzpudWxsfTt2YXIga3U9Z2UuZXh0LnBhZ2VyO0guZXh0ZW5kKGt1LHtzaW1wbGU6ZnVuY3Rpb24oKXtyZXR1cm5bInByZXZpb3VzIiwibmV4dCJdfSxmdWxsOmZ1bmN0aW9uKCl7cmV0dXJuWyJmaXJzdCIsInByZXZpb3VzIiwibmV4dCIsImxhc3QiXX0sbnVtYmVyczpmdW5jdGlvbigpe3JldHVyblsibnVtYmVycyJdfSxzaW1wbGVfbnVtYmVyczpmdW5jdGlvbigpe3JldHVyblsicHJldmlvdXMiLCJudW1iZXJzIiwibmV4dCJdfSxmdWxsX251bWJlcnM6ZnVuY3Rpb24oKXtyZXR1cm5bImZpcnN0IiwicHJldmlvdXMiLCJudW1iZXJzIiwibmV4dCIsImxhc3QiXX0sZmlyc3RfbGFzdDpmdW5jdGlvbigpe3JldHVyblsiZmlyc3QiLCJsYXN0Il19LGZpcnN0X2xhc3RfbnVtYmVyczpmdW5jdGlvbigpe3JldHVyblsiZmlyc3QiLCJudW1iZXJzIiwibGFzdCJdfSxfbnVtYmVyczplbyxudW1iZXJzX2xlbmd0aDo3fSk7SC5leHRlbmQoITAsZ2UuZXh0LnJlbmRlcmVyLHtwYWdpbmdCdXR0b246e186ZnVuY3Rpb24oZSx0LG4scixpKXt2YXIgYT1lLm9DbGFzc2VzLnBhZ2luZyxzPVthLmJ1dHRvbl0sdTtyZXR1cm4gciYmcy5wdXNoKGEuYWN0aXZlKSxpJiZzLnB1c2goYS5kaXNhYmxlZCksdD09PSJlbGxpcHNpcyI/dT1IKCc8c3BhbiBjbGFzcz0iZWxsaXBzaXMiPjwvc3Bhbj4nKS5odG1sKG4pWzBdOnU9SCgiPGJ1dHRvbj4iLHtjbGFzczpzLmpvaW4oIiAiKSxyb2xlOiJsaW5rIix0eXBlOiJidXR0b24ifSkuaHRtbChuKSx7ZGlzcGxheTp1LGNsaWNrZXI6dX19fSxwYWdpbmdDb250YWluZXI6e186ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdH19fSk7dmFyIEduPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBMdChuKXx8dHlwZW9mIG4hPSJzdHJpbmcifHwobj1uLnJlcGxhY2UoVmwsIiAiKSxlJiYobj1vbihuKSksdCYmKG49anIobiwhMSkpKSxufX07ZnVuY3Rpb24gX3MoZSx0LG4scixpKXtyZXR1cm4gQW4/ZVt0XShpKTpnbj9lW25dKGkpOnI/ZVtyXShpKTplfXZhciB3cz0hMSxnbixBbjtmdW5jdGlvbiBBdSgpe3dpbmRvdy5sdXhvbiYmIWduJiYoZ249d2luZG93Lmx1eG9uKSx3aW5kb3cubW9tZW50JiYhQW4mJihBbj13aW5kb3cubW9tZW50KX1mdW5jdGlvbiBVcihlLHQsbil7dmFyIHI7aWYoQXUoKSxBbil7aWYocj1Bbi51dGMoZSx0LG4sITApLCFyLmlzVmFsaWQoKSlyZXR1cm4gbnVsbH1lbHNlIGlmKGduKXtpZihyPXQmJnR5cGVvZiBlPT0ic3RyaW5nIj9nbi5EYXRlVGltZS5mcm9tRm9ybWF0KGUsdCk6Z24uRGF0ZVRpbWUuZnJvbUlTTyhlKSwhci5pc1ZhbGlkKXJldHVybiBudWxsO3I9ci5zZXRMb2NhbGUobil9ZWxzZSB0Pyh3c3x8YWxlcnQoIkRhdGFUYWJsZXMgd2FybmluZzogRm9ybWF0dGVkIGRhdGUgd2l0aG91dCBNb21lbnQuanMgb3IgTHV4b24gLSBodHRwczovL2RhdGF0YWJsZXMubmV0L3RuLzE3Iiksd3M9ITApOnI9bmV3IERhdGUoZSk7cmV0dXJuIHJ9ZnVuY3Rpb24gUGkoZSl7cmV0dXJuIGZ1bmN0aW9uKHQsbixyLGkpe2FyZ3VtZW50cy5sZW5ndGg9PT0wPyhyPSJlbiIsbj1udWxsLHQ9bnVsbCk6YXJndW1lbnRzLmxlbmd0aD09PTE/KHI9ImVuIixuPXQsdD1udWxsKTphcmd1bWVudHMubGVuZ3RoPT09MiYmKHI9bixuPXQsdD1udWxsKTt2YXIgYT0iZGF0ZXRpbWUiKyhuPyItIituOiIiKTtyZXR1cm4gZ2UuZXh0LnR5cGUub3JkZXJbYSsiLXByZSJdfHxnZS50eXBlKGEse2RldGVjdDpmdW5jdGlvbihzKXtyZXR1cm4gcz09PWE/YTohMX0sb3JkZXI6e3ByZTpmdW5jdGlvbihzKXtyZXR1cm4gcy52YWx1ZU9mKCl9fSxjbGFzc05hbWU6ImR0LXJpZ2h0In0pLGZ1bmN0aW9uKHMsdSl7aWYocz09bnVsbClpZihpPT09Ii0tbm93Iil7dmFyIGQ9bmV3IERhdGU7cz1uZXcgRGF0ZShEYXRlLlVUQyhkLmdldEZ1bGxZZWFyKCksZC5nZXRNb250aCgpLGQuZ2V0RGF0ZSgpLGQuZ2V0SG91cnMoKSxkLmdldE1pbnV0ZXMoKSxkLmdldFNlY29uZHMoKSkpfWVsc2Ugcz0iIjtpZih1PT09InR5cGUiKXJldHVybiBhO2lmKHM9PT0iIilyZXR1cm4gdSE9PSJzb3J0Ij8iIjpVcigiMDAwMC0wMS0wMSAwMDowMDowMCIsbnVsbCxyKTtpZihuIT09bnVsbCYmdD09PW4mJnUhPT0ic29ydCImJnUhPT0idHlwZSImJiEocyBpbnN0YW5jZW9mIERhdGUpKXJldHVybiBzO3ZhciBtPVVyKHMsdCxyKTtpZihtPT09bnVsbClyZXR1cm4gcztpZih1PT09InNvcnQiKXJldHVybiBtO3ZhciB2PW49PT1udWxsP19zKG0sInRvRGF0ZSIsInRvSlNEYXRlIiwiIilbZV0oKTpfcyhtLCJmb3JtYXQiLCJ0b0Zvcm1hdCIsInRvSVNPU3RyaW5nIixuKTtyZXR1cm4gdT09PSJkaXNwbGF5Ij9Ebih2KTp2fX19dmFyIEtzPSIsIixKcz0iLiI7aWYod2luZG93LkludGwhPT12b2lkIDApdHJ5e2ZvcihWbj1uZXcgSW50bC5OdW1iZXJGb3JtYXQoKS5mb3JtYXRUb1BhcnRzKDEwMDAwMC4xKSx1dD0wO3V0PFZuLmxlbmd0aDt1dCsrKVZuW3V0XS50eXBlPT09Imdyb3VwIj9Lcz1Wblt1dF0udmFsdWU6Vm5bdXRdLnR5cGU9PT0iZGVjaW1hbCImJihKcz1Wblt1dF0udmFsdWUpfWNhdGNoe312YXIgVm4sdXQ7Z2UuZGF0ZXRpbWU9ZnVuY3Rpb24oZSx0KXt2YXIgbj0iZGF0ZXRpbWUtIitlO3R8fCh0PSJlbiIpLGdlLmV4dC50eXBlLm9yZGVyW25dfHxnZS50eXBlKG4se2RldGVjdDpmdW5jdGlvbihyKXt2YXIgaT1VcihyLGUsdCk7cmV0dXJuIHI9PT0iInx8aT9uOiExfSxvcmRlcjp7cHJlOmZ1bmN0aW9uKHIpe3JldHVybiBVcihyLGUsdCl8fDB9fSxjbGFzc05hbWU6ImR0LXJpZ2h0In0pfTtnZS5yZW5kZXI9e2RhdGU6UGkoInRvTG9jYWxlRGF0ZVN0cmluZyIpLGRhdGV0aW1lOlBpKCJ0b0xvY2FsZVN0cmluZyIpLHRpbWU6UGkoInRvTG9jYWxlVGltZVN0cmluZyIpLG51bWJlcjpmdW5jdGlvbihlLHQsbixyLGkpe3JldHVybiBlPT1udWxsJiYoZT1LcyksdD09bnVsbCYmKHQ9SnMpLHtkaXNwbGF5OmZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT0ibnVtYmVyIiYmdHlwZW9mIGEhPSJzdHJpbmcifHxhPT09IiJ8fGE9PT1udWxsKXJldHVybiBhO3ZhciBzPWE8MD8iLSI6IiIsdT1wYXJzZUZsb2F0KGEpLGQ9TWF0aC5hYnModSk7aWYoZD49MWUxMXx8ZDwxZS00JiZkIT09MCl7dmFyIG09dS50b0V4cG9uZW50aWFsKG4pLnNwbGl0KC9lXCs/Lyk7cmV0dXJuIG1bMF0rIiB4IDEwPHN1cD4iK21bMV0rIjwvc3VwPiJ9aWYoaXNOYU4odSkpcmV0dXJuIERuKGEpO3U9dS50b0ZpeGVkKG4pLGE9TWF0aC5hYnModSk7dmFyIHY9cGFyc2VJbnQoYSwxMCksZz1uP3QrKGEtdikudG9GaXhlZChuKS5zdWJzdHJpbmcoMik6IiI7cmV0dXJuIHY9PT0wJiZwYXJzZUZsb2F0KGcpPT09MCYmKHM9IiIpLHMrKHJ8fCIiKSt2LnRvU3RyaW5nKCkucmVwbGFjZSgvXEIoPz0oXGR7M30pKyg/IVxkKSkvZyxlKStnKyhpfHwiIil9fX0sdGV4dDpmdW5jdGlvbigpe3JldHVybntkaXNwbGF5OkRuLGZpbHRlcjpEbn19fTt2YXIgQ3Q9Z2UuZXh0LnR5cGU7Z2UudHlwZT1mdW5jdGlvbihlLHQsbil7aWYoIXQpcmV0dXJue2NsYXNzTmFtZTpDdC5jbGFzc05hbWVbZV0sZGV0ZWN0OkN0LmRldGVjdC5maW5kKGZ1bmN0aW9uKHMpe3JldHVybiBzLl9uYW1lPT09ZX0pLG9yZGVyOntwcmU6Q3Qub3JkZXJbZSsiLXByZSJdLGFzYzpDdC5vcmRlcltlKyItYXNjIl0sZGVzYzpDdC5vcmRlcltlKyItZGVzYyJdfSxyZW5kZXI6Q3QucmVuZGVyW2VdLHNlYXJjaDpDdC5zZWFyY2hbZV19O3ZhciByPWZ1bmN0aW9uKHMsdSl7Q3Rbc11bZV09dX0saT1mdW5jdGlvbihzKXtPYmplY3QuZGVmaW5lUHJvcGVydHkocywiX25hbWUiLHt2YWx1ZTplfSk7dmFyIHU9Q3QuZGV0ZWN0LmZpbmRJbmRleChmdW5jdGlvbihkKXtyZXR1cm4gZC5fbmFtZT09PWV9KTt1PT09LTE/Q3QuZGV0ZWN0LnVuc2hpZnQocyk6Q3QuZGV0ZWN0LnNwbGljZSh1LDEscyl9LGE9ZnVuY3Rpb24ocyl7Q3Qub3JkZXJbZSsiLXByZSJdPXMucHJlLEN0Lm9yZGVyW2UrIi1hc2MiXT1zLmFzYyxDdC5vcmRlcltlKyItZGVzYyJdPXMuZGVzY307bj09PXZvaWQgMCYmKG49dCx0PW51bGwpLHQ9PT0iY2xhc3NOYW1lIj9yKCJjbGFzc05hbWUiLG4pOnQ9PT0iZGV0ZWN0Ij9pKG4pOnQ9PT0ib3JkZXIiP2Eobik6dD09PSJyZW5kZXIiP3IoInJlbmRlciIsbik6dD09PSJzZWFyY2giP3IoInNlYXJjaCIsbik6dHx8KG4uY2xhc3NOYW1lJiZyKCJjbGFzc05hbWUiLG4uY2xhc3NOYW1lKSxuLmRldGVjdCE9PXZvaWQgMCYmaShuLmRldGVjdCksbi5vcmRlciYmYShuLm9yZGVyKSxuLnJlbmRlciE9PXZvaWQgMCYmcigicmVuZGVyIixuLnJlbmRlciksbi5zZWFyY2ghPT12b2lkIDAmJnIoInNlYXJjaCIsbi5zZWFyY2gpKX07Z2UudHlwZXM9ZnVuY3Rpb24oKXtyZXR1cm4gQ3QuZGV0ZWN0Lm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5fbmFtZX0pfTt2YXIgSGk9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT1lIT1udWxsP2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOiIiLHQ9dCE9bnVsbD90LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKToiIixlLmxvY2FsZUNvbXBhcmUodCxuYXZpZ2F0b3IubGFuZ3VhZ2VzWzBdfHxuYXZpZ2F0b3IubGFuZ3VhZ2Use251bWVyaWM6ITAsaWdub3JlUHVuY3R1YXRpb246ITB9KX0seHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT1vbihlKSx0PW9uKHQpLEhpKGUsdCl9O2dlLnR5cGUoInN0cmluZyIse2RldGVjdDpmdW5jdGlvbigpe3JldHVybiJzdHJpbmcifSxvcmRlcjp7cHJlOmZ1bmN0aW9uKGUpe3JldHVybiBMdChlKSYmdHlwZW9mIGUhPSJib29sZWFuIj8iIjp0eXBlb2YgZT09InN0cmluZyI/ZS50b0xvd2VyQ2FzZSgpOmUudG9TdHJpbmc/ZS50b1N0cmluZygpOiIifX0sc2VhcmNoOkduKCExLCEwKX0pO2dlLnR5cGUoInN0cmluZy11dGY4Iix7ZGV0ZWN0OnthbGxPZjpmdW5jdGlvbihlKXtyZXR1cm4hMH0sb25lT2Y6ZnVuY3Rpb24oZSl7cmV0dXJuIUx0KGUpJiZuYXZpZ2F0b3IubGFuZ3VhZ2VzJiZ0eXBlb2YgZT09InN0cmluZyImJmUubWF0Y2goL1teXHgwMC1ceDdGXS8pfX0sb3JkZXI6e2FzYzpIaSxkZXNjOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIEhpKGUsdCkqLTF9fSxzZWFyY2g6R24oITEsITApfSk7Z2UudHlwZSgiaHRtbCIse2RldGVjdDp7YWxsT2Y6ZnVuY3Rpb24oZSl7cmV0dXJuIEx0KGUpfHx0eXBlb2YgZT09InN0cmluZyImJmUuaW5kZXhPZigiPCIpIT09LTF9LG9uZU9mOmZ1bmN0aW9uKGUpe3JldHVybiFMdChlKSYmdHlwZW9mIGU9PSJzdHJpbmciJiZlLmluZGV4T2YoIjwiKSE9PS0xfX0sb3JkZXI6e3ByZTpmdW5jdGlvbihlKXtyZXR1cm4gTHQoZSk/IiI6ZS5yZXBsYWNlP29uKGUpLnRyaW0oKS50b0xvd2VyQ2FzZSgpOmUrIiJ9fSxzZWFyY2g6R24oITAsITApfSk7Z2UudHlwZSgiaHRtbC11dGY4Iix7ZGV0ZWN0OnthbGxPZjpmdW5jdGlvbihlKXtyZXR1cm4gTHQoZSl8fHR5cGVvZiBlPT0ic3RyaW5nIiYmZS5pbmRleE9mKCI8IikhPT0tMX0sb25lT2Y6ZnVuY3Rpb24oZSl7cmV0dXJuIG5hdmlnYXRvci5sYW5ndWFnZXMmJiFMdChlKSYmdHlwZW9mIGU9PSJzdHJpbmciJiZlLmluZGV4T2YoIjwiKSE9PS0xJiZ0eXBlb2YgZT09InN0cmluZyImJmUubWF0Y2goL1teXHgwMC1ceDdGXS8pfX0sb3JkZXI6e2FzYzp4cyxkZXNjOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHhzKGUsdCkqLTF9fSxzZWFyY2g6R24oITAsITApfSk7Z2UudHlwZSgiZGF0ZSIse2NsYXNzTmFtZToiZHQtdHlwZS1kYXRlIixkZXRlY3Q6e2FsbE9mOmZ1bmN0aW9uKGUpe2lmKGUmJiEoZSBpbnN0YW5jZW9mIERhdGUpJiYhYXMudGVzdChlKSlyZXR1cm4gbnVsbDt2YXIgdD1EYXRlLnBhcnNlKGUpO3JldHVybiB0IT09bnVsbCYmIWlzTmFOKHQpfHxMdChlKX0sb25lT2Y6ZnVuY3Rpb24oZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBEYXRlfHx0eXBlb2YgZT09InN0cmluZyImJmFzLnRlc3QoZSl9fSxvcmRlcjp7cHJlOmZ1bmN0aW9uKGUpe3ZhciB0PURhdGUucGFyc2UoZSk7cmV0dXJuIGlzTmFOKHQpPy0xLzA6dH19fSk7Z2UudHlwZSgiaHRtbC1udW0tZm10Iix7Y2xhc3NOYW1lOiJkdC10eXBlLW51bWVyaWMiLGRldGVjdDp7YWxsT2Y6ZnVuY3Rpb24oZSx0KXt2YXIgbj10Lm9MYW5ndWFnZS5zRGVjaW1hbDtyZXR1cm4gTXIoZSxuLCEwLCExKX0sb25lT2Y6ZnVuY3Rpb24oZSx0KXt2YXIgbj10Lm9MYW5ndWFnZS5zRGVjaW1hbDtyZXR1cm4gTXIoZSxuLCEwLCExKX19LG9yZGVyOntwcmU6ZnVuY3Rpb24oZSx0KXt2YXIgbj10Lm9MYW5ndWFnZS5zRGVjaW1hbDtyZXR1cm4gdGkoZSxuLHppLFdpKX19LHNlYXJjaDpHbighMCwhMCl9KTtnZS50eXBlKCJodG1sLW51bSIse2NsYXNzTmFtZToiZHQtdHlwZS1udW1lcmljIixkZXRlY3Q6e2FsbE9mOmZ1bmN0aW9uKGUsdCl7dmFyIG49dC5vTGFuZ3VhZ2Uuc0RlY2ltYWw7cmV0dXJuIE1yKGUsbiwhMSwhMCl9LG9uZU9mOmZ1bmN0aW9uKGUsdCl7dmFyIG49dC5vTGFuZ3VhZ2Uuc0RlY2ltYWw7cmV0dXJuIE1yKGUsbiwhMSwhMSl9fSxvcmRlcjp7cHJlOmZ1bmN0aW9uKGUsdCl7dmFyIG49dC5vTGFuZ3VhZ2Uuc0RlY2ltYWw7cmV0dXJuIHRpKGUsbix6aSl9fSxzZWFyY2g6R24oITAsITApfSk7Z2UudHlwZSgibnVtLWZtdCIse2NsYXNzTmFtZToiZHQtdHlwZS1udW1lcmljIixkZXRlY3Q6e2FsbE9mOmZ1bmN0aW9uKGUsdCl7dmFyIG49dC5vTGFuZ3VhZ2Uuc0RlY2ltYWw7cmV0dXJuIGNyKGUsbiwhMCwhMCl9LG9uZU9mOmZ1bmN0aW9uKGUsdCl7dmFyIG49dC5vTGFuZ3VhZ2Uuc0RlY2ltYWw7cmV0dXJuIGNyKGUsbiwhMCwhMSl9fSxvcmRlcjp7cHJlOmZ1bmN0aW9uKGUsdCl7dmFyIG49dC5vTGFuZ3VhZ2Uuc0RlY2ltYWw7cmV0dXJuIHRpKGUsbixXaSl9fX0pO2dlLnR5cGUoIm51bSIse2NsYXNzTmFtZToiZHQtdHlwZS1udW1lcmljIixkZXRlY3Q6e2FsbE9mOmZ1bmN0aW9uKGUsdCl7dmFyIG49dC5vTGFuZ3VhZ2Uuc0RlY2ltYWw7cmV0dXJuIGNyKGUsbiwhMSwhMCl9LG9uZU9mOmZ1bmN0aW9uKGUsdCl7dmFyIG49dC5vTGFuZ3VhZ2Uuc0RlY2ltYWw7cmV0dXJuIGNyKGUsbiwhMSwhMSl9fSxvcmRlcjp7cHJlOmZ1bmN0aW9uKGUsdCl7dmFyIG49dC5vTGFuZ3VhZ2Uuc0RlY2ltYWw7cmV0dXJuIHRpKGUsbil9fX0pO3ZhciB0aT1mdW5jdGlvbihlLHQsbixyKXtpZihlIT09MCYmKCFlfHxlPT09Ii0iKSlyZXR1cm4tMS8wO3ZhciBpPXR5cGVvZiBlO3JldHVybiBpPT09Im51bWJlciJ8fGk9PT0iYmlnaW50Ij9lOih0JiYoZT1UcyhlLHQpKSxlLnJlcGxhY2UmJihuJiYoZT1lLnJlcGxhY2UobiwiIikpLHImJihlPWUucmVwbGFjZShyLCIiKSkpLGUqMSl9O0guZXh0ZW5kKCEwLGdlLmV4dC5yZW5kZXJlcix7Zm9vdGVyOntfOmZ1bmN0aW9uKGUsdCxuKXt0LmFkZENsYXNzKG4udGZvb3QuY2VsbCl9fSxoZWFkZXI6e186ZnVuY3Rpb24oZSx0LG4pe3QuYWRkQ2xhc3Mobi50aGVhZC5jZWxsKSxlLm9GZWF0dXJlcy5iU29ydHx8dC5hZGRDbGFzcyhuLm9yZGVyLm5vbmUpO3ZhciByPWUudGl0bGVSb3csaT10LmNsb3Nlc3QoInRoZWFkIikuZmluZCgidHIiKSxhPXQucGFyZW50KCkuaW5kZXgoKTt0LmF0dHIoImRhdGEtZHQtb3JkZXIiKT09PSJkaXNhYmxlInx8dC5wYXJlbnQoKS5hdHRyKCJkYXRhLWR0LW9yZGVyIik9PT0iZGlzYWJsZSJ8fHI9PT0hMCYmYSE9PTB8fHI9PT0hMSYmYSE9PWkubGVuZ3RoLTF8fHR5cGVvZiByPT0ibnVtYmVyIiYmYSE9PXJ8fEgoZS5uVGFibGUpLm9uKCJvcmRlci5kdC5EVCBjb2x1bW4tdmlzaWJpbGl0eS5kdC5EVCIsZnVuY3Rpb24ocyx1LGQpe2lmKGU9PT11KXt2YXIgbT11LnNvcnREZXRhaWxzO2lmKG0pe3ZhciB2PXl0KG0sImNvbCIpO2lmKCEocy50eXBlPT09ImNvbHVtbi12aXNpYmlsaXR5IiYmIXYuaW5jbHVkZXMoZCkpKXt2YXIgZyx3PW4ub3JkZXIsYj11LmFwaS5jb2x1bW5zKHQpLFQ9ZS5hb0NvbHVtbnNbYi5mbGF0dGVuKClbMF1dLEQ9Yi5vcmRlcmFibGUoKS5pbmNsdWRlcyghMCksaD0iIixsPWIuaW5kZXhlcygpLHA9Yi5vcmRlcmFibGUoITApLmZsYXR0ZW4oKSxDPWUuaVRhYkluZGV4LEY9dS5vcmRlckhhbmRsZXImJkQ7dC5yZW1vdmVDbGFzcyh3LmlzQXNjKyIgIit3LmlzRGVzYykudG9nZ2xlQ2xhc3Mody5ub25lLCFEKS50b2dnbGVDbGFzcyh3LmNhbkFzYyxGJiZwLmluY2x1ZGVzKCJhc2MiKSkudG9nZ2xlQ2xhc3Mody5jYW5EZXNjLEYmJnAuaW5jbHVkZXMoImRlc2MiKSk7dmFyIFA9ITA7Zm9yKGc9MDtnPGwubGVuZ3RoO2crKyl2LmluY2x1ZGVzKGxbZ10pfHwoUD0hMSk7aWYoUCl7dmFyIGY9Yi5vcmRlcigpO3QuYWRkQ2xhc3MoZi5pbmNsdWRlcygiYXNjIik/dy5pc0FzYzoiIitmLmluY2x1ZGVzKCJkZXNjIik/dy5pc0Rlc2M6IiIpfXZhciBXPS0xO2ZvcihnPTA7Zzx2Lmxlbmd0aDtnKyspaWYoZS5hb0NvbHVtbnNbdltnXV0uYlZpc2libGUpe1c9dltnXTticmVha31pZihsWzBdPT1XKXt2YXIgWj1tWzBdLGllPVQuYXNTb3J0aW5nO3QuYXR0cigiYXJpYS1zb3J0IixaLmRpcj09PSJhc2MiPyJhc2NlbmRpbmciOiJkZXNjZW5kaW5nIiksaD1pZVtaLmluZGV4KzFdPyJSZXZlcnNlIjoiUmVtb3ZlIn1lbHNlIHQucmVtb3ZlQXR0cigiYXJpYS1zb3J0Iik7aWYoRCl7dmFyIEU9dC5maW5kKCIuZHQtY29sdW1uLW9yZGVyIik7RS5hdHRyKCJyb2xlIiwiYnV0dG9uIikuYXR0cigiYXJpYS1sYWJlbCIsRD9ULmFyaWFUaXRsZSt1LmFwaS5pMThuKCJvQXJpYS5vcmRlcmFibGUiK2gpOlQuYXJpYVRpdGxlKSxDIT09LTEmJkUuYXR0cigidGFiaW5kZXgiLEMpfX19fX0pfX0sbGF5b3V0OntfOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1lLm9DbGFzc2VzLmxheW91dCxpPUgoIjxkaXYvPiIpLmF0dHIoImlkIixuLmlkfHxudWxsKS5hZGRDbGFzcyhuLmNsYXNzTmFtZXx8ci5yb3cpLmFwcGVuZFRvKHQpO2dlLmV4dC5yZW5kZXJlci5sYXlvdXQuX2ZvckxheW91dFJvdyhuLGZ1bmN0aW9uKGEscyl7aWYoIShhPT09ImlkInx8YT09PSJjbGFzc05hbWUiKSl7dmFyIHU9IiI7cy50YWJsZSYmKGkuYWRkQ2xhc3Moci50YWJsZVJvdyksdSs9ci50YWJsZUNlbGwrIiAiKSxhPT09InN0YXJ0Ij91Kz1yLnN0YXJ0OmE9PT0iZW5kIj91Kz1yLmVuZDp1Kz1yLmZ1bGwsSCgiPGRpdi8+IikuYXR0cih7aWQ6cy5pZHx8bnVsbCxjbGFzczpzLmNsYXNzTmFtZT9zLmNsYXNzTmFtZTpyLmNlbGwrIiAiK3V9KS5hcHBlbmQocy5jb250ZW50cykuYXBwZW5kVG8oaSl9fSl9LF9mb3JMYXlvdXRSb3c6ZnVuY3Rpb24oZSx0KXt2YXIgbj1mdW5jdGlvbihyKXtzd2l0Y2gocil7Y2FzZSIiOnJldHVybiAwO2Nhc2Uic3RhcnQiOnJldHVybiAxO2Nhc2UiZW5kIjpyZXR1cm4gMjtkZWZhdWx0OnJldHVybiAzfX07T2JqZWN0LmtleXMoZSkuc29ydChmdW5jdGlvbihyLGkpe3JldHVybiBuKHIpLW4oaSl9KS5mb3JFYWNoKGZ1bmN0aW9uKHIpe3QocixlW3JdKX0pfX19KTtnZS5mZWF0dXJlPXt9O2dlLmZlYXR1cmUucmVnaXN0ZXI9ZnVuY3Rpb24oZSx0LG4pe2dlLmV4dC5mZWF0dXJlc1tlXT10LG4mJmZ0LmZlYXR1cmUucHVzaCh7Y0ZlYXR1cmU6bixmbkluaXQ6dH0pfTtmdW5jdGlvbiBFcihlLHQsbil7biYmKGVbdF09bil9Z2UuZmVhdHVyZS5yZWdpc3RlcigiZGl2IixmdW5jdGlvbihlLHQpe3ZhciBuPUgoIjxkaXY+IilbMF07cmV0dXJuIHQmJihFcihuLCJjbGFzc05hbWUiLHQuY2xhc3NOYW1lKSxFcihuLCJpZCIsdC5pZCksRXIobiwiaW5uZXJIVE1MIix0Lmh0bWwpLEVyKG4sInRleHRDb250ZW50Iix0LnRleHQpKSxufSk7Z2UuZmVhdHVyZS5yZWdpc3RlcigiaW5mbyIsZnVuY3Rpb24oZSx0KXtpZighZS5vRmVhdHVyZXMuYkluZm8pcmV0dXJuIG51bGw7dmFyIG49ZS5vTGFuZ3VhZ2Uscj1lLnNUYWJsZUlkLGk9SCgiPGRpdi8+Iix7Y2xhc3M6ZS5vQ2xhc3Nlcy5pbmZvLmNvbnRhaW5lcn0pO3JldHVybiB0PUguZXh0ZW5kKHtjYWxsYmFjazpuLmZuSW5mb0NhbGxiYWNrLGVtcHR5Om4uc0luZm9FbXB0eSxwb3N0Zml4Om4uc0luZm9Qb3N0Rml4LHNlYXJjaDpuLnNJbmZvRmlsdGVyZWQsdGV4dDpuLnNJbmZvfSx0KSxlLmFvRHJhd0NhbGxiYWNrLnB1c2goZnVuY3Rpb24oYSl7SXUoYSx0LGkpfSksZS5faW5mb0VsfHwoaS5hdHRyKHsiYXJpYS1saXZlIjoicG9saXRlIixpZDpyKyJfaW5mbyIscm9sZToic3RhdHVzIn0pLEgoZS5uVGFibGUpLmF0dHIoImFyaWEtZGVzY3JpYmVkYnkiLHIrIl9pbmZvIiksZS5faW5mb0VsPWkpLGl9LCJpIik7ZnVuY3Rpb24gSXUoZSx0LG4pe3ZhciByPWUuX2lEaXNwbGF5U3RhcnQrMSxpPWUuZm5EaXNwbGF5RW5kKCksYT1lLmZuUmVjb3Jkc1RvdGFsKCkscz1lLmZuUmVjb3Jkc0Rpc3BsYXkoKSx1PXM/dC50ZXh0OnQuZW1wdHk7cyE9PWEmJih1Kz0iICIrdC5zZWFyY2gpLHUrPXQucG9zdGZpeCx1PVFpKGUsdSksdC5jYWxsYmFjayYmKHU9dC5jYWxsYmFjay5jYWxsKGUub0luc3RhbmNlLGUscixpLGEscyx1KSksbi5odG1sKHUpLEtlKGUsbnVsbCwiaW5mbyIsW2UsblswXSx1XSl9dmFyIE9pPTA7Z2UuZmVhdHVyZS5yZWdpc3Rlcigic2VhcmNoIixmdW5jdGlvbihlLHQpe2lmKCFlLm9GZWF0dXJlcy5iRmlsdGVyKXJldHVybiBudWxsO3ZhciBuPWUub0NsYXNzZXMuc2VhcmNoLHI9ZS5zVGFibGVJZCxpPWUub0xhbmd1YWdlLGE9ZS5vUHJldmlvdXNTZWFyY2gscz0nPGlucHV0IHR5cGU9InNlYXJjaCIgY2xhc3M9Iicrbi5pbnB1dCsnIi8+Jzt0PUguZXh0ZW5kKHtwbGFjZWhvbGRlcjppLnNTZWFyY2hQbGFjZWhvbGRlcixwcm9jZXNzaW5nOiExLHRleHQ6aS5zU2VhcmNofSx0KSx0LnRleHQuaW5kZXhPZigiX0lOUFVUXyIpPT09LTEmJih0LnRleHQrPSJfSU5QVVRfIiksdC50ZXh0PVFpKGUsdC50ZXh0KTt2YXIgdT10LnRleHQubWF0Y2goL19JTlBVVF8kLyksZD10LnRleHQubWF0Y2goL15fSU5QVVRfLyksbT10LnRleHQucmVwbGFjZSgvX0lOUFVUXy8sIiIpLHY9IjxsYWJlbD4iK3QudGV4dCsiPC9sYWJlbD4iO2Q/dj0iX0lOUFVUXzxsYWJlbD4iK20rIjwvbGFiZWw+Ijp1JiYodj0iPGxhYmVsPiIrbSsiPC9sYWJlbD5fSU5QVVRfIik7dmFyIGc9SCgiPGRpdj4iKS5hZGRDbGFzcyhuLmNvbnRhaW5lcikuYXBwZW5kKHYucmVwbGFjZSgvX0lOUFVUXy8scykpO2cuZmluZCgibGFiZWwiKS5hdHRyKCJmb3IiLCJkdC1zZWFyY2gtIitPaSksZy5maW5kKCJpbnB1dCIpLmF0dHIoImlkIiwiZHQtc2VhcmNoLSIrT2kpLE9pKys7dmFyIHc9ZnVuY3Rpb24oRCl7dmFyIGg9dGhpcy52YWx1ZTthLnJldHVybiYmRC5rZXkhPT0iRW50ZXIifHxoIT1hLnNlYXJjaCYmUnMoZSx0LnByb2Nlc3NpbmcsZnVuY3Rpb24oKXthLnNlYXJjaD1oLGZyKGUsYSksZS5faURpc3BsYXlTdGFydD0wLHFuKGUpfSl9LGI9ZS5zZWFyY2hEZWxheSE9PW51bGw/ZS5zZWFyY2hEZWxheTowLFQ9SCgiaW5wdXQiLGcpLnZhbChhLnNlYXJjaCkuYXR0cigicGxhY2Vob2xkZXIiLHQucGxhY2Vob2xkZXIpLm9uKCJrZXl1cC5EVCBzZWFyY2guRFQgaW5wdXQuRFQgcGFzdGUuRFQgY3V0LkRUIixiP2dlLnV0aWwuZGVib3VuY2UodyxiKTp3KS5vbigibW91c2V1cC5EVCIsZnVuY3Rpb24oRCl7c2V0VGltZW91dChmdW5jdGlvbigpe3cuY2FsbChUWzBdLEQpfSwxMCl9KS5vbigia2V5cHJlc3MuRFQiLGZ1bmN0aW9uKEQpe2lmKEQua2V5Q29kZT09MTMpcmV0dXJuITF9KS5hdHRyKCJhcmlhLWNvbnRyb2xzIixyKTtyZXR1cm4gSChlLm5UYWJsZSkub24oInNlYXJjaC5kdC5EVCIsZnVuY3Rpb24oRCxoKXtlPT09aCYmVFswXSE9PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQmJlQudmFsKHR5cGVvZiBhLnNlYXJjaCE9ImZ1bmN0aW9uIj9hLnNlYXJjaDoiIil9KSxnfSwiZiIpO2dlLmZlYXR1cmUucmVnaXN0ZXIoInBhZ2luZyIsZnVuY3Rpb24oZSx0KXtpZighZS5vRmVhdHVyZXMuYlBhZ2luYXRlKXJldHVybiBudWxsO3Q9SC5leHRlbmQoe2J1dHRvbnM6Z2UuZXh0LnBhZ2VyLm51bWJlcnNfbGVuZ3RoLHR5cGU6ZS5zUGFnaW5hdGlvblR5cGUsYm91bmRhcnlOdW1iZXJzOiEwLGZpcnN0TGFzdDohMCxwcmV2aW91c05leHQ6ITAsbnVtYmVyczohMH0sdCk7dmFyIG49SCgiPGRpdi8+IikuYWRkQ2xhc3MoZS5vQ2xhc3Nlcy5wYWdpbmcuY29udGFpbmVyKyh0LnR5cGU/IiBwYWdpbmdfIit0LnR5cGU6IiIpKS5hcHBlbmQoSCgiPG5hdj4iKS5hdHRyKCJhcmlhLWxhYmVsIiwicGFnaW5hdGlvbiIpLmFkZENsYXNzKGUub0NsYXNzZXMucGFnaW5nLm5hdikpLHI9ZnVuY3Rpb24oKXtRcyhlLG4uY2hpbGRyZW4oKSx0KX07cmV0dXJuIGUuYW9EcmF3Q2FsbGJhY2sucHVzaChyKSxIKGUublRhYmxlKS5vbigiY29sdW1uLXNpemluZy5kdC5EVCIsciksbn0sInAiKTtmdW5jdGlvbiBOdShlKXt2YXIgdD1bXTtyZXR1cm4gZS5udW1iZXJzJiZ0LnB1c2goIm51bWJlcnMiKSxlLnByZXZpb3VzTmV4dCYmKHQudW5zaGlmdCgicHJldmlvdXMiKSx0LnB1c2goIm5leHQiKSksZS5maXJzdExhc3QmJih0LnVuc2hpZnQoImZpcnN0IiksdC5wdXNoKCJsYXN0IikpLHR9ZnVuY3Rpb24gUXMoZSx0LG4pe2lmKGUuX2JJbml0Q29tcGxldGUpe3ZhciByPW4udHlwZT9nZS5leHQucGFnZXJbbi50eXBlXTpOdSxpPWUub0xhbmd1YWdlLm9BcmlhLnBhZ2luYXRlfHx7fSxhPWUuX2lEaXNwbGF5U3RhcnQscz1lLl9pRGlzcGxheUxlbmd0aCx1PWUuZm5SZWNvcmRzRGlzcGxheSgpLGQ9cz09PS0xLG09ZD8wOk1hdGguY2VpbChhL3MpLHY9ZD8xOk1hdGguY2VpbCh1L3MpLGc9W10sdz1bXSxiPXIobikubWFwKGZ1bmN0aW9uKGYpe3JldHVybiBmPT09Im51bWJlcnMiP2VvKG0sdixuLmJ1dHRvbnMsbi5ib3VuZGFyeU51bWJlcnMpOmZ9KTtnPWcuY29uY2F0LmFwcGx5KGcsYik7Zm9yKHZhciBUPTA7VDxnLmxlbmd0aDtUKyspe3ZhciBEPWdbVF0saD1GdShlLEQsbSx2KSxsPVdyKGUsInBhZ2luZ0J1dHRvbiIpKGUsRCxoLmRpc3BsYXksaC5hY3RpdmUsaC5kaXNhYmxlZCkscD10eXBlb2YgRD09InN0cmluZyI/aVtEXTppLm51bWJlcj9pLm51bWJlcisoRCsxKTpudWxsO0gobC5jbGlja2VyKS5hdHRyKHsiYXJpYS1jb250cm9scyI6ZS5zVGFibGVJZCwiYXJpYS1kaXNhYmxlZCI6aC5kaXNhYmxlZD8idHJ1ZSI6bnVsbCwiYXJpYS1jdXJyZW50IjpoLmFjdGl2ZT8icGFnZSI6bnVsbCwiYXJpYS1sYWJlbCI6cCwiZGF0YS1kdC1pZHgiOkQsdGFiSW5kZXg6aC5kaXNhYmxlZD8tMTplLmlUYWJJbmRleCYmbC5jbGlja2VyWzBdLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPT0ic3BhbiI/ZS5pVGFiSW5kZXg6bnVsbH0pLHR5cGVvZiBEIT0ibnVtYmVyIiYmSChsLmNsaWNrZXIpLmFkZENsYXNzKEQpLFdzKGwuY2xpY2tlcix7YWN0aW9uOkR9LGZ1bmN0aW9uKGYpe2YucHJldmVudERlZmF1bHQoKSxLaShlLGYuZGF0YS5hY3Rpb24sITApfSksdy5wdXNoKGwuZGlzcGxheSl9dmFyIEM9V3IoZSwicGFnaW5nQ29udGFpbmVyIikoZSx3KSxGPXQuZmluZChkb2N1bWVudC5hY3RpdmVFbGVtZW50KS5kYXRhKCJkdC1pZHgiKTtpZih0LmVtcHR5KCkuYXBwZW5kKEMpLEYhPT12b2lkIDAmJnQuZmluZCgiW2RhdGEtZHQtaWR4PSIrRisiXSIpLnRyaWdnZXIoImZvY3VzIiksdy5sZW5ndGgpe3ZhciBQPUgod1swXSkub3V0ZXJIZWlnaHQoKTtuLmJ1dHRvbnM+MSYmUD4wJiZIKHQpLmhlaWdodCgpPj1QKjItMTAmJlFzKGUsdCxILmV4dGVuZCh7fSxuLHtidXR0b25zOm4uYnV0dG9ucy0yfSkpfX19ZnVuY3Rpb24gRnUoZSx0LG4scil7dmFyIGk9ZS5vTGFuZ3VhZ2Uub1BhZ2luYXRlLGE9e2Rpc3BsYXk6IiIsYWN0aXZlOiExLGRpc2FibGVkOiExfTtzd2l0Y2godCl7Y2FzZSJlbGxpcHNpcyI6YS5kaXNwbGF5PSImI3gyMDI2OyI7YnJlYWs7Y2FzZSJmaXJzdCI6YS5kaXNwbGF5PWkuc0ZpcnN0LG49PT0wJiYoYS5kaXNhYmxlZD0hMCk7YnJlYWs7Y2FzZSJwcmV2aW91cyI6YS5kaXNwbGF5PWkuc1ByZXZpb3VzLG49PT0wJiYoYS5kaXNhYmxlZD0hMCk7YnJlYWs7Y2FzZSJuZXh0IjphLmRpc3BsYXk9aS5zTmV4dCwocj09PTB8fG49PT1yLTEpJiYoYS5kaXNhYmxlZD0hMCk7YnJlYWs7Y2FzZSJsYXN0IjphLmRpc3BsYXk9aS5zTGFzdCwocj09PTB8fG49PT1yLTEpJiYoYS5kaXNhYmxlZD0hMCk7YnJlYWs7ZGVmYXVsdDp0eXBlb2YgdD09Im51bWJlciImJihhLmRpc3BsYXk9ZS5mbkZvcm1hdE51bWJlcih0KzEpLG49PT10JiYoYS5hY3RpdmU9ITApKTticmVha31yZXR1cm4gYX1mdW5jdGlvbiBlbyhlLHQsbixyKXt2YXIgaT1bXSxhPU1hdGguZmxvb3Iobi8yKSxzPXI/MjoxLHU9cj8xOjA7cmV0dXJuIHQ8PW4/aT1obigwLHQpOm49PT0xP2k9W2VdOm49PT0zP2U8PTE/aT1bMCwxLCJlbGxpcHNpcyJdOmU+PXQtMj8oaT1obih0LTIsdCksaS51bnNoaWZ0KCJlbGxpcHNpcyIpKTppPVsiZWxsaXBzaXMiLGUsImVsbGlwc2lzIl06ZTw9YT8oaT1obigwLG4tcyksaS5wdXNoKCJlbGxpcHNpcyIpLHImJmkucHVzaCh0LTEpKTplPj10LTEtYT8oaT1obih0LShuLXMpLHQpLGkudW5zaGlmdCgiZWxsaXBzaXMiKSxyJiZpLnVuc2hpZnQoMCkpOihpPWhuKGUtYStzLGUrYS11KSxpLnB1c2goImVsbGlwc2lzIiksaS51bnNoaWZ0KCJlbGxpcHNpcyIpLHImJihpLnB1c2godC0xKSxpLnVuc2hpZnQoMCkpKSxpfXZhciBFaT0wO2dlLmZlYXR1cmUucmVnaXN0ZXIoInBhZ2VMZW5ndGgiLGZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5vRmVhdHVyZXM7aWYoIW4uYlBhZ2luYXRlfHwhbi5iTGVuZ3RoQ2hhbmdlKXJldHVybiBudWxsO3Q9SC5leHRlbmQoe21lbnU6ZS5hTGVuZ3RoTWVudSx0ZXh0OmUub0xhbmd1YWdlLnNMZW5ndGhNZW51fSx0KTt2YXIgcj1lLm9DbGFzc2VzLmxlbmd0aCxpPWUuc1RhYmxlSWQsYT10Lm1lbnUscz1bXSx1PVtdLGQ7aWYoQXJyYXkuaXNBcnJheShhWzBdKSlzPWFbMF0sdT1hWzFdO2Vsc2UgZm9yKGQ9MDtkPGEubGVuZ3RoO2QrKylILmlzUGxhaW5PYmplY3QoYVtkXSk/KHMucHVzaChhW2RdLnZhbHVlKSx1LnB1c2goYVtkXS5sYWJlbCkpOihzLnB1c2goYVtkXSksdS5wdXNoKGFbZF0pKTt2YXIgbT10LnRleHQubWF0Y2goL19NRU5VXyQvKSx2PXQudGV4dC5tYXRjaCgvXl9NRU5VXy8pLGc9dC50ZXh0LnJlcGxhY2UoL19NRU5VXy8sIiIpLHc9IjxsYWJlbD4iK3QudGV4dCsiPC9sYWJlbD4iO3Y/dz0iX01FTlVfPGxhYmVsPiIrZysiPC9sYWJlbD4iOm0mJih3PSI8bGFiZWw+IitnKyI8L2xhYmVsPl9NRU5VXyIpO3ZhciBiPSJ0bXAtIisgK25ldyBEYXRlLFQ9SCgiPGRpdi8+IikuYWRkQ2xhc3Moci5jb250YWluZXIpLmFwcGVuZCh3LnJlcGxhY2UoIl9NRU5VXyIsJzxzcGFuIGlkPSInK2IrJyI+PC9zcGFuPicpKSxEPVtdO0FycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKFQuZmluZCgibGFiZWwiKVswXS5jaGlsZE5vZGVzKS5mb3JFYWNoKGZ1bmN0aW9uKEMpe0Mubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSYmRC5wdXNoKHtlbDpDLHRleHQ6Qy50ZXh0Q29udGVudH0pfSk7dmFyIGg9ZnVuY3Rpb24oQyl7RC5mb3JFYWNoKGZ1bmN0aW9uKEYpe0YuZWwudGV4dENvbnRlbnQ9UWkoZSxGLnRleHQsQyl9KX0sbD1IKCI8c2VsZWN0Lz4iLHsiYXJpYS1jb250cm9scyI6aSxjbGFzczpyLnNlbGVjdH0pO2ZvcihkPTA7ZDxzLmxlbmd0aDtkKyspe3ZhciBwPWUuYXBpLmkxOG4oImxlbmd0aExhYmVscy4iK3NbZF0sbnVsbCk7cD09PW51bGwmJihwPXR5cGVvZiB1W2RdPT0ibnVtYmVyIj9lLmZuRm9ybWF0TnVtYmVyKHVbZF0pOnVbZF0pLGxbMF1bZF09bmV3IE9wdGlvbihwLHNbZF0pfXJldHVybiBULmZpbmQoImxhYmVsIikuYXR0cigiZm9yIiwiZHQtbGVuZ3RoLSIrRWkpLGwuYXR0cigiaWQiLCJkdC1sZW5ndGgtIitFaSksRWkrKyxULmZpbmQoIiMiK2IpLnJlcGxhY2VXaXRoKGwpLEgoInNlbGVjdCIsVCkudmFsKGUuX2lEaXNwbGF5TGVuZ3RoKS5vbigiY2hhbmdlLkRUIixmdW5jdGlvbigpe0JzKGUsSCh0aGlzKS52YWwoKSkscW4oZSl9KSxIKGUublRhYmxlKS5vbigibGVuZ3RoLmR0LkRUIixmdW5jdGlvbihDLEYsUCl7ZT09PUYmJihIKCJzZWxlY3QiLFQpLnZhbChQKSxoKFApKX0pLGgoZS5faURpc3BsYXlMZW5ndGgpLFR9LCJsIik7SC5mbi5kYXRhVGFibGU9Z2U7Z2UuJD1IO0guZm4uZGF0YVRhYmxlU2V0dGluZ3M9Z2Uuc2V0dGluZ3M7SC5mbi5kYXRhVGFibGVFeHQ9Z2UuZXh0O0guZm4uRGF0YVRhYmxlPWZ1bmN0aW9uKGUpe3JldHVybiBIKHRoaXMpLmRhdGFUYWJsZShlKS5hcGkoKX07SC5lYWNoKGdlLGZ1bmN0aW9uKGUsdCl7SC5mbi5EYXRhVGFibGVbZV09dH0pO3ZhciB0ZT1nZTt2YXIgcXQ9dGU7dmFyIE11PXN0KG90KCksMSk7dmFyIGlvPXN0KG90KCksMSk7dmFyIGZlPWlvLmRlZmF1bHQsUHU9MCxPdT0wLEV0PXRlLmV4dC5idXR0b25zLHNhPW51bGw7ZnVuY3Rpb24gb2EoZSx0LG4pe2ZlLmZuLmFuaW1hdGU/ZS5zdG9wKCkuZmFkZUluKHQsbik6KGUuY3NzKCJkaXNwbGF5IiwiYmxvY2siKSxuJiZuLmNhbGwoZSkpfWZ1bmN0aW9uIGxhKGUsdCxuKXtmZS5mbi5hbmltYXRlP2Uuc3RvcCgpLmZhZGVPdXQodCxuKTooZS5jc3MoImRpc3BsYXkiLCJub25lIiksbiYmbi5jYWxsKGUpKX12YXIgbnQ9ZnVuY3Rpb24oZSx0KXtpZighdGUudmVyc2lvbkNoZWNrKCIyIikpdGhyb3ciV2FybmluZzogQnV0dG9ucyByZXF1aXJlcyBEYXRhVGFibGVzIDIgb3IgbmV3ZXIiO2lmKCEodGhpcyBpbnN0YW5jZW9mIG50KSlyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIG5ldyBudChuLGUpLmNvbnRhaW5lcigpfTt0eXBlb2YgdD4idSImJih0PXt9KSx0PT09ITAmJih0PXt9KSxBcnJheS5pc0FycmF5KHQpJiYodD17YnV0dG9uczp0fSksdGhpcy5jPWZlLmV4dGVuZCghMCx7fSxudC5kZWZhdWx0cyx0KSx0LmJ1dHRvbnMmJih0aGlzLmMuYnV0dG9ucz10LmJ1dHRvbnMpLHRoaXMucz17ZHQ6bmV3IHRlLkFwaShlKSxidXR0b25zOltdLGxpc3RlbktleXM6IiIsbmFtZXNwYWNlOiJkdGIiK1B1Kyt9LHRoaXMuZG9tPXtjb250YWluZXI6ZmUoIjwiK3RoaXMuYy5kb20uY29udGFpbmVyLnRhZysiLz4iKS5hZGRDbGFzcyh0aGlzLmMuZG9tLmNvbnRhaW5lci5jbGFzc05hbWUpfSx0aGlzLl9jb25zdHJ1Y3RvcigpfTtmZS5leHRlbmQobnQucHJvdG90eXBlLHthY3Rpb246ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLl9ub2RlVG9CdXR0b24oZSk7cmV0dXJuIHQ9PT12b2lkIDA/bi5jb25mLmFjdGlvbjoobi5jb25mLmFjdGlvbj10LHRoaXMpfSxhY3RpdmU6ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLl9ub2RlVG9CdXR0b24oZSkscj10aGlzLmMuZG9tLmJ1dHRvbi5hY3RpdmUsaT1mZShuLm5vZGUpO3JldHVybiBuLmluQ29sbGVjdGlvbiYmdGhpcy5jLmRvbS5jb2xsZWN0aW9uLmJ1dHRvbiYmdGhpcy5jLmRvbS5jb2xsZWN0aW9uLmJ1dHRvbi5hY3RpdmUhPT12b2lkIDAmJihyPXRoaXMuYy5kb20uY29sbGVjdGlvbi5idXR0b24uYWN0aXZlKSx0PT09dm9pZCAwP2kuaGFzQ2xhc3Mocik6KGkudG9nZ2xlQ2xhc3Mocix0PT09dm9pZCAwPyEwOnQpLHRoaXMpfSxhZGQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRoaXMucy5idXR0b25zO2lmKHR5cGVvZiB0PT0ic3RyaW5nIil7Zm9yKHZhciBpPXQuc3BsaXQoIi0iKSxhPXRoaXMucyxzPTAsdT1pLmxlbmd0aC0xO3M8dTtzKyspYT1hLmJ1dHRvbnNbaVtzXSoxXTtyPWEuYnV0dG9ucyx0PWlbaS5sZW5ndGgtMV0qMX1yZXR1cm4gdGhpcy5fZXhwYW5kQnV0dG9uKHIsZSxlIT09dm9pZCAwP2Uuc3BsaXQ6dm9pZCAwLChlPT09dm9pZCAwfHxlLnNwbGl0PT09dm9pZCAwfHxlLnNwbGl0Lmxlbmd0aD09PTApJiZhIT09dm9pZCAwLCExLHQpLChuPT09dm9pZCAwfHxuPT09ITApJiZ0aGlzLl9kcmF3KCksdGhpc30sY29sbGVjdGlvblJlYnVpbGQ6ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLl9ub2RlVG9CdXR0b24oZSk7aWYodCE9PXZvaWQgMCl7dmFyIHI7Zm9yKHI9bi5idXR0b25zLmxlbmd0aC0xO3I+PTA7ci0tKXRoaXMucmVtb3ZlKG4uYnV0dG9uc1tyXS5ub2RlKTtmb3Iobi5jb25mLnByZWZpeEJ1dHRvbnMmJnQudW5zaGlmdC5hcHBseSh0LG4uY29uZi5wcmVmaXhCdXR0b25zKSxuLmNvbmYucG9zdGZpeEJ1dHRvbnMmJnQucHVzaC5hcHBseSh0LG4uY29uZi5wb3N0Zml4QnV0dG9ucykscj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgaT10W3JdO3RoaXMuX2V4cGFuZEJ1dHRvbihuLmJ1dHRvbnMsaSxpIT09dm9pZCAwJiZpLmNvbmZpZyE9PXZvaWQgMCYmaS5jb25maWcuc3BsaXQhPT12b2lkIDAsITAsaS5wYXJlbnRDb25mIT09dm9pZCAwJiZpLnBhcmVudENvbmYuc3BsaXQhPT12b2lkIDAsbnVsbCxpLnBhcmVudENvbmYpfX10aGlzLl9kcmF3KG4uY29sbGVjdGlvbixuLmJ1dHRvbnMpfSxjb250YWluZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb20uY29udGFpbmVyfSxkaXNhYmxlOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX25vZGVUb0J1dHRvbihlKTtyZXR1cm4gdC5pc1NwbGl0P2ZlKHQubm9kZS5jaGlsZE5vZGVzWzBdKS5hZGRDbGFzcyh0aGlzLmMuZG9tLmJ1dHRvbi5kaXNhYmxlZCkucHJvcCgiZGlzYWJsZWQiLCEwKTpmZSh0Lm5vZGUpLmFkZENsYXNzKHRoaXMuYy5kb20uYnV0dG9uLmRpc2FibGVkKS5wcm9wKCJkaXNhYmxlZCIsITApLHQuZGlzYWJsZWQ9ITAsdGhpcy5fY2hlY2tTcGxpdEVuYWJsZSgpLHRoaXN9LGRlc3Ryb3k6ZnVuY3Rpb24oKXtmZSgiYm9keSIpLm9mZigia2V5dXAuIit0aGlzLnMubmFtZXNwYWNlKTt2YXIgZT10aGlzLnMuYnV0dG9ucy5zbGljZSgpLHQsbjtmb3IodD0wLG49ZS5sZW5ndGg7dDxuO3QrKyl0aGlzLnJlbW92ZShlW3RdLm5vZGUpO3RoaXMuZG9tLmNvbnRhaW5lci5yZW1vdmUoKTt2YXIgcj10aGlzLnMuZHQuc2V0dGluZ3MoKVswXTtmb3IodD0wLG49ci5sZW5ndGg7dDxuO3QrKylpZihyLmluc3Q9PT10aGlzKXtyLnNwbGljZSh0LDEpO2JyZWFrfXJldHVybiB0aGlzfSxlbmFibGU6ZnVuY3Rpb24oZSx0KXtpZih0PT09ITEpcmV0dXJuIHRoaXMuZGlzYWJsZShlKTt2YXIgbj10aGlzLl9ub2RlVG9CdXR0b24oZSk7cmV0dXJuIG4uaXNTcGxpdD9mZShuLm5vZGUuY2hpbGROb2Rlc1swXSkucmVtb3ZlQ2xhc3ModGhpcy5jLmRvbS5idXR0b24uZGlzYWJsZWQpLnByb3AoImRpc2FibGVkIiwhMSk6ZmUobi5ub2RlKS5yZW1vdmVDbGFzcyh0aGlzLmMuZG9tLmJ1dHRvbi5kaXNhYmxlZCkucHJvcCgiZGlzYWJsZWQiLCExKSxuLmRpc2FibGVkPSExLHRoaXMuX2NoZWNrU3BsaXRFbmFibGUoKSx0aGlzfSxpbmRleDpmdW5jdGlvbihlLHQsbil7dHx8KHQ9IiIsbj10aGlzLnMuYnV0dG9ucyk7Zm9yKHZhciByPTAsaT1uLmxlbmd0aDtyPGk7cisrKXt2YXIgYT1uW3JdLmJ1dHRvbnM7aWYobltyXS5ub2RlPT09ZSlyZXR1cm4gdCtyO2lmKGEmJmEubGVuZ3RoKXt2YXIgcz10aGlzLmluZGV4KGUscisiLSIsYSk7aWYocyE9PW51bGwpcmV0dXJuIHN9fXJldHVybiBudWxsfSxuYW1lOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYy5uYW1lfSxub2RlOmZ1bmN0aW9uKGUpe2lmKCFlKXJldHVybiB0aGlzLmRvbS5jb250YWluZXI7dmFyIHQ9dGhpcy5fbm9kZVRvQnV0dG9uKGUpO3JldHVybiBmZSh0Lm5vZGUpfSxwcm9jZXNzaW5nOmZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcy5zLmR0LHI9dGhpcy5fbm9kZVRvQnV0dG9uKGUpO3JldHVybiB0PT09dm9pZCAwP2ZlKHIubm9kZSkuaGFzQ2xhc3MoInByb2Nlc3NpbmciKTooZmUoci5ub2RlKS50b2dnbGVDbGFzcygicHJvY2Vzc2luZyIsdCksZmUobi50YWJsZSgpLm5vZGUoKSkudHJpZ2dlckhhbmRsZXIoImJ1dHRvbnMtcHJvY2Vzc2luZy5kdCIsW3Qsbi5idXR0b24oZSksbixmZShlKSxyLmNvbmZdKSx0aGlzKX0scmVtb3ZlOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX25vZGVUb0J1dHRvbihlKSxuPXRoaXMuX25vZGVUb0hvc3QoZSkscj10aGlzLnMuZHQ7aWYodC5idXR0b25zLmxlbmd0aClmb3IodmFyIGk9dC5idXR0b25zLmxlbmd0aC0xO2k+PTA7aS0tKXRoaXMucmVtb3ZlKHQuYnV0dG9uc1tpXS5ub2RlKTt0LmNvbmYuZGVzdHJveWluZz0hMCx0LmNvbmYuZGVzdHJveSYmdC5jb25mLmRlc3Ryb3kuY2FsbChyLmJ1dHRvbihlKSxyLGZlKGUpLHQuY29uZiksdGhpcy5fcmVtb3ZlS2V5KHQuY29uZiksZmUodC5ub2RlKS5yZW1vdmUoKSx0Lmluc2VydGVyJiZmZSh0Lmluc2VydGVyKS5yZW1vdmUoKTt2YXIgYT1mZS5pbkFycmF5KHQsbik7cmV0dXJuIG4uc3BsaWNlKGEsMSksdGhpc30sdGV4dDpmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMuX25vZGVUb0J1dHRvbihlKSxyPW4udGV4dE5vZGUsaT10aGlzLnMuZHQsYT1mZShuLm5vZGUpLHM9ZnVuY3Rpb24odSl7cmV0dXJuIHR5cGVvZiB1PT0iZnVuY3Rpb24iP3UoaSxhLG4uY29uZik6dX07cmV0dXJuIHQ9PT12b2lkIDA/cyhuLmNvbmYudGV4dCk6KG4uY29uZi50ZXh0PXQsci5odG1sKHModCkpLHRoaXMpfSxfY29uc3RydWN0b3I6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9dGhpcy5zLmR0LG49dC5zZXR0aW5ncygpWzBdLHI9dGhpcy5jLmJ1dHRvbnM7bi5fYnV0dG9uc3x8KG4uX2J1dHRvbnM9W10pLG4uX2J1dHRvbnMucHVzaCh7aW5zdDp0aGlzLG5hbWU6dGhpcy5jLm5hbWV9KTtmb3IodmFyIGk9MCxhPXIubGVuZ3RoO2k8YTtpKyspdGhpcy5hZGQocltpXSk7dC5vbigiZGVzdHJveSIsZnVuY3Rpb24ocyx1KXt1PT09biYmZS5kZXN0cm95KCl9KSxmZSgiYm9keSIpLm9uKCJrZXl1cC4iK3RoaXMucy5uYW1lc3BhY2UsZnVuY3Rpb24ocyl7aWYoIWRvY3VtZW50LmFjdGl2ZUVsZW1lbnR8fGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1kb2N1bWVudC5ib2R5KXt2YXIgdT1TdHJpbmcuZnJvbUNoYXJDb2RlKHMua2V5Q29kZSkudG9Mb3dlckNhc2UoKTtlLnMubGlzdGVuS2V5cy50b0xvd2VyQ2FzZSgpLmluZGV4T2YodSkhPT0tMSYmZS5fa2V5cHJlc3ModSxzKX19KX0sX2FkZEtleTpmdW5jdGlvbihlKXtlLmtleSYmKHRoaXMucy5saXN0ZW5LZXlzKz1mZS5pc1BsYWluT2JqZWN0KGUua2V5KT9lLmtleS5rZXk6ZS5rZXkpfSxfZHJhdzpmdW5jdGlvbihlLHQpe2V8fChlPXRoaXMuZG9tLmNvbnRhaW5lcix0PXRoaXMucy5idXR0b25zKSxlLmNoaWxkcmVuKCkuZGV0YWNoKCk7Zm9yKHZhciBuPTAscj10Lmxlbmd0aDtuPHI7bisrKWUuYXBwZW5kKHRbbl0uaW5zZXJ0ZXIpLGUuYXBwZW5kKCIgIiksdFtuXS5idXR0b25zJiZ0W25dLmJ1dHRvbnMubGVuZ3RoJiZ0aGlzLl9kcmF3KHRbbl0uY29sbGVjdGlvbix0W25dLmJ1dHRvbnMpfSxfZXhwYW5kQnV0dG9uOmZ1bmN0aW9uKGUsdCxuLHIsaSxhLHMpe3ZhciB1PXRoaXMucy5kdCxkPSExLG09dGhpcy5jLmRvbS5jb2xsZWN0aW9uLHY9QXJyYXkuaXNBcnJheSh0KT90Olt0XTt0PT09dm9pZCAwJiYodj1BcnJheS5pc0FycmF5KG4pP246W25dKTtmb3IodmFyIGc9MCx3PXYubGVuZ3RoO2c8dztnKyspe3ZhciBiPXRoaXMuX3Jlc29sdmVFeHRlbmRzKHZbZ10pO2lmKGIpe2lmKGQ9ISEoYi5jb25maWcmJmIuY29uZmlnLnNwbGl0KSxBcnJheS5pc0FycmF5KGIpKXt0aGlzLl9leHBhbmRCdXR0b24oZSxiLFQhPT12b2lkIDAmJlQuY29uZiE9PXZvaWQgMD9ULmNvbmYuc3BsaXQ6dm9pZCAwLHIscyE9PXZvaWQgMCYmcy5zcGxpdCE9PXZvaWQgMCxhLHMpO2NvbnRpbnVlfXZhciBUPXRoaXMuX2J1aWxkQnV0dG9uKGIscixiLnNwbGl0IT09dm9pZCAwfHxiLmNvbmZpZyE9PXZvaWQgMCYmYi5jb25maWcuc3BsaXQhPT12b2lkIDAsaSk7aWYoVCl7aWYoYSE9bnVsbD8oZS5zcGxpY2UoYSwwLFQpLGErKyk6ZS5wdXNoKFQpLFQuY29uZi5kcm9wSWNvbiYmIVQuY29uZi5zcGxpdCYmZmUoVC5ub2RlKS5hZGRDbGFzcyh0aGlzLmMuZG9tLmJ1dHRvbi5kcm9wQ2xhc3MpLmFwcGVuZCh0aGlzLmMuZG9tLmJ1dHRvbi5kcm9wSHRtbCksVC5jb25mLmJ1dHRvbnMmJihULmNvbGxlY3Rpb249ZmUoIjwiK20uY29udGFpbmVyLmNvbnRlbnQudGFnKyIvPiIpLFQuY29uZi5fY29sbGVjdGlvbj1ULmNvbGxlY3Rpb24sdGhpcy5fZXhwYW5kQnV0dG9uKFQuYnV0dG9ucyxULmNvbmYuYnV0dG9ucyxULmNvbmYuc3BsaXQsIWQsZCxhLFQuY29uZikpLFQuY29uZi5zcGxpdCl7VC5jb2xsZWN0aW9uPWZlKCI8IittLmNvbnRhaW5lci50YWcrIi8+IiksVC5jb25mLl9jb2xsZWN0aW9uPVQuY29sbGVjdGlvbjtmb3IodmFyIEQ9MDtEPFQuY29uZi5zcGxpdC5sZW5ndGg7RCsrKXt2YXIgaD1ULmNvbmYuc3BsaXRbRF07dHlwZW9mIGg9PSJvYmplY3QiJiYoaC5wYXJlbnQ9cyxoLmNvbGxlY3Rpb25MYXlvdXQ9PT12b2lkIDAmJihoLmNvbGxlY3Rpb25MYXlvdXQ9VC5jb25mLmNvbGxlY3Rpb25MYXlvdXQpLGguZHJvcHVwPT09dm9pZCAwJiYoaC5kcm9wdXA9VC5jb25mLmRyb3B1cCksaC5mYWRlPT09dm9pZCAwJiYoaC5mYWRlPVQuY29uZi5mYWRlKSl9dGhpcy5fZXhwYW5kQnV0dG9uKFQuYnV0dG9ucyxULmNvbmYuYnV0dG9ucyxULmNvbmYuc3BsaXQsIWQsZCxhLFQuY29uZil9VC5jb25mLnBhcmVudD1zLGIuaW5pdCYmYi5pbml0LmNhbGwodS5idXR0b24oVC5ub2RlKSx1LGZlKFQubm9kZSksYil9fX19LF9idWlsZEJ1dHRvbjpmdW5jdGlvbihlLHQsbixyKXt2YXIgaT10aGlzLGE9dGhpcy5jLmRvbSxzLHU9dGhpcy5zLmR0LGQ9ITEsbT1mdW5jdGlvbihfKXtyZXR1cm4gdHlwZW9mIF89PSJmdW5jdGlvbiI/Xyh1LHcsZSk6X30sdj1mZS5leHRlbmQoITAse30sYS5idXR0b24pO2lmKHQmJm4mJmEuY29sbGVjdGlvbi5zcGxpdD9mZS5leHRlbmQoITAsdixhLmNvbGxlY3Rpb24uc3BsaXQuYWN0aW9uKTpyfHx0P2ZlLmV4dGVuZCghMCx2LGEuY29sbGVjdGlvbi5idXR0b24pOm4mJmZlLmV4dGVuZCghMCx2LGEuc3BsaXQuYnV0dG9uKSxlLnNwYWNlcil7dmFyIGc9ZmUoIjwiK3Yuc3BhY2VyLnRhZysiLz4iKS5hZGRDbGFzcygiZHQtYnV0dG9uLXNwYWNlciAiK2Uuc3R5bGUrIiAiK3Yuc3BhY2VyLmNsYXNzTmFtZSkuaHRtbChtKGUudGV4dCkpO3JldHVybntjb25mOmUsbm9kZTpnLG5vZGVDaGlsZDpudWxsLGluc2VydGVyOmcsYnV0dG9uczpbXSxpbkNvbGxlY3Rpb246dCxpc1NwbGl0Om4sY29sbGVjdGlvbjpudWxsLHRleHROb2RlOmd9fWlmKGUuYXZhaWxhYmxlJiYhZS5hdmFpbGFibGUodSxlKSYmIWUuaHRtbClyZXR1cm4hMTt2YXIgdztpZihlLmh0bWwpdz1mZShlLmh0bWwpO2Vsc2V7dmFyIGI9ZnVuY3Rpb24oXyxTLGssTCxSKXtMLmFjdGlvbi5jYWxsKFMuYnV0dG9uKGspLF8sUyxrLEwsUiksZmUoUy50YWJsZSgpLm5vZGUoKSkudHJpZ2dlckhhbmRsZXIoImJ1dHRvbnMtYWN0aW9uLmR0IixbUy5idXR0b24oayksUyxrLExdKX0sVD1mdW5jdGlvbihfLFMsayxMKXtMLmFzeW5jPyhpLnByb2Nlc3Npbmcoa1swXSwhMCksc2V0VGltZW91dChmdW5jdGlvbigpe2IoXyxTLGssTCxmdW5jdGlvbigpe2kucHJvY2Vzc2luZyhrWzBdLCExKX0pfSxMLmFzeW5jKSk6YihfLFMsayxMLGZ1bmN0aW9uKCl7fSl9LEQ9ZS50YWd8fHYudGFnLGg9ZS5jbGlja0JsdXJzPT09dm9pZCAwPyEwOmUuY2xpY2tCbHVycztpZih3PWZlKCI8IitEKyIvPiIpLmFkZENsYXNzKHYuY2xhc3NOYW1lKS5hdHRyKCJhcmlhLWNvbnRyb2xzIix0aGlzLnMuZHQudGFibGUoKS5ub2RlKCkuaWQpLm9uKCJjbGljay5kdGIiLGZ1bmN0aW9uKF8pe18ucHJldmVudERlZmF1bHQoKSwhdy5oYXNDbGFzcyh2LmRpc2FibGVkKSYmZS5hY3Rpb24mJlQoXyx1LHcsZSksaCYmdy50cmlnZ2VyKCJibHVyIil9KS5vbigia2V5cHJlc3MuZHRiIixmdW5jdGlvbihfKXtfLmtleUNvZGU9PT0xMyYmKF8ucHJldmVudERlZmF1bHQoKSwhdy5oYXNDbGFzcyh2LmRpc2FibGVkKSYmZS5hY3Rpb24mJlQoXyx1LHcsZSkpfSksRC50b0xvd2VyQ2FzZSgpPT09ImEiJiZ3LmF0dHIoImhyZWYiLCIjIiksRC50b0xvd2VyQ2FzZSgpPT09ImJ1dHRvbiImJncuYXR0cigidHlwZSIsImJ1dHRvbiIpLHYubGluZXIudGFnKXt2YXIgbD12LmxpbmVyLnRhZy50b0xvd2VyQ2FzZSgpLHA9ZmUoIjwiK2wrIi8+IikuaHRtbChtKGUudGV4dCkpLmFkZENsYXNzKHYubGluZXIuY2xhc3NOYW1lKTtsPT09ImEiJiZwLmF0dHIoImhyZWYiLCIjIiksKGw9PT0iYSJ8fGw9PT0iYnV0dG9uIikmJihwLmF0dHIoInRhYmluZGV4Iix0aGlzLnMuZHQuc2V0dGluZ3MoKVswXS5pVGFiSW5kZXgpLGQ9ITApLHcuYXBwZW5kKHApLHM9cH1lbHNlIHcuaHRtbChtKGUudGV4dCkpLHM9dztkfHx3LmF0dHIoInRhYmluZGV4Iix0aGlzLnMuZHQuc2V0dGluZ3MoKVswXS5pVGFiSW5kZXgpLGUuZW5hYmxlZD09PSExJiZ3LmFkZENsYXNzKHYuZGlzYWJsZWQpLGUuY2xhc3NOYW1lJiZ3LmFkZENsYXNzKGUuY2xhc3NOYW1lKSxlLnRpdGxlQXR0ciYmdy5hdHRyKCJ0aXRsZSIsbShlLnRpdGxlQXR0cikpLGUuYXR0ciYmdy5hdHRyKGUuYXR0ciksZS5uYW1lc3BhY2V8fChlLm5hbWVzcGFjZT0iLmR0LWJ1dHRvbi0iK091KyspLGUuY29uZmlnIT09dm9pZCAwJiZlLmNvbmZpZy5zcGxpdCYmKGUuc3BsaXQ9ZS5jb25maWcuc3BsaXQpfXZhciBDPXRoaXMuYy5kb20uYnV0dG9uQ29udGFpbmVyLEY7QyYmQy50YWc/Rj1mZSgiPCIrQy50YWcrIi8+IikuYWRkQ2xhc3MoQy5jbGFzc05hbWUpLmFwcGVuZCh3KTpGPXcsdGhpcy5fYWRkS2V5KGUpLHRoaXMuYy5idXR0b25DcmVhdGVkJiYoRj10aGlzLmMuYnV0dG9uQ3JlYXRlZChlLEYpKTt2YXIgUDtpZihuKXt2YXIgZj10P2ZlLmV4dGVuZCghMCx0aGlzLmMuZG9tLnNwbGl0LHRoaXMuYy5kb20uY29sbGVjdGlvbi5zcGxpdCk6dGhpcy5jLmRvbS5zcGxpdCxXPWYud3JhcHBlcjtQPWZlKCI8IitXLnRhZysiLz4iKS5hZGRDbGFzcyhXLmNsYXNzTmFtZSkuYXBwZW5kKHcpO3ZhciBaPWZlLmV4dGVuZChlLHthdXRvQ2xvc2U6ITAsYWxpZ246Zi5kcm9wZG93bi5hbGlnbixhdHRyOnsiYXJpYS1oYXNwb3B1cCI6ImRpYWxvZyIsImFyaWEtZXhwYW5kZWQiOiExfSxjbGFzc05hbWU6Zi5kcm9wZG93bi5jbGFzc05hbWUsY2xvc2VCdXR0b246ITEsc3BsaXRBbGlnbkNsYXNzOmYuZHJvcGRvd24uc3BsaXRBbGlnbkNsYXNzLHRleHQ6Zi5kcm9wZG93bi50ZXh0fSk7dGhpcy5fYWRkS2V5KFopO3ZhciBpZT1mdW5jdGlvbihfLFMsayxMKXtFdC5zcGxpdC5hY3Rpb24uY2FsbChTLmJ1dHRvbihQKSxfLFMsayxMKSxmZShTLnRhYmxlKCkubm9kZSgpKS50cmlnZ2VySGFuZGxlcigiYnV0dG9ucy1hY3Rpb24uZHQiLFtTLmJ1dHRvbihrKSxTLGssTF0pLGsuYXR0cigiYXJpYS1leHBhbmRlZCIsITApfSxFPWZlKCc8YnV0dG9uIGNsYXNzPSInK2YuZHJvcGRvd24uY2xhc3NOYW1lKycgZHQtYnV0dG9uIj48L2J1dHRvbj4nKS5odG1sKHRoaXMuYy5kb20uYnV0dG9uLmRyb3BIdG1sKS5hZGRDbGFzcyh0aGlzLmMuZG9tLmJ1dHRvbi5kcm9wQ2xhc3MpLm9uKCJjbGljay5kdGIiLGZ1bmN0aW9uKF8pe18ucHJldmVudERlZmF1bHQoKSxfLnN0b3BQcm9wYWdhdGlvbigpLEUuaGFzQ2xhc3Modi5kaXNhYmxlZCl8fGllKF8sdSxFLFopLGgmJkUudHJpZ2dlcigiYmx1ciIpfSkub24oImtleXByZXNzLmR0YiIsZnVuY3Rpb24oXyl7Xy5rZXlDb2RlPT09MTMmJihfLnByZXZlbnREZWZhdWx0KCksRS5oYXNDbGFzcyh2LmRpc2FibGVkKXx8aWUoXyx1LEUsWikpfSk7ZS5zcGxpdC5sZW5ndGg9PT0wJiZFLmFkZENsYXNzKCJkdGItaGlkZS1kcm9wIiksUC5hcHBlbmQoRSkuYXR0cihaLmF0dHIpfXZhciBKPW4/UC5nZXQoMCk6dy5nZXQoMCk7cmV0dXJue2NvbmY6ZSxub2RlOkosbm9kZUNoaWxkOkomJkouY2hpbGRyZW4mJkouY2hpbGRyZW4ubGVuZ3RoP0ouY2hpbGRyZW5bMF06bnVsbCxpbnNlcnRlcjpuP1A6RixidXR0b25zOltdLGluQ29sbGVjdGlvbjp0LGlzU3BsaXQ6bixpblNwbGl0OnIsY29sbGVjdGlvbjpudWxsLHRleHROb2RlOnN9fSxfY2hlY2tTcGxpdEVuYWJsZTpmdW5jdGlvbihlKXtlfHwoZT10aGlzLnMuYnV0dG9ucyk7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kyspe3ZhciBuPWVbdF07aWYobi5pc1NwbGl0KXt2YXIgcj1uLm5vZGUuY2hpbGROb2Rlc1sxXTt0aGlzLl9jaGVja0FueUVuYWJsZWQobi5idXR0b25zKT9mZShyKS5yZW1vdmVDbGFzcyh0aGlzLmMuZG9tLmJ1dHRvbi5kaXNhYmxlZCkucHJvcCgiZGlzYWJsZWQiLCExKTpmZShyKS5hZGRDbGFzcyh0aGlzLmMuZG9tLmJ1dHRvbi5kaXNhYmxlZCkucHJvcCgiZGlzYWJsZWQiLCExKX1lbHNlIG4uaXNDb2xsZWN0aW9uJiZ0aGlzLl9jaGVja1NwbGl0RW5hYmxlKG4uYnV0dG9ucyl9fSxfY2hlY2tBbnlFbmFibGVkOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKWlmKCFlW3RdLmRpc2FibGVkKXJldHVybiEwO3JldHVybiExfSxfbm9kZVRvQnV0dG9uOmZ1bmN0aW9uKGUsdCl7dHx8KHQ9dGhpcy5zLmJ1dHRvbnMpO2Zvcih2YXIgbj0wLHI9dC5sZW5ndGg7bjxyO24rKyl7aWYodFtuXS5ub2RlPT09ZXx8dFtuXS5ub2RlQ2hpbGQ9PT1lKXJldHVybiB0W25dO2lmKHRbbl0uYnV0dG9ucy5sZW5ndGgpe3ZhciBpPXRoaXMuX25vZGVUb0J1dHRvbihlLHRbbl0uYnV0dG9ucyk7aWYoaSlyZXR1cm4gaX19fSxfbm9kZVRvSG9zdDpmdW5jdGlvbihlLHQpe3R8fCh0PXRoaXMucy5idXR0b25zKTtmb3IodmFyIG49MCxyPXQubGVuZ3RoO248cjtuKyspe2lmKHRbbl0ubm9kZT09PWUpcmV0dXJuIHQ7aWYodFtuXS5idXR0b25zLmxlbmd0aCl7dmFyIGk9dGhpcy5fbm9kZVRvSG9zdChlLHRbbl0uYnV0dG9ucyk7aWYoaSlyZXR1cm4gaX19fSxfa2V5cHJlc3M6ZnVuY3Rpb24oZSx0KXtpZighdC5fYnV0dG9uc0hhbmRsZWQpe3ZhciBuPWZ1bmN0aW9uKGksYSl7aWYoaS5rZXkpe2lmKGkua2V5PT09ZSl0Ll9idXR0b25zSGFuZGxlZD0hMCxmZShhKS5jbGljaygpO2Vsc2UgaWYoZmUuaXNQbGFpbk9iamVjdChpLmtleSkpe2lmKGkua2V5LmtleSE9PWV8fGkua2V5LnNoaWZ0S2V5JiYhdC5zaGlmdEtleXx8aS5rZXkuYWx0S2V5JiYhdC5hbHRLZXl8fGkua2V5LmN0cmxLZXkmJiF0LmN0cmxLZXl8fGkua2V5Lm1ldGFLZXkmJiF0Lm1ldGFLZXkpcmV0dXJuO3QuX2J1dHRvbnNIYW5kbGVkPSEwLGZlKGEpLmNsaWNrKCl9fX0scj1mdW5jdGlvbihpKXtmb3IodmFyIGE9MCxzPWkubGVuZ3RoO2E8czthKyspbihpW2FdLmNvbmYsaVthXS5ub2RlKSxpW2FdLmJ1dHRvbnMubGVuZ3RoJiZyKGlbYV0uYnV0dG9ucyl9O3IodGhpcy5zLmJ1dHRvbnMpfX0sX3JlbW92ZUtleTpmdW5jdGlvbihlKXtpZihlLmtleSl7dmFyIHQ9ZmUuaXNQbGFpbk9iamVjdChlLmtleSk/ZS5rZXkua2V5OmUua2V5LG49dGhpcy5zLmxpc3RlbktleXMuc3BsaXQoIiIpLHI9ZmUuaW5BcnJheSh0LG4pO24uc3BsaWNlKHIsMSksdGhpcy5zLmxpc3RlbktleXM9bi5qb2luKCIiKX19LF9yZXNvbHZlRXh0ZW5kczpmdW5jdGlvbihlKXt2YXIgdD10aGlzLG49dGhpcy5zLmR0LHIsaSxhPWZ1bmN0aW9uKHYpe2Zvcih2YXIgZz0wOyFmZS5pc1BsYWluT2JqZWN0KHYpJiYhQXJyYXkuaXNBcnJheSh2KTspe2lmKHY9PT12b2lkIDApcmV0dXJuO2lmKHR5cGVvZiB2PT0iZnVuY3Rpb24iKXtpZih2PXYuY2FsbCh0LG4sZSksIXYpcmV0dXJuITF9ZWxzZSBpZih0eXBlb2Ygdj09InN0cmluZyIpe2lmKCFFdFt2XSlyZXR1cm57aHRtbDp2fTt2PUV0W3ZdfWlmKGcrKyxnPjMwKXRocm93IkJ1dHRvbnM6IFRvbyBtYW55IGl0ZXJhdGlvbnMifXJldHVybiBBcnJheS5pc0FycmF5KHYpP3Y6ZmUuZXh0ZW5kKHt9LHYpfTtmb3IoZT1hKGUpO2UmJmUuZXh0ZW5kOyl7aWYoIUV0W2UuZXh0ZW5kXSl0aHJvdyJDYW5ub3QgZXh0ZW5kIHVua25vd24gYnV0dG9uIHR5cGU6ICIrZS5leHRlbmQ7dmFyIHM9YShFdFtlLmV4dGVuZF0pO2lmKEFycmF5LmlzQXJyYXkocykpcmV0dXJuIHM7aWYoIXMpcmV0dXJuITE7dmFyIHU9cy5jbGFzc05hbWU7ZS5jb25maWchPT12b2lkIDAmJnMuY29uZmlnIT09dm9pZCAwJiYoZS5jb25maWc9ZmUuZXh0ZW5kKHt9LHMuY29uZmlnLGUuY29uZmlnKSksZT1mZS5leHRlbmQoe30scyxlKSx1JiZlLmNsYXNzTmFtZSE9PXUmJihlLmNsYXNzTmFtZT11KyIgIitlLmNsYXNzTmFtZSksZS5leHRlbmQ9cy5leHRlbmR9dmFyIGQ9ZS5wb3N0Zml4QnV0dG9ucztpZihkKWZvcihlLmJ1dHRvbnN8fChlLmJ1dHRvbnM9W10pLHI9MCxpPWQubGVuZ3RoO3I8aTtyKyspZS5idXR0b25zLnB1c2goZFtyXSk7dmFyIG09ZS5wcmVmaXhCdXR0b25zO2lmKG0pZm9yKGUuYnV0dG9uc3x8KGUuYnV0dG9ucz1bXSkscj0wLGk9bS5sZW5ndGg7cjxpO3IrKyllLmJ1dHRvbnMuc3BsaWNlKHIsMCxtW3JdKTtyZXR1cm4gZX0sX3BvcG92ZXI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXQsaT10aGlzLmMsYT0hMSxzPWZlLmV4dGVuZCh7YWxpZ246ImJ1dHRvbi1sZWZ0IixhdXRvQ2xvc2U6ITEsYmFja2dyb3VuZDohMCxiYWNrZ3JvdW5kQ2xhc3NOYW1lOiJkdC1idXR0b24tYmFja2dyb3VuZCIsY2xvc2VCdXR0b246ITAsY29udGFpbmVyQ2xhc3NOYW1lOmkuZG9tLmNvbGxlY3Rpb24uY29udGFpbmVyLmNsYXNzTmFtZSxjb250ZW50Q2xhc3NOYW1lOmkuZG9tLmNvbGxlY3Rpb24uY29udGFpbmVyLmNvbnRlbnQuY2xhc3NOYW1lLGNvbGxlY3Rpb25MYXlvdXQ6IiIsY29sbGVjdGlvblRpdGxlOiIiLGRyb3B1cDohMSxmYWRlOjQwMCxwb3BvdmVyVGl0bGU6IiIscmlnaHRBbGlnbkNsYXNzTmFtZToiZHQtYnV0dG9uLXJpZ2h0Iix0YWc6aS5kb20uY29sbGVjdGlvbi5jb250YWluZXIudGFnfSxuKSx1PXMudGFnKyIuIitzLmNvbnRhaW5lckNsYXNzTmFtZS5yZXBsYWNlKC8gL2csIi4iKSxkPXQubm9kZSgpLG09cy5jb2xsZWN0aW9uTGF5b3V0LmluY2x1ZGVzKCJmaXhlZCIpP2ZlKCJib2R5Iik6dC5ub2RlKCksdj1mdW5jdGlvbigpe2E9ITAsbGEoZmUodSkscy5mYWRlLGZ1bmN0aW9uKCl7ZmUodGhpcykuZGV0YWNoKCl9KSxmZShyLmJ1dHRvbnMoJ1thcmlhLWhhc3BvcHVwPSJkaWFsb2ciXVthcmlhLWV4cGFuZGVkPSJ0cnVlIl0nKS5ub2RlcygpKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwiZmFsc2UiKSxmZSgiZGl2LmR0LWJ1dHRvbi1iYWNrZ3JvdW5kIikub2ZmKCJjbGljay5kdGItY29sbGVjdGlvbiIpLG50LmJhY2tncm91bmQoITEscy5iYWNrZ3JvdW5kQ2xhc3NOYW1lLHMuZmFkZSxtKSxmZSh3aW5kb3cpLm9mZigicmVzaXplLnJlc2l6ZS5kdGItY29sbGVjdGlvbiIpLGZlKCJib2R5Iikub2ZmKCIuZHRiLWNvbGxlY3Rpb24iKSxyLm9mZigiYnV0dG9ucy1hY3Rpb24uYi1pbnRlcm5hbCIpLHIub2ZmKCJkZXN0cm95IiksZmUoImJvZHkiKS50cmlnZ2VyKCJidXR0b25zLXBvcG92ZXItaGlkZS5kdCIpfTtpZihlPT09ITEpe3YoKTtyZXR1cm59dmFyIGc9ZmUoci5idXR0b25zKCdbYXJpYS1oYXNwb3B1cD0iZGlhbG9nIl1bYXJpYS1leHBhbmRlZD0idHJ1ZSJdJykubm9kZXMoKSk7aWYoZy5sZW5ndGgmJihtLmNsb3Nlc3QodSkubGVuZ3RoJiYobT1nLmVxKDApKSx2KCkpLHMuc29ydCl7dmFyIHc9ZmUoImJ1dHRvbiIsZSkubWFwKGZ1bmN0aW9uKF8sUyl7cmV0dXJue3RleHQ6ZmUoUykudGV4dCgpLGVsOlN9fSkudG9BcnJheSgpO3cuc29ydChmdW5jdGlvbihfLFMpe3JldHVybiBfLnRleHQubG9jYWxlQ29tcGFyZShTLnRleHQpfSksZmUoZSkuYXBwZW5kKHcubWFwKGZ1bmN0aW9uKF8pe3JldHVybiBfLmVsfSkpfXZhciBiPWZlKCIuZHQtYnV0dG9uIixlKS5sZW5ndGgsVD0iIjtiPT09Mz9UPSJkdGItYjMiOmI9PT0yP1Q9ImR0Yi1iMiI6Yj09PTEmJihUPSJkdGItYjEiKTt2YXIgRD1mZSgiPCIrcy50YWcrIi8+IikuYWRkQ2xhc3Mocy5jb250YWluZXJDbGFzc05hbWUpLmFkZENsYXNzKHMuY29sbGVjdGlvbkxheW91dCkuYWRkQ2xhc3Mocy5zcGxpdEFsaWduQ2xhc3MpLmFkZENsYXNzKFQpLmNzcygiZGlzcGxheSIsIm5vbmUiKS5hdHRyKHsiYXJpYS1tb2RhbCI6ITAscm9sZToiZGlhbG9nIn0pO2U9ZmUoZSkuYWRkQ2xhc3Mocy5jb250ZW50Q2xhc3NOYW1lKS5hdHRyKCJyb2xlIiwibWVudSIpLmFwcGVuZFRvKEQpLGQuYXR0cigiYXJpYS1leHBhbmRlZCIsInRydWUiKSxtLnBhcmVudHMoImJvZHkiKVswXSE9PWRvY3VtZW50LmJvZHkmJihtPWZlKGRvY3VtZW50LmJvZHkpLmNoaWxkcmVuKCJkaXYsIHNlY3Rpb24sIHAiKS5sYXN0KCkpLHMucG9wb3ZlclRpdGxlP0QucHJlcGVuZCgnPGRpdiBjbGFzcz0iZHQtYnV0dG9uLWNvbGxlY3Rpb24tdGl0bGUiPicrcy5wb3BvdmVyVGl0bGUrIjwvZGl2PiIpOnMuY29sbGVjdGlvblRpdGxlJiZELnByZXBlbmQoJzxkaXYgY2xhc3M9ImR0LWJ1dHRvbi1jb2xsZWN0aW9uLXRpdGxlIj4nK3MuY29sbGVjdGlvblRpdGxlKyI8L2Rpdj4iKSxzLmNsb3NlQnV0dG9uJiZELnByZXBlbmQoJzxkaXYgY2xhc3M9ImR0Yi1wb3BvdmVyLWNsb3NlIj4mdGltZXM7PC9kaXY+JykuYWRkQ2xhc3MoImR0Yi1jb2xsZWN0aW9uLWNsb3NlYWJsZSIpLG9hKEQuaW5zZXJ0QWZ0ZXIobSkscy5mYWRlKTt2YXIgaD1mZSh0LnRhYmxlKCkuY29udGFpbmVyKCkpLGw9RC5jc3MoInBvc2l0aW9uIik7aWYoKHMuc3Bhbj09PSJjb250YWluZXIifHxzLmFsaWduPT09ImR0LWNvbnRhaW5lciIpJiYobT1tLnBhcmVudCgpLEQuY3NzKCJ3aWR0aCIsaC53aWR0aCgpKSksbD09PSJhYnNvbHV0ZSIpe3ZhciBwPWZlKG1bMF0ub2Zmc2V0UGFyZW50KSxDPW0ucG9zaXRpb24oKSxGPW0ub2Zmc2V0KCksUD1wLm9mZnNldCgpLGY9cC5wb3NpdGlvbigpLFc9d2luZG93LmdldENvbXB1dGVkU3R5bGUocFswXSk7UC5oZWlnaHQ9cC5vdXRlckhlaWdodCgpLFAud2lkdGg9cC53aWR0aCgpK3BhcnNlRmxvYXQoVy5wYWRkaW5nTGVmdCksUC5yaWdodD1QLmxlZnQrUC53aWR0aCxQLmJvdHRvbT1QLnRvcCtQLmhlaWdodDt2YXIgWj1DLnRvcCttLm91dGVySGVpZ2h0KCksaWU9Qy5sZWZ0O0QuY3NzKHt0b3A6WixsZWZ0OmllfSksVz13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShEWzBdKTt2YXIgRT1ELm9mZnNldCgpO0UuaGVpZ2h0PUQub3V0ZXJIZWlnaHQoKSxFLndpZHRoPUQub3V0ZXJXaWR0aCgpLEUucmlnaHQ9RS5sZWZ0K0Uud2lkdGgsRS5ib3R0b209RS50b3ArRS5oZWlnaHQsRS5tYXJnaW5Ub3A9cGFyc2VGbG9hdChXLm1hcmdpblRvcCksRS5tYXJnaW5Cb3R0b209cGFyc2VGbG9hdChXLm1hcmdpbkJvdHRvbSkscy5kcm9wdXAmJihaPUMudG9wLUUuaGVpZ2h0LUUubWFyZ2luVG9wLUUubWFyZ2luQm90dG9tKSwocy5hbGlnbj09PSJidXR0b24tcmlnaHQifHxELmhhc0NsYXNzKHMucmlnaHRBbGlnbkNsYXNzTmFtZSkpJiYoaWU9Qy5sZWZ0LUUud2lkdGgrbS5vdXRlcldpZHRoKCkpLChzLmFsaWduPT09ImR0LWNvbnRhaW5lciJ8fHMuYWxpZ249PT0iY29udGFpbmVyIikmJmllPEMubGVmdCYmKGllPS1DLmxlZnQpLGYubGVmdCtpZStFLndpZHRoPmZlKHdpbmRvdykud2lkdGgoKSYmKGllPWZlKHdpbmRvdykud2lkdGgoKS1FLndpZHRoLWYubGVmdCksRi5sZWZ0K2llPDAmJihpZT0tRi5sZWZ0KSxmLnRvcCtaK0UuaGVpZ2h0PmZlKHdpbmRvdykuaGVpZ2h0KCkrZmUod2luZG93KS5zY3JvbGxUb3AoKSYmKFo9Qy50b3AtRS5oZWlnaHQtRS5tYXJnaW5Ub3AtRS5tYXJnaW5Cb3R0b20pLHAub2Zmc2V0KCkudG9wK1o8ZmUod2luZG93KS5zY3JvbGxUb3AoKSYmKFo9Qy50b3ArbS5vdXRlckhlaWdodCgpKSxELmNzcyh7dG9wOlosbGVmdDppZX0pfWVsc2V7dmFyIEo9ZnVuY3Rpb24oKXt2YXIgXz1mZSh3aW5kb3cpLmhlaWdodCgpLzIsUz1ELmhlaWdodCgpLzI7Uz5fJiYoUz1fKSxELmNzcygibWFyZ2luVG9wIixTKi0xKX07SigpLGZlKHdpbmRvdykub24oInJlc2l6ZS5kdGItY29sbGVjdGlvbiIsZnVuY3Rpb24oKXtKKCl9KX1zLmJhY2tncm91bmQmJm50LmJhY2tncm91bmQoITAscy5iYWNrZ3JvdW5kQ2xhc3NOYW1lLHMuZmFkZSxzLmJhY2tncm91bmRIb3N0fHxtKSxmZSgiZGl2LmR0LWJ1dHRvbi1iYWNrZ3JvdW5kIikub24oImNsaWNrLmR0Yi1jb2xsZWN0aW9uIixmdW5jdGlvbigpe30pLHMuYXV0b0Nsb3NlJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci5vbigiYnV0dG9ucy1hY3Rpb24uYi1pbnRlcm5hbCIsZnVuY3Rpb24oXyxTLGssTCl7TFswXSE9PW1bMF0mJnYoKX0pfSwwKSxmZShEKS50cmlnZ2VyKCJidXR0b25zLXBvcG92ZXIuZHQiKSxyLm9uKCJkZXN0cm95Iix2KSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YT0hMSxmZSgiYm9keSIpLm9uKCJjbGljay5kdGItY29sbGVjdGlvbiIsZnVuY3Rpb24oXyl7aWYoIWEpe3ZhciBTPWZlLmZuLmFkZEJhY2s/ImFkZEJhY2siOiJhbmRTZWxmIixrPWZlKF8udGFyZ2V0KS5wYXJlbnQoKVswXTsoIWZlKF8udGFyZ2V0KS5wYXJlbnRzKClbU10oKS5maWx0ZXIoZSkubGVuZ3RoJiYhZmUoaykuaGFzQ2xhc3MoImR0LWJ1dHRvbnMiKXx8ZmUoXy50YXJnZXQpLmhhc0NsYXNzKCJkdC1idXR0b24tYmFja2dyb3VuZCIpKSYmdigpfX0pLm9uKCJrZXl1cC5kdGItY29sbGVjdGlvbiIsZnVuY3Rpb24oXyl7Xy5rZXlDb2RlPT09MjcmJnYoKX0pLm9uKCJrZXlkb3duLmR0Yi1jb2xsZWN0aW9uIixmdW5jdGlvbihfKXt2YXIgUz1mZSgiYSwgYnV0dG9uIixlKSxrPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7Xy5rZXlDb2RlPT09OSYmKFMuaW5kZXgoayk9PT0tMT8oUy5maXJzdCgpLmZvY3VzKCksXy5wcmV2ZW50RGVmYXVsdCgpKTpfLnNoaWZ0S2V5P2s9PT1TWzBdJiYoUy5sYXN0KCkuZm9jdXMoKSxfLnByZXZlbnREZWZhdWx0KCkpOms9PT1TLmxhc3QoKVswXSYmKFMuZmlyc3QoKS5mb2N1cygpLF8ucHJldmVudERlZmF1bHQoKSkpfSl9LDApfX0pO250LmJhY2tncm91bmQ9ZnVuY3Rpb24oZSx0LG4scil7bj09PXZvaWQgMCYmKG49NDAwKSxyfHwocj1kb2N1bWVudC5ib2R5KSxlP29hKGZlKCI8ZGl2Lz4iKS5hZGRDbGFzcyh0KS5jc3MoImRpc3BsYXkiLCJub25lIikuaW5zZXJ0QWZ0ZXIociksbik6bGEoZmUoImRpdi4iK3QpLG4sZnVuY3Rpb24oKXtmZSh0aGlzKS5yZW1vdmVDbGFzcyh0KS5yZW1vdmUoKX0pfTtudC5pbnN0YW5jZVNlbGVjdG9yPWZ1bmN0aW9uKGUsdCl7aWYoZT09bnVsbClyZXR1cm4gZmUubWFwKHQsZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5zdH0pO3ZhciBuPVtdLHI9ZmUubWFwKHQsZnVuY3Rpb24oYSl7cmV0dXJuIGEubmFtZX0pLGk9ZnVuY3Rpb24oYSl7aWYoQXJyYXkuaXNBcnJheShhKSl7Zm9yKHZhciBzPTAsdT1hLmxlbmd0aDtzPHU7cysrKWkoYVtzXSk7cmV0dXJufWlmKHR5cGVvZiBhPT0ic3RyaW5nIilpZihhLmluZGV4T2YoIiwiKSE9PS0xKWkoYS5zcGxpdCgiLCIpKTtlbHNle3ZhciBkPWZlLmluQXJyYXkoYS50cmltKCkscik7ZCE9PS0xJiZuLnB1c2godFtkXS5pbnN0KX1lbHNlIGlmKHR5cGVvZiBhPT0ibnVtYmVyIiluLnB1c2godFthXS5pbnN0KTtlbHNlIGlmKHR5cGVvZiBhPT0ib2JqZWN0IiYmYS5ub2RlTmFtZSlmb3IodmFyIG09MDttPHQubGVuZ3RoO20rKyl0W21dLmluc3QuZG9tLmNvbnRhaW5lclswXT09PWEmJm4ucHVzaCh0W21dLmluc3QpO2Vsc2UgdHlwZW9mIGE9PSJvYmplY3QiJiZuLnB1c2goYSl9O3JldHVybiBpKGUpLG59O250LmJ1dHRvblNlbGVjdG9yPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPVtdLHI9ZnVuY3Rpb24oZCxtLHYpe2Zvcih2YXIgZyx3LGI9MCxUPW0ubGVuZ3RoO2I8VDtiKyspZz1tW2JdLGcmJih3PXYhPT12b2lkIDA/ditiOmIrIiIsZC5wdXNoKHtub2RlOmcubm9kZSxuYW1lOmcuY29uZi5uYW1lLGlkeDp3fSksZy5idXR0b25zJiZyKGQsZy5idXR0b25zLHcrIi0iKSl9LGk9ZnVuY3Rpb24oZCxtKXt2YXIgdixnLHc9W107cih3LG0ucy5idXR0b25zKTt2YXIgYj1mZS5tYXAodyxmdW5jdGlvbihwKXtyZXR1cm4gcC5ub2RlfSk7aWYoQXJyYXkuaXNBcnJheShkKXx8ZCBpbnN0YW5jZW9mIGZlKXtmb3Iodj0wLGc9ZC5sZW5ndGg7djxnO3YrKylpKGRbdl0sbSk7cmV0dXJufWlmKGQ9PW51bGx8fGQ9PT0iKiIpZm9yKHY9MCxnPXcubGVuZ3RoO3Y8Zzt2Kyspbi5wdXNoKHtpbnN0Om0sbm9kZTp3W3ZdLm5vZGV9KTtlbHNlIGlmKHR5cGVvZiBkPT0ibnVtYmVyIiltLnMuYnV0dG9uc1tkXSYmbi5wdXNoKHtpbnN0Om0sbm9kZTptLnMuYnV0dG9uc1tkXS5ub2RlfSk7ZWxzZSBpZih0eXBlb2YgZD09InN0cmluZyIpaWYoZC5pbmRleE9mKCIsIikhPT0tMSl7dmFyIFQ9ZC5zcGxpdCgiLCIpO2Zvcih2PTAsZz1ULmxlbmd0aDt2PGc7disrKWkoVFt2XS50cmltKCksbSl9ZWxzZSBpZihkLm1hdGNoKC9eXGQrKFwtXGQrKSokLykpe3ZhciBEPWZlLm1hcCh3LGZ1bmN0aW9uKHApe3JldHVybiBwLmlkeH0pO24ucHVzaCh7aW5zdDptLG5vZGU6d1tmZS5pbkFycmF5KGQsRCldLm5vZGV9KX1lbHNlIGlmKGQuaW5kZXhPZigiOm5hbWUiKSE9PS0xKXt2YXIgaD1kLnJlcGxhY2UoIjpuYW1lIiwiIik7Zm9yKHY9MCxnPXcubGVuZ3RoO3Y8Zzt2Kyspd1t2XS5uYW1lPT09aCYmbi5wdXNoKHtpbnN0Om0sbm9kZTp3W3ZdLm5vZGV9KX1lbHNlIGZlKGIpLmZpbHRlcihkKS5lYWNoKGZ1bmN0aW9uKCl7bi5wdXNoKHtpbnN0Om0sbm9kZTp0aGlzfSl9KTtlbHNlIGlmKHR5cGVvZiBkPT0ib2JqZWN0IiYmZC5ub2RlTmFtZSl7dmFyIGw9ZmUuaW5BcnJheShkLGIpO2whPT0tMSYmbi5wdXNoKHtpbnN0Om0sbm9kZTpiW2xdfSl9fSxhPTAscz1lLmxlbmd0aDthPHM7YSsrKXt2YXIgdT1lW2FdO2kodCx1KX1yZXR1cm4gbn07bnQuc3RyaXBEYXRhPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUhPT1udWxsJiZ0eXBlb2YgZT09Im9iamVjdCImJmUubm9kZU5hbWUmJmUubm9kZVR5cGUmJihlPWUuaW5uZXJIVE1MKSx0eXBlb2YgZSE9InN0cmluZyJ8fChlPW50LnN0cmlwSHRtbFNjcmlwdChlKSxlPW50LnN0cmlwSHRtbENvbW1lbnRzKGUpLCghdHx8dC5zdHJpcEh0bWwpJiYoZT10ZS51dGlsLnN0cmlwSHRtbChlKSksKCF0fHx0LnRyaW0pJiYoZT1lLnRyaW0oKSksKCF0fHx0LnN0cmlwTmV3bGluZXMpJiYoZT1lLnJlcGxhY2UoL1xuL2csIiAiKSksKCF0fHx0LmRlY29kZUVudGl0aWVzKSYmKHNhP2U9c2EoZSk6KG5vLmlubmVySFRNTD1lLGU9bm8udmFsdWUpKSwoIXR8fHQuZXNjYXBlRXhjZWxGb3JtdWxhKSYmZS5tYXRjaCgvXls9K1wtQFx0XHJdLykmJihjb25zb2xlLmxvZygibWF0Y2hpbmcgYW5kIHVwZGF0ZWluZyIpLGU9IiciK2UpKSxlfTtudC5lbnRpdHlEZWNvZGVyPWZ1bmN0aW9uKGUpe3NhPWV9O250LnN0cmlwSHRtbENvbW1lbnRzPWZ1bmN0aW9uKGUpe3ZhciB0O2RvIHQ9ZSxlPWUucmVwbGFjZSgvKDwhLS0uKj8tLSE/Pil8KDwhLS1bXFNcc10rPy0tIT8+KXwoPCEtLVtcU1xzXSo/JCkvZywiIik7d2hpbGUoZSE9PXQpO3JldHVybiBlfTtudC5zdHJpcEh0bWxTY3JpcHQ9ZnVuY3Rpb24oZSl7dmFyIHQ7ZG8gdD1lLGU9ZS5yZXBsYWNlKC88c2NyaXB0XGJbXjxdKig/Oig/ITxcL3NjcmlwdFtePl0qPik8W148XSopKjxcL3NjcmlwdFtePl0qPi9naSwiIik7d2hpbGUoZSE9PXQpO3JldHVybiBlfTtudC5kZWZhdWx0cz17YnV0dG9uczpbImNvcHkiLCJleGNlbCIsImNzdiIsInBkZiIsInByaW50Il0sbmFtZToibWFpbiIsdGFiSW5kZXg6MCxkb206e2NvbnRhaW5lcjp7dGFnOiJkaXYiLGNsYXNzTmFtZToiZHQtYnV0dG9ucyJ9LGNvbGxlY3Rpb246e2NvbnRhaW5lcjp7Y2xhc3NOYW1lOiJkdC1idXR0b24tY29sbGVjdGlvbiIsY29udGVudDp7Y2xhc3NOYW1lOiIiLHRhZzoiZGl2In0sdGFnOiJkaXYifX0sYnV0dG9uOnt0YWc6ImJ1dHRvbiIsY2xhc3NOYW1lOiJkdC1idXR0b24iLGFjdGl2ZToiZHQtYnV0dG9uLWFjdGl2ZSIsZGlzYWJsZWQ6ImRpc2FibGVkIixzcGFjZXI6e2NsYXNzTmFtZToiZHQtYnV0dG9uLXNwYWNlciIsdGFnOiJzcGFuIn0sbGluZXI6e3RhZzoic3BhbiIsY2xhc3NOYW1lOiIifSxkcm9wQ2xhc3M6IiIsZHJvcEh0bWw6JzxzcGFuIGNsYXNzPSJkdC1idXR0b24tZG93bi1hcnJvdyI+JiN4MjVCQzs8L3NwYW4+J30sc3BsaXQ6e2FjdGlvbjp7Y2xhc3NOYW1lOiJkdC1idXR0b24tc3BsaXQtZHJvcC1idXR0b24gZHQtYnV0dG9uIix0YWc6ImJ1dHRvbiJ9LGRyb3Bkb3duOnthbGlnbjoic3BsaXQtcmlnaHQiLGNsYXNzTmFtZToiZHQtYnV0dG9uLXNwbGl0LWRyb3AiLHNwbGl0QWxpZ25DbGFzczoiZHQtYnV0dG9uLXNwbGl0LWxlZnQiLHRhZzoiYnV0dG9uIn0sd3JhcHBlcjp7Y2xhc3NOYW1lOiJkdC1idXR0b24tc3BsaXQiLHRhZzoiZGl2In19fX07bnQudmVyc2lvbj0iMy4yLjQiO2ZlLmV4dGVuZChFdCx7Y29sbGVjdGlvbjp7dGV4dDpmdW5jdGlvbihlKXtyZXR1cm4gZS5pMThuKCJidXR0b25zLmNvbGxlY3Rpb24iLCJDb2xsZWN0aW9uIil9LGNsYXNzTmFtZToiYnV0dG9ucy1jb2xsZWN0aW9uIixjbG9zZUJ1dHRvbjohMSxkcm9wSWNvbjohMCxpbml0OmZ1bmN0aW9uKGUsdCl7dC5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMSl9LGFjdGlvbjpmdW5jdGlvbihlLHQsbixyKXtyLl9jb2xsZWN0aW9uLnBhcmVudHMoImJvZHkiKS5sZW5ndGg/dGhpcy5wb3BvdmVyKCExLHIpOnRoaXMucG9wb3ZlcihyLl9jb2xsZWN0aW9uLHIpLGUudHlwZT09PSJrZXlwcmVzcyImJmZlKCJhLCBidXR0b24iLHIuX2NvbGxlY3Rpb24pLmVxKDApLmZvY3VzKCl9LGF0dHI6eyJhcmlhLWhhc3BvcHVwIjoiZGlhbG9nIn19LHNwbGl0Ont0ZXh0OmZ1bmN0aW9uKGUpe3JldHVybiBlLmkxOG4oImJ1dHRvbnMuc3BsaXQiLCJTcGxpdCIpfSxjbGFzc05hbWU6ImJ1dHRvbnMtc3BsaXQiLGNsb3NlQnV0dG9uOiExLGluaXQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdC5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMSl9LGFjdGlvbjpmdW5jdGlvbihlLHQsbixyKXt0aGlzLnBvcG92ZXIoci5fY29sbGVjdGlvbixyKX0sYXR0cjp7ImFyaWEtaGFzcG9wdXAiOiJkaWFsb2cifX0sY29weTpmdW5jdGlvbigpe2lmKEV0LmNvcHlIdG1sNSlyZXR1cm4iY29weUh0bWw1In0sY3N2OmZ1bmN0aW9uKGUsdCl7aWYoRXQuY3N2SHRtbDUmJkV0LmNzdkh0bWw1LmF2YWlsYWJsZShlLHQpKXJldHVybiJjc3ZIdG1sNSJ9LGV4Y2VsOmZ1bmN0aW9uKGUsdCl7aWYoRXQuZXhjZWxIdG1sNSYmRXQuZXhjZWxIdG1sNS5hdmFpbGFibGUoZSx0KSlyZXR1cm4iZXhjZWxIdG1sNSJ9LHBkZjpmdW5jdGlvbihlLHQpe2lmKEV0LnBkZkh0bWw1JiZFdC5wZGZIdG1sNS5hdmFpbGFibGUoZSx0KSlyZXR1cm4icGRmSHRtbDUifSxwYWdlTGVuZ3RoOmZ1bmN0aW9uKGUpe3ZhciB0PWUuc2V0dGluZ3MoKVswXS5hTGVuZ3RoTWVudSxuPVtdLHI9W10saT1mdW5jdGlvbih1KXtyZXR1cm4gdS5pMThuKCJidXR0b25zLnBhZ2VMZW5ndGgiLHsiLTEiOiJTaG93IGFsbCByb3dzIixfOiJTaG93ICVkIHJvd3MifSx1LnBhZ2UubGVuKCkpfTtpZihBcnJheS5pc0FycmF5KHRbMF0pKW49dFswXSxyPXRbMV07ZWxzZSBmb3IodmFyIGE9MDthPHQubGVuZ3RoO2ErKyl7dmFyIHM9dFthXTtmZS5pc1BsYWluT2JqZWN0KHMpPyhuLnB1c2gocy52YWx1ZSksci5wdXNoKHMubGFiZWwpKToobi5wdXNoKHMpLHIucHVzaChzKSl9cmV0dXJue2V4dGVuZDoiY29sbGVjdGlvbiIsdGV4dDppLGNsYXNzTmFtZToiYnV0dG9ucy1wYWdlLWxlbmd0aCIsYXV0b0Nsb3NlOiEwLGJ1dHRvbnM6ZmUubWFwKG4sZnVuY3Rpb24odSxkKXtyZXR1cm57dGV4dDpyW2RdLGNsYXNzTmFtZToiYnV0dG9uLXBhZ2UtbGVuZ3RoIixhY3Rpb246ZnVuY3Rpb24obSx2KXt2LnBhZ2UubGVuKHUpLmRyYXcoKX0saW5pdDpmdW5jdGlvbihtLHYsZyl7dmFyIHc9dGhpcyxiPWZ1bmN0aW9uKCl7dy5hY3RpdmUobS5wYWdlLmxlbigpPT09dSl9O20ub24oImxlbmd0aC5kdCIrZy5uYW1lc3BhY2UsYiksYigpfSxkZXN0cm95OmZ1bmN0aW9uKG0sdixnKXttLm9mZigibGVuZ3RoLmR0IitnLm5hbWVzcGFjZSl9fX0pLGluaXQ6ZnVuY3Rpb24odSxkLG0pe3ZhciB2PXRoaXM7dS5vbigibGVuZ3RoLmR0IittLm5hbWVzcGFjZSxmdW5jdGlvbigpe3YudGV4dChtLnRleHQpfSl9LGRlc3Ryb3k6ZnVuY3Rpb24odSxkLG0pe3Uub2ZmKCJsZW5ndGguZHQiK20ubmFtZXNwYWNlKX19fSxzcGFjZXI6e3N0eWxlOiJlbXB0eSIsc3BhY2VyOiEwLHRleHQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuaTE4bigiYnV0dG9ucy5zcGFjZXIiLCIiKX19fSk7dGUuQXBpLnJlZ2lzdGVyKCJidXR0b25zKCkiLGZ1bmN0aW9uKGUsdCl7dD09PXZvaWQgMCYmKHQ9ZSxlPXZvaWQgMCksdGhpcy5zZWxlY3Rvci5idXR0b25Hcm91cD1lO3ZhciBuPXRoaXMuaXRlcmF0b3IoITAsInRhYmxlIixmdW5jdGlvbihyKXtpZihyLl9idXR0b25zKXJldHVybiBudC5idXR0b25TZWxlY3RvcihudC5pbnN0YW5jZVNlbGVjdG9yKGUsci5fYnV0dG9ucyksdCl9LCEwKTtyZXR1cm4gbi5fZ3JvdXBTZWxlY3Rvcj1lLG59KTt0ZS5BcGkucmVnaXN0ZXIoImJ1dHRvbigpIixmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMuYnV0dG9ucyhlLHQpO3JldHVybiBuLmxlbmd0aD4xJiZuLnNwbGljZSgxLG4ubGVuZ3RoKSxufSk7dGUuQXBpLnJlZ2lzdGVyUGx1cmFsKCJidXR0b25zKCkuYWN0aXZlKCkiLCJidXR0b24oKS5hY3RpdmUoKSIsZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT12b2lkIDA/dGhpcy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQuaW5zdC5hY3RpdmUodC5ub2RlKX0pOnRoaXMuZWFjaChmdW5jdGlvbih0KXt0Lmluc3QuYWN0aXZlKHQubm9kZSxlKX0pfSk7dGUuQXBpLnJlZ2lzdGVyUGx1cmFsKCJidXR0b25zKCkuYWN0aW9uKCkiLCJidXR0b24oKS5hY3Rpb24oKSIsZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT12b2lkIDA/dGhpcy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQuaW5zdC5hY3Rpb24odC5ub2RlKX0pOnRoaXMuZWFjaChmdW5jdGlvbih0KXt0Lmluc3QuYWN0aW9uKHQubm9kZSxlKX0pfSk7dGUuQXBpLnJlZ2lzdGVyUGx1cmFsKCJidXR0b25zKCkuY29sbGVjdGlvblJlYnVpbGQoKSIsImJ1dHRvbigpLmNvbGxlY3Rpb25SZWJ1aWxkKCkiLGZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24odCl7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspdHlwZW9mIGVbbl09PSJvYmplY3QiJiYoZVtuXS5wYXJlbnRDb25mPXQpO3QuaW5zdC5jb2xsZWN0aW9uUmVidWlsZCh0Lm5vZGUsZSl9KX0pO3RlLkFwaS5yZWdpc3RlcihbImJ1dHRvbnMoKS5lbmFibGUoKSIsImJ1dHRvbigpLmVuYWJsZSgpIl0sZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbih0KXt0Lmluc3QuZW5hYmxlKHQubm9kZSxlKX0pfSk7dGUuQXBpLnJlZ2lzdGVyKFsiYnV0dG9ucygpLmRpc2FibGUoKSIsImJ1dHRvbigpLmRpc2FibGUoKSJdLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihlKXtlLmluc3QuZGlzYWJsZShlLm5vZGUpfSl9KTt0ZS5BcGkucmVnaXN0ZXIoImJ1dHRvbigpLmluZGV4KCkiLGZ1bmN0aW9uKCl7dmFyIGU9bnVsbDtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKHQpe3ZhciBuPXQuaW5zdC5pbmRleCh0Lm5vZGUpO24hPT1udWxsJiYoZT1uKX0pLGV9KTt0ZS5BcGkucmVnaXN0ZXJQbHVyYWwoImJ1dHRvbnMoKS5ub2RlcygpIiwiYnV0dG9uKCkubm9kZSgpIixmdW5jdGlvbigpe3ZhciBlPWZlKCk7cmV0dXJuIGZlKHRoaXMuZWFjaChmdW5jdGlvbih0KXtlPWUuYWRkKHQuaW5zdC5ub2RlKHQubm9kZSkpfSkpLGV9KTt0ZS5BcGkucmVnaXN0ZXJQbHVyYWwoImJ1dHRvbnMoKS5wcm9jZXNzaW5nKCkiLCJidXR0b24oKS5wcm9jZXNzaW5nKCkiLGZ1bmN0aW9uKGUpe3JldHVybiBlPT09dm9pZCAwP3RoaXMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmluc3QucHJvY2Vzc2luZyh0Lm5vZGUpfSk6dGhpcy5lYWNoKGZ1bmN0aW9uKHQpe3QuaW5zdC5wcm9jZXNzaW5nKHQubm9kZSxlKX0pfSk7dGUuQXBpLnJlZ2lzdGVyUGx1cmFsKCJidXR0b25zKCkudGV4dCgpIiwiYnV0dG9uKCkudGV4dCgpIixmdW5jdGlvbihlKXtyZXR1cm4gZT09PXZvaWQgMD90aGlzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5pbnN0LnRleHQodC5ub2RlKX0pOnRoaXMuZWFjaChmdW5jdGlvbih0KXt0Lmluc3QudGV4dCh0Lm5vZGUsZSl9KX0pO3RlLkFwaS5yZWdpc3RlclBsdXJhbCgiYnV0dG9ucygpLnRyaWdnZXIoKSIsImJ1dHRvbigpLnRyaWdnZXIoKSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGUpe2UuaW5zdC5ub2RlKGUubm9kZSkudHJpZ2dlcigiY2xpY2siKX0pfSk7dGUuQXBpLnJlZ2lzdGVyKCJidXR0b24oKS5wb3BvdmVyKCkiLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLmluc3QuX3BvcG92ZXIoZSx0aGlzLmJ1dHRvbih0aGlzWzBdLm5vZGUpLHQpfSl9KTt0ZS5BcGkucmVnaXN0ZXIoImJ1dHRvbnMoKS5jb250YWluZXJzKCkiLGZ1bmN0aW9uKCl7dmFyIGU9ZmUoKSx0PXRoaXMuX2dyb3VwU2VsZWN0b3I7cmV0dXJuIHRoaXMuaXRlcmF0b3IoITAsInRhYmxlIixmdW5jdGlvbihuKXtpZihuLl9idXR0b25zKWZvcih2YXIgcj1udC5pbnN0YW5jZVNlbGVjdG9yKHQsbi5fYnV0dG9ucyksaT0wLGE9ci5sZW5ndGg7aTxhO2krKyllPWUuYWRkKHJbaV0uY29udGFpbmVyKCkpfSksZX0pO3RlLkFwaS5yZWdpc3RlcigiYnV0dG9ucygpLmNvbnRhaW5lcigpIixmdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbnRhaW5lcnMoKS5lcSgwKX0pO3RlLkFwaS5yZWdpc3RlcigiYnV0dG9uKCkuYWRkKCkiLGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10aGlzLmNvbnRleHQ7aWYoci5sZW5ndGgpe3ZhciBpPW50Lmluc3RhbmNlU2VsZWN0b3IodGhpcy5fZ3JvdXBTZWxlY3RvcixyWzBdLl9idXR0b25zKTtpLmxlbmd0aCYmaVswXS5hZGQodCxlLG4pfXJldHVybiB0aGlzLmJ1dHRvbih0aGlzLl9ncm91cFNlbGVjdG9yLGUpfSk7dGUuQXBpLnJlZ2lzdGVyKCJidXR0b25zKCkuZGVzdHJveSgpIixmdW5jdGlvbigpe3JldHVybiB0aGlzLnBsdWNrKCJpbnN0IikudW5pcXVlKCkuZWFjaChmdW5jdGlvbihlKXtlLmRlc3Ryb3koKX0pLHRoaXN9KTt0ZS5BcGkucmVnaXN0ZXJQbHVyYWwoImJ1dHRvbnMoKS5yZW1vdmUoKSIsImJ1dHRvbnMoKS5yZW1vdmUoKSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGUpe2UuaW5zdC5yZW1vdmUoZS5ub2RlKX0pLHRoaXN9KTt2YXIgdnI7dGUuQXBpLnJlZ2lzdGVyKCJidXR0b25zLmluZm8oKSIsZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRoaXM7cmV0dXJuIGU9PT0hMT8odGhpcy5vZmYoImRlc3Ryb3kuYnRuLWluZm8iKSxsYShmZSgiI2RhdGF0YWJsZXNfYnV0dG9uc19pbmZvIiksNDAwLGZ1bmN0aW9uKCl7ZmUodGhpcykucmVtb3ZlKCl9KSxjbGVhclRpbWVvdXQodnIpLHZyPW51bGwsdGhpcyk6KHZyJiZjbGVhclRpbWVvdXQodnIpLGZlKCIjZGF0YXRhYmxlc19idXR0b25zX2luZm8iKS5sZW5ndGgmJmZlKCIjZGF0YXRhYmxlc19idXR0b25zX2luZm8iKS5yZW1vdmUoKSxlPWU/IjxoMj4iK2UrIjwvaDI+IjoiIixvYShmZSgnPGRpdiBpZD0iZGF0YXRhYmxlc19idXR0b25zX2luZm8iIGNsYXNzPSJkdC1idXR0b24taW5mbyIvPicpLmh0bWwoZSkuYXBwZW5kKGZlKCI8ZGl2Lz4iKVt0eXBlb2YgdD09InN0cmluZyI/Imh0bWwiOiJhcHBlbmQiXSh0KSkuY3NzKCJkaXNwbGF5Iiwibm9uZSIpLmFwcGVuZFRvKCJib2R5IikpLG4hPT12b2lkIDAmJm4hPT0wJiYodnI9c2V0VGltZW91dChmdW5jdGlvbigpe3IuYnV0dG9ucy5pbmZvKCExKX0sbikpLHRoaXMub24oImRlc3Ryb3kuYnRuLWluZm8iLGZ1bmN0aW9uKCl7ci5idXR0b25zLmluZm8oITEpfSksdGhpcyl9KTt0ZS5BcGkucmVnaXN0ZXIoImJ1dHRvbnMuZXhwb3J0RGF0YSgpIixmdW5jdGlvbihlKXtpZih0aGlzLmNvbnRleHQubGVuZ3RoKXJldHVybiBSdShuZXcgdGUuQXBpKHRoaXMuY29udGV4dFswXSksZSl9KTt0ZS5BcGkucmVnaXN0ZXIoImJ1dHRvbnMuZXhwb3J0SW5mbygpIixmdW5jdGlvbihlKXtyZXR1cm4gZXx8KGU9e30pLHtmaWxlbmFtZTpFdShlLHRoaXMpLHRpdGxlOkJ1KGUsdGhpcyksbWVzc2FnZVRvcDp0byh0aGlzLGUsZS5tZXNzYWdlfHxlLm1lc3NhZ2VUb3AsInRvcCIpLG1lc3NhZ2VCb3R0b206dG8odGhpcyxlLGUubWVzc2FnZUJvdHRvbSwiYm90dG9tIil9fSk7dmFyIEV1PWZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5maWxlbmFtZT09PSIqIiYmZS50aXRsZSE9PSIqIiYmZS50aXRsZSE9PXZvaWQgMCYmZS50aXRsZSE9PW51bGwmJmUudGl0bGUhPT0iIj9lLnRpdGxlOmUuZmlsZW5hbWU7aWYodHlwZW9mIG49PSJmdW5jdGlvbiImJihuPW4oZSx0KSksbj09bnVsbClyZXR1cm4gbnVsbDtuLmluZGV4T2YoIioiKSE9PS0xJiYobj1uLnJlcGxhY2UoL1wqL2csZmUoImhlYWQgPiB0aXRsZSIpLnRleHQoKSkudHJpbSgpKSxuPW4ucmVwbGFjZSgvW15hLXpBLVowLTlfXHUwMEExLVx1RkZGRlwuLFwtXyAhXChcKV0vZywiIik7dmFyIHI9dWEoZS5leHRlbnNpb24sZSx0KTtyZXR1cm4gcnx8KHI9IiIpLG4rcn0sdWE9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBlPT1udWxsP251bGw6dHlwZW9mIGU9PSJmdW5jdGlvbiI/ZSh0LG4pOmV9LEJ1PWZ1bmN0aW9uKGUsdCl7dmFyIG49dWEoZS50aXRsZSxlLHQpO3JldHVybiBuPT09bnVsbD9udWxsOm4uaW5kZXhPZigiKiIpIT09LTE/bi5yZXBsYWNlKC9cKi9nLGZlKCJoZWFkID4gdGl0bGUiKS50ZXh0KCl8fCJFeHBvcnRlZCBkYXRhIik6bn0sdG89ZnVuY3Rpb24oZSx0LG4scil7dmFyIGk9dWEobix0LGUpO2lmKGk9PT1udWxsKXJldHVybiBudWxsO3ZhciBhPWZlKCJjYXB0aW9uIixlLnRhYmxlKCkuY29udGFpbmVyKCkpLmVxKDApO2lmKGk9PT0iKiIpe3ZhciBzPWEuY3NzKCJjYXB0aW9uLXNpZGUiKTtyZXR1cm4gcyE9PXI/bnVsbDphLmxlbmd0aD9hLnRleHQoKToiIn1yZXR1cm4gaX0sbm89ZmUoIjx0ZXh0YXJlYS8+IilbMF0sUnU9ZnVuY3Rpb24oZSx0KXt2YXIgbj1mZS5leHRlbmQoITAse30se3Jvd3M6bnVsbCxjb2x1bW5zOiIiLG1vZGlmaWVyOntzZWFyY2g6ImFwcGxpZWQiLG9yZGVyOiJhcHBsaWVkIn0sb3J0aG9nb25hbDoiZGlzcGxheSIsc3RyaXBIdG1sOiEwLHN0cmlwTmV3bGluZXM6ITAsZGVjb2RlRW50aXRpZXM6ITAsZXNjYXBlRXhjZWxGb3JtdWxhOiExLHRyaW06ITAsZm9ybWF0OntoZWFkZXI6ZnVuY3Rpb24oRil7cmV0dXJuIG50LnN0cmlwRGF0YShGLG4pfSxmb290ZXI6ZnVuY3Rpb24oRil7cmV0dXJuIG50LnN0cmlwRGF0YShGLG4pfSxib2R5OmZ1bmN0aW9uKEYpe3JldHVybiBudC5zdHJpcERhdGEoRixuKX19LGN1c3RvbWl6ZURhdGE6bnVsbCxjdXN0b21pemVaaXA6bnVsbH0sdCkscj1lLmNvbHVtbnMobi5jb2x1bW5zKS5pbmRleGVzKCkubWFwKGZ1bmN0aW9uKEYpe3ZhciBQPWUuY29sdW1uKEYpO3JldHVybiBuLmZvcm1hdC5oZWFkZXIoUC50aXRsZSgpLEYsUC5oZWFkZXIoKSl9KS50b0FycmF5KCksaT1lLnRhYmxlKCkuZm9vdGVyKCk/ZS5jb2x1bW5zKG4uY29sdW1ucykuaW5kZXhlcygpLm1hcChmdW5jdGlvbihGKXt2YXIgUD1lLmNvbHVtbihGKS5mb290ZXIoKSxmPSIiO2lmKFApe3ZhciBXPWZlKCIuZHQtY29sdW1uLXRpdGxlIixQKTtmPVcubGVuZ3RoP1cuaHRtbCgpOmZlKFApLmh0bWwoKX1yZXR1cm4gbi5mb3JtYXQuZm9vdGVyKGYsRixQKX0pLnRvQXJyYXkoKTpudWxsLGE9ZmUuZXh0ZW5kKHt9LG4ubW9kaWZpZXIpO2Uuc2VsZWN0JiZ0eXBlb2YgZS5zZWxlY3QuaW5mbz09ImZ1bmN0aW9uIiYmYS5zZWxlY3RlZD09PXZvaWQgMCYmZS5yb3dzKG4ucm93cyxmZS5leHRlbmQoe3NlbGVjdGVkOiEwfSxhKSkuYW55KCkmJmZlLmV4dGVuZChhLHtzZWxlY3RlZDohMH0pO2Zvcih2YXIgcz1lLnJvd3Mobi5yb3dzLGEpLmluZGV4ZXMoKS50b0FycmF5KCksdT1lLmNlbGxzKHMsbi5jb2x1bW5zLHtvcmRlcjphLm9yZGVyfSksZD11LnJlbmRlcihuLm9ydGhvZ29uYWwpLnRvQXJyYXkoKSxtPXUubm9kZXMoKS50b0FycmF5KCksdj11LmluZGV4ZXMoKS50b0FycmF5KCksZz1lLmNvbHVtbnMobi5jb2x1bW5zKS5jb3VudCgpLHc9Zz4wP2QubGVuZ3RoL2c6MCxiPVtdLFQ9MCxEPTAsaD13O0Q8aDtEKyspe2Zvcih2YXIgbD1bZ10scD0wO3A8ZztwKyspbFtwXT1uLmZvcm1hdC5ib2R5KGRbVF0sdltUXS5yb3csdltUXS5jb2x1bW4sbVtUXSksVCsrO2JbRF09bH12YXIgQz17aGVhZGVyOnIsaGVhZGVyU3RydWN0dXJlOnJvKG4uZm9ybWF0LmhlYWRlcixlLnRhYmxlKCkuaGVhZGVyLnN0cnVjdHVyZShuLmNvbHVtbnMpKSxmb290ZXI6aSxmb290ZXJTdHJ1Y3R1cmU6cm8obi5mb3JtYXQuZm9vdGVyLGUudGFibGUoKS5mb290ZXIuc3RydWN0dXJlKG4uY29sdW1ucykpLGJvZHk6Yn07cmV0dXJuIG4uY3VzdG9taXplRGF0YSYmbi5jdXN0b21pemVEYXRhKEMpLEN9O2Z1bmN0aW9uIHJvKGUsdCl7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspZm9yKHZhciByPTA7cjx0W25dLmxlbmd0aDtyKyspe3ZhciBpPXRbbl1bcl07aSYmKGkudGl0bGU9ZShpLnRpdGxlLHIsaS5jZWxsKSl9cmV0dXJuIHR9ZmUuZm4uZGF0YVRhYmxlLkJ1dHRvbnM9bnQ7ZmUuZm4uRGF0YVRhYmxlLkJ1dHRvbnM9bnQ7ZmUoZG9jdW1lbnQpLm9uKCJpbml0LmR0IHBsdWdpbi1pbml0LmR0IixmdW5jdGlvbihlLHQpe2lmKGUubmFtZXNwYWNlPT09ImR0Iil7dmFyIG49dC5vSW5pdC5idXR0b25zfHx0ZS5kZWZhdWx0cy5idXR0b25zO24mJiF0Ll9idXR0b25zJiZuZXcgbnQodCxuKS5jb250YWluZXIoKX19KTtmdW5jdGlvbiBhbyhlLHQpe3ZhciBuPW5ldyB0ZS5BcGkoZSkscj10fHxuLmluaXQoKS5idXR0b25zfHx0ZS5kZWZhdWx0cy5idXR0b25zO3JldHVybiBuZXcgbnQobixyKS5jb250YWluZXIoKX10ZS5leHQuZmVhdHVyZS5wdXNoKHtmbkluaXQ6YW8sY0ZlYXR1cmU6IkIifSk7dGUuZmVhdHVyZSYmdGUuZmVhdHVyZS5yZWdpc3RlcigiYnV0dG9ucyIsYW8pO3ZhciBjbz1zdChvdCgpLDEpO3ZhciBjdD1jby5kZWZhdWx0LGZvLGhvO2Z1bmN0aW9uIGNhKCl7cmV0dXJuIGZvfHx3aW5kb3cuSlNaaXB9ZnVuY3Rpb24gZGEoKXtyZXR1cm4gaG98fHdpbmRvdy5wZGZNYWtlfXRlLkJ1dHRvbnMucGRmTWFrZT1mdW5jdGlvbihlKXtpZighZSlyZXR1cm4gZGEoKTtobz1lfSx0ZS5CdXR0b25zLmpzemlwPWZ1bmN0aW9uKGUpe2lmKCFlKXJldHVybiBjYSgpO2ZvPWV9O3ZhciByaT0oZT0+e3ZhciB0LG4scixpLGEscyx1LGQsbSx2LGc7aWYoIShlPT09dm9pZCAwfHx0eXBlb2YgbmF2aWdhdG9yPCJ1IiYmL01TSUUgWzEtOV1cLi8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSkpcmV0dXJuIGc9ZS5kb2N1bWVudCx0PWZ1bmN0aW9uKCl7cmV0dXJuIGUuVVJMfHxlLndlYmtpdFVSTHx8ZX0sbj1nLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsImEiKSxyPSJkb3dubG9hZCJpbiBuLGk9L2NvbnN0cnVjdG9yL2kudGVzdChlLkhUTUxFbGVtZW50KXx8ZS5zYWZhcmksYT0vQ3JpT1NcL1tcZF0rLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLHM9ZnVuY3Rpb24odyl7KGUuc2V0SW1tZWRpYXRlfHxlLnNldFRpbWVvdXQpKGZ1bmN0aW9uKCl7dGhyb3cgd30sMCl9LHU9NGU0LGQ9ZnVuY3Rpb24odyl7c2V0VGltZW91dChmdW5jdGlvbigpe3R5cGVvZiB3PT0ic3RyaW5nIj90KCkucmV2b2tlT2JqZWN0VVJMKHcpOncucmVtb3ZlKCl9LHUpfSxtPWZ1bmN0aW9uKHcpe3JldHVybi9eXHMqKD86dGV4dFwvXFMqfGFwcGxpY2F0aW9uXC94bWx8XFMqXC9cUypcK3htbClccyo7LipjaGFyc2V0XHMqPVxzKnV0Zi04L2kudGVzdCh3LnR5cGUpP25ldyBCbG9iKFsiXHVGRUZGIix3XSx7dHlwZTp3LnR5cGV9KTp3fSxnPSh2PWZ1bmN0aW9uKHcsYixwKXtwfHwodz1tKHcpKTt2YXIgRCxoLGw9dGhpcyxwPXcudHlwZT09PSJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iLEM9ZnVuY3Rpb24oKXtmb3IodmFyIEY9bCxQPSJ3cml0ZXN0YXJ0IHByb2dyZXNzIHdyaXRlIHdyaXRlZW5kIi5zcGxpdCgiICIpLGY9dm9pZCAwLFc9KFA9W10uY29uY2F0KFApKS5sZW5ndGg7Vy0tOyl7dmFyIFo9Rlsib24iK1BbV11dO2lmKHR5cGVvZiBaPT0iZnVuY3Rpb24iKXRyeXtaLmNhbGwoRixmfHxGKX1jYXRjaChpZSl7cyhpZSl9fX07bC5yZWFkeVN0YXRlPWwuSU5JVCxyPyhEPXQoKS5jcmVhdGVPYmplY3RVUkwodyksc2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBGLFA7bi5ocmVmPUQsbi5kb3dubG9hZD1iLEY9bixQPW5ldyBNb3VzZUV2ZW50KCJjbGljayIpLEYuZGlzcGF0Y2hFdmVudChQKSxDKCksZChEKSxsLnJlYWR5U3RhdGU9bC5ET05FfSkpOihhfHxwJiZpKSYmZS5GaWxlUmVhZGVyPygoaD1uZXcgRmlsZVJlYWRlcikub25sb2FkZW5kPWZ1bmN0aW9uKCl7dmFyIEY9YT9oLnJlc3VsdDpoLnJlc3VsdC5yZXBsYWNlKC9eZGF0YTpbXjtdKjsvLCJkYXRhOmF0dGFjaG1lbnQvZmlsZTsiKTtlLm9wZW4oRiwiX2JsYW5rIil8fChlLmxvY2F0aW9uLmhyZWY9RiksbC5yZWFkeVN0YXRlPWwuRE9ORSxDKCl9LGgucmVhZEFzRGF0YVVSTCh3KSxsLnJlYWR5U3RhdGU9bC5JTklUKTooRD1EfHx0KCkuY3JlYXRlT2JqZWN0VVJMKHcpLCFwJiZlLm9wZW4oRCwiX2JsYW5rIil8fChlLmxvY2F0aW9uLmhyZWY9RCksbC5yZWFkeVN0YXRlPWwuRE9ORSxDKCksZChEKSl9KS5wcm90b3R5cGUsdHlwZW9mIG5hdmlnYXRvcjwidSImJm5hdmlnYXRvci5tc1NhdmVPck9wZW5CbG9iP2Z1bmN0aW9uKHcsYixUKXtyZXR1cm4gYj1ifHx3Lm5hbWV8fCJkb3dubG9hZCIsVHx8KHc9bSh3KSksbmF2aWdhdG9yLm1zU2F2ZU9yT3BlbkJsb2IodyxiKX06KGcuYWJvcnQ9ZnVuY3Rpb24oKXt9LGcucmVhZHlTdGF0ZT1nLklOSVQ9MCxnLldSSVRJTkc9MSxnLkRPTkU9MixnLmVycm9yPWcub253cml0ZXN0YXJ0PWcub25wcm9ncmVzcz1nLm9ud3JpdGU9Zy5vbmFib3J0PWcub25lcnJvcj1nLm9ud3JpdGVlbmQ9bnVsbCxmdW5jdGlvbih3LGIsVCl7cmV0dXJuIG5ldyB2KHcsYnx8dy5uYW1lfHwiZG93bmxvYWQiLFQpfSl9KSh0eXBlb2Ygc2VsZjwidSImJnNlbGZ8fHR5cGVvZiB3aW5kb3c8InUiJiZ3aW5kb3d8fCh2b2lkIDApLmNvbnRlbnQpLHNvPSh0ZS5maWxlU2F2ZT1yaSxmdW5jdGlvbihlKXt2YXIgdD0iU2hlZXQxIjtyZXR1cm4gdD1lLnNoZWV0TmFtZT9lLnNoZWV0TmFtZS5yZXBsYWNlKC9bXFtcXVwqXC9cXFw/XDpdL2csIiIpOnR9KSxwbz1mdW5jdGlvbihlKXtyZXR1cm4gZS5uZXdsaW5lfHwobmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvV2luZG93cy8pP2BccgpgOmAKYCl9LG9vPWZ1bmN0aW9uKG0sdCl7ZnVuY3Rpb24gbihUKXtmb3IodmFyIEQ9IiIsaD0wLGw9VC5sZW5ndGg7aDxsO2grKykwPGgmJihEKz1zKSxEKz1hP2ErKCIiK1RbaF0pLnJlcGxhY2UodSxkK2EpK2E6VFtoXTtyZXR1cm4gRH12YXIgcj1wbyh0KSxpPW0uYnV0dG9ucy5leHBvcnREYXRhKHQuZXhwb3J0T3B0aW9ucyksYT10LmZpZWxkQm91bmRhcnkscz10LmZpZWxkU2VwYXJhdG9yLHU9bmV3IFJlZ0V4cChhLCJnIiksZD10LmVzY2FwZUNoYXIhPT12b2lkIDA/dC5lc2NhcGVDaGFyOiJcXCIsbT0iIix2PSIiLGc9W107dC5oZWFkZXImJihtPWkuaGVhZGVyU3RydWN0dXJlLm1hcChmdW5jdGlvbihUKXtyZXR1cm4gbihULm1hcChmdW5jdGlvbihEKXtyZXR1cm4gRD9ELnRpdGxlOiIifSkpfSkuam9pbihyKStyKSx0LmZvb3RlciYmaS5mb290ZXImJih2PWkuZm9vdGVyU3RydWN0dXJlLm1hcChmdW5jdGlvbihUKXtyZXR1cm4gbihULm1hcChmdW5jdGlvbihEKXtyZXR1cm4gRD9ELnRpdGxlOiIifSkpfSkuam9pbihyKStyKTtmb3IodmFyIHc9MCxiPWkuYm9keS5sZW5ndGg7dzxiO3crKylnLnB1c2gobihpLmJvZHlbd10pKTtyZXR1cm57c3RyOm0rZy5qb2luKHIpK3Irdixyb3dzOmcubGVuZ3RofX0sbG89ZnVuY3Rpb24oKXt2YXIgZTtyZXR1cm4gbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJTYWZhcmkiKSE9PS0xJiZuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIkNocm9tZSIpPT09LTEmJm5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiT3BlcmEiKT09PS0xJiYhISgoZT1uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9BcHBsZVdlYktpdFwvKFxkK1wuXGQrKS8pKSYmMTxlLmxlbmd0aCYmK2VbMV08NjAzLjEpfTtmdW5jdGlvbiB5cihlKXtmb3IodmFyIHQ9NjUsbj05MC10KzEscj0iIjswPD1lOylyPVN0cmluZy5mcm9tQ2hhckNvZGUoZSVuK3QpK3IsZT1NYXRoLmZsb29yKGUvbiktMTtyZXR1cm4gcn10cnl7aWk9bmV3IFhNTFNlcmlhbGl6ZXJ9Y2F0Y2h7fXZhciBncixpaTtmdW5jdGlvbiBtbyhlLHQpe2dyPT09dm9pZCAwJiYoZ3I9aWkuc2VyaWFsaXplVG9TdHJpbmcobmV3IHdpbmRvdy5ET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcodm9bInhsL3dvcmtzaGVldHMvc2hlZXQxLnhtbCJdLCJ0ZXh0L3htbCIpKS5pbmRleE9mKCJ4bWxuczpyIik9PT0tMSksY3QuZWFjaCh0LGZ1bmN0aW9uKG4scil7aWYoY3QuaXNQbGFpbk9iamVjdChyKSltbyhlLmZvbGRlcihuKSxyKTtlbHNle2lmKGdyKXtmb3IodmFyIGksYT1yLmNoaWxkTm9kZXNbMF0scz1bXSx1PWEuYXR0cmlidXRlcy5sZW5ndGgtMTswPD11O3UtLSl7dmFyIGQ9YS5hdHRyaWJ1dGVzW3VdLm5vZGVOYW1lLG09YS5hdHRyaWJ1dGVzW3VdLm5vZGVWYWx1ZTtkLmluZGV4T2YoIjoiKSE9PS0xJiYocy5wdXNoKHtuYW1lOmQsdmFsdWU6bX0pLGEucmVtb3ZlQXR0cmlidXRlKGQpKX1mb3IodT0wLGk9cy5sZW5ndGg7dTxpO3UrKyl7dmFyIHY9ci5jcmVhdGVBdHRyaWJ1dGUoc1t1XS5uYW1lLnJlcGxhY2UoIjoiLCJfZHRfYl9uYW1lc3BhY2VfdG9rZW5fIikpO3YudmFsdWU9c1t1XS52YWx1ZSxhLnNldEF0dHJpYnV0ZU5vZGUodil9fXZhciBnPWlpLnNlcmlhbGl6ZVRvU3RyaW5nKHIpLGc9KGc9Z3I/KGc9KGc9Zy5pbmRleE9mKCI8P3htbCIpPT09LTE/Jzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4nK2c6ZykucmVwbGFjZSgvX2R0X2JfbmFtZXNwYWNlX3Rva2VuXy9nLCI6IikpLnJlcGxhY2UoL3htbG5zOk5TW1xkXSs9IiIgTlNbXGRdKzovZywiIik6ZykucmVwbGFjZSgvPChbXjw+XSo/KSB4bWxucz0iIihbXjw+XSo/KT4vZywiPCQxICQyPiIpO2UuZmlsZShuLGcpfX0pfWZ1bmN0aW9uIEJ0KGUsdCxuKXt2YXIgcj1lLmNyZWF0ZUVsZW1lbnQodCk7cmV0dXJuIG4mJihuLmF0dHImJmN0KHIpLmF0dHIobi5hdHRyKSxuLmNoaWxkcmVuJiZjdC5lYWNoKG4uY2hpbGRyZW4sZnVuY3Rpb24oaSxhKXtyLmFwcGVuZENoaWxkKGEpfSksbi50ZXh0IT1udWxsKSYmci5hcHBlbmRDaGlsZChlLmNyZWF0ZVRleHROb2RlKG4udGV4dCkpLHJ9ZnVuY3Rpb24ganUoZSx0KXt2YXIgbj1lLmhlYWRlclt0XS5sZW5ndGg7ZS5mb290ZXImJmUuZm9vdGVyW3RdJiZlLmZvb3Rlclt0XS5sZW5ndGg+biYmKG49ZS5mb290ZXJbdF0ubGVuZ3RoKTtmb3IodmFyIHI9MCxpPWUuYm9keS5sZW5ndGg7cjxpO3IrKyl7dmFyIGEscz1lLmJvZHlbcl1bdF07aWYoNDA8KG49bjwoYT0oKHM9cyE9bnVsbD9zLnRvU3RyaW5nKCk6IiIpLmluZGV4T2YoYApgKSE9PS0xPygoYT1zLnNwbGl0KGAKYCkpLnNvcnQoZnVuY3Rpb24odSxkKXtyZXR1cm4gZC5sZW5ndGgtdS5sZW5ndGh9KSxhWzBdKTpzKS5sZW5ndGgpP2E6bikpcmV0dXJuIDU0fXJldHVybiA2PChuKj0xLjM1KT9uOjZ9dmFyIHZvPXsiX3JlbHMvLnJlbHMiOic8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ieWVzIj8+PFJlbGF0aW9uc2hpcHMgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9wYWNrYWdlLzIwMDYvcmVsYXRpb25zaGlwcyI+PFJlbGF0aW9uc2hpcCBJZD0icklkMSIgVHlwZT0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvcmVsYXRpb25zaGlwcy9vZmZpY2VEb2N1bWVudCIgVGFyZ2V0PSJ4bC93b3JrYm9vay54bWwiLz48L1JlbGF0aW9uc2hpcHM+JywieGwvX3JlbHMvd29ya2Jvb2sueG1sLnJlbHMiOic8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ieWVzIj8+PFJlbGF0aW9uc2hpcHMgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9wYWNrYWdlLzIwMDYvcmVsYXRpb25zaGlwcyI+PFJlbGF0aW9uc2hpcCBJZD0icklkMSIgVHlwZT0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvcmVsYXRpb25zaGlwcy93b3Jrc2hlZXQiIFRhcmdldD0id29ya3NoZWV0cy9zaGVldDEueG1sIi8+PFJlbGF0aW9uc2hpcCBJZD0icklkMiIgVHlwZT0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvcmVsYXRpb25zaGlwcy9zdHlsZXMiIFRhcmdldD0ic3R5bGVzLnhtbCIvPjwvUmVsYXRpb25zaGlwcz4nLCJbQ29udGVudF9UeXBlc10ueG1sIjonPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/PjxUeXBlcyB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9jb250ZW50LXR5cGVzIj48RGVmYXVsdCBFeHRlbnNpb249InhtbCIgQ29udGVudFR5cGU9ImFwcGxpY2F0aW9uL3htbCIgLz48RGVmYXVsdCBFeHRlbnNpb249InJlbHMiIENvbnRlbnRUeXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtcGFja2FnZS5yZWxhdGlvbnNoaXBzK3htbCIgLz48RGVmYXVsdCBFeHRlbnNpb249ImpwZWciIENvbnRlbnRUeXBlPSJpbWFnZS9qcGVnIiAvPjxPdmVycmlkZSBQYXJ0TmFtZT0iL3hsL3dvcmtib29rLnhtbCIgQ29udGVudFR5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0Lm1haW4reG1sIiAvPjxPdmVycmlkZSBQYXJ0TmFtZT0iL3hsL3dvcmtzaGVldHMvc2hlZXQxLnhtbCIgQ29udGVudFR5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLndvcmtzaGVldCt4bWwiIC8+PE92ZXJyaWRlIFBhcnROYW1lPSIveGwvc3R5bGVzLnhtbCIgQ29udGVudFR5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnN0eWxlcyt4bWwiIC8+PC9UeXBlcz4nLCJ4bC93b3JrYm9vay54bWwiOic8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ieWVzIj8+PHdvcmtib29rIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvc3ByZWFkc2hlZXRtbC8yMDA2L21haW4iIHhtbG5zOnI9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMiPjxmaWxlVmVyc2lvbiBhcHBOYW1lPSJ4bCIgbGFzdEVkaXRlZD0iNSIgbG93ZXN0RWRpdGVkPSI1IiBydXBCdWlsZD0iMjQ4MTYiLz48d29ya2Jvb2tQciBzaG93SW5rQW5ub3RhdGlvbj0iMCIgYXV0b0NvbXByZXNzUGljdHVyZXM9IjAiLz48Ym9va1ZpZXdzPjx3b3JrYm9va1ZpZXcgeFdpbmRvdz0iMCIgeVdpbmRvdz0iMCIgd2luZG93V2lkdGg9IjI1NjAwIiB3aW5kb3dIZWlnaHQ9IjE5MDIwIiB0YWJSYXRpbz0iNTAwIi8+PC9ib29rVmlld3M+PHNoZWV0cz48c2hlZXQgbmFtZT0iU2hlZXQxIiBzaGVldElkPSIxIiByOmlkPSJySWQxIi8+PC9zaGVldHM+PGRlZmluZWROYW1lcy8+PC93b3JrYm9vaz4nLCJ4bC93b3Jrc2hlZXRzL3NoZWV0MS54bWwiOic8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ieWVzIj8+PHdvcmtzaGVldCB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIiB4bWxuczpyPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzIiB4bWxuczptYz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL21hcmt1cC1jb21wYXRpYmlsaXR5LzIwMDYiIG1jOklnbm9yYWJsZT0ieDE0YWMiIHhtbG5zOngxNGFjPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMDkvOS9hYyI+PHNoZWV0RGF0YS8+PG1lcmdlQ2VsbHMgY291bnQ9IjAiLz48L3dvcmtzaGVldD4nLCJ4bC9zdHlsZXMueG1sIjonPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3R5bGVTaGVldCB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIiB4bWxuczptYz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL21hcmt1cC1jb21wYXRpYmlsaXR5LzIwMDYiIG1jOklnbm9yYWJsZT0ieDE0YWMiIHhtbG5zOngxNGFjPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMDkvOS9hYyI+PG51bUZtdHMgY291bnQ9IjYiPjxudW1GbXQgbnVtRm10SWQ9IjE2NCIgZm9ybWF0Q29kZT0iWyQkLTQwOV0jLCMjMC4wMDstWyQkLTQwOV0jLCMjMC4wMCIvPjxudW1GbXQgbnVtRm10SWQ9IjE2NSIgZm9ybWF0Q29kZT0iJnF1b3Q7XHhBMyZxdW90OyMsIyMwLjAwIi8+PG51bUZtdCBudW1GbXRJZD0iMTY2IiBmb3JtYXRDb2RlPSJbJFx1MjBBQy0yXSAjLCMjMC4wMCIvPjxudW1GbXQgbnVtRm10SWQ9IjE2NyIgZm9ybWF0Q29kZT0iMC4wJSIvPjxudW1GbXQgbnVtRm10SWQ9IjE2OCIgZm9ybWF0Q29kZT0iIywjIzA7KCMsIyMwKSIvPjxudW1GbXQgbnVtRm10SWQ9IjE2OSIgZm9ybWF0Q29kZT0iIywjIzAuMDA7KCMsIyMwLjAwKSIvPjwvbnVtRm10cz48Zm9udHMgY291bnQ9IjUiIHgxNGFjOmtub3duRm9udHM9IjEiPjxmb250PjxzeiB2YWw9IjExIiAvPjxuYW1lIHZhbD0iQ2FsaWJyaSIgLz48L2ZvbnQ+PGZvbnQ+PHN6IHZhbD0iMTEiIC8+PG5hbWUgdmFsPSJDYWxpYnJpIiAvPjxjb2xvciByZ2I9IkZGRkZGRkZGIiAvPjwvZm9udD48Zm9udD48c3ogdmFsPSIxMSIgLz48bmFtZSB2YWw9IkNhbGlicmkiIC8+PGIgLz48L2ZvbnQ+PGZvbnQ+PHN6IHZhbD0iMTEiIC8+PG5hbWUgdmFsPSJDYWxpYnJpIiAvPjxpIC8+PC9mb250Pjxmb250PjxzeiB2YWw9IjExIiAvPjxuYW1lIHZhbD0iQ2FsaWJyaSIgLz48dSAvPjwvZm9udD48L2ZvbnRzPjxmaWxscyBjb3VudD0iNiI+PGZpbGw+PHBhdHRlcm5GaWxsIHBhdHRlcm5UeXBlPSJub25lIiAvPjwvZmlsbD48ZmlsbD48cGF0dGVybkZpbGwgcGF0dGVyblR5cGU9Im5vbmUiIC8+PC9maWxsPjxmaWxsPjxwYXR0ZXJuRmlsbCBwYXR0ZXJuVHlwZT0ic29saWQiPjxmZ0NvbG9yIHJnYj0iRkZEOUQ5RDkiIC8+PGJnQ29sb3IgaW5kZXhlZD0iNjQiIC8+PC9wYXR0ZXJuRmlsbD48L2ZpbGw+PGZpbGw+PHBhdHRlcm5GaWxsIHBhdHRlcm5UeXBlPSJzb2xpZCI+PGZnQ29sb3IgcmdiPSJGRkQ5OTc5NSIgLz48YmdDb2xvciBpbmRleGVkPSI2NCIgLz48L3BhdHRlcm5GaWxsPjwvZmlsbD48ZmlsbD48cGF0dGVybkZpbGwgcGF0dGVyblR5cGU9InNvbGlkIj48ZmdDb2xvciByZ2I9ImZmYzZlZmNlIiAvPjxiZ0NvbG9yIGluZGV4ZWQ9IjY0IiAvPjwvcGF0dGVybkZpbGw+PC9maWxsPjxmaWxsPjxwYXR0ZXJuRmlsbCBwYXR0ZXJuVHlwZT0ic29saWQiPjxmZ0NvbG9yIHJnYj0iZmZjNmNmZWYiIC8+PGJnQ29sb3IgaW5kZXhlZD0iNjQiIC8+PC9wYXR0ZXJuRmlsbD48L2ZpbGw+PC9maWxscz48Ym9yZGVycyBjb3VudD0iMiI+PGJvcmRlcj48bGVmdCAvPjxyaWdodCAvPjx0b3AgLz48Ym90dG9tIC8+PGRpYWdvbmFsIC8+PC9ib3JkZXI+PGJvcmRlciBkaWFnb25hbFVwPSJmYWxzZSIgZGlhZ29uYWxEb3duPSJmYWxzZSI+PGxlZnQgc3R5bGU9InRoaW4iPjxjb2xvciBhdXRvPSIxIiAvPjwvbGVmdD48cmlnaHQgc3R5bGU9InRoaW4iPjxjb2xvciBhdXRvPSIxIiAvPjwvcmlnaHQ+PHRvcCBzdHlsZT0idGhpbiI+PGNvbG9yIGF1dG89IjEiIC8+PC90b3A+PGJvdHRvbSBzdHlsZT0idGhpbiI+PGNvbG9yIGF1dG89IjEiIC8+PC9ib3R0b20+PGRpYWdvbmFsIC8+PC9ib3JkZXI+PC9ib3JkZXJzPjxjZWxsU3R5bGVYZnMgY291bnQ9IjEiPjx4ZiBudW1GbXRJZD0iMCIgZm9udElkPSIwIiBmaWxsSWQ9IjAiIGJvcmRlcklkPSIwIiAvPjwvY2VsbFN0eWxlWGZzPjxjZWxsWGZzIGNvdW50PSI2OCI+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjAiIGZpbGxJZD0iMCIgYm9yZGVySWQ9IjAiIGFwcGx5Rm9udD0iMSIgYXBwbHlGaWxsPSIxIiBhcHBseUJvcmRlcj0iMSIvPjx4ZiBudW1GbXRJZD0iMCIgZm9udElkPSIxIiBmaWxsSWQ9IjAiIGJvcmRlcklkPSIwIiBhcHBseUZvbnQ9IjEiIGFwcGx5RmlsbD0iMSIgYXBwbHlCb3JkZXI9IjEiLz48eGYgbnVtRm10SWQ9IjAiIGZvbnRJZD0iMiIgZmlsbElkPSIwIiBib3JkZXJJZD0iMCIgYXBwbHlGb250PSIxIiBhcHBseUZpbGw9IjEiIGFwcGx5Qm9yZGVyPSIxIi8+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjMiIGZpbGxJZD0iMCIgYm9yZGVySWQ9IjAiIGFwcGx5Rm9udD0iMSIgYXBwbHlGaWxsPSIxIiBhcHBseUJvcmRlcj0iMSIvPjx4ZiBudW1GbXRJZD0iMCIgZm9udElkPSI0IiBmaWxsSWQ9IjAiIGJvcmRlcklkPSIwIiBhcHBseUZvbnQ9IjEiIGFwcGx5RmlsbD0iMSIgYXBwbHlCb3JkZXI9IjEiLz48eGYgbnVtRm10SWQ9IjAiIGZvbnRJZD0iMCIgZmlsbElkPSIyIiBib3JkZXJJZD0iMCIgYXBwbHlGb250PSIxIiBhcHBseUZpbGw9IjEiIGFwcGx5Qm9yZGVyPSIxIi8+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjEiIGZpbGxJZD0iMiIgYm9yZGVySWQ9IjAiIGFwcGx5Rm9udD0iMSIgYXBwbHlGaWxsPSIxIiBhcHBseUJvcmRlcj0iMSIvPjx4ZiBudW1GbXRJZD0iMCIgZm9udElkPSIyIiBmaWxsSWQ9IjIiIGJvcmRlcklkPSIwIiBhcHBseUZvbnQ9IjEiIGFwcGx5RmlsbD0iMSIgYXBwbHlCb3JkZXI9IjEiLz48eGYgbnVtRm10SWQ9IjAiIGZvbnRJZD0iMyIgZmlsbElkPSIyIiBib3JkZXJJZD0iMCIgYXBwbHlGb250PSIxIiBhcHBseUZpbGw9IjEiIGFwcGx5Qm9yZGVyPSIxIi8+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjQiIGZpbGxJZD0iMiIgYm9yZGVySWQ9IjAiIGFwcGx5Rm9udD0iMSIgYXBwbHlGaWxsPSIxIiBhcHBseUJvcmRlcj0iMSIvPjx4ZiBudW1GbXRJZD0iMCIgZm9udElkPSIwIiBmaWxsSWQ9IjMiIGJvcmRlcklkPSIwIiBhcHBseUZvbnQ9IjEiIGFwcGx5RmlsbD0iMSIgYXBwbHlCb3JkZXI9IjEiLz48eGYgbnVtRm10SWQ9IjAiIGZvbnRJZD0iMSIgZmlsbElkPSIzIiBib3JkZXJJZD0iMCIgYXBwbHlGb250PSIxIiBhcHBseUZpbGw9IjEiIGFwcGx5Qm9yZGVyPSIxIi8+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjIiIGZpbGxJZD0iMyIgYm9yZGVySWQ9IjAiIGFwcGx5Rm9udD0iMSIgYXBwbHlGaWxsPSIxIiBhcHBseUJvcmRlcj0iMSIvPjx4ZiBudW1GbXRJZD0iMCIgZm9udElkPSIzIiBmaWxsSWQ9IjMiIGJvcmRlcklkPSIwIiBhcHBseUZvbnQ9IjEiIGFwcGx5RmlsbD0iMSIgYXBwbHlCb3JkZXI9IjEiLz48eGYgbnVtRm10SWQ9IjAiIGZvbnRJZD0iNCIgZmlsbElkPSIzIiBib3JkZXJJZD0iMCIgYXBwbHlGb250PSIxIiBhcHBseUZpbGw9IjEiIGFwcGx5Qm9yZGVyPSIxIi8+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjAiIGZpbGxJZD0iNCIgYm9yZGVySWQ9IjAiIGFwcGx5Rm9udD0iMSIgYXBwbHlGaWxsPSIxIiBhcHBseUJvcmRlcj0iMSIvPjx4ZiBudW1GbXRJZD0iMCIgZm9udElkPSIxIiBmaWxsSWQ9IjQiIGJvcmRlcklkPSIwIiBhcHBseUZvbnQ9IjEiIGFwcGx5RmlsbD0iMSIgYXBwbHlCb3JkZXI9IjEiLz48eGYgbnVtRm10SWQ9IjAiIGZvbnRJZD0iMiIgZmlsbElkPSI0IiBib3JkZXJJZD0iMCIgYXBwbHlGb250PSIxIiBhcHBseUZpbGw9IjEiIGFwcGx5Qm9yZGVyPSIxIi8+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjMiIGZpbGxJZD0iNCIgYm9yZGVySWQ9IjAiIGFwcGx5Rm9udD0iMSIgYXBwbHlGaWxsPSIxIiBhcHBseUJvcmRlcj0iMSIvPjx4ZiBudW1GbXRJZD0iMCIgZm9udElkPSI0IiBmaWxsSWQ9IjQiIGJvcmRlcklkPSIwIiBhcHBseUZvbnQ9IjEiIGFwcGx5RmlsbD0iMSIgYXBwbHlCb3JkZXI9IjEiLz48eGYgbnVtRm10SWQ9IjAiIGZvbnRJZD0iMCIgZmlsbElkPSI1IiBib3JkZXJJZD0iMCIgYXBwbHlGb250PSIxIiBhcHBseUZpbGw9IjEiIGFwcGx5Qm9yZGVyPSIxIi8+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjEiIGZpbGxJZD0iNSIgYm9yZGVySWQ9IjAiIGFwcGx5Rm9udD0iMSIgYXBwbHlGaWxsPSIxIiBhcHBseUJvcmRlcj0iMSIvPjx4ZiBudW1GbXRJZD0iMCIgZm9udElkPSIyIiBmaWxsSWQ9IjUiIGJvcmRlcklkPSIwIiBhcHBseUZvbnQ9IjEiIGFwcGx5RmlsbD0iMSIgYXBwbHlCb3JkZXI9IjEiLz48eGYgbnVtRm10SWQ9IjAiIGZvbnRJZD0iMyIgZmlsbElkPSI1IiBib3JkZXJJZD0iMCIgYXBwbHlGb250PSIxIiBhcHBseUZpbGw9IjEiIGFwcGx5Qm9yZGVyPSIxIi8+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjQiIGZpbGxJZD0iNSIgYm9yZGVySWQ9IjAiIGFwcGx5Rm9udD0iMSIgYXBwbHlGaWxsPSIxIiBhcHBseUJvcmRlcj0iMSIvPjx4ZiBudW1GbXRJZD0iMCIgZm9udElkPSIwIiBmaWxsSWQ9IjAiIGJvcmRlcklkPSIxIiBhcHBseUZvbnQ9IjEiIGFwcGx5RmlsbD0iMSIgYXBwbHlCb3JkZXI9IjEiLz48eGYgbnVtRm10SWQ9IjAiIGZvbnRJZD0iMSIgZmlsbElkPSIwIiBib3JkZXJJZD0iMSIgYXBwbHlGb250PSIxIiBhcHBseUZpbGw9IjEiIGFwcGx5Qm9yZGVyPSIxIi8+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjIiIGZpbGxJZD0iMCIgYm9yZGVySWQ9IjEiIGFwcGx5Rm9udD0iMSIgYXBwbHlGaWxsPSIxIiBhcHBseUJvcmRlcj0iMSIvPjx4ZiBudW1GbXRJZD0iMCIgZm9udElkPSIzIiBmaWxsSWQ9IjAiIGJvcmRlcklkPSIxIiBhcHBseUZvbnQ9IjEiIGFwcGx5RmlsbD0iMSIgYXBwbHlCb3JkZXI9IjEiLz48eGYgbnVtRm10SWQ9IjAiIGZvbnRJZD0iNCIgZmlsbElkPSIwIiBib3JkZXJJZD0iMSIgYXBwbHlGb250PSIxIiBhcHBseUZpbGw9IjEiIGFwcGx5Qm9yZGVyPSIxIi8+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjAiIGZpbGxJZD0iMiIgYm9yZGVySWQ9IjEiIGFwcGx5Rm9udD0iMSIgYXBwbHlGaWxsPSIxIiBhcHBseUJvcmRlcj0iMSIvPjx4ZiBudW1GbXRJZD0iMCIgZm9udElkPSIxIiBmaWxsSWQ9IjIiIGJvcmRlcklkPSIxIiBhcHBseUZvbnQ9IjEiIGFwcGx5RmlsbD0iMSIgYXBwbHlCb3JkZXI9IjEiLz48eGYgbnVtRm10SWQ9IjAiIGZvbnRJZD0iMiIgZmlsbElkPSIyIiBib3JkZXJJZD0iMSIgYXBwbHlGb250PSIxIiBhcHBseUZpbGw9IjEiIGFwcGx5Qm9yZGVyPSIxIi8+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjMiIGZpbGxJZD0iMiIgYm9yZGVySWQ9IjEiIGFwcGx5Rm9udD0iMSIgYXBwbHlGaWxsPSIxIiBhcHBseUJvcmRlcj0iMSIvPjx4ZiBudW1GbXRJZD0iMCIgZm9udElkPSI0IiBmaWxsSWQ9IjIiIGJvcmRlcklkPSIxIiBhcHBseUZvbnQ9IjEiIGFwcGx5RmlsbD0iMSIgYXBwbHlCb3JkZXI9IjEiLz48eGYgbnVtRm10SWQ9IjAiIGZvbnRJZD0iMCIgZmlsbElkPSIzIiBib3JkZXJJZD0iMSIgYXBwbHlGb250PSIxIiBhcHBseUZpbGw9IjEiIGFwcGx5Qm9yZGVyPSIxIi8+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjEiIGZpbGxJZD0iMyIgYm9yZGVySWQ9IjEiIGFwcGx5Rm9udD0iMSIgYXBwbHlGaWxsPSIxIiBhcHBseUJvcmRlcj0iMSIvPjx4ZiBudW1GbXRJZD0iMCIgZm9udElkPSIyIiBmaWxsSWQ9IjMiIGJvcmRlcklkPSIxIiBhcHBseUZvbnQ9IjEiIGFwcGx5RmlsbD0iMSIgYXBwbHlCb3JkZXI9IjEiLz48eGYgbnVtRm10SWQ9IjAiIGZvbnRJZD0iMyIgZmlsbElkPSIzIiBib3JkZXJJZD0iMSIgYXBwbHlGb250PSIxIiBhcHBseUZpbGw9IjEiIGFwcGx5Qm9yZGVyPSIxIi8+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjQiIGZpbGxJZD0iMyIgYm9yZGVySWQ9IjEiIGFwcGx5Rm9udD0iMSIgYXBwbHlGaWxsPSIxIiBhcHBseUJvcmRlcj0iMSIvPjx4ZiBudW1GbXRJZD0iMCIgZm9udElkPSIwIiBmaWxsSWQ9IjQiIGJvcmRlcklkPSIxIiBhcHBseUZvbnQ9IjEiIGFwcGx5RmlsbD0iMSIgYXBwbHlCb3JkZXI9IjEiLz48eGYgbnVtRm10SWQ9IjAiIGZvbnRJZD0iMSIgZmlsbElkPSI0IiBib3JkZXJJZD0iMSIgYXBwbHlGb250PSIxIiBhcHBseUZpbGw9IjEiIGFwcGx5Qm9yZGVyPSIxIi8+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjIiIGZpbGxJZD0iNCIgYm9yZGVySWQ9IjEiIGFwcGx5Rm9udD0iMSIgYXBwbHlGaWxsPSIxIiBhcHBseUJvcmRlcj0iMSIvPjx4ZiBudW1GbXRJZD0iMCIgZm9udElkPSIzIiBmaWxsSWQ9IjQiIGJvcmRlcklkPSIxIiBhcHBseUZvbnQ9IjEiIGFwcGx5RmlsbD0iMSIgYXBwbHlCb3JkZXI9IjEiLz48eGYgbnVtRm10SWQ9IjAiIGZvbnRJZD0iNCIgZmlsbElkPSI0IiBib3JkZXJJZD0iMSIgYXBwbHlGb250PSIxIiBhcHBseUZpbGw9IjEiIGFwcGx5Qm9yZGVyPSIxIi8+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjAiIGZpbGxJZD0iNSIgYm9yZGVySWQ9IjEiIGFwcGx5Rm9udD0iMSIgYXBwbHlGaWxsPSIxIiBhcHBseUJvcmRlcj0iMSIvPjx4ZiBudW1GbXRJZD0iMCIgZm9udElkPSIxIiBmaWxsSWQ9IjUiIGJvcmRlcklkPSIxIiBhcHBseUZvbnQ9IjEiIGFwcGx5RmlsbD0iMSIgYXBwbHlCb3JkZXI9IjEiLz48eGYgbnVtRm10SWQ9IjAiIGZvbnRJZD0iMiIgZmlsbElkPSI1IiBib3JkZXJJZD0iMSIgYXBwbHlGb250PSIxIiBhcHBseUZpbGw9IjEiIGFwcGx5Qm9yZGVyPSIxIi8+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjMiIGZpbGxJZD0iNSIgYm9yZGVySWQ9IjEiIGFwcGx5Rm9udD0iMSIgYXBwbHlGaWxsPSIxIiBhcHBseUJvcmRlcj0iMSIvPjx4ZiBudW1GbXRJZD0iMCIgZm9udElkPSI0IiBmaWxsSWQ9IjUiIGJvcmRlcklkPSIxIiBhcHBseUZvbnQ9IjEiIGFwcGx5RmlsbD0iMSIgYXBwbHlCb3JkZXI9IjEiLz48eGYgbnVtRm10SWQ9IjAiIGZvbnRJZD0iMCIgZmlsbElkPSIwIiBib3JkZXJJZD0iMCIgYXBwbHlGb250PSIxIiBhcHBseUZpbGw9IjEiIGFwcGx5Qm9yZGVyPSIxIiB4ZklkPSIwIiBhcHBseUFsaWdubWVudD0iMSI+PGFsaWdubWVudCBob3Jpem9udGFsPSJsZWZ0Ii8+PC94Zj48eGYgbnVtRm10SWQ9IjAiIGZvbnRJZD0iMCIgZmlsbElkPSIwIiBib3JkZXJJZD0iMCIgYXBwbHlGb250PSIxIiBhcHBseUZpbGw9IjEiIGFwcGx5Qm9yZGVyPSIxIiB4ZklkPSIwIiBhcHBseUFsaWdubWVudD0iMSI+PGFsaWdubWVudCBob3Jpem9udGFsPSJjZW50ZXIiLz48L3hmPjx4ZiBudW1GbXRJZD0iMCIgZm9udElkPSIwIiBmaWxsSWQ9IjAiIGJvcmRlcklkPSIwIiBhcHBseUZvbnQ9IjEiIGFwcGx5RmlsbD0iMSIgYXBwbHlCb3JkZXI9IjEiIHhmSWQ9IjAiIGFwcGx5QWxpZ25tZW50PSIxIj48YWxpZ25tZW50IGhvcml6b250YWw9InJpZ2h0Ii8+PC94Zj48eGYgbnVtRm10SWQ9IjAiIGZvbnRJZD0iMCIgZmlsbElkPSIwIiBib3JkZXJJZD0iMCIgYXBwbHlGb250PSIxIiBhcHBseUZpbGw9IjEiIGFwcGx5Qm9yZGVyPSIxIiB4ZklkPSIwIiBhcHBseUFsaWdubWVudD0iMSI+PGFsaWdubWVudCBob3Jpem9udGFsPSJmaWxsIi8+PC94Zj48eGYgbnVtRm10SWQ9IjAiIGZvbnRJZD0iMCIgZmlsbElkPSIwIiBib3JkZXJJZD0iMCIgYXBwbHlGb250PSIxIiBhcHBseUZpbGw9IjEiIGFwcGx5Qm9yZGVyPSIxIiB4ZklkPSIwIiBhcHBseUFsaWdubWVudD0iMSI+PGFsaWdubWVudCB0ZXh0Um90YXRpb249IjkwIi8+PC94Zj48eGYgbnVtRm10SWQ9IjAiIGZvbnRJZD0iMCIgZmlsbElkPSIwIiBib3JkZXJJZD0iMCIgYXBwbHlGb250PSIxIiBhcHBseUZpbGw9IjEiIGFwcGx5Qm9yZGVyPSIxIiB4ZklkPSIwIiBhcHBseUFsaWdubWVudD0iMSI+PGFsaWdubWVudCB3cmFwVGV4dD0iMSIvPjwveGY+PHhmIG51bUZtdElkPSI5IiAgIGZvbnRJZD0iMCIgZmlsbElkPSIwIiBib3JkZXJJZD0iMCIgYXBwbHlGb250PSIxIiBhcHBseUZpbGw9IjEiIGFwcGx5Qm9yZGVyPSIxIiB4ZklkPSIwIiBhcHBseU51bWJlckZvcm1hdD0iMSIvPjx4ZiBudW1GbXRJZD0iMTY0IiBmb250SWQ9IjAiIGZpbGxJZD0iMCIgYm9yZGVySWQ9IjAiIGFwcGx5Rm9udD0iMSIgYXBwbHlGaWxsPSIxIiBhcHBseUJvcmRlcj0iMSIgeGZJZD0iMCIgYXBwbHlOdW1iZXJGb3JtYXQ9IjEiLz48eGYgbnVtRm10SWQ9IjE2NSIgZm9udElkPSIwIiBmaWxsSWQ9IjAiIGJvcmRlcklkPSIwIiBhcHBseUZvbnQ9IjEiIGFwcGx5RmlsbD0iMSIgYXBwbHlCb3JkZXI9IjEiIHhmSWQ9IjAiIGFwcGx5TnVtYmVyRm9ybWF0PSIxIi8+PHhmIG51bUZtdElkPSIxNjYiIGZvbnRJZD0iMCIgZmlsbElkPSIwIiBib3JkZXJJZD0iMCIgYXBwbHlGb250PSIxIiBhcHBseUZpbGw9IjEiIGFwcGx5Qm9yZGVyPSIxIiB4ZklkPSIwIiBhcHBseU51bWJlckZvcm1hdD0iMSIvPjx4ZiBudW1GbXRJZD0iMTY3IiBmb250SWQ9IjAiIGZpbGxJZD0iMCIgYm9yZGVySWQ9IjAiIGFwcGx5Rm9udD0iMSIgYXBwbHlGaWxsPSIxIiBhcHBseUJvcmRlcj0iMSIgeGZJZD0iMCIgYXBwbHlOdW1iZXJGb3JtYXQ9IjEiLz48eGYgbnVtRm10SWQ9IjE2OCIgZm9udElkPSIwIiBmaWxsSWQ9IjAiIGJvcmRlcklkPSIwIiBhcHBseUZvbnQ9IjEiIGFwcGx5RmlsbD0iMSIgYXBwbHlCb3JkZXI9IjEiIHhmSWQ9IjAiIGFwcGx5TnVtYmVyRm9ybWF0PSIxIi8+PHhmIG51bUZtdElkPSIxNjkiIGZvbnRJZD0iMCIgZmlsbElkPSIwIiBib3JkZXJJZD0iMCIgYXBwbHlGb250PSIxIiBhcHBseUZpbGw9IjEiIGFwcGx5Qm9yZGVyPSIxIiB4ZklkPSIwIiBhcHBseU51bWJlckZvcm1hdD0iMSIvPjx4ZiBudW1GbXRJZD0iMyIgZm9udElkPSIwIiBmaWxsSWQ9IjAiIGJvcmRlcklkPSIwIiBhcHBseUZvbnQ9IjEiIGFwcGx5RmlsbD0iMSIgYXBwbHlCb3JkZXI9IjEiIHhmSWQ9IjAiIGFwcGx5TnVtYmVyRm9ybWF0PSIxIi8+PHhmIG51bUZtdElkPSI0IiBmb250SWQ9IjAiIGZpbGxJZD0iMCIgYm9yZGVySWQ9IjAiIGFwcGx5Rm9udD0iMSIgYXBwbHlGaWxsPSIxIiBhcHBseUJvcmRlcj0iMSIgeGZJZD0iMCIgYXBwbHlOdW1iZXJGb3JtYXQ9IjEiLz48eGYgbnVtRm10SWQ9IjEiIGZvbnRJZD0iMCIgZmlsbElkPSIwIiBib3JkZXJJZD0iMCIgYXBwbHlGb250PSIxIiBhcHBseUZpbGw9IjEiIGFwcGx5Qm9yZGVyPSIxIiB4ZklkPSIwIiBhcHBseU51bWJlckZvcm1hdD0iMSIvPjx4ZiBudW1GbXRJZD0iMiIgZm9udElkPSIwIiBmaWxsSWQ9IjAiIGJvcmRlcklkPSIwIiBhcHBseUZvbnQ9IjEiIGFwcGx5RmlsbD0iMSIgYXBwbHlCb3JkZXI9IjEiIHhmSWQ9IjAiIGFwcGx5TnVtYmVyRm9ybWF0PSIxIi8+PHhmIG51bUZtdElkPSIxNCIgZm9udElkPSIwIiBmaWxsSWQ9IjAiIGJvcmRlcklkPSIwIiBhcHBseUZvbnQ9IjEiIGFwcGx5RmlsbD0iMSIgYXBwbHlCb3JkZXI9IjEiIHhmSWQ9IjAiIGFwcGx5TnVtYmVyRm9ybWF0PSIxIi8+PC9jZWxsWGZzPjxjZWxsU3R5bGVzIGNvdW50PSIxIj48Y2VsbFN0eWxlIG5hbWU9Ik5vcm1hbCIgeGZJZD0iMCIgYnVpbHRpbklkPSIwIiAvPjwvY2VsbFN0eWxlcz48ZHhmcyBjb3VudD0iMCIgLz48dGFibGVTdHlsZXMgY291bnQ9IjAiIGRlZmF1bHRUYWJsZVN0eWxlPSJUYWJsZVN0eWxlTWVkaXVtOSIgZGVmYXVsdFBpdm90U3R5bGU9IlBpdm90U3R5bGVNZWRpdW00IiAvPjwvc3R5bGVTaGVldD4nfSx1bz1be21hdGNoOi9eXC0/XGQrXC5cZCUkLyxzdHlsZTo2MCxmbXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUvMTAwfX0se21hdGNoOi9eXC0/XGQrXC4/XGQqJSQvLHN0eWxlOjU2LGZtdDpmdW5jdGlvbihlKXtyZXR1cm4gZS8xMDB9fSx7bWF0Y2g6L15cLT9cJFtcZCxdKy4/XGQqJC8sc3R5bGU6NTd9LHttYXRjaDovXlwtP8KjW1xkLF0rLj9cZCokLyxzdHlsZTo1OH0se21hdGNoOi9eXC0/4oKsW1xkLF0rLj9cZCokLyxzdHlsZTo1OX0se21hdGNoOi9eXC0/XGQrJC8sc3R5bGU6NjV9LHttYXRjaDovXlwtP1xkK1wuXGR7Mn0kLyxzdHlsZTo2Nn0se21hdGNoOi9eXChbXGQsXStcKSQvLHN0eWxlOjYxLGZtdDpmdW5jdGlvbihlKXtyZXR1cm4tMSplLnJlcGxhY2UoL1tcKFwpXS9nLCIiKX19LHttYXRjaDovXlwoW1xkLF0rXC5cZHsyfVwpJC8sc3R5bGU6NjIsZm10OmZ1bmN0aW9uKGUpe3JldHVybi0xKmUucmVwbGFjZSgvW1woXCldL2csIiIpfX0se21hdGNoOi9eXC0/W1xkLF0rJC8sc3R5bGU6NjN9LHttYXRjaDovXlwtP1tcZCxdK1wuXGR7Mn0kLyxzdHlsZTo2NH0se21hdGNoOi9eKDE5XGRcZHxbMi05XVxkXGRcZClcLSgwXGR8MVswMTJdKVwtWzAxMjNdW1xkXSQvLHN0eWxlOjY3LGZtdDpmdW5jdGlvbihlKXtyZXR1cm4gTWF0aC5yb3VuZCgyNTU2OStEYXRlLnBhcnNlKGUpLzg2NGU1KX19XSxuaT1mdW5jdGlvbihlLHQsbixyLGkpe3ZhciBhPWN0KCJtZXJnZUNlbGxzIixlKTthWzBdLmFwcGVuZENoaWxkKEJ0KGUsIm1lcmdlQ2VsbCIse2F0dHI6e3JlZjp5cihuKSt0KyI6Iit5cihuK2ktMSkrKHQrci0xKX19KSksYS5hdHRyKCJjb3VudCIscGFyc2VGbG9hdChhLmF0dHIoImNvdW50IikpKzEpfTt0ZS5leHQuYnV0dG9ucy5jb3B5SHRtbDU9e2NsYXNzTmFtZToiYnV0dG9ucy1jb3B5IGJ1dHRvbnMtaHRtbDUiLHRleHQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuaTE4bigiYnV0dG9ucy5jb3B5IiwiQ29weSIpfSxhY3Rpb246ZnVuY3Rpb24oZSx0LG4scixpKXt2YXIgYT1vbyh0LHIpLGc9dC5idXR0b25zLmV4cG9ydEluZm8ociksZD1wbyhyKSxzPWEuc3RyLHU9Y3QoIjxkaXYvPiIpLmNzcyh7aGVpZ2h0OjEsd2lkdGg6MSxvdmVyZmxvdzoiaGlkZGVuIixwb3NpdGlvbjoiZml4ZWQiLHRvcDowLGxlZnQ6MH0pLGQ9KGcudGl0bGUmJihzPWcudGl0bGUrZCtkK3MpLGcubWVzc2FnZVRvcCYmKHM9Zy5tZXNzYWdlVG9wK2QrZCtzKSxnLm1lc3NhZ2VCb3R0b20mJihzPXMrZCtkK2cubWVzc2FnZUJvdHRvbSksci5jdXN0b21pemUmJihzPXIuY3VzdG9taXplKHMscix0KSksY3QoIjx0ZXh0YXJlYSByZWFkb25seS8+IikudmFsKHMpLmFwcGVuZFRvKHUpKTtpZihkb2N1bWVudC5xdWVyeUNvbW1hbmRTdXBwb3J0ZWQoImNvcHkiKSl7dS5hcHBlbmRUbyh0LnRhYmxlKCkuY29udGFpbmVyKCkpLGRbMF0uZm9jdXMoKSxkWzBdLnNlbGVjdCgpO3RyeXt2YXIgbT1kb2N1bWVudC5leGVjQ29tbWFuZCgiY29weSIpO2lmKHUucmVtb3ZlKCksbSlyZXR1cm4gci5jb3B5U3VjY2VzcyYmdC5idXR0b25zLmluZm8odC5pMThuKCJidXR0b25zLmNvcHlUaXRsZSIsIkNvcHkgdG8gY2xpcGJvYXJkIiksdC5pMThuKCJidXR0b25zLmNvcHlTdWNjZXNzIix7MToiQ29waWVkIG9uZSByb3cgdG8gY2xpcGJvYXJkIixfOiJDb3BpZWQgJWQgcm93cyB0byBjbGlwYm9hcmQifSxhLnJvd3MpLDJlMyksdm9pZCBpKCl9Y2F0Y2h7fX1mdW5jdGlvbiB2KCl7dy5vZmYoImNsaWNrLmJ1dHRvbnMtY29weSIpLGN0KGRvY3VtZW50KS5vZmYoIi5idXR0b25zLWNvcHkiKSx0LmJ1dHRvbnMuaW5mbyghMSl9dmFyIGc9Y3QoIjxzcGFuPiIrdC5pMThuKCJidXR0b25zLmNvcHlLZXlzIiwiUHJlc3MgPGk+Y3RybDwvaT4gb3IgPGk+XHUyMzE4PC9pPiArIDxpPkM8L2k+IHRvIGNvcHkgdGhlIHRhYmxlIGRhdGE8YnI+dG8geW91ciBzeXN0ZW0gY2xpcGJvYXJkLjxicj48YnI+VG8gY2FuY2VsLCBjbGljayB0aGlzIG1lc3NhZ2Ugb3IgcHJlc3MgZXNjYXBlLiIpKyI8L3NwYW4+IikuYXBwZW5kKHUpLHc9KHQuYnV0dG9ucy5pbmZvKHQuaTE4bigiYnV0dG9ucy5jb3B5VGl0bGUiLCJDb3B5IHRvIGNsaXBib2FyZCIpLGcsMCksZFswXS5mb2N1cygpLGRbMF0uc2VsZWN0KCksY3QoZykuY2xvc2VzdCgiLmR0LWJ1dHRvbi1pbmZvIikpO3cub24oImNsaWNrLmJ1dHRvbnMtY29weSIsZnVuY3Rpb24oKXt2KCksaSgpfSksY3QoZG9jdW1lbnQpLm9uKCJrZXlkb3duLmJ1dHRvbnMtY29weSIsZnVuY3Rpb24oYil7Yi5rZXlDb2RlPT09MjcmJih2KCksaSgpKX0pLm9uKCJjb3B5LmJ1dHRvbnMtY29weSBjdXQuYnV0dG9ucy1jb3B5IixmdW5jdGlvbigpe3YoKSxpKCl9KX0sYXN5bmM6MTAwLGNvcHlTdWNjZXNzOiEwLGV4cG9ydE9wdGlvbnM6e30sZmllbGRTZXBhcmF0b3I6IgkiLGZpZWxkQm91bmRhcnk6IiIsaGVhZGVyOiEwLGZvb3RlcjohMCx0aXRsZToiKiIsbWVzc2FnZVRvcDoiKiIsbWVzc2FnZUJvdHRvbToiKiJ9LHRlLmV4dC5idXR0b25zLmNzdkh0bWw1PXtib206ITEsY2xhc3NOYW1lOiJidXR0b25zLWNzdiBidXR0b25zLWh0bWw1IixhdmFpbGFibGU6ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93LkZpbGVSZWFkZXIhPT12b2lkIDAmJndpbmRvdy5CbG9ifSx0ZXh0OmZ1bmN0aW9uKGUpe3JldHVybiBlLmkxOG4oImJ1dHRvbnMuY3N2IiwiQ1NWIil9LGFjdGlvbjpmdW5jdGlvbihlLHQsbixyLGkpe3ZhciBhPW9vKHQscikuc3RyLHM9dC5idXR0b25zLmV4cG9ydEluZm8ociksdT1yLmNoYXJzZXQ7ci5jdXN0b21pemUmJihhPXIuY3VzdG9taXplKGEscix0KSksdT11IT09ITE/KHU9dXx8ZG9jdW1lbnQuY2hhcmFjdGVyU2V0fHxkb2N1bWVudC5jaGFyc2V0KSYmIjtjaGFyc2V0PSIrdToiIixyLmJvbSYmKGE9Ilx1RkVGRiIrYSkscmkobmV3IEJsb2IoW2FdLHt0eXBlOiJ0ZXh0L2NzdiIrdX0pLHMuZmlsZW5hbWUsITApLGkoKX0sYXN5bmM6MTAwLGZpbGVuYW1lOiIqIixleHRlbnNpb246Ii5jc3YiLGV4cG9ydE9wdGlvbnM6e2VzY2FwZUV4Y2VsRm9ybXVsYTohMH0sZmllbGRTZXBhcmF0b3I6IiwiLGZpZWxkQm91bmRhcnk6JyInLGVzY2FwZUNoYXI6JyInLGNoYXJzZXQ6bnVsbCxoZWFkZXI6ITAsZm9vdGVyOiEwfSx0ZS5leHQuYnV0dG9ucy5leGNlbEh0bWw1PXtjbGFzc05hbWU6ImJ1dHRvbnMtZXhjZWwgYnV0dG9ucy1odG1sNSIsYXZhaWxhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5GaWxlUmVhZGVyIT09dm9pZCAwJiZjYSgpIT09dm9pZCAwJiYhbG8oKSYmaWl9LHRleHQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuaTE4bigiYnV0dG9ucy5leGNlbCIsIkV4Y2VsIil9LGFjdGlvbjpmdW5jdGlvbihlLHQsbixyLGkpe2Z1bmN0aW9uIGEoaWUpe3JldHVybiBpZT12b1tpZV0sY3QucGFyc2VYTUwoaWUpfWZ1bmN0aW9uIHMoaWUpe3Y9QnQodywicm93Iix7YXR0cjp7cjptPWcrMX19KTtmb3IodmFyIEU9MCxKPWllLmxlbmd0aDtFPEo7RSsrKXt2YXIgXz15cihFKSsiIittLFM9bnVsbDtpZihpZVtFXT09bnVsbHx8aWVbRV09PT0iIil7aWYoci5jcmVhdGVFbXB0eUNlbGxzIT09ITApY29udGludWU7aWVbRV09IiJ9dmFyIGs9aWVbRV07aWVbRV09dHlwZW9mIGllW0VdLnRyaW09PSJmdW5jdGlvbiI/aWVbRV0udHJpbSgpOmllW0VdO2Zvcih2YXIgTD0wLFI9dW8ubGVuZ3RoO0w8UjtMKyspe3ZhciBCPXVvW0xdO2lmKGllW0VdLm1hdGNoJiYhaWVbRV0ubWF0Y2goL14wXGQrLykmJmllW0VdLm1hdGNoKEIubWF0Y2gpKXt2YXIgRz1pZVtFXS5yZXBsYWNlKC9bXlxkXC5cLV0vZywiIik7Qi5mbXQmJihHPUIuZm10KEcpKSxTPUJ0KHcsImMiLHthdHRyOntyOl8sczpCLnN0eWxlfSxjaGlsZHJlbjpbQnQodywidiIse3RleHQ6R30pXX0pO2JyZWFrfX1TPVN8fCh0eXBlb2YgaWVbRV09PSJudW1iZXIifHxpZVtFXS5tYXRjaCYmaWVbRV0ubWF0Y2goL14tP1xkKyhcLlxkKyk/KFtlRV1cLT9cZCspPyQvKSYmIWllW0VdLm1hdGNoKC9eMFxkKy8pP0J0KHcsImMiLHthdHRyOnt0OiJuIixyOl99LGNoaWxkcmVuOltCdCh3LCJ2Iix7dGV4dDppZVtFXX0pXX0pOihrPWsucmVwbGFjZT9rLnJlcGxhY2UoL1tceDAwLVx4MDlceDBCXHgwQ1x4MEUtXHgxRlx4N0YtXHg5Rl0vZywiIik6ayxCdCh3LCJjIix7YXR0cjp7dDoiaW5saW5lU3RyIixyOl99LGNoaWxkcmVuOntyb3c6QnQodywiaXMiLHtjaGlsZHJlbjp7cm93OkJ0KHcsInQiLHt0ZXh0OmssYXR0cjp7InhtbDpzcGFjZSI6InByZXNlcnZlIn19KX19KX19KSkpLHYuYXBwZW5kQ2hpbGQoUyl9Yi5hcHBlbmRDaGlsZCh2KSxnKyt9ZnVuY3Rpb24gdShpZSl7aWUuZm9yRWFjaChmdW5jdGlvbihFKXtzKEUubWFwKGZ1bmN0aW9uKEope3JldHVybiBKP0oudGl0bGU6IiJ9KSksY3QoInJvdzpsYXN0IGMiLHcpLmF0dHIoInMiLCIyIiksRS5mb3JFYWNoKGZ1bmN0aW9uKEosXyl7SiYmKDE8Si5jb2xTcGFufHwxPEoucm93U3BhbikmJm5pKHcsZyxfLEoucm93U3BhbixKLmNvbFNwYW4pfSl9KX12YXIgZCxtLHYsZz0wLHc9YSgieGwvd29ya3NoZWV0cy9zaGVldDEueG1sIiksYj13LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzaGVldERhdGEiKVswXSxUPXtfcmVsczp7Ii5yZWxzIjphKCJfcmVscy8ucmVscyIpfSx4bDp7X3JlbHM6eyJ3b3JrYm9vay54bWwucmVscyI6YSgieGwvX3JlbHMvd29ya2Jvb2sueG1sLnJlbHMiKX0sIndvcmtib29rLnhtbCI6YSgieGwvd29ya2Jvb2sueG1sIiksInN0eWxlcy54bWwiOmEoInhsL3N0eWxlcy54bWwiKSx3b3Jrc2hlZXRzOnsic2hlZXQxLnhtbCI6d319LCJbQ29udGVudF9UeXBlc10ueG1sIjphKCJbQ29udGVudF9UeXBlc10ueG1sIil9LEQ9dC5idXR0b25zLmV4cG9ydERhdGEoci5leHBvcnRPcHRpb25zKSxoPXQuYnV0dG9ucy5leHBvcnRJbmZvKHIpO2gudGl0bGUmJihzKFtoLnRpdGxlXSksbmkodyxnLDAsMSxELmhlYWRlci5sZW5ndGgpLGN0KCJyb3c6bGFzdCBjIix3KS5hdHRyKCJzIiwiNTEiKSksaC5tZXNzYWdlVG9wJiYocyhbaC5tZXNzYWdlVG9wXSksbmkodyxnLDAsMSxELmhlYWRlci5sZW5ndGgpKSxyLmhlYWRlciYmdShELmhlYWRlclN0cnVjdHVyZSk7Zm9yKHZhciBXPWcsbD0wLHA9RC5ib2R5Lmxlbmd0aDtsPHA7bCsrKXMoRC5ib2R5W2xdKTtkPWcsci5mb290ZXImJkQuZm9vdGVyJiZ1KEQuZm9vdGVyU3RydWN0dXJlKSxoLm1lc3NhZ2VCb3R0b20mJihzKFtoLm1lc3NhZ2VCb3R0b21dKSxuaSh3LGcsMCwxLEQuaGVhZGVyLmxlbmd0aCkpO3ZhciBDPUJ0KHcsImNvbHMiKTtjdCgid29ya3NoZWV0Iix3KS5wcmVwZW5kKEMpO2Zvcih2YXIgRj0wLFA9RC5oZWFkZXIubGVuZ3RoO0Y8UDtGKyspQy5hcHBlbmRDaGlsZChCdCh3LCJjb2wiLHthdHRyOnttaW46RisxLG1heDpGKzEsd2lkdGg6anUoRCxGKSxjdXN0b21XaWR0aDoxfX0pKTt2YXIgZj1ULnhsWyJ3b3JrYm9vay54bWwiXTtjdCgic2hlZXRzIHNoZWV0IixmKS5hdHRyKCJuYW1lIixzbyhyKSksci5hdXRvRmlsdGVyJiYoY3QoIm1lcmdlQ2VsbHMiLHcpLmJlZm9yZShCdCh3LCJhdXRvRmlsdGVyIix7YXR0cjp7cmVmOiJBIitXKyI6Iit5cihELmhlYWRlci5sZW5ndGgtMSkrZH19KSksY3QoImRlZmluZWROYW1lcyIsZikuYXBwZW5kKEJ0KGYsImRlZmluZWROYW1lIix7YXR0cjp7bmFtZToiX3hsbm0uX0ZpbHRlckRhdGFiYXNlIixsb2NhbFNoZWV0SWQ6IjAiLGhpZGRlbjoxfSx0ZXh0OiInIitzbyhyKS5yZXBsYWNlKC8nL2csIicnIikrIichJEEkIitXKyI6Iit5cihELmhlYWRlci5sZW5ndGgtMSkrZH0pKSksci5jdXN0b21pemUmJnIuY3VzdG9taXplKFQscix0KSxjdCgibWVyZ2VDZWxscyIsdykuY2hpbGRyZW4oKS5sZW5ndGg9PT0wJiZjdCgibWVyZ2VDZWxscyIsdykucmVtb3ZlKCk7dmFyIGY9bmV3KGNhKCkpLFc9e2NvbXByZXNzaW9uOiJERUZMQVRFIix0eXBlOiJibG9iIixtaW1lVHlwZToiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQifSxaPShtbyhmLFQpLGguZmlsZW5hbWUpOzE3NTxaJiYoWj1aLnN1YnN0cigwLDE3NSkpLHIuY3VzdG9taXplWmlwJiZyLmN1c3RvbWl6ZVppcChmLEQsWiksZi5nZW5lcmF0ZUFzeW5jP2YuZ2VuZXJhdGVBc3luYyhXKS50aGVuKGZ1bmN0aW9uKGllKXtyaShpZSxaKSxpKCl9KToocmkoZi5nZW5lcmF0ZShXKSxaKSxpKCkpfSxhc3luYzoxMDAsZmlsZW5hbWU6IioiLGV4dGVuc2lvbjoiLnhsc3giLGV4cG9ydE9wdGlvbnM6e30saGVhZGVyOiEwLGZvb3RlcjohMCx0aXRsZToiKiIsbWVzc2FnZVRvcDoiKiIsbWVzc2FnZUJvdHRvbToiKiIsY3JlYXRlRW1wdHlDZWxsczohMSxhdXRvRmlsdGVyOiExLHNoZWV0TmFtZToiIn0sdGUuZXh0LmJ1dHRvbnMucGRmSHRtbDU9e2NsYXNzTmFtZToiYnV0dG9ucy1wZGYgYnV0dG9ucy1odG1sNSIsYXZhaWxhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5GaWxlUmVhZGVyIT09dm9pZCAwJiZkYSgpfSx0ZXh0OmZ1bmN0aW9uKGUpe3JldHVybiBlLmkxOG4oImJ1dHRvbnMucGRmIiwiUERGIil9LGFjdGlvbjpmdW5jdGlvbihlLGcsbixyLGkpe3ZhciBhPWcuYnV0dG9ucy5leHBvcnREYXRhKHIuZXhwb3J0T3B0aW9ucykscz1nLmJ1dHRvbnMuZXhwb3J0SW5mbyhyKSx1PVtdO3IuaGVhZGVyJiZhLmhlYWRlclN0cnVjdHVyZS5mb3JFYWNoKGZ1bmN0aW9uKHcpe3UucHVzaCh3Lm1hcChmdW5jdGlvbihiKXtyZXR1cm4gYj97dGV4dDpiLnRpdGxlLGNvbFNwYW46Yi5jb2xzcGFuLHJvd1NwYW46Yi5yb3dzcGFuLHN0eWxlOiJ0YWJsZUhlYWRlciJ9Ont9fSkpfSk7Zm9yKHZhciBkPTAsbT1hLmJvZHkubGVuZ3RoO2Q8bTtkKyspdS5wdXNoKGEuYm9keVtkXS5tYXAoZnVuY3Rpb24odyl7cmV0dXJue3RleHQ6dz09bnVsbD8iIjp0eXBlb2Ygdz09InN0cmluZyI/dzp3LnRvU3RyaW5nKCl9fSkpO3IuZm9vdGVyJiZhLmZvb3RlclN0cnVjdHVyZS5mb3JFYWNoKGZ1bmN0aW9uKHcpe3UucHVzaCh3Lm1hcChmdW5jdGlvbihiKXtyZXR1cm4gYj97dGV4dDpiLnRpdGxlLGNvbFNwYW46Yi5jb2xzcGFuLHJvd1NwYW46Yi5yb3dzcGFuLHN0eWxlOiJ0YWJsZUZvb3RlciJ9Ont9fSkpfSk7dmFyIHY9e3BhZ2VTaXplOnIucGFnZVNpemUscGFnZU9yaWVudGF0aW9uOnIub3JpZW50YXRpb24sY29udGVudDpbe3N0eWxlOiJ0YWJsZSIsdGFibGU6e2hlYWRlclJvd3M6YS5oZWFkZXJTdHJ1Y3R1cmUubGVuZ3RoLGZvb3RlclJvd3M6YS5mb290ZXJTdHJ1Y3R1cmUubGVuZ3RoLGJvZHk6dX0sbGF5b3V0OntoTGluZVdpZHRoOmZ1bmN0aW9uKHcsYil7cmV0dXJuIHc9PT0wfHx3PT09Yi50YWJsZS5ib2R5Lmxlbmd0aD8wOi41fSx2TGluZVdpZHRoOmZ1bmN0aW9uKCl7cmV0dXJuIDB9LGhMaW5lQ29sb3I6ZnVuY3Rpb24odyxiKXtyZXR1cm4gdz09PWIudGFibGUuaGVhZGVyUm93c3x8dz09PWIudGFibGUuYm9keS5sZW5ndGgtYi50YWJsZS5mb290ZXJSb3dzPyIjMzMzIjoiI2RkZCJ9LGZpbGxDb2xvcjpmdW5jdGlvbih3KXtyZXR1cm4gdzxhLmhlYWRlclN0cnVjdHVyZS5sZW5ndGg/IiNmZmYiOnclMj09MD8iI2YzZjNmMyI6bnVsbH0scGFkZGluZ1RvcDpmdW5jdGlvbigpe3JldHVybiA1fSxwYWRkaW5nQm90dG9tOmZ1bmN0aW9uKCl7cmV0dXJuIDV9fX1dLHN0eWxlczp7dGFibGVIZWFkZXI6e2JvbGQ6ITAsZm9udFNpemU6MTEsYWxpZ25tZW50OiJjZW50ZXIifSx0YWJsZUZvb3Rlcjp7Ym9sZDohMCxmb250U2l6ZToxMSxhbGlnbm1lbnQ6ImNlbnRlciJ9LHRhYmxlOnttYXJnaW46WzAsNSwwLDVdfSx0aXRsZTp7YWxpZ25tZW50OiJjZW50ZXIiLGZvbnRTaXplOjEzfSxtZXNzYWdlOnt9fSxkZWZhdWx0U3R5bGU6e2ZvbnRTaXplOjEwfX0sZz0ocy5tZXNzYWdlVG9wJiZ2LmNvbnRlbnQudW5zaGlmdCh7dGV4dDpzLm1lc3NhZ2VUb3Asc3R5bGU6Im1lc3NhZ2UiLG1hcmdpbjpbMCwwLDAsMTJdfSkscy5tZXNzYWdlQm90dG9tJiZ2LmNvbnRlbnQucHVzaCh7dGV4dDpzLm1lc3NhZ2VCb3R0b20sc3R5bGU6Im1lc3NhZ2UiLG1hcmdpbjpbMCwwLDAsMTJdfSkscy50aXRsZSYmdi5jb250ZW50LnVuc2hpZnQoe3RleHQ6cy50aXRsZSxzdHlsZToidGl0bGUiLG1hcmdpbjpbMCwwLDAsMTJdfSksci5jdXN0b21pemUmJnIuY3VzdG9taXplKHYscixnKSxkYSgpLmNyZWF0ZVBkZih2KSk7ci5kb3dubG9hZCE9PSJvcGVuInx8bG8oKT9nLmRvd25sb2FkKHMuZmlsZW5hbWUpOmcub3BlbigpLGkoKX0sYXN5bmM6MTAwLHRpdGxlOiIqIixmaWxlbmFtZToiKiIsZXh0ZW5zaW9uOiIucGRmIixleHBvcnRPcHRpb25zOnt9LG9yaWVudGF0aW9uOiJwb3J0cmFpdCIscGFnZVNpemU6bmF2aWdhdG9yLmxhbmd1YWdlPT09ImVuLVVTInx8bmF2aWdhdG9yLmxhbmd1YWdlPT09ImVuLUNBIj8iTEVUVEVSIjoiQTQiLGhlYWRlcjohMCxmb290ZXI6ITAsbWVzc2FnZVRvcDoiKiIsbWVzc2FnZUJvdHRvbToiKiIsY3VzdG9taXplOm51bGwsZG93bmxvYWQ6ImRvd25sb2FkIn07dmFyIHlvPXN0KG90KCksMSk7dmFyIGFpPXlvLmRlZmF1bHQsJG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO3ZhciBnbz1mdW5jdGlvbihlKXtyZXR1cm4gJG4uaHJlZj1lLGU9JG4uaG9zdCxlLmluZGV4T2YoIi8iKT09PS0xJiYkbi5wYXRobmFtZS5pbmRleE9mKCIvIikhPT0wJiYoZSs9Ii8iKSwkbi5wcm90b2NvbCsiLy8iK2UrJG4ucGF0aG5hbWUrJG4uc2VhcmNofTt0ZS5leHQuYnV0dG9ucy5wcmludD17Y2xhc3NOYW1lOiJidXR0b25zLXByaW50Iix0ZXh0OmZ1bmN0aW9uKGUpe3JldHVybiBlLmkxOG4oImJ1dHRvbnMucHJpbnQiLCJQcmludCIpfSxhY3Rpb246ZnVuY3Rpb24oZSx0LG4scixpKXt2YXIgYT10LmJ1dHRvbnMuZXhwb3J0RGF0YShhaS5leHRlbmQoe2RlY29kZUVudGl0aWVzOiExfSxyLmV4cG9ydE9wdGlvbnMpKSxzPXQuYnV0dG9ucy5leHBvcnRJbmZvKHIpLHU9dC5jb2x1bW5zKHIuZXhwb3J0T3B0aW9ucy5jb2x1bW5zKS5ub2RlcygpLm1hcChmdW5jdGlvbih3KXtyZXR1cm4gdy5jbGFzc05hbWV9KS50b0FycmF5KCksZD0nPHRhYmxlIGNsYXNzPSInK3QudGFibGUoKS5ub2RlKCkuY2xhc3NOYW1lKyciPic7ci5oZWFkZXImJihkKz0iPHRoZWFkPiIrYS5oZWFkZXJTdHJ1Y3R1cmUubWFwKGZ1bmN0aW9uKHcpe3JldHVybiI8dHI+Iit3Lm1hcChmdW5jdGlvbihiKXtyZXR1cm4gYj8nPHRoIGNvbHNwYW49IicrYi5jb2xzcGFuKyciIHJvd3NwYW49IicrYi5yb3dzcGFuKyciPicrYi50aXRsZSsiPC90aD4iOiIifSkuam9pbigiIikrIjwvdHI+In0pLmpvaW4oIiIpKyI8L3RoZWFkPiIpLGQrPSI8dGJvZHk+Ijtmb3IodmFyIG09MCx2PWEuYm9keS5sZW5ndGg7bTx2O20rKylkKz0oKHcsYik9Pntmb3IodmFyIFQ9Ijx0cj4iLEQ9MCxoPXcubGVuZ3RoO0Q8aDtEKyspe3ZhciBsPXdbRF09PW51bGw/IiI6d1tEXTtUKz0iPCIrYisiICIrKHVbRF0/J2NsYXNzPSInK3VbRF0rJyInOiIiKSsiPiIrbCsiPC8iK2IrIj4ifXJldHVybiBUKyI8L3RyPiJ9KShhLmJvZHlbbV0sInRkIik7ZCs9IjwvdGJvZHk+IixyLmZvb3RlciYmYS5mb290ZXImJihkKz0iPHRmb290PiIrYS5mb290ZXJTdHJ1Y3R1cmUubWFwKGZ1bmN0aW9uKHcpe3JldHVybiI8dHI+Iit3Lm1hcChmdW5jdGlvbihiKXtyZXR1cm4gYj8nPHRoIGNvbHNwYW49IicrYi5jb2xzcGFuKyciIHJvd3NwYW49IicrYi5yb3dzcGFuKyciPicrYi50aXRsZSsiPC90aD4iOiIifSkuam9pbigiIikrIjwvdHI+In0pLmpvaW4oIiIpKyI8L3Rmb290PiIpLGQrPSI8L3RhYmxlPiI7dmFyIGc9d2luZG93Lm9wZW4oIiIsIiIpO2c/KGcuZG9jdW1lbnQuY2xvc2UoKSxnLmRvY3VtZW50LnRpdGxlPXMudGl0bGUsYWkoJ3N0eWxlLCBsaW5rW3JlbD0ic3R5bGVzaGVldCJdJykuZWFjaChmdW5jdGlvbigpe3ZhciB3PXRoaXMuY2xvbmVOb2RlKCEwKTt3LnRhZ05hbWUudG9Mb3dlckNhc2UoKT09PSJsaW5rIiYmKHcuaHJlZj1nbyh3LmhyZWYpKSxnLmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQodyl9KSxyLmN1c3RvbVNjcmlwdHMmJnIuY3VzdG9tU2NyaXB0cy5mb3JFYWNoKGZ1bmN0aW9uKHcpe3ZhciBiPWcuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7Yi5zcmM9dyxnLmRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0uYXBwZW5kQ2hpbGQoYil9KSxnLmRvY3VtZW50LmJvZHkuaW5uZXJIVE1MPSI8aDE+IitzLnRpdGxlKyI8L2gxPjxkaXY+Iisocy5tZXNzYWdlVG9wfHwiIikrIjwvZGl2PiIrZCsiPGRpdj4iKyhzLm1lc3NhZ2VCb3R0b218fCIiKSsiPC9kaXY+IixhaShnLmRvY3VtZW50LmJvZHkpLmFkZENsYXNzKCJkdC1wcmludC12aWV3IiksYWkoImltZyIsZy5kb2N1bWVudC5ib2R5KS5lYWNoKGZ1bmN0aW9uKHcsYil7Yi5zZXRBdHRyaWJ1dGUoInNyYyIsZ28oYi5nZXRBdHRyaWJ1dGUoInNyYyIpKSl9KSxyLmN1c3RvbWl6ZSYmci5jdXN0b21pemUoZyxyLHQpLGcuc2V0VGltZW91dChmdW5jdGlvbigpe3IuYXV0b1ByaW50JiYoZy5wcmludCgpLGcuY2xvc2UoKSl9LDFlMyksaSgpKTp0LmJ1dHRvbnMuaW5mbyh0LmkxOG4oImJ1dHRvbnMucHJpbnRFcnJvclRpdGxlIiwiVW5hYmxlIHRvIG9wZW4gcHJpbnQgdmlldyIpLHQuaTE4bigiYnV0dG9ucy5wcmludEVycm9yTXNnIiwiUGxlYXNlIGFsbG93IHBvcHVwcyBpbiB5b3VyIGJyb3dzZXIgZm9yIHRoaXMgc2l0ZSB0byBiZSBhYmxlIHRvIHZpZXcgdGhlIHByaW50IHZpZXcuIiksNWUzKX0sYXN5bmM6MTAwLHRpdGxlOiIqIixtZXNzYWdlVG9wOiIqIixtZXNzYWdlQm90dG9tOiIqIixleHBvcnRPcHRpb25zOnt9LGhlYWRlcjohMCxmb290ZXI6ITAsYXV0b1ByaW50OiEwLGN1c3RvbWl6ZTpudWxsfTt2YXIgYm89c3Qob3QoKSwxKTt2YXIgVnU9Ym8uZGVmYXVsdDtWdS5leHRlbmQodGUuZXh0LmJ1dHRvbnMse2NvbHZpczpmdW5jdGlvbihlLHQpe3ZhciBuPW51bGwscj17ZXh0ZW5kOiJjb2xsZWN0aW9uIixpbml0OmZ1bmN0aW9uKGksYSl7bj1hfSx0ZXh0OmZ1bmN0aW9uKGkpe3JldHVybiBpLmkxOG4oImJ1dHRvbnMuY29sdmlzIiwiQ29sdW1uIHZpc2liaWxpdHkiKX0sY2xhc3NOYW1lOiJidXR0b25zLWNvbHZpcyIsY2xvc2VCdXR0b246ITEsYnV0dG9uczpbe2V4dGVuZDoiY29sdW1uc1RvZ2dsZSIsY29sdW1uczp0LmNvbHVtbnMsY29sdW1uVGV4dDp0LmNvbHVtblRleHR9XX07cmV0dXJuIGUub24oImNvbHVtbi1yZW9yZGVyLmR0Iit0Lm5hbWVzcGFjZSxmdW5jdGlvbigpe2UuYnV0dG9uKG51bGwsZS5idXR0b24obnVsbCxuKS5ub2RlKCkpLmNvbGxlY3Rpb25SZWJ1aWxkKFt7ZXh0ZW5kOiJjb2x1bW5zVG9nZ2xlIixjb2x1bW5zOnQuY29sdW1ucyxjb2x1bW5UZXh0OnQuY29sdW1uVGV4dH1dKX0pLHJ9LGNvbHVtbnNUb2dnbGU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5jb2x1bW5zKHQuY29sdW1ucykuaW5kZXhlcygpLm1hcChmdW5jdGlvbihuKXtyZXR1cm57ZXh0ZW5kOiJjb2x1bW5Ub2dnbGUiLGNvbHVtbnM6bixjb2x1bW5UZXh0OnQuY29sdW1uVGV4dH19KS50b0FycmF5KCl9LGNvbHVtblRvZ2dsZTpmdW5jdGlvbihlLHQpe3JldHVybntleHRlbmQ6ImNvbHVtblZpc2liaWxpdHkiLGNvbHVtbnM6dC5jb2x1bW5zLGNvbHVtblRleHQ6dC5jb2x1bW5UZXh0fX0sY29sdW1uc1Zpc2liaWxpdHk6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5jb2x1bW5zKHQuY29sdW1ucykuaW5kZXhlcygpLm1hcChmdW5jdGlvbihuKXtyZXR1cm57ZXh0ZW5kOiJjb2x1bW5WaXNpYmlsaXR5Iixjb2x1bW5zOm4sdmlzaWJpbGl0eTp0LnZpc2liaWxpdHksY29sdW1uVGV4dDp0LmNvbHVtblRleHR9fSkudG9BcnJheSgpfSxjb2x1bW5WaXNpYmlsaXR5Ontjb2x1bW5zOnZvaWQgMCx0ZXh0OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbi5fY29sdW1uVGV4dChlLG4pfSxjbGFzc05hbWU6ImJ1dHRvbnMtY29sdW1uVmlzaWJpbGl0eSIsYWN0aW9uOmZ1bmN0aW9uKGUsaSxuLHIpe3ZhciBpPWkuY29sdW1ucyhyLmNvbHVtbnMpLGE9aS52aXNpYmxlKCk7aS52aXNpYmxlKHIudmlzaWJpbGl0eSE9PXZvaWQgMD9yLnZpc2liaWxpdHk6IShhLmxlbmd0aCYmYVswXSkpfSxpbml0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10aGlzLGk9ZS5jb2x1bW4obi5jb2x1bW5zKTt0LmF0dHIoImRhdGEtY3YtaWR4IixuLmNvbHVtbnMpLGUub24oImNvbHVtbi12aXNpYmlsaXR5LmR0IituLm5hbWVzcGFjZSxmdW5jdGlvbihhLHMsdSxkKXtpLmluZGV4KCkhPT11fHxzLmJEZXN0cm95aW5nfHxzLm5UYWJsZSE9ZS5zZXR0aW5ncygpWzBdLm5UYWJsZXx8ci5hY3RpdmUoZCl9KS5vbigiY29sdW1uLXJlb3JkZXIuZHQiK24ubmFtZXNwYWNlLGZ1bmN0aW9uKCl7bi5kZXN0cm95aW5nfHxlLmNvbHVtbnMobi5jb2x1bW5zKS5jb3VudCgpPT09MSYmKGk9ZS5jb2x1bW4obi5jb2x1bW5zKSxyLnRleHQobi5fY29sdW1uVGV4dChlLG4pKSxyLmFjdGl2ZShpLnZpc2libGUoKSkpfSksdGhpcy5hY3RpdmUoaS52aXNpYmxlKCkpfSxkZXN0cm95OmZ1bmN0aW9uKGUsdCxuKXtlLm9mZigiY29sdW1uLXZpc2liaWxpdHkuZHQiK24ubmFtZXNwYWNlKS5vZmYoImNvbHVtbi1yZW9yZGVyLmR0IituLm5hbWVzcGFjZSl9LF9jb2x1bW5UZXh0OmZ1bmN0aW9uKGUsdCl7dmFyIG4scjtyZXR1cm4gdHlwZW9mIHQudGV4dD09InN0cmluZyI/dC50ZXh0OihyPWUuY29sdW1uKHQuY29sdW1ucykudGl0bGUoKSxuPWUuY29sdW1uKHQuY29sdW1ucykuaW5kZXgoKSxyPXIucmVwbGFjZSgvXG4vZywiICIpLnJlcGxhY2UoLzxiclxzKlwvPz4vZ2ksIiAiKS5yZXBsYWNlKC88c2VsZWN0KC4qPyk8XC9zZWxlY3Rccyo+L2dpLCIiKSxyPXRlLkJ1dHRvbnMuc3RyaXBIdG1sQ29tbWVudHMocikscj10ZS51dGlsLnN0cmlwSHRtbChyKS50cmltKCksdC5jb2x1bW5UZXh0P3QuY29sdW1uVGV4dChlLG4scik6cil9fSxjb2x2aXNSZXN0b3JlOntjbGFzc05hbWU6ImJ1dHRvbnMtY29sdmlzUmVzdG9yZSIsdGV4dDpmdW5jdGlvbihlKXtyZXR1cm4gZS5pMThuKCJidXR0b25zLmNvbHZpc1Jlc3RvcmUiLCJSZXN0b3JlIHZpc2liaWxpdHkiKX0saW5pdDpmdW5jdGlvbihlLHQsbil7ZS5jb2x1bW5zKCkuZXZlcnkoZnVuY3Rpb24oKXt2YXIgcj10aGlzLmluaXQoKTtyLl9fdmlzT3JpZ2luYWw9PT12b2lkIDAmJihyLl9fdmlzT3JpZ2luYWw9dGhpcy52aXNpYmxlKCkpfSl9LGFjdGlvbjpmdW5jdGlvbihlLHQsbixyKXt0LmNvbHVtbnMoKS5ldmVyeShmdW5jdGlvbihpKXt2YXIgYT10aGlzLmluaXQoKTt0aGlzLnZpc2libGUoYS5fX3Zpc09yaWdpbmFsKX0pfX0sY29sdmlzR3JvdXA6e2NsYXNzTmFtZToiYnV0dG9ucy1jb2x2aXNHcm91cCIsYWN0aW9uOmZ1bmN0aW9uKGUsdCxuLHIpe3QuY29sdW1ucyhyLnNob3cpLnZpc2libGUoITAsITEpLHQuY29sdW1ucyhyLmhpZGUpLnZpc2libGUoITEsITEpLHQuY29sdW1ucy5hZGp1c3QoKX0sc2hvdzpbXSxoaWRlOltdfX0pO3ZhciBwYz1zdChvdCgpLDEpO3ZhciBTbz1zdChvdCgpLDEpO3ZhciBUbz1Tby5kZWZhdWx0O2Z1bmN0aW9uIHJ0KGUsdCxuLHIpe3Q9PT12b2lkIDAmJih0PVtdKSxuPT09dm9pZCAwJiYobj1udWxsKSxyPT09dm9pZCAwJiYocj1bXSk7dmFyIGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChlKTtyZXR1cm4gRG8oaSx0KSxuJiYoaS5pbm5lckhUTUw9biksci5mb3JFYWNoKGZ1bmN0aW9uKGEpe2kuYXBwZW5kQ2hpbGQoYSl9KSxpfWZ1bmN0aW9uIERvKGUsdCl7dCYmKEFycmF5LmlzQXJyYXkodCl8fCh0PVt0XSksdC5mb3JFYWNoKGZ1bmN0aW9uKG4pe2UmJm4mJmUuY2xhc3NMaXN0LmFkZChuKX0pKX1mdW5jdGlvbiB0dChlKXtyZXR1cm4nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPicrZSsiPC9zdmc+In12YXIgbG49e2NoZXZyb25SaWdodDp0dCgnPHBhdGggZD0ibTkgMTggNi02LTYtNiIvPicpLGNvbHVtbnM6dHQoJzxyZWN0IHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgeD0iMyIgeT0iMyIgcng9IjIiLz48cGF0aCBkPSJNOSAzdjE4Ii8+PHBhdGggZD0iTTE1IDN2MTgiLz4nKSxjb250YWluczp0dCgnPHBhdGggZD0iTTEwIDNoNHYxOGgtNHoiLz48cGF0aCBkPSJNMTggOGgzdjloLTMiLz48cGF0aCBkPSJNNiAxN0gzVjhoMyIvPicpLGVtcHR5OnR0KCc8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIvPicpLGVuZHM6dHQoJzxwYXRoIGQ9Ik0yMSAzaC00djE4aDR6Ii8+PHBhdGggZD0iTTEzIDhIM3Y5aDEwIi8+JyksZXF1YWw6dHQoJzxsaW5lIHgxPSI1IiB4Mj0iMTkiIHkxPSI5IiB5Mj0iOSIvPjxsaW5lIHgxPSI1IiB4Mj0iMTkiIHkxPSIxNSIgeTI9IjE1Ii8+JyksZ3JlYXRlcjp0dCgnPHBhdGggZD0ibTkgMTggNi02LTYtNiIvPicpLGdyZWF0ZXJPckVxdWFsOnR0KCc8cGF0aCBkPSJtOSAxNiA2LTYtNi02Ii8+PHBhdGggZD0ibTkgMjEgNi02Ii8+JyksbGVzczp0dCgnPHBhdGggZD0ibTE1IDE4LTYtNiA2LTYiLz4nKSxsZXNzT3JFcXVhbDp0dCgnPHBhdGggZD0ibTE1IDE2LTYtNiA2LTYiLz48cGF0aCBkPSJtMTUgMjEtNi02Ii8+JyksbWVudTp0dCgnPGxpbmUgeDE9IjQiIHgyPSIyMCIgeTE9IjEyIiB5Mj0iMTIiLz48bGluZSB4MT0iNCIgeDI9IjIwIiB5MT0iNiIgeTI9IjYiLz48bGluZSB4MT0iNCIgeDI9IjIwIiB5MT0iMTgiIHkyPSIxOCIvPicpLG1vdmU6dHQoJzxsaW5lIHgxPSIxMiIgeDI9IjEyIiB5MT0iMyIgeTI9IjIxIi8+PHBvbHlsaW5lIHBvaW50cz0iOCA4IDQgMTIgOCAxNiIvPjxwb2x5bGluZSBwb2ludHM9IjE2IDE2IDIwIDEyIDE2IDgiLz4nKSxtb3ZlTGVmdDp0dCgnPHBhdGggZD0ibTkgNi02IDYgNiA2Ii8+PHBhdGggZD0iTTMgMTJoMTQiLz48cGF0aCBkPSJNMjEgMTlWNSIvPicpLG1vdmVSaWdodDp0dCgnPHBhdGggZD0iTTMgNXYxNCIvPjxwYXRoIGQ9Ik0yMSAxMkg3Ii8+PHBhdGggZD0ibTE1IDE4IDYtNi02LTYiLz4nKSxub3RDb250YWluczp0dCgnPHBhdGggZD0iTTE1IDQgOSAyMCIvPjxwYXRoIGQ9Ik0zIDhoMTh2OUgzeiIvPicpLG5vdEVtcHR5OnR0KCc8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIvPjxsaW5lIHgxPSI5IiB4Mj0iMTUiIHkxPSIxNSIgeTI9IjkiLz4nKSxub3RFcXVhbDp0dCgnPHBhdGggZD0iTTUgOWgxNCIvPjxwYXRoIGQ9Ik01IDE1aDE0Ii8+PHBhdGggZD0iTTE1IDUgOSAxOSIvPicpLG9yZGVyQWRkQXNjOnR0KCc8cGF0aCBkPSJNMTcgMjF2LTgiLz48cGF0aCBkPSJNMyA0aDYiLz48cGF0aCBkPSJNMyA4aDkiLz48cGF0aCBkPSJNMyAxMmgxMCIvPjxwYXRoIGQ9Ik0xMyAxN2g4Ii8+Jyksb3JkZXJBZGREZXNjOnR0KCc8cGF0aCBkPSJNMTcgMjF2LTgiLz48cGF0aCBkPSJNMyA0aDEyIi8+PHBhdGggZD0iTTMgOGg5Ii8+PHBhdGggZD0iTTMgMTJoNiIvPjxwYXRoIGQ9Ik0xMyAxN2g4Ii8+Jyksb3JkZXJBc2M6dHQoJzxwYXRoIGQ9Im0zIDggNC00IDQgNCIvPjxwYXRoIGQ9Ik03IDR2MTYiLz48cGF0aCBkPSJNMTEgMTJoNCIvPjxwYXRoIGQ9Ik0xMSAxNmg3Ii8+PHBhdGggZD0iTTExIDIwaDEwIi8+Jyksb3JkZXJDbGVhcjp0dCgnPHBhdGggZD0ibTIxIDIxLTgtOCIvPjxwYXRoIGQ9Ik0zIDRoMTIiLz48cGF0aCBkPSJNMyA4aDkiLz48cGF0aCBkPSJNMyAxMmg2Ii8+PHBhdGggZD0ibTEzIDIxIDgtOCIvPicpLG9yZGVyRGVzYzp0dCgnPHBhdGggZD0ibTMgMTYgNCA0IDQtNCIvPjxwYXRoIGQ9Ik03IDIwVjQiLz48cGF0aCBkPSJNMTEgNGgxMCIvPjxwYXRoIGQ9Ik0xMSA4aDciLz48cGF0aCBkPSJNMTEgMTJoNCIvPicpLG9yZGVyUmVtb3ZlOnR0KCc8cGF0aCBkPSJNMyA0aDEyIi8+PHBhdGggZD0iTTMgOGg5Ii8+PHBhdGggZD0iTTMgMTJoNiIvPjxwYXRoIGQ9Ik0xMyAxN2g4Ii8+Jyksb3JkZXJOb25lOnR0KCc8cGF0aCBkPSJtMyA4IDQtNCA0IDQiLz48cGF0aCBkPSJtMTEgMTYtNCA0LTQtNCIvPjxwYXRoIGQ9Ik03IDR2MTYiLz48cGF0aCBkPSJNMTUgOGg2Ii8+PHBhdGggZD0iTTE1IDE2aDYiLz48cGF0aCBkPSJNMTMgMTJoOCIvPicpLHNlYXJjaDp0dCgnPGNpcmNsZSBjeD0iMTEiIGN5PSIxMSIgcj0iOCIvPjxwYXRoIGQ9Im0yMSAyMS00LjMtNC4zIi8+Jyksc2VhcmNoQ2xlYXI6dHQoJzxwYXRoIGQ9Im0xMy41IDguNS01IDUiLz48cGF0aCBkPSJtOC41IDguNSA1IDUiLz48Y2lyY2xlIGN4PSIxMSIgY3k9IjExIiByPSI4Ii8+PHBhdGggZD0ibTIxIDIxLTQuMy00LjMiLz4nKSxzdGFydHM6dHQoJzxwYXRoIGQ9Ik0zIDNoNHYxOEgzeiIvPjxwYXRoIGQ9Ik0xMSA4aDEwdjlIMTEiLz4nKSx0aWNrOnR0KCc8cGF0aCBkPSJNMjAgNiA5IDE3bC01LTUiLz4nKSx4OnR0KCc8cGF0aCBkPSJNMTggNiA2IDE4Ii8+PHBhdGggZD0ibTYgNiAxMiAxMiIvPicpfTtmdW5jdGlvbiBIdShlKXtlPT09dm9pZCAwJiYoZT1udWxsKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJkaXYuZHRjYy1kcm9wZG93biIpLmZvckVhY2goZnVuY3Rpb24odCl7KGU9PT1udWxsfHwhdC5jb250YWlucyhlLnRhcmdldCkpJiYodC5fY2xvc2UoKSxlLl9jbG9zZWR8fChlLl9jbG9zZWQ9W10pLGUuX2Nsb3NlZC5wdXNoKHQpKX0pfWZ1bmN0aW9uIGtvKGUsdCl7cmV0dXJuIHQuY2xvc2VzdCgiZGl2LmR0ZmgtZmxvYXRpbmdwYXJlbnQiKXx8ZS50YWJsZSgpLmNvbnRhaW5lcigpfWZ1bmN0aW9uIEFvKGUsdCxuKXt2YXIgcj1uLmNsb3Nlc3QoImRpdi5kdC1jb2x1bW4taGVhZGVyIiksaT1rbyh0LG4pLGE9Z2V0Q29tcHV0ZWRTdHlsZShyKSxzPWUub2Zmc2V0V2lkdGgsdT16dShpLG4pLGQsbTttPXUudG9wK24ub2Zmc2V0SGVpZ2h0LGEuZmxleERpcmVjdGlvbj09PSJyb3ctcmV2ZXJzZSI/ZD11LmxlZnQ6ZD11LmxlZnQtcytuLm9mZnNldFdpZHRoO3ZhciB2PWkub2Zmc2V0V2lkdGg7ZCtzPnYmJihkLT1kK3MtdiksZDwwJiYoZD0wKSxlLnN0eWxlLnRvcD1tKyJweCIsZS5zdHlsZS5sZWZ0PWQrInB4In1mdW5jdGlvbiBfbyhlLHQsbil7dmFyIHI9a28odCxuLmVsZW1lbnQoKSk7ZS5fc2hvd249ITAsci5hcHBlbmQoZSksQW8oZSx0LG4uZWxlbWVudCgpKTt2YXIgaT1mdW5jdGlvbihhKXtpZighZS5fc2hvd24pe2RvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLGkpO3JldHVybn1hLnRhcmdldD09PWV8fGUuY29udGFpbnMoYS50YXJnZXQpfHwoZS5fY2xvc2UoKSxkb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIixpKSl9O3JldHVybiBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixpKSxpfWZ1bmN0aW9uIHp1KGUsdCl7Zm9yKHZhciBuPTAscj0wO3QmJnQhPT1lJiZ0IT09ZG9jdW1lbnQuYm9keTspbis9dC5vZmZzZXRUb3Ascis9dC5vZmZzZXRMZWZ0LHQuc2Nyb2xsVG9wJiYoci09dC5zY3JvbGxUb3ApLHQuc2Nyb2xsTGVmdCYmKHItPXQuc2Nyb2xsTGVmdCksdD10Lm9mZnNldFBhcmVudDtyZXR1cm57dG9wOm4sbGVmdDpyfX1mdW5jdGlvbiBXdShlLHQpe3JldHVybiBmdW5jdGlvbihuKXtpZihlLl9zaG93bil7dmFyIHI9QXJyYXkuZnJvbShlLnF1ZXJ5U2VsZWN0b3JBbGwoImEsIGJ1dHRvbiwgaW5wdXQsIHNlbGVjdCIpKSxpPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7aWYobi5rZXk9PT0iRXNjYXBlIil7ZS5fY2xvc2UoKSx0LmZvY3VzKCk7cmV0dXJufWVsc2UgaWYobi5rZXkhPT0iVGFiInx8ci5sZW5ndGg9PT0wKXJldHVybjtyLmluY2x1ZGVzKGkpP24uc2hpZnRLZXk/aT09PXJbMF0mJihyW3IubGVuZ3RoLTFdLmZvY3VzKCksbi5wcmV2ZW50RGVmYXVsdCgpKTppPT09cltyLmxlbmd0aC0xXSYmKHJbMF0uZm9jdXMoKSxuLnByZXZlbnREZWZhdWx0KCkpOihyWzBdLmZvY3VzKCksbi5wcmV2ZW50RGVmYXVsdCgpKX19fXZhciBoYT17Y2xhc3Nlczp7Y29udGFpbmVyOiJkdGNjLWRyb3Bkb3duIixsaW5lcjoiZHRjYy1kcm9wZG93bi1saW5lciJ9LGRlZmF1bHRzOntjbGFzc05hbWU6ImRyb3Bkb3duIixjb250ZW50OltdLGljb246Im1lbnUiLHRleHQ6Ik1vcmUuLi4ifSxpbml0OmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuZHQoKSxuPXJ0KCJkaXYiLGhhLmNsYXNzZXMuY29udGFpbmVyLCIiLFtydCgiZGl2IixoYS5jbGFzc2VzLmxpbmVyKV0pO24uX3Nob3duPSExLG4uX2Nsb3NlPWZ1bmN0aW9uKCl7bi5yZW1vdmUoKSxuLl9zaG93bj0hMX0sbi5zZXRBdHRyaWJ1dGUoInJvbGUiLCJkaWFsb2ciKSxuLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsdC5pMThuKCJjb2x1bW5Db250cm9sLmRyb3Bkb3duIixlLnRleHQpKSx0Lm9uKCJmaXhlZGhlYWRlci1tb2RlIixmdW5jdGlvbigpe24uX3Nob3duJiZfbyhuLHQsZS5fcGFyZW50cz9lLl9wYXJlbnRzWzBdOmkpfSk7dmFyIHI9bi5jaGlsZE5vZGVzWzBdLGk9bmV3IE50KHQpLnRleHQodC5pMThuKCJjb2x1bW5Db250cm9sLmRyb3Bkb3duIixlLnRleHQpKS5pY29uKGUuaWNvbikuY2xhc3NOYW1lKGUuY2xhc3NOYW1lKS5kcm9wZG93bkRpc3BsYXkocikuaGFuZGxlcihmdW5jdGlvbihtKXtpZighKG0uX2Nsb3NlZCYmbS5fY2xvc2VkLmluY2x1ZGVzKG4pKSl7X28obix0LGUuX3BhcmVudHM/ZS5fcGFyZW50c1swXTppKTt2YXIgdj1uLnF1ZXJ5U2VsZWN0b3IoImlucHV0LCBhLCBidXR0b24iKTt2JiZtLnR5cGU9PT0ia2V5cHJlc3MiJiZ2LmZvY3VzKCl9fSk7aS5lbGVtZW50KCkuc2V0QXR0cmlidXRlKCJhcmlhLWhhc3BvcHVwIiwiZGlhbG9nIik7Zm9yKHZhciBhPTA7YTxlLmNvbnRlbnQubGVuZ3RoO2ErKyl7dmFyIHM9dGhpcy5yZXNvbHZlKGUuY29udGVudFthXSk7cy5jb25maWcuX3BhcmVudHN8fChzLmNvbmZpZy5fcGFyZW50cz1bXSkscy5jb25maWcuX3BhcmVudHMucHVzaChpKTt2YXIgdT1zLnBsdWdpbi5pbml0LmNhbGwodGhpcyxzLmNvbmZpZyk7ci5hcHBlbmRDaGlsZCh1KX1lLl9wYXJlbnRzJiZlLl9wYXJlbnRzLmxlbmd0aCYmaS5leHRyYSgiY2hldnJvblJpZ2h0IiksdC5vbigiY29sdW1ucy1yZW9yZGVyZWQiLGZ1bmN0aW9uKCl7QW8obix0LGkuZWxlbWVudCgpKX0pO3ZhciBkPVd1KG4saS5lbGVtZW50KCkpO3JldHVybiBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGQpLHQub24oImRlc3Ryb3kiLGZ1bmN0aW9uKCl7ZG9jdW1lbnQuYm9keS5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixkKX0pLGkuZWxlbWVudCgpfX0sVXU9MCxOdD0oZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQpe3RoaXMuX3M9e2FjdGl2ZTohMSxhY3RpdmVMaXN0OltdLGJ1dHRvbkNsaWNrOm51bGwsZHQ6bnVsbCxlbmFibGVkOiEwLGxhYmVsOiIiLG5hbWVzcGFjZToiIix2YWx1ZTpudWxsfSx0aGlzLl9zLmR0PXQsdGhpcy5fZG9tPXtidXR0b246cnQoImJ1dHRvbiIsZS5jbGFzc2VzLmNvbnRhaW5lciksZHJvcGRvd25EaXNwbGF5Om51bGwsZXh0cmE6cnQoInNwYW4iLCJkdGNjLWJ1dHRvbi1leHRyYSIpLGljb246cnQoInNwYW4iLCJkdGNjLWJ1dHRvbi1pY29uIiksc3RhdGU6cnQoInNwYW4iLCJkdGNjLWJ1dHRvbi1zdGF0ZSIpLHRleHQ6cnQoInNwYW4iLCJkdGNjLWJ1dHRvbi10ZXh0Iil9LHRoaXMuX2RvbS5idXR0b24uc2V0QXR0cmlidXRlKCJ0eXBlIiwiYnV0dG9uIiksdGhpcy5fZG9tLmJ1dHRvbi5hcHBlbmQodGhpcy5fZG9tLmljb24pLHRoaXMuX2RvbS5idXR0b24uYXBwZW5kKHRoaXMuX2RvbS50ZXh0KSx0aGlzLl9kb20uYnV0dG9uLmFwcGVuZCh0aGlzLl9kb20uc3RhdGUpLHRoaXMuX2RvbS5idXR0b24uYXBwZW5kKHRoaXMuX2RvbS5leHRyYSksdGhpcy5lbmFibGUoITApfXJldHVybiBlLnByb3RvdHlwZS5hY3RpdmU9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9PT12b2lkIDA/dGhpcy5fcy5hY3RpdmU6KHRoaXMuX3MuYWN0aXZlPXQsdGhpcy5fY2hlY2tBY3RpdmUoKSx0aGlzKX0sZS5wcm90b3R5cGUuYWN0aXZlTGlzdD1mdW5jdGlvbih0LG4pe3JldHVybiB0aGlzLl9zLmFjdGl2ZUxpc3RbdF09bix0aGlzLl9jaGVja0FjdGl2ZSgpLHRoaXN9LGUucHJvdG90eXBlLmNoZWNrRGlzcGxheT1mdW5jdGlvbigpe2Zvcih2YXIgdD0wLG49dGhpcy5fZG9tLmRyb3Bkb3duRGlzcGxheS5jaGlsZE5vZGVzLHI9MDtyPG4ubGVuZ3RoO3IrKyluW3JdLnN0eWxlLmRpc3BsYXkhPT0ibm9uZSImJnQrKztyZXR1cm4gdD09PTAmJih0aGlzLl9kb20uYnV0dG9uLnN0eWxlLmRpc3BsYXk9Im5vbmUiKSx0aGlzfSxlLnByb3RvdHlwZS5jbGFzc05hbWU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2RvbS5idXR0b24uY2xhc3NMaXN0LmFkZCgiZHRjYy1idXR0b25fIit0KSx0aGlzfSxlLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5fcy5idXR0b25DbGljayYmKHRoaXMuX2RvbS5idXR0b24ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuX3MuYnV0dG9uQ2xpY2spLHRoaXMuX2RvbS5idXR0b24ucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5cHJlc3MiLHRoaXMuX3MuYnV0dG9uQ2xpY2spKSx0aGlzLl9zLm5hbWVzcGFjZSYmdGhpcy5fcy5kdC5vZmYoImRlc3Ryb3kuIit0aGlzLl9zLm5hbWVzcGFjZSl9LGUucHJvdG90eXBlLmRyb3Bkb3duRGlzcGxheT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZG9tLmRyb3Bkb3duRGlzcGxheT10LHRoaXN9LGUucHJvdG90eXBlLmVsZW1lbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZG9tLmJ1dHRvbn0sZS5wcm90b3R5cGUuZW5hYmxlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9kb20uYnV0dG9uLmNsYXNzTGlzdC50b2dnbGUoImR0Y2MtYnV0dG9uX2Rpc2FibGVkIiwhdCksdGhpcy5fcy5lbmFibGVkPXQsdGhpc30sZS5wcm90b3R5cGUuZXh0cmE9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2RvbS5leHRyYS5pbm5lckhUTUw9dD9sblt0XToiIix0aGlzfSxlLnByb3RvdHlwZS5oYW5kbGVyPWZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMscj1mdW5jdGlvbihpKXtIdShpKSxpLnN0b3BQcm9wYWdhdGlvbigpLGkucHJldmVudERlZmF1bHQoKSxuLl9zLmVuYWJsZWQmJnQoaSl9O3JldHVybiB0aGlzLl9zLmJ1dHRvbkNsaWNrPXIsdGhpcy5fcy5uYW1lc3BhY2U9ImR0Y2MtIitVdSsrLHRoaXMuX2RvbS5idXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHIpLHRoaXMuX2RvbS5idXR0b24uYWRkRXZlbnRMaXN0ZW5lcigia2V5cHJlc3MiLHIpLHRoaXMuX3MuZHQub24oImRlc3Ryb3kuIit0aGlzLl9zLm5hbWVzcGFjZSxmdW5jdGlvbigpe24uZGVzdHJveSgpfSksdGhpc30sZS5wcm90b3R5cGUuaWNvbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZG9tLmljb24uaW5uZXJIVE1MPXQ/bG5bdF06IiIsdGhpc30sZS5wcm90b3R5cGUudGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gdD09PXZvaWQgMD90aGlzLl9zLmxhYmVsOih0aGlzLl9kb20udGV4dC5pbm5lckhUTUw9dCx0aGlzLl9zLmxhYmVsPXQsdGhpcy5fZG9tLmJ1dHRvbi5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLHQpLHRoaXMpfSxlLnByb3RvdHlwZS52YWx1ZT1mdW5jdGlvbih0KXtyZXR1cm4gdD09PXZvaWQgMD90aGlzLl9zLnZhbHVlOih0aGlzLl9zLnZhbHVlPXQsdGhpcyl9LGUucHJvdG90eXBlLl9jaGVja0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zLmFjdGl2ZT09PSEwfHxPYmplY3QudmFsdWVzKHRoaXMuX3MuYWN0aXZlTGlzdCkuaW5jbHVkZXMoITApPyh0aGlzLl9kb20uc3RhdGUuaW5uZXJIVE1MPWxuLnRpY2ssdGhpcy5fZG9tLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKCJkdGNjLWJ1dHRvbl9hY3RpdmUiKSk6KHRoaXMuX2RvbS5zdGF0ZS5pbm5lckhUTUw9IiIsdGhpcy5fZG9tLmJ1dHRvbi5jbGFzc0xpc3QucmVtb3ZlKCJkdGNjLWJ1dHRvbl9hY3RpdmUiKSksdGhpc30sZS5jbGFzc2VzPXtjb250YWluZXI6ImR0Y2MtYnV0dG9uIn0sZX0pKCksYmE9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0LG4pe3ZhciByPXRoaXM7dGhpcy5fcz17YnV0dG9uczpbXSxkdDpudWxsLGhhbmRsZXI6ZnVuY3Rpb24oKXt9LHNlYXJjaDoiIn0sdGhpcy5fcy5kdD10LHRoaXMuX2RvbT17YnV0dG9uczpydCgiZGl2IiwiZHRjYy1saXN0LWJ1dHRvbnMiKSxjb250YWluZXI6cnQoImRpdiIsZS5jbGFzc2VzLmNvbnRhaW5lciksY29udHJvbHM6cnQoImRpdiIsImR0Y2MtbGlzdC1jb250cm9scyIpLHRpdGxlOnJ0KCJkaXYiLCJkdGNjLWxpc3QtdGl0bGUiKSxzZWxlY3RBbGw6cnQoImJ1dHRvbiIsImR0Y2MtbGlzdC1zZWxlY3RBbGwiLHQuaTE4bigiY29sdW1uQ29udHJvbC5saXN0LmFsbCIsIlNlbGVjdCBhbGwiKSksc2VsZWN0QWxsQ291bnQ6cnQoInNwYW4iKSxzZWxlY3ROb25lOnJ0KCJidXR0b24iLCJkdGNjLWxpc3Qtc2VsZWN0Tm9uZSIsdC5pMThuKCJjb2x1bW5Db250cm9sLmxpc3Qubm9uZSIsIkRlc2VsZWN0IikpLHNlbGVjdE5vbmVDb3VudDpydCgic3BhbiIpLHNlYXJjaDpydCgiaW5wdXQiLGUuY2xhc3Nlcy5pbnB1dCl9O3ZhciBpPXRoaXMuX2RvbTtpLnNlYXJjaC5zZXRBdHRyaWJ1dGUoInR5cGUiLCJ0ZXh0IiksaS5jb250YWluZXIuYXBwZW5kKGkudGl0bGUpLGkuY29udGFpbmVyLmFwcGVuZChpLmNvbnRyb2xzKSxpLmNvbnRhaW5lci5hcHBlbmQoaS5idXR0b25zKSxuLnNlbGVjdCYmKGkuY29udHJvbHMuYXBwZW5kKGkuc2VsZWN0QWxsKSxpLmNvbnRyb2xzLmFwcGVuZChpLnNlbGVjdE5vbmUpLGkuc2VsZWN0QWxsLmFwcGVuZChpLnNlbGVjdEFsbENvdW50KSxpLnNlbGVjdE5vbmUuYXBwZW5kKGkuc2VsZWN0Tm9uZUNvdW50KSxpLnNlbGVjdEFsbC5zZXRBdHRyaWJ1dGUoInR5cGUiLCJidXR0b24iKSxpLnNlbGVjdE5vbmUuc2V0QXR0cmlidXRlKCJ0eXBlIiwiYnV0dG9uIikpO3ZhciBhPWZ1bmN0aW9uKCl7ci5fcy5zZWFyY2g9aS5zZWFyY2gudmFsdWUsci5fcmVkcmF3KCl9LHM9ZnVuY3Rpb24oZCl7ci5zZWxlY3RBbGwoKSxyLl9zLmhhbmRsZXIoZCxudWxsLHIuX3MuYnV0dG9ucywhMCksci5fdXBkYXRlQ291bnQoKX0sdT1mdW5jdGlvbihkKXtyLnNlbGVjdE5vbmUoKSxyLl9zLmhhbmRsZXIoZCxudWxsLHIuX3MuYnV0dG9ucywhMCksci5fdXBkYXRlQ291bnQoKX07bi5zZWFyY2gmJihpLmNvbnRyb2xzLmFwcGVuZChpLnNlYXJjaCksaS5zZWFyY2guc2V0QXR0cmlidXRlKCJwbGFjZWhvbGRlciIsdC5pMThuKCJjb2x1bW5Db250cm9sLmxpc3Quc2VhcmNoIiwiU2VhcmNoLi4uIikpLGkuc2VhcmNoLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixhKSksaS5zZWxlY3RBbGwuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHMpLGkuc2VsZWN0Tm9uZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdSksdC5vbigiZGVzdHJveSIsZnVuY3Rpb24oKXtpLnNlbGVjdEFsbC5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIscyksaS5zZWxlY3ROb25lLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIix1KSxpLnNlYXJjaC5yZW1vdmVFdmVudExpc3RlbmVyKCJpbnB1dCIsYSl9KX1yZXR1cm4gZS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKHQsbil7dmFyIHI9dGhpcztBcnJheS5pc0FycmF5KHQpfHwodD1bdF0pO2Zvcih2YXIgaT1mdW5jdGlvbihkKXt2YXIgbT10W2RdLHY9bmV3IE50KGEuX3MuZHQpLmFjdGl2ZShtLmFjdGl2ZXx8ITEpLmhhbmRsZXIoZnVuY3Rpb24oZyl7ci5fcy5oYW5kbGVyKGcsdixyLl9zLmJ1dHRvbnMsITApLHIuX3VwZGF0ZUNvdW50KCl9KS5pY29uKG0uaWNvbnx8IiIpLnRleHQobS5sYWJlbCE9PSIiP20ubGFiZWw6YS5fcy5kdC5pMThuKCJjb2x1bW5Db250cm9sLmxpc3QuZW1wdHlPcHRpb24iLCJFbXB0eSIpKS52YWx1ZShtLnZhbHVlKTttLmxhYmVsPT09IiImJnYuY2xhc3NOYW1lKCJlbXB0eSIpLGEuX3MuYnV0dG9ucy5wdXNoKHYpfSxhPXRoaXMscz0wO3M8dC5sZW5ndGg7cysrKWkocyk7dmFyIHU9dGhpcy5fcy5idXR0b25zLmxlbmd0aDtyZXR1cm4obj09PSEwfHxuPT09dm9pZCAwKSYmKHRoaXMuX2RvbS5zZWxlY3RBbGxDb3VudC5pbm5lckhUTUw9dT8iKCIrdSsiKSI6IiIsdGhpcy5fcmVkcmF3KCkpLHRoaXN9LGUucHJvdG90eXBlLmJ1dHRvbj1mdW5jdGlvbih0KXtmb3IodmFyIG49dGhpcy5fcy5idXR0b25zLHI9MDtyPG4ubGVuZ3RoO3IrKylpZihuW3JdLnZhbHVlKCk9PT10KXJldHVybiBuW3JdO3JldHVybiBudWxsfSxlLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe2Zvcih2YXIgdD0wO3Q8dGhpcy5fcy5idXR0b25zLmxlbmd0aDt0KyspdGhpcy5fcy5idXR0b25zW3RdLmRlc3Ryb3koKTtyZXR1cm4gdGhpcy5fZG9tLmJ1dHRvbnMucmVwbGFjZUNoaWxkcmVuKCksdGhpcy5fcy5idXR0b25zLmxlbmd0aD0wLHRoaXN9LGUucHJvdG90eXBlLmVsZW1lbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZG9tLmNvbnRhaW5lcn0sZS5wcm90b3R5cGUuaGFuZGxlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcy5oYW5kbGVyPXQsdGhpc30sZS5wcm90b3R5cGUuc2VhcmNoTGlzdGVuZXI9ZnVuY3Rpb24odCxuKXt2YXIgcj10aGlzO3JldHVybiB0Lm9uKCJjYy1zZWFyY2gtY2xlYXIiLGZ1bmN0aW9uKGksYSl7YT09PW4uaWR4KCkmJihyLnNlbGVjdE5vbmUoKSxyLl9zLmhhbmRsZXIoaSxudWxsLHIuX3MuYnV0dG9ucywhMSksci5fcy5zZWFyY2g9IiIsci5fZG9tLnNlYXJjaC52YWx1ZT0iIixyLl9yZWRyYXcoKSxyLl91cGRhdGVDb3VudCgpKX0pLHRoaXN9LGUucHJvdG90eXBlLnNlbGVjdEFsbD1mdW5jdGlvbigpe2Zvcih2YXIgdD0wO3Q8dGhpcy5fcy5idXR0b25zLmxlbmd0aDt0KyspdGhpcy5fcy5idXR0b25zW3RdLmFjdGl2ZSghMCk7cmV0dXJuIHRoaXN9LGUucHJvdG90eXBlLnNlbGVjdE5vbmU9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHRoaXMuX3MuYnV0dG9ucy5sZW5ndGg7dCsrKXRoaXMuX3MuYnV0dG9uc1t0XS5hY3RpdmUoITEpO3JldHVybiB0aGlzfSxlLnByb3RvdHlwZS50aXRsZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZG9tLnRpdGxlLmlubmVySFRNTD10LHRoaXN9LGUucHJvdG90eXBlLnZhbHVlcz1mdW5jdGlvbih0KXt2YXIgbixyPVtdLGk9dGhpcy5fcy5idXR0b25zO2lmKHQhPT12b2lkIDApe2ZvcihuPTA7bjxpLmxlbmd0aDtuKyspdC5pbmNsdWRlcyhpW25dLnZhbHVlKCkpJiZpW25dLmFjdGl2ZSghMCk7cmV0dXJuIHRoaXMuX3VwZGF0ZUNvdW50KCksdGhpc31mb3Iobj0wO248aS5sZW5ndGg7bisrKWlbbl0uYWN0aXZlKCkmJnIucHVzaChpW25dLnZhbHVlKCkpO3JldHVybiByfSxlLnByb3RvdHlwZS5fdXBkYXRlQ291bnQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnZhbHVlcygpLmxlbmd0aDt0aGlzLl9kb20uc2VsZWN0Tm9uZUNvdW50LmlubmVySFRNTD10PyIoIit0KyIpIjoiIn0sZS5wcm90b3R5cGUuX3JlZHJhdz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX3MuYnV0dG9ucyxuPXRoaXMuX2RvbS5idXR0b25zLHI9dGhpcy5fcy5zZWFyY2gudG9Mb3dlckNhc2UoKTtuLnJlcGxhY2VDaGlsZHJlbigpO2Zvcih2YXIgaT0wO2k8dC5sZW5ndGg7aSsrKXt2YXIgYT10W2ldOyghcnx8YS50ZXh0KCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhyKSkmJm4uYXBwZW5kQ2hpbGQoYS5lbGVtZW50KCkpfX0sZS5jbGFzc2VzPXtjb250YWluZXI6ImR0Y2MtbGlzdCIsaW5wdXQ6ImR0Y2MtbGlzdC1zZWFyY2gifSxlfSkoKSxxdT17ZGVmYXVsdHM6e2NsYXNzTmFtZToiY29sVmlzIixjb2x1bW5zOiIiLHNlYXJjaDohMSxzZWxlY3Q6ITEsdGl0bGU6IkNvbHVtbiB2aXNpYmlsaXR5In0saW5pdDpmdW5jdGlvbihlKXt2YXIgdD10aGlzLmR0KCksbj1uZXcgYmEodCx7c2VhcmNoOmUuc2VhcmNoLHNlbGVjdDplLnNlbGVjdH0pLnRpdGxlKHQuaTE4bigiY29sdW1uQ29udHJvbC5jb2xWaXMiLGUudGl0bGUpKS5oYW5kbGVyKGZ1bmN0aW9uKGEscyx1KXtzJiZzLmFjdGl2ZSghcy5hY3RpdmUoKSkscih1KX0pLHI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBzPTA7czxhLmxlbmd0aDtzKyspe3ZhciB1PWFbc10sZD11LnZhbHVlKCksbT10LmNvbHVtbihkKTt1LmFjdGl2ZSgpJiYhbS52aXNpYmxlKCk/bS52aXNpYmxlKCEwKTohdS5hY3RpdmUoKSYmbS52aXNpYmxlKCkmJm0udmlzaWJsZSghMSl9fSxpPWZ1bmN0aW9uKCl7dmFyIGE9dC5jb2x1bW5zKGUuY29sdW1ucyk7YS5ldmVyeShmdW5jdGlvbigpe24uYWRkKHthY3RpdmU6dGhpcy52aXNpYmxlKCksbGFiZWw6dGhpcy50aXRsZSgpLHZhbHVlOnRoaXMuaW5kZXgoKX0pfSl9O3JldHVybiBpKCksdC5vbigiY29sdW1uLXZpc2liaWxpdHkiLGZ1bmN0aW9uKGEscyx1LGQpe3ZhciBtPW4uYnV0dG9uKHUpO20mJm0uYWN0aXZlKGQpfSksdC5vbigiY29sdW1ucy1yZW9yZGVyZWQiLGZ1bmN0aW9uKGEscyl7bi5jbGVhcigpLGkoKX0pLG4uZWxlbWVudCgpfX0sR3U9e2RlZmF1bHRzOntjbGFzc05hbWU6ImNvbFZpcyIsY29sdW1uczoiIixzZWFyY2g6ITEsc2VsZWN0OiExLHRleHQ6IkNvbHVtbiB2aXNpYmlsaXR5Iix0aXRsZToiQ29sdW1uIHZpc2liaWxpdHkifSxleHRlbmQ6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5kdCgpO3JldHVybntleHRlbmQ6ImRyb3Bkb3duIixpY29uOiJjb2x1bW5zIix0ZXh0OnQuaTE4bigiY29sdW1uQ29udHJvbC5jb2xWaXNEcm9wZG93biIsZS50ZXh0KSxjb250ZW50OltPYmplY3QuYXNzaWduKGUse2V4dGVuZDoiY29sVmlzIn0pXX19fSwkdT17ZGVmYXVsdHM6e2NsYXNzTmFtZToicmVvcmRlciIsaWNvbjoibW92ZSIsdGV4dDoiUmVvcmRlciBjb2x1bW5zIn0saW5pdDpmdW5jdGlvbihlKXt2YXIgdD10aGlzLG49dGhpcy5kdCgpLHI9bmV3IE50KG4pLnRleHQobi5pMThuKCJjb2x1bW5Db250cm9sLnJlb3JkZXIiLGUudGV4dCkpLmljb24oZS5pY29uKS5jbGFzc05hbWUoZS5jbGFzc05hbWUpLmhhbmRsZXIoZnVuY3Rpb24oKXt2YXIgaT10LmlkeCgpO2k+MCYmbi5jb2xSZW9yZGVyLm1vdmUoaSxpLTEpfSk7cmV0dXJuIHRoaXMuaWR4KCk9PT0wJiZyLmVuYWJsZSghMSksbi5vbigiY29sdW1ucy1yZW9yZGVyZWQiLGZ1bmN0aW9uKGksYSl7ci5lbmFibGUodC5pZHgoKT4wKX0pLG4uaW5pdCgpLmNvbFJlb3JkZXJ8fG5ldyB0ZS5Db2xSZW9yZGVyKG4se30pLHIuZWxlbWVudCgpfX0sWHU9e2RlZmF1bHRzOntjbGFzc05hbWU6InJlb3JkZXJMZWZ0IixpY29uOiJtb3ZlTGVmdCIsdGV4dDoiTW92ZSBjb2x1bW4gbGVmdCJ9LGluaXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxuPXRoaXMuZHQoKSxyPW5ldyBOdChuKS50ZXh0KG4uaTE4bigiY29sdW1uQ29udHJvbC5yZW9yZGVyTGVmdCIsZS50ZXh0KSkuaWNvbihlLmljb24pLmNsYXNzTmFtZShlLmNsYXNzTmFtZSkuaGFuZGxlcihmdW5jdGlvbigpe3ZhciBpPXQuaWR4KCk7aT4wJiZuLmNvbFJlb3JkZXIubW92ZShpLGktMSl9KTtyZXR1cm4gdGhpcy5pZHgoKT09PTAmJnIuZW5hYmxlKCExKSxuLm9uKCJjb2x1bW5zLXJlb3JkZXJlZCIsZnVuY3Rpb24oaSxhKXtyLmVuYWJsZSh0LmlkeCgpPjApfSksci5lbGVtZW50KCl9fSxadT17ZGVmYXVsdHM6e2NsYXNzTmFtZToicmVvcmRlclJpZ2h0IixpY29uOiJtb3ZlUmlnaHQiLHRleHQ6Ik1vdmUgY29sdW1uIHJpZ2h0In0saW5pdDpmdW5jdGlvbihlKXt2YXIgdD10aGlzLG49dGhpcy5kdCgpLHI9bmV3IE50KG4pLnRleHQobi5pMThuKCJjb2x1bW5Db250cm9sLnJlb3JkZXJSaWdodCIsZS50ZXh0KSkuaWNvbihlLmljb24pLmNsYXNzTmFtZShlLmNsYXNzTmFtZSkuaGFuZGxlcihmdW5jdGlvbigpe3ZhciBpPXQuaWR4KCk7aTxuLmNvbHVtbnMoKS5jb3VudCgpLTEmJm4uY29sUmVvcmRlci5tb3ZlKGksaSsxKX0pO3JldHVybiB0aGlzLmlkeCgpPT09bi5jb2x1bW5zKCkuY291bnQoKS0xJiZyLmVuYWJsZSghMSksbi5vbigiY29sdW1ucy1yZW9yZGVyZWQiLGZ1bmN0aW9uKGksYSl7ci5lbmFibGUodC5pZHgoKTxuLmNvbHVtbnMoKS5jb3VudCgpLTEpfSksci5lbGVtZW50KCl9fSxZdT17ZGVmYXVsdHM6e2NsYXNzTmFtZToib3JkZXIiLGljb25Bc2M6Im9yZGVyQXNjIixpY29uRGVzYzoib3JkZXJEZXNjIixpY29uTm9uZToib3JkZXJOb25lIixzdGF0dXNPbmx5OiExLHRleHQ6IlRvZ2dsZSBvcmRlcmluZyJ9LGluaXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxuPXRoaXMuZHQoKSxyPW5ldyBOdChuKS50ZXh0KG4uaTE4bigiY29sdW1uQ29udHJvbC5vcmRlciIsZS50ZXh0KSkuaWNvbigib3JkZXJBc2MiKS5jbGFzc05hbWUoZS5jbGFzc05hbWUpO3JldHVybiBlLnN0YXR1c09ubHl8fG4ub3JkZXIubGlzdGVuZXIoci5lbGVtZW50KCksdGUudmVyc2lvbkNoZWNrKCIyLjMuMiIpP2Z1bmN0aW9uKCl7cmV0dXJuW3QuaWR4KCldfTp0aGlzLmlkeCgpLGZ1bmN0aW9uKCl7fSksbi5vbigib3JkZXIiLGZ1bmN0aW9uKGksYSxzKXt2YXIgdT1zLmZpbmQoZnVuY3Rpb24oZCl7cmV0dXJuIGQuY29sPT09dC5pZHgoKX0pO3U/dS5kaXI9PT0iYXNjIj9yLmFjdGl2ZSghMCkuaWNvbihlLmljb25Bc2MpOnUuZGlyPT09ImRlc2MiJiZyLmFjdGl2ZSghMCkuaWNvbihlLmljb25EZXNjKTpyLmFjdGl2ZSghMSkuaWNvbihlLmljb25Ob25lKX0pLHIuZWxlbWVudCgpfX0sS3U9e2RlZmF1bHRzOntjbGFzc05hbWU6Im9yZGVyQWRkQXNjIixpY29uOiJvcmRlckFkZEFzYyIsdGV4dDoiQWRkIFNvcnQgQXNjZW5kaW5nIn0saW5pdDpmdW5jdGlvbihlKXt2YXIgdD10aGlzLG49dGhpcy5kdCgpLHI9bmV3IE50KG4pLnRleHQobi5pMThuKCJjb2x1bW5Db250cm9sLm9yZGVyQWRkQXNjIixlLnRleHQpKS5pY29uKGUuaWNvbikuY2xhc3NOYW1lKGUuY2xhc3NOYW1lKS5oYW5kbGVyKGZ1bmN0aW9uKCl7dmFyIGk9bi5vcmRlcigpO2kucHVzaChbdC5pZHgoKSwiYXNjIl0pLG4uZHJhdygpfSk7cmV0dXJuIG4ub24oIm9yZGVyIixmdW5jdGlvbihpLGEscyl7dmFyIHU9cy5zb21lKGZ1bmN0aW9uKGQpe3JldHVybiBkLmNvbD09PXQuaWR4KCl9KTtyLmVuYWJsZSghdSl9KSxyLmVsZW1lbnQoKX19LEp1PXtkZWZhdWx0czp7Y2xhc3NOYW1lOiJvcmRlckFkZERlc2MiLGljb246Im9yZGVyQWRkRGVzYyIsdGV4dDoiQWRkIFNvcnQgRGVzY2VuZGluZyJ9LGluaXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxuPXRoaXMuZHQoKSxyPW5ldyBOdChuKS50ZXh0KG4uaTE4bigiY29sdW1uQ29udHJvbC5vcmRlckFkZERlc2MiLGUudGV4dCkpLmljb24oZS5pY29uKS5jbGFzc05hbWUoZS5jbGFzc05hbWUpLmhhbmRsZXIoZnVuY3Rpb24oKXt2YXIgaT1uLm9yZGVyKCk7aS5wdXNoKFt0LmlkeCgpLCJkZXNjIl0pLG4uZHJhdygpfSk7cmV0dXJuIG4ub24oIm9yZGVyIixmdW5jdGlvbihpLGEscyl7dmFyIHU9cy5zb21lKGZ1bmN0aW9uKGQpe3JldHVybiBkLmNvbD09PXQuaWR4KCl9KTtyLmVuYWJsZSghdSl9KSxyLmVsZW1lbnQoKX19LFF1PXtkZWZhdWx0czp7Y2xhc3NOYW1lOiJvcmRlckFzYyIsaWNvbjoib3JkZXJBc2MiLHRleHQ6IlNvcnQgQXNjZW5kaW5nIn0saW5pdDpmdW5jdGlvbihlKXt2YXIgdD10aGlzLG49dGhpcy5kdCgpLHI9bmV3IE50KG4pLnRleHQobi5pMThuKCJjb2x1bW5Db250cm9sLm9yZGVyQXNjIixlLnRleHQpKS5pY29uKGUuaWNvbikuY2xhc3NOYW1lKGUuY2xhc3NOYW1lKS5oYW5kbGVyKGZ1bmN0aW9uKCl7dC5kdCgpLm9yZGVyKFt7aWR4OnQuaWR4KCksZGlyOiJhc2MifV0pLmRyYXcoKX0pO3JldHVybiBuLm9uKCJvcmRlciIsZnVuY3Rpb24oaSxhLHMpe3ZhciB1PXMuc29tZShmdW5jdGlvbihkKXtyZXR1cm4gZC5jb2w9PT10LmlkeCgpJiZkLmRpcj09PSJhc2MifSk7ci5hY3RpdmUodSl9KSxyLmVsZW1lbnQoKX19LGVjPXtkZWZhdWx0czp7Y2xhc3NOYW1lOiJvcmRlckNsZWFyIixpY29uOiJvcmRlckNsZWFyIix0ZXh0OiJDbGVhciBzb3J0In0saW5pdDpmdW5jdGlvbihlKXt2YXIgdD10aGlzLmR0KCksbj1uZXcgTnQodCkudGV4dCh0LmkxOG4oImNvbHVtbkNvbnRyb2wub3JkZXJDbGVhciIsZS50ZXh0KSkuaWNvbihlLmljb24pLmNsYXNzTmFtZShlLmNsYXNzTmFtZSkuaGFuZGxlcihmdW5jdGlvbigpe3Qub3JkZXIoW10pLmRyYXcoKX0pO3JldHVybiB0Lm9uKCJvcmRlciIsZnVuY3Rpb24ocixpLGEpe24uZW5hYmxlKGEubGVuZ3RoPjApfSksdC5vcmRlcigpLmxlbmd0aD09PTAmJm4uZW5hYmxlKCExKSxuLmVsZW1lbnQoKX19LHRjPXtkZWZhdWx0czp7Y2xhc3NOYW1lOiJvcmRlckRlc2MiLGljb246Im9yZGVyRGVzYyIsdGV4dDoiU29ydCBEZXNjZW5kaW5nIn0saW5pdDpmdW5jdGlvbihlKXt2YXIgdD10aGlzLG49dGhpcy5kdCgpLHI9bmV3IE50KG4pLnRleHQobi5pMThuKCJjb2x1bW5Db250cm9sLm9yZGVyRGVzYyIsZS50ZXh0KSkuaWNvbihlLmljb24pLmNsYXNzTmFtZShlLmNsYXNzTmFtZSkuaGFuZGxlcihmdW5jdGlvbigpe3QuZHQoKS5vcmRlcihbe2lkeDp0LmlkeCgpLGRpcjoiZGVzYyJ9XSkuZHJhdygpfSk7cmV0dXJuIG4ub24oIm9yZGVyIixmdW5jdGlvbihpLGEscyl7dmFyIHU9cy5zb21lKGZ1bmN0aW9uKGQpe3JldHVybiBkLmNvbD09PXQuaWR4KCkmJmQuZGlyPT09ImRlc2MifSk7ci5hY3RpdmUodSl9KSxyLmVsZW1lbnQoKX19LG5jPXtkZWZhdWx0czp7Y2xhc3NOYW1lOiJvcmRlclJlbW92ZSIsaWNvbjoib3JkZXJSZW1vdmUiLHRleHQ6IlJlbW92ZSBmcm9tIHNvcnQifSxpbml0OmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMsbj10aGlzLmR0KCkscj1uZXcgTnQobikudGV4dChuLmkxOG4oImNvbHVtbkNvbnRyb2wub3JkZXJSZW1vdmUiLGUudGV4dCkpLmljb24oZS5pY29uKS5jbGFzc05hbWUoZS5jbGFzc05hbWUpLmhhbmRsZXIoZnVuY3Rpb24oKXt2YXIgaT1uLm9yZGVyKCksYT1pLmZpbmRJbmRleChmdW5jdGlvbihzKXtyZXR1cm4gc1swXT09PXQuaWR4KCl9KTtpLnNwbGljZShhLDEpLG4ub3JkZXIoaSkuZHJhdygpfSk7cmV0dXJuIG4ub24oIm9yZGVyIixmdW5jdGlvbihpLGEscyl7dmFyIHU9cy5zb21lKGZ1bmN0aW9uKGQpe3JldHVybiBkLmNvbD09PXQuaWR4KCl9KTtyLmVuYWJsZSh1KX0pLHIuZW5hYmxlKCExKSxyLmVsZW1lbnQoKX19LHJjPXtkZWZhdWx0czp7Y2xhc3NOYW1lOiJvcmRlciIsaWNvbkFzYzoib3JkZXJBc2MiLGljb25EZXNjOiJvcmRlckRlc2MiLGljb25Ob25lOiJvcmRlck5vbmUiLHN0YXR1c09ubHk6ITAsdGV4dDoiU29ydCBzdGF0dXMifSxleHRlbmQ6ZnVuY3Rpb24oZSl7cmV0dXJuIE9iamVjdC5hc3NpZ24oZSx7ZXh0ZW5kOiJvcmRlciJ9KX19LHNpPShmdW5jdGlvbigpe2Z1bmN0aW9uIGUodCxuKXt2YXIgcj10aGlzO3RoaXMuX3R5cGU9InRleHQiLHRoaXMuX2R0PXQsdGhpcy5faWR4PW4sdGhpcy5fZG9tPXtjbGVhcjpydCgic3BhbiIsImR0Y2Mtc2VhcmNoLWNsZWFyIixsbi54KSxjb250YWluZXI6cnQoImRpdiIsZS5jbGFzc2VzLmNvbnRhaW5lciksdHlwZUljb246cnQoImRpdiIsImR0Y2Mtc2VhcmNoLXR5cGUtaWNvbiIpLHNlYXJjaEljb246cnQoImRpdiIsImR0Y2Mtc2VhcmNoLWljb24iLGxuLnNlYXJjaCksaW5wdXQ6cnQoImlucHV0IixlLmNsYXNzZXMuaW5wdXQpLGlucHV0czpydCgiZGl2Iiksc2VsZWN0OnJ0KCJzZWxlY3QiLGUuY2xhc3Nlcy5zZWxlY3QpLHRpdGxlOnJ0KCJkaXYiLCJkdGNjLXNlYXJjaC10aXRsZSIpfTt2YXIgaT10aGlzLl9kb20sYT1uO2kuaW5wdXQuc2V0QXR0cmlidXRlKCJ0eXBlIiwidGV4dCIpLGkuY29udGFpbmVyLmFwcGVuZChpLnRpdGxlLGkuaW5wdXRzKSxpLmlucHV0cy5hcHBlbmQoaS50eXBlSWNvbixpLnNlbGVjdCxpLnNlYXJjaEljb24saS5jbGVhcixpLmlucHV0KTt2YXIgcz1mdW5jdGlvbigpe3IucnVuU2VhcmNoKCl9LHU9ZnVuY3Rpb24oKXtpLnR5cGVJY29uLmlubmVySFRNTD1sbltpLnNlbGVjdC52YWx1ZV0sci5ydW5TZWFyY2goKX0sZD1mdW5jdGlvbigpe3IuY2xlYXIoKX07aS5pbnB1dC5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIscyksaS5zZWxlY3QuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLHUpLGkuY2xlYXIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGQpLHQub24oImRlc3Ryb3kiLGZ1bmN0aW9uKCl7aS5pbnB1dC5yZW1vdmVFdmVudExpc3RlbmVyKCJpbnB1dCIscyksaS5zZWxlY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaW5wdXQiLHUpLGkuY2xlYXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLGQpfSksdC5vbigic3RhdGVTYXZlUGFyYW1zIixmdW5jdGlvbihtLHYsZyl7Zy5jb2x1bW5Db250cm9sfHwoZy5jb2x1bW5Db250cm9sPXt9KSxnLmNvbHVtbkNvbnRyb2xbbl18fChnLmNvbHVtbkNvbnRyb2xbbl09e30pLGcuY29sdW1uQ29udHJvbFtuXS5zZWFyY2hJbnB1dD17bG9naWM6aS5zZWxlY3QudmFsdWUsdHlwZTpyLl90eXBlLHZhbHVlOmkuaW5wdXQudmFsdWV9fSksdC5vbigic3RhdGVMb2FkZWQiLGZ1bmN0aW9uKG0sdixnKXtyLl9zdGF0ZUxvYWQoZyl9KSx0Lm9uKCJjb2x1bW5zLXJlb3JkZXJlZCIsZnVuY3Rpb24obSx2KXtyLl9pZHg9dC5jb2xSZW9yZGVyLnRyYW5zcG9zZShhLCJmcm9tT3JpZ2luYWwiKX0pLHQub24oImNjLXNlYXJjaC1jbGVhciIsZnVuY3Rpb24obSx2KXt2PT09ci5faWR4JiYoci5fbG9hZGluZ1N0YXRlPSEwLHIuY2xlYXIoKSxyLl9sb2FkaW5nU3RhdGU9ITEpfSl9cmV0dXJuIGUucHJvdG90eXBlLmFkZENsYXNzPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9kb20uY29udGFpbmVyLmNsYXNzTGlzdC5hZGQodCksdGhpc30sZS5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zZXQodGhpcy5fZG9tLnNlbGVjdC5jaGlsZHJlblswXS5nZXRBdHRyaWJ1dGUoInZhbHVlIiksIiIpLHRoaXN9LGUucHJvdG90eXBlLmNsZWFyYWJsZT1mdW5jdGlvbih0KXtyZXR1cm4gdHx8dGhpcy5fZG9tLmNsZWFyLnJlbW92ZSgpLHRoaXN9LGUucHJvdG90eXBlLmVsZW1lbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZG9tLmNvbnRhaW5lcn0sZS5wcm90b3R5cGUuaW5wdXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZG9tLmlucHV0fSxlLnByb3RvdHlwZS5vcHRpb25zPWZ1bmN0aW9uKHQpe2Zvcih2YXIgbj10aGlzLl9kb20uc2VsZWN0LHI9MDtyPHQubGVuZ3RoO3IrKyluLmFkZChuZXcgT3B0aW9uKHRbcl0ubGFiZWwsdFtyXS52YWx1ZSkpO3JldHVybiB0aGlzLl9kb20udHlwZUljb24uaW5uZXJIVE1MPWxuW3RbMF0udmFsdWVdLHRoaXN9LGUucHJvdG90eXBlLnBsYWNlaG9sZGVyPWZ1bmN0aW9uKHQpe2lmKHQpe3ZhciBuPXRoaXMuX2R0LmNvbHVtbih0aGlzLl9pZHgpLnRpdGxlKCk7dGhpcy5fZG9tLmlucHV0LnBsYWNlaG9sZGVyPXQucmVwbGFjZSgiW3RpdGxlXSIsbil9cmV0dXJuIHRoaXN9LGUucHJvdG90eXBlLnJ1blNlYXJjaD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX2RvbSxuPXQuc2VsZWN0LnZhbHVlPT09ImVtcHR5Inx8dC5zZWxlY3QudmFsdWU9PT0ibm90RW1wdHkifHx0LmlucHV0LnZhbHVlIT09IiI7dC5jb250YWluZXIuY2xhc3NMaXN0LnRvZ2dsZSgiZHRjYy1zZWFyY2hfYWN0aXZlIixuKSx0aGlzLl9zZWFyY2gmJih0aGlzLl9sYXN0VmFsdWUhPT10LmlucHV0LnZhbHVlfHx0aGlzLl9sYXN0VHlwZSE9PXQuc2VsZWN0LnZhbHVlKSYmKHRoaXMuX3NlYXJjaCh0LnNlbGVjdC52YWx1ZSx0LmlucHV0LnZhbHVlLHRoaXMuX2xvYWRpbmdTdGF0ZSksdGhpcy5fbGFzdFZhbHVlPXQuaW5wdXQudmFsdWUsdGhpcy5fbGFzdFR5cGU9dC5zZWxlY3QudmFsdWUpfSxlLnByb3RvdHlwZS5zZWFyY2g9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3NlYXJjaD10LHRoaXMuX3N0YXRlTG9hZCh0aGlzLl9kdC5zdGF0ZS5sb2FkZWQoKSksdGhpc30sZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQsbil7dmFyIHI9dGhpcy5fZG9tO3JldHVybiByLmlucHV0LnZhbHVlPW4sci5zZWxlY3QudmFsdWU9dCxyLnR5cGVJY29uLmlubmVySFRNTD1sbltyLnNlbGVjdC52YWx1ZV0sdGhpcy5ydW5TZWFyY2goKSx0aGlzfSxlLnByb3RvdHlwZS50aXRsZT1mdW5jdGlvbih0KXtpZih0KXt2YXIgbj10aGlzLl9kdC5jb2x1bW4odGhpcy5faWR4KS50aXRsZSgpO3RoaXMuX2RvbS50aXRsZS5pbm5lckhUTUw9dC5yZXBsYWNlKCJbdGl0bGVdIixuKX1yZXR1cm4gdGhpc30sZS5wcm90b3R5cGUudGl0bGVBdHRyPWZ1bmN0aW9uKHQpe2lmKHQpe3ZhciBuPXRoaXMuX2R0LmNvbHVtbih0aGlzLl9pZHgpLnRpdGxlKCk7dGhpcy5fZG9tLmlucHV0LnRpdGxlPXQucmVwbGFjZSgiW3RpdGxlXSIsbil9cmV0dXJuIHRoaXN9LGUucHJvdG90eXBlLnR5cGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3R5cGU9dCx0aGlzfSxlLnByb3RvdHlwZS5fc3RhdGVMb2FkPWZ1bmN0aW9uKHQpe3ZhciBuLHIsaT10aGlzLl9kb20sYT10aGlzLl9pZHgscz0ocj0obj10Py5jb2x1bW5Db250cm9sKT09PW51bGx8fG49PT12b2lkIDA/dm9pZCAwOm5bYV0pPT09bnVsbHx8cj09PXZvaWQgMD92b2lkIDA6ci5zZWFyY2hJbnB1dDtzJiYodGhpcy5fbG9hZGluZ1N0YXRlPSEwLGkuc2VsZWN0LnZhbHVlPXMubG9naWMsaS5pbnB1dC52YWx1ZT1zLnZhbHVlLGkuc2VsZWN0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbnB1dCIpKSx0aGlzLl9sb2FkaW5nU3RhdGU9ITEpfSxlLmNsYXNzZXM9e2NvbnRhaW5lcjpbImR0Y2MtY29udGVudCIsImR0Y2Mtc2VhcmNoIl0saW5wdXQ6IiIsc2VsZWN0OiIifSxlfSkoKSxwYT17ZGVmYXVsdHM6e2NsZWFyOiEwLHBsYWNlaG9sZGVyOiIiLHRpdGxlOiIiLHRpdGxlQXR0cjoiIn0saW5pdDpmdW5jdGlvbihlKXt2YXIgdD10aGlzLG49ITEscj10ZS51c2UoIm1vbWVudCIpLGk9dGUudXNlKCJsdXhvbiIpLGE9dGhpcy5kdCgpLHM9ImNvbHVtbkNvbnRyb2wuc2VhcmNoLmRhdGV0aW1lLiIsdT0iIixkLG09bmV3IHNpKGEsdGhpcy5pZHgoKSkudHlwZSgiZGF0ZSIpLmFkZENsYXNzKCJkdGNjLXNlYXJjaERhdGVUaW1lIikuY2xlYXJhYmxlKGUuY2xlYXIpLnBsYWNlaG9sZGVyKGUucGxhY2Vob2xkZXIpLnRpdGxlKGUudGl0bGUpLnRpdGxlQXR0cihlLnRpdGxlQXR0cikub3B0aW9ucyhbe2xhYmVsOmEuaTE4bihzKyJlcXVhbCIsIkVxdWFscyIpLHZhbHVlOiJlcXVhbCJ9LHtsYWJlbDphLmkxOG4ocysibm90RXF1YWwiLCJEb2VzIG5vdCBlcXVhbCIpLHZhbHVlOiJub3RFcXVhbCJ9LHtsYWJlbDphLmkxOG4ocysiZ3JlYXRlciIsIkFmdGVyIiksdmFsdWU6ImdyZWF0ZXIifSx7bGFiZWw6YS5pMThuKHMrImxlc3MiLCJCZWZvcmUiKSx2YWx1ZToibGVzcyJ9LHtsYWJlbDphLmkxOG4ocysiZW1wdHkiLCJFbXB0eSIpLHZhbHVlOiJlbXB0eSJ9LHtsYWJlbDphLmkxOG4ocysibm90RW1wdHkiLCJOb3QgZW1wdHkiKSx2YWx1ZToibm90RW1wdHkifV0pLnNlYXJjaChmdW5jdGlvbih2LGcsdyl7dmFyIGI9YS5jb2x1bW4odC5pZHgoKSksVD1nPT09IiI/IiI6YnIoZCYmbj9kLnZhbCgpOmcudHJpbSgpLHUscixpKTtpZih2PT09ImVtcHR5IiliLnNlYXJjaC5maXhlZCgiZHRjYyIsZnVuY3Rpb24oRCl7cmV0dXJuIUR9KTtlbHNlIGlmKHY9PT0ibm90RW1wdHkiKWIuc2VhcmNoLmZpeGVkKCJkdGNjIixmdW5jdGlvbihEKXtyZXR1cm4hIUR9KTtlbHNle2lmKGIuc2VhcmNoLmZpeGVkKCJkdGNjIik9PT0iIiYmVD09PSIiKXJldHVybjtUP3Y9PT0iZXF1YWwiP2Iuc2VhcmNoLmZpeGVkKCJkdGNjIixmdW5jdGlvbihEKXtyZXR1cm4gYnIoRCx1LHIsaSk9PVR9KTp2PT09Im5vdEVxdWFsIj9iLnNlYXJjaC5maXhlZCgiZHRjYyIsZnVuY3Rpb24oRCl7cmV0dXJuIGJyKEQsdSxyLGkpIT1UfSk6dj09PSJncmVhdGVyIj9iLnNlYXJjaC5maXhlZCgiZHRjYyIsZnVuY3Rpb24oRCl7cmV0dXJuIGJyKEQsdSxyLGkpPlR9KTp2PT09Imxlc3MiJiZiLnNlYXJjaC5maXhlZCgiZHRjYyIsZnVuY3Rpb24oRCl7cmV0dXJuIGJyKEQsdSxyLGkpPFR9KTpiLnNlYXJjaC5maXhlZCgiZHRjYyIsIiIpfWUuX3BhcmVudHMmJmUuX3BhcmVudHMuZm9yRWFjaChmdW5jdGlvbihEKXtyZXR1cm4gRC5hY3RpdmVMaXN0KHQudW5pcXVlKCksISFiLnNlYXJjaC5maXhlZCgiZHRjYyIpKX0pLHd8fGIuZHJhdygpfSk7cmV0dXJuIGEucmVhZHkoZnVuY3Rpb24oKXt2YXIgdj10ZS51c2UoImRhdGV0aW1lIik7dT1pYyhhLHQuaWR4KCkpLHYmJihkPW5ldyB2KG0uaW5wdXQoKSx7Zm9ybWF0OnUsaTE4bjphLnNldHRpbmdzKClbMF0ub0xhbmd1YWdlLmRhdGV0aW1lLG9uQ2hhbmdlOmZ1bmN0aW9uKCl7bj0hMCxtLnJ1blNlYXJjaCgpLG49ITF9fSkpfSksbS5lbGVtZW50KCl9fTtmdW5jdGlvbiBpYyhlLHQpe3ZhciBuPWUuY29sdW1uKHQpLnR5cGUoKTtpZihuKWlmKG49PT0iZGF0ZXRpbWUiKXt2YXIgcj10ZS51c2UoIm1vbWVudCIpLGk9dGUudXNlKCJsdXhvbiIpO2lmKHIpcmV0dXJuIHIoKS5jcmVhdGlvbkRhdGEoKS5sb2NhbGUuX2xvbmdEYXRlRm9ybWF0Lkw7aWYoaSlyZXR1cm4gaS5EYXRlVGltZS5mcm9tSVNPKCIxOTk5LTA4LTA3IikudG9Mb2NhbGVTdHJpbmcoKS5yZXBsYWNlKCIwNyIsImRkIikucmVwbGFjZSgiNyIsImQiKS5yZXBsYWNlKCIwOCIsIk1NIikucmVwbGFjZSgiOCIsIk0iKS5yZXBsYWNlKCIxOTk5IiwieXl5eSIpLnJlcGxhY2UoIjk5IiwieXkiKX1lbHNle2lmKG4uaW5jbHVkZXMoImRhdGV0aW1lLSIpKXJldHVybiBuLnJlcGxhY2UoL2RhdGV0aW1lLS9nLCIiKTtpZihuLmluY2x1ZGVzKCJtb21lbnQiKSlyZXR1cm4gbi5yZXBsYWNlKC9tb21lbnQtL2csIiIpO2lmKG4uaW5jbHVkZXMoImx1eG9uIikpcmV0dXJuIG4ucmVwbGFjZSgvbHV4b24tL2csIiIpfWVsc2UgcmV0dXJuIllZWVktTU0tREQiO3JldHVybiJZWVlZLU1NLUREIn1mdW5jdGlvbiBicihlLHQsbixyKXtyZXR1cm4gZT09PSIiPyIiOmUgaW5zdGFuY2VvZiBEYXRlP2UuZ2V0VGltZSgpOnQhPT0iWVlZWS1NTS1ERCImJihufHxyKT9uP24oZSx0KS51bml4KCkqMWUzOnIuRGF0ZVRpbWUuZnJvbUZvcm1hdChlLHQpLnRvTWlsbGlzKCk6bmV3IERhdGUoZSkuZ2V0VGltZSgpfWZ1bmN0aW9uIElvKGUsdCl7dmFyIG49ZS52YWx1ZXMoKTtlLmNsZWFyKCk7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspdHlwZW9mIHRbcl09PSJvYmplY3QiP2UuYWRkKHthY3RpdmU6ITEsbGFiZWw6dFtyXS5sYWJlbCx2YWx1ZTp0W3JdLnZhbHVlfSxyPT09dC5sZW5ndGgtMSk6ZS5hZGQoe2FjdGl2ZTohMSxsYWJlbDp0W3JdLHZhbHVlOnRbcl19LHI9PT10Lmxlbmd0aC0xKTtuLmxlbmd0aCYmZS52YWx1ZXMobil9ZnVuY3Rpb24gd28oZSx0KXt2YXIgbixyLGk9KHI9KG49dD8uY29sdW1uQ29udHJvbCk9PT1udWxsfHxuPT09dm9pZCAwP3ZvaWQgMDpuW2VdKT09PW51bGx8fHI9PT12b2lkIDA/dm9pZCAwOnIuc2VhcmNoTGlzdDtpZihpKXJldHVybiBpfWZ1bmN0aW9uIE5vKGUsdCl7dmFyIG4scj0obj1lLmFqYXguanNvbigpKT09PW51bGx8fG49PT12b2lkIDA/dm9pZCAwOm4uY29sdW1uQ29udHJvbCxpPWUuY29sdW1uKHQpLGE9aS5uYW1lKCkscz1pLmRhdGFTcmMoKTtyZXR1cm4gciYmclthXT9yW2FdOnImJnR5cGVvZiBzPT0ic3RyaW5nIiYmcltzXT9yW3NdOnImJnJbdF0/clt0XTpudWxsfWZ1bmN0aW9uIHhvKGUsdCxuLHIsaSl7dmFyIGEscz0oYT1lLmFqYXguanNvbigpKT09PW51bGx8fGE9PT12b2lkIDA/dm9pZCAwOmEuY29sdW1uQ29udHJvbCx1PVtdLGQ9Tm8oZSxuKTtpZihkKXU9ZDtlbHNlIGlmKHMmJnQuYWpheE9ubHkpe3QuaGlkYWJsZSYmKHIuZWxlbWVudCgpLnN0eWxlLmRpc3BsYXk9Im5vbmUiLHQuX3BhcmVudHMmJnQuX3BhcmVudHMuZm9yRWFjaChmdW5jdGlvbihEKXtyZXR1cm4gRC5jaGVja0Rpc3BsYXkoKX0pKTtyZXR1cm59ZWxzZSBmb3IodmFyIG09e30sdj1lLnJvd3Moe29yZGVyOm59KS5pbmRleGVzKCkudG9BcnJheSgpLGc9ZS5zZXR0aW5ncygpWzBdLHc9MDt3PHYubGVuZ3RoO3crKyl7dmFyIGI9Zy5mYXN0RGF0YSh2W3ddLG4sImZpbHRlciIpLFQ9YiE9bnVsbD9iLnRvU3RyaW5nKCk6IiI7bVtUXXx8KG1bVF09ITAsdS5wdXNoKHtsYWJlbDpnLmZhc3REYXRhKHZbd10sbix0Lm9ydGhvZ29uYWwpLHZhbHVlOlR9KSl9SW8ocix1KSxpJiZyLnZhbHVlcyhpKX12YXIgbWE9e2RlZmF1bHRzOnthamF4T25seTohMCxjbGFzc05hbWU6InNlYXJjaExpc3QiLGhpZGFibGU6ITAsb3B0aW9uczpudWxsLG9ydGhvZ29uYWw6ImRpc3BsYXkiLHNlYXJjaDohMCxzZWxlY3Q6ITAsdGl0bGU6IiJ9LGluaXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxuPW51bGwscj10aGlzLmR0KCksaT1mdW5jdGlvbihzKXt2YXIgdT1yLmNvbHVtbih0LmlkeCgpKTtpZihzKXMubGVuZ3RoPT09MD91LnNlYXJjaC5maXhlZCgiZHRjYy1saXN0IiwiIik6dS5zZWFyY2guZml4ZWQoImR0Y2MtbGlzdCIsZnVuY3Rpb24oZCl7cmV0dXJuIHMuaW5jbHVkZXMoZCl9KTtlbHNlIHJldHVybjtlLl9wYXJlbnRzJiZlLl9wYXJlbnRzLmZvckVhY2goZnVuY3Rpb24oZCl7cmV0dXJuIGQuYWN0aXZlTGlzdCh0LnVuaXF1ZSgpLCEhcy5sZW5ndGgpfSl9LGE9bmV3IGJhKHIse3NlYXJjaDplLnNlYXJjaCxzZWxlY3Q6ZS5zZWxlY3R9KS5zZWFyY2hMaXN0ZW5lcihyLHRoaXMpLnRpdGxlKHIuaTE4bigiY29sdW1uQ29udHJvbC5zZWFyY2hMaXN0IixlLnRpdGxlKS5yZXBsYWNlKCJbdGl0bGVdIixyLmNvbHVtbih0aGlzLmlkeCgpKS50aXRsZSgpKSkuaGFuZGxlcihmdW5jdGlvbihzLHUsZCxtKXt1JiZ1LmFjdGl2ZSghdS5hY3RpdmUoKSksaShhLnZhbHVlcygpKSxtJiZyLmRyYXcoKX0pO3JldHVybiBlLm9wdGlvbnM/SW8oYSxlLm9wdGlvbnMpOnIucmVhZHkoZnVuY3Rpb24oKXt4byhyLGUsdC5pZHgoKSxhLG4pfSksci5vbigieGhyIixmdW5jdGlvbihzLHUsZCl7ci5vbmUoImRyYXciLGZ1bmN0aW9uKCl7eG8ocixlLHQuaWR4KCksYSxuKX0pfSksci5vbigic3RhdGVMb2FkZWQiLGZ1bmN0aW9uKHMsdSxkKXt2YXIgbT13byh0LmlkeCgpLGQpO20mJmEudmFsdWVzKG0pfSksci5vbigic3RhdGVTYXZlUGFyYW1zIixmdW5jdGlvbihzLHUsZCl7dmFyIG09dC5pZHgoKTtkLmNvbHVtbkNvbnRyb2x8fChkLmNvbHVtbkNvbnRyb2w9e30pLGQuY29sdW1uQ29udHJvbFttXXx8KGQuY29sdW1uQ29udHJvbFttXT17fSksZC5jb2x1bW5Db250cm9sW21dLnNlYXJjaExpc3Q9ci5yZWFkeSgpP2EudmFsdWVzKCk6bn0pLG49d28odGhpcy5pZHgoKSxyLnN0YXRlLmxvYWRlZCgpKSxpKG4pLGEuZWxlbWVudCgpfX0sdmE9e2RlZmF1bHRzOntjbGVhcjohMCxwbGFjZWhvbGRlcjoiIix0aXRsZToiIix0aXRsZUF0dHI6IiJ9LGluaXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxuPXRoaXMuZHQoKSxyPSJjb2x1bW5Db250cm9sLnNlYXJjaC5udW1iZXIuIixpPW5ldyBzaShuLHRoaXMuaWR4KCkpLnR5cGUoIm51bSIpLmFkZENsYXNzKCJkdGNjLXNlYXJjaE51bWJlciIpLmNsZWFyYWJsZShlLmNsZWFyKS5wbGFjZWhvbGRlcihlLnBsYWNlaG9sZGVyKS50aXRsZShlLnRpdGxlKS50aXRsZUF0dHIoZS50aXRsZUF0dHIpLm9wdGlvbnMoW3tsYWJlbDpuLmkxOG4ocisiZXF1YWwiLCJFcXVhbHMiKSx2YWx1ZToiZXF1YWwifSx7bGFiZWw6bi5pMThuKHIrIm5vdEVxdWFsIiwiRG9lcyBub3QgZXF1YWwiKSx2YWx1ZToibm90RXF1YWwifSx7bGFiZWw6bi5pMThuKHIrImdyZWF0ZXIiLCJHcmVhdGVyIHRoYW4iKSx2YWx1ZToiZ3JlYXRlciJ9LHtsYWJlbDpuLmkxOG4ocisiZ3JlYXRlck9yRXF1YWwiLCJHcmVhdGVyIG9yIGVxdWFsIiksdmFsdWU6ImdyZWF0ZXJPckVxdWFsIn0se2xhYmVsOm4uaTE4bihyKyJsZXNzIiwiTGVzcyB0aGFuIiksdmFsdWU6Imxlc3MifSx7bGFiZWw6bi5pMThuKHIrImxlc3NPckVxdWFsIiwiTGVzcyBvciBlcXVhbCIpLHZhbHVlOiJsZXNzT3JFcXVhbCJ9LHtsYWJlbDpuLmkxOG4ocisiZW1wdHkiLCJFbXB0eSIpLHZhbHVlOiJlbXB0eSJ9LHtsYWJlbDpuLmkxOG4ocisibm90RW1wdHkiLCJOb3QgZW1wdHkiKSx2YWx1ZToibm90RW1wdHkifV0pLnNlYXJjaChmdW5jdGlvbihhLHMsdSl7dmFyIGQ9bi5jb2x1bW4odC5pZHgoKSk7aWYoYT09PSJlbXB0eSIpZC5zZWFyY2guZml4ZWQoImR0Y2MiLGZ1bmN0aW9uKG0pe3JldHVybiFtfSk7ZWxzZSBpZihhPT09Im5vdEVtcHR5IilkLnNlYXJjaC5maXhlZCgiZHRjYyIsZnVuY3Rpb24obSl7cmV0dXJuISFtfSk7ZWxzZXtpZihkLnNlYXJjaC5maXhlZCgiZHRjYyIpPT09IiImJnM9PT0iIilyZXR1cm47cz09PSIiP2Quc2VhcmNoLmZpeGVkKCJkdGNjIiwiIik6YT09PSJlcXVhbCI/ZC5zZWFyY2guZml4ZWQoImR0Y2MiLGZ1bmN0aW9uKG0pe3JldHVybiBYbihtKT09c30pOmE9PT0ibm90RXF1YWwiP2Quc2VhcmNoLmZpeGVkKCJkdGNjIixmdW5jdGlvbihtKXtyZXR1cm4gWG4obSkhPXN9KTphPT09ImdyZWF0ZXIiP2Quc2VhcmNoLmZpeGVkKCJkdGNjIixmdW5jdGlvbihtKXtyZXR1cm4gWG4obSk+c30pOmE9PT0iZ3JlYXRlck9yRXF1YWwiP2Quc2VhcmNoLmZpeGVkKCJkdGNjIixmdW5jdGlvbihtKXtyZXR1cm4gWG4obSk+PXN9KTphPT09Imxlc3MiP2Quc2VhcmNoLmZpeGVkKCJkdGNjIixmdW5jdGlvbihtKXtyZXR1cm4gWG4obSk8c30pOmE9PT0ibGVzc09yRXF1YWwiJiZkLnNlYXJjaC5maXhlZCgiZHRjYyIsZnVuY3Rpb24obSl7cmV0dXJuIFhuKG0pPD1zfSl9ZS5fcGFyZW50cyYmZS5fcGFyZW50cy5mb3JFYWNoKGZ1bmN0aW9uKG0pe3JldHVybiBtLmFjdGl2ZUxpc3QodC51bmlxdWUoKSwhIWQuc2VhcmNoLmZpeGVkKCJkdGNjIikpfSksdXx8ZC5kcmF3KCl9KTtyZXR1cm4gaS5pbnB1dCgpLnNldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwibnVtZXJpYyIpLGkuaW5wdXQoKS5zZXRBdHRyaWJ1dGUoInBhdHRlcm4iLCJbMC05XSoiKSxpLmVsZW1lbnQoKX19LGFjPS88KFtePl0qPikvZyxzYz0vWydcdTAwQTAsJMKj4oKswqUlXHUyMDA5XHUyMDJGXHUyMEJEXHUyMGE5XHUyMEJBcmZryYPOnl0vZ2k7ZnVuY3Rpb24gWG4oZSl7aWYoZSE9PTAmJighZXx8ZT09PSItIikpcmV0dXJuLTEvMDt2YXIgdD10eXBlb2YgZTtyZXR1cm4gdD09PSJudW1iZXIifHx0PT09ImJpZ2ludCI/ZTooZS5yZXBsYWNlJiYoZT1lLnJlcGxhY2UoYWMsIiIpLnJlcGxhY2Uoc2MsIiIpKSxlKjEpfXZhciBnYT17ZGVmYXVsdHM6e2NsZWFyOiEwLHBsYWNlaG9sZGVyOiIiLHRpdGxlOiIiLHRpdGxlQXR0cjoiIn0saW5pdDpmdW5jdGlvbihlKXt2YXIgdD10aGlzLG49dGhpcy5kdCgpLHI9ImNvbHVtbkNvbnRyb2wuc2VhcmNoLnRleHQuIixpPW5ldyBzaShuLHRoaXMuaWR4KCkpLmFkZENsYXNzKCJkdGNjLXNlYXJjaFRleHQiKS5jbGVhcmFibGUoZS5jbGVhcikucGxhY2Vob2xkZXIoZS5wbGFjZWhvbGRlcikudGl0bGUoZS50aXRsZSkudGl0bGVBdHRyKGUudGl0bGVBdHRyKS5vcHRpb25zKFt7bGFiZWw6bi5pMThuKHIrImNvbnRhaW5zIiwiQ29udGFpbnMiKSx2YWx1ZToiY29udGFpbnMifSx7bGFiZWw6bi5pMThuKHIrIm5vdENvbnRhaW5zIiwiRG9lcyBub3QgY29udGFpbiIpLHZhbHVlOiJub3RDb250YWlucyJ9LHtsYWJlbDpuLmkxOG4ocisiZXF1YWwiLCJFcXVhbHMiKSx2YWx1ZToiZXF1YWwifSx7bGFiZWw6bi5pMThuKHIrIm5vdEVxdWFsIiwiRG9lcyBub3QgZXF1YWwiKSx2YWx1ZToibm90RXF1YWwifSx7bGFiZWw6bi5pMThuKHIrInN0YXJ0cyIsIlN0YXJ0cyIpLHZhbHVlOiJzdGFydHMifSx7bGFiZWw6bi5pMThuKHIrImVuZHMiLCJFbmRzIiksdmFsdWU6ImVuZHMifSx7bGFiZWw6bi5pMThuKHIrImVtcHR5IiwiRW1wdHkiKSx2YWx1ZToiZW1wdHkifSx7bGFiZWw6bi5pMThuKHIrIm5vdEVtcHR5IiwiTm90IGVtcHR5IiksdmFsdWU6Im5vdEVtcHR5In1dKS5zZWFyY2goZnVuY3Rpb24oYSxzLHUpe3ZhciBkPW4uY29sdW1uKHQuaWR4KCkpO2lmKHM9cy50b0xvd2VyQ2FzZSgpLGE9PT0iZW1wdHkiKWQuc2VhcmNoLmZpeGVkKCJkdGNjIixmdW5jdGlvbihtKXtyZXR1cm4hbX0pO2Vsc2UgaWYoYT09PSJub3RFbXB0eSIpZC5zZWFyY2guZml4ZWQoImR0Y2MiLGZ1bmN0aW9uKG0pe3JldHVybiEhbX0pO2Vsc2V7aWYoZC5zZWFyY2guZml4ZWQoImR0Y2MiKT09PSIiJiZzPT09IiIpcmV0dXJuO3M9PT0iIj9kLnNlYXJjaC5maXhlZCgiZHRjYyIsIiIpOmE9PT0iZXF1YWwiP2Quc2VhcmNoLmZpeGVkKCJkdGNjIixmdW5jdGlvbihtKXtyZXR1cm4gbS50b0xvd2VyQ2FzZSgpPT1zfSk6YT09PSJub3RFcXVhbCI/ZC5zZWFyY2guZml4ZWQoImR0Y2MiLGZ1bmN0aW9uKG0pe3JldHVybiBtLnRvTG93ZXJDYXNlKCkhPXN9KTphPT09ImNvbnRhaW5zIj9kLnNlYXJjaC5maXhlZCgiZHRjYyIscyk6YT09PSJub3RDb250YWlucyI/ZC5zZWFyY2guZml4ZWQoImR0Y2MiLGZ1bmN0aW9uKG0pe3JldHVybiFtLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocyl9KTphPT09InN0YXJ0cyI/ZC5zZWFyY2guZml4ZWQoImR0Y2MiLGZ1bmN0aW9uKG0pe3JldHVybiBtLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChzKX0pOmE9PT0iZW5kcyImJmQuc2VhcmNoLmZpeGVkKCJkdGNjIixmdW5jdGlvbihtKXtyZXR1cm4gbS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKHMpfSl9ZS5fcGFyZW50cyYmZS5fcGFyZW50cy5mb3JFYWNoKGZ1bmN0aW9uKG0pe3JldHVybiBtLmFjdGl2ZUxpc3QodC51bmlxdWUoKSwhIWQuc2VhcmNoLmZpeGVkKCJkdGNjIikpfSksdXx8ZC5kcmF3KCl9KTtyZXR1cm4gaS5lbGVtZW50KCl9fSxvYz17ZGVmYXVsdHM6e2FsbG93U2VhcmNoTGlzdDohMX0saW5pdDpmdW5jdGlvbihlKXt2YXIgdD10aGlzLG4scixpLGE9dGhpcy5kdCgpLHM9dGhpcy5pZHgoKSx1LGQ9KGk9KHI9KG49YS5zdGF0ZS5sb2FkZWQoKSk9PT1udWxsfHxuPT09dm9pZCAwP3ZvaWQgMDpuLmNvbHVtbkNvbnRyb2wpPT09bnVsbHx8cj09PXZvaWQgMD92b2lkIDA6cltzXSk9PT1udWxsfHxpPT09dm9pZCAwP3ZvaWQgMDppLnNlYXJjaElucHV0LG09ZnVuY3Rpb24odil7dmFyIGc9Tm8oYSxzKTtyZXR1cm4gZS5hbGxvd1NlYXJjaExpc3QmJmc/bWEuaW5pdC5jYWxsKHQsT2JqZWN0LmFzc2lnbih7fSxtYS5kZWZhdWx0cyxlKSk6dj09PSJkYXRlInx8di5zdGFydHNXaXRoKCJkYXRldGltZSIpP3BhLmluaXQuY2FsbCh0LE9iamVjdC5hc3NpZ24oe30scGEuZGVmYXVsdHMsZSkpOnYuaW5jbHVkZXMoIm51bSIpP3ZhLmluaXQuY2FsbCh0LE9iamVjdC5hc3NpZ24oe30sdmEuZGVmYXVsdHMsZSkpOmdhLmluaXQuY2FsbCh0LE9iamVjdC5hc3NpZ24oe30sZ2EuZGVmYXVsdHMsZSkpfTtyZXR1cm4gZD91PW0oZC50eXBlKToodT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxhLnJlYWR5KGZ1bmN0aW9uKCl7dmFyIHY9YS5jb2x1bW4ocyksZz1tKHYudHlwZSgpKTt1LnJlcGxhY2VXaXRoKGcpfSkpLHV9fSxsYz17ZGVmYXVsdHM6e2NsYXNzTmFtZToic2VhcmNoQ2xlYXIiLGljb246InNlYXJjaENsZWFyIix0ZXh0OiJDbGVhciBTZWFyY2gifSxpbml0OmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMsbj10aGlzLmR0KCkscj1uZXcgTnQobikudGV4dChuLmkxOG4oImNvbHVtbkNvbnRyb2wuc2VhcmNoQ2xlYXIiLGUudGV4dCkpLmljb24oZS5pY29uKS5jbGFzc05hbWUoZS5jbGFzc05hbWUpLmhhbmRsZXIoZnVuY3Rpb24oKXtuLmNvbHVtbih0LmlkeCgpKS5jY1NlYXJjaENsZWFyKCkuZHJhdygpfSkuZW5hYmxlKCExKTtyZXR1cm4gbi5vbigiZHJhdyIsZnVuY3Rpb24oKXt2YXIgaT1uLmNvbHVtbih0LmlkeCgpKS5zZWFyY2guZml4ZWQoImR0Y2MiKSxhPW4uY29sdW1uKHQuaWR4KCkpLnNlYXJjaC5maXhlZCgiZHRjYy1saXN0Iik7ci5lbmFibGUoISEoaXx8YSkpfSksci5lbGVtZW50KCl9fSx1Yz17ZGVmYXVsdHM6e2FqYXhPbmx5OiEwLGFsbG93U2VhcmNoTGlzdDohMCxjbGFzc05hbWU6InNlYXJjaERyb3Bkb3duIixjbGVhcjohMCxjb2x1bW5zOiIiLGhpZGFibGU6ITAsb3B0aW9uczpudWxsLHBsYWNlaG9sZGVyOiIiLHNlYXJjaDohMCxzZWxlY3Q6ITAsdGV4dDoiU2VhcmNoIix0aXRsZToiIix0aXRsZUF0dHI6IiJ9LGV4dGVuZDpmdW5jdGlvbihlKXt2YXIgdD10aGlzLmR0KCk7cmV0dXJue2V4dGVuZDoiZHJvcGRvd24iLGljb246InNlYXJjaCIsdGV4dDp0LmkxOG4oImNvbHVtbkNvbnRyb2wuc2VhcmNoRHJvcGRvd24iLGUudGV4dCksY29udGVudDpbT2JqZWN0LmFzc2lnbihlLHtleHRlbmQ6InNlYXJjaCJ9KV19fX0sY2M9e2RlZmF1bHRzOntjbGFzc05hbWU6ImR0Y2Mtc3BhY2VyIix0ZXh0OiIifSxpbml0OmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuZHQoKSxuPXJ0KCJkaXYiLGUuY2xhc3NOYW1lLHQuaTE4bigiY29sdW1uQ29udHJvbC5zcGFjZXIiLGUudGV4dCkpO3JldHVybiBuLnNldEF0dHJpYnV0ZSgicm9sZSIsInNlcGFyYXRvciIpLG59fSxkYz17ZGVmYXVsdHM6e2NsYXNzTmFtZToiZHRjYy10aXRsZSIsdGV4dDpudWxsfSxpbml0OmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuZHQoKSxuPXQuY29sdW1uKHRoaXMuaWR4KCkpLnRpdGxlKCkscj1lLnRleHQ9PT1udWxsPyJbdGl0bGVdIjplLnRleHQsaT1ydCgiZGl2IixlLmNsYXNzTmFtZSxyLnJlcGxhY2UoIlt0aXRsZV0iLG4pKTtyZXR1cm4gaX19LGZjPXtjb2xWaXM6cXUsY29sVmlzRHJvcGRvd246R3UsZHJvcGRvd246aGEscmVvcmRlcjokdSxyZW9yZGVyTGVmdDpYdSxyZW9yZGVyUmlnaHQ6WnUsb3JkZXI6WXUsb3JkZXJBZGRBc2M6S3Usb3JkZXJBZGREZXNjOkp1LG9yZGVyQXNjOlF1LG9yZGVyQ2xlYXI6ZWMsb3JkZXJEZXNjOnRjLG9yZGVyUmVtb3ZlOm5jLG9yZGVyU3RhdHVzOnJjLHNlYXJjaDpvYyxzZWFyY2hDbGVhcjpsYyxzZWFyY2hEcm9wZG93bjp1YyxzZWFyY2hEYXRlVGltZTpwYSxzZWFyY2hMaXN0Om1hLHNlYXJjaE51bWJlcjp2YSxzZWFyY2hUZXh0OmdhLHNwYWNlcjpjYyx0aXRsZTpkY30sdG49KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0LG4scil7dmFyIGk9dGhpczt0aGlzLl9kb209e3RhcmdldDpudWxsLHdyYXBwZXI6bnVsbH0sdGhpcy5fYz17fSx0aGlzLl9zPXtjb2x1bW5JZHg6bnVsbCx1bmlxdWU6bnVsbH0sdGhpcy5fZHQ9dCx0aGlzLl9zLmNvbHVtbklkeD1uLHRoaXMuX3MudW5pcXVlPU1hdGgucmFuZG9tKCk7dmFyIGE9bjtPYmplY3QuYXNzaWduKHRoaXMuX2MsZS5kZWZhdWx0cyxyKSx0aGlzLl9kb20udGFyZ2V0PXRoaXMuX3RhcmdldCgpLHIuY2xhc3NOYW1lJiZEbyh0aGlzLl9kb20udGFyZ2V0LmNsb3Nlc3QoInRyIiksci5jbGFzc05hbWUpLHRoaXMuX2MuY29udGVudCYmKHQub24oImNvbHVtbnMtcmVvcmRlcmVkIixmdW5jdGlvbihzLHUpe2kuX3MuY29sdW1uSWR4PXQuY29sUmVvcmRlci50cmFuc3Bvc2UoYSwiZnJvbU9yaWdpbmFsIil9KSx0aGlzLl9kb20ud3JhcHBlcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5fZG9tLndyYXBwZXIuY2xhc3NMaXN0LmFkZCgiZHRjYyIpLHRoaXMuX2RvbS50YXJnZXQuYXBwZW5kQ2hpbGQodGhpcy5fZG9tLndyYXBwZXIpLHRoaXMuX2MuY29udGVudC5mb3JFYWNoKGZ1bmN0aW9uKHMpe3ZhciB1PWkucmVzb2x2ZShzKSxkPXUucGx1Z2luLG09dS5jb25maWcsdj1kLmluaXQuY2FsbChpLG0pO2kuX2RvbS53cmFwcGVyLmFwcGVuZENoaWxkKHYpfSksdC5vbigiZGVzdHJveSIsZnVuY3Rpb24oKXtpLl9kb20ud3JhcHBlci5yZW1vdmUoKX0pKX1yZXR1cm4gZS5wcm90b3R5cGUuZHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZHR9LGUucHJvdG90eXBlLmlkeD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zLmNvbHVtbklkeH0sZS5wcm90b3R5cGUucmVzb2x2ZT1mdW5jdGlvbih0KXt2YXIgbj1udWxsLHI9bnVsbCxpPW51bGw7aWYodHlwZW9mIHQ9PSJzdHJpbmciPyhpPXQsbj1lLmNvbnRlbnRbaV0scj1PYmplY3QuYXNzaWduKHt9LG4/LmRlZmF1bHRzKSk6QXJyYXkuaXNBcnJheSh0KT8oaT0iZHJvcGRvd24iLG49ZS5jb250ZW50W2ldLHI9T2JqZWN0LmFzc2lnbih7fSxuPy5kZWZhdWx0cyx7Y29udGVudDp0fSkpOnQuZXh0ZW5kJiYoaT10LmV4dGVuZCxuPWUuY29udGVudFtpXSxyPU9iamVjdC5hc3NpZ24oe30sbj8uZGVmYXVsdHMsdCkpLCFuKXRocm93IG5ldyBFcnJvcigiVW5rbm93biBDb2x1bW5Db250cm9sIGNvbnRlbnQgdHlwZTogIitpKTtpZihuLmV4dGVuZCl7dmFyIGE9bi5leHRlbmQuY2FsbCh0aGlzLHIpO3JldHVybiB0aGlzLnJlc29sdmUoYSl9cmV0dXJue2NvbmZpZzpyLHR5cGU6aSxwbHVnaW46bn19LGUucHJvdG90eXBlLnVuaXF1ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zLnVuaXF1ZX0sZS5wcm90b3R5cGUuX3RhcmdldD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX2MudGFyZ2V0LG49dGhpcy5fZHQuY29sdW1uKHRoaXMuX3MuY29sdW1uSWR4KSxyLGk9ImhlYWRlciI7aWYodHlwZW9mIHQ9PSJudW1iZXIiKXI9bi5oZWFkZXIodCk7ZWxzZXt2YXIgYT10LnNwbGl0KCI6Iikscz1hWzBdIT09InRmb290Iix1PWFbMV0/cGFyc2VJbnQoYVsxXSk6MDtzP3I9bi5oZWFkZXIodSk6KHI9bi5mb290ZXIodSksaT0iZm9vdGVyIil9cmV0dXJuIHIucXVlcnlTZWxlY3RvcigiZGl2LmR0LWNvbHVtbi0iK2kpfSxlLkJ1dHRvbj1OdCxlLkNoZWNrTGlzdD1iYSxlLlNlYXJjaElucHV0PXNpLGUuY29udGVudD1mYyxlLmRlZmF1bHRzPXtjbGFzc05hbWU6IiIsY29udGVudDpudWxsLHRhcmdldDowfSxlLmljb25zPWxuLGUudmVyc2lvbj0iMS4wLjciLGV9KSgpO3RlLkNvbHVtbkNvbnRyb2w9dG47VG8oZG9jdW1lbnQpLm9uKCJpMThuLmR0IixmdW5jdGlvbihlLHQpe2lmKGUubmFtZXNwYWNlPT09ImR0Iil7dmFyIG49bmV3IHRlLkFwaSh0KSxyPW4udGFibGUoKS5oZWFkZXIoKSxpPXQub0luaXQuY29sdW1uQ29udHJvbCxhPXRuLmRlZmF1bHRzLHM9W10sdT17fTtyLnF1ZXJ5U2VsZWN0b3JBbGwoInRyIikubGVuZ3RoPD0xJiZ0LnRpdGxlUm93PT09bnVsbCYmKHQudGl0bGVSb3c9MCksWm4ocyxpKSx0bi5kZWZhdWx0cy5jb250ZW50JiZabihzLGEpLG4uY29sdW1ucygpLmV2ZXJ5KGZ1bmN0aW9uKG0pe3ZhciB2PXRoaXMuaW5pdCgpLmNvbHVtbkNvbnRyb2w7Wm4ocyx2KX0pO2Zvcih2YXIgZD0wO2Q8cy5sZW5ndGg7ZCsrKWhjKHUsc1tkXSxuKX19KTtUbyhkb2N1bWVudCkub24oInByZUluaXQuZHQiLGZ1bmN0aW9uKGUsdCl7aWYoZS5uYW1lc3BhY2U9PT0iZHQiKXt2YXIgbj1uZXcgdGUuQXBpKHQpLHI9dC5vSW5pdC5jb2x1bW5Db250cm9sLGk9dG4uZGVmYXVsdHMsYT1bXTtabihhLHIpLHRuLmRlZmF1bHRzLmNvbnRlbnQmJlpuKGEsaSksbi5jb2x1bW5zKCkuZXZlcnkoZnVuY3Rpb24ocyl7Zm9yKHZhciB1PXRoaXMuaW5pdCgpLmNvbHVtbkNvbnRyb2wsZD1abihhLnNsaWNlKCksdSksbT0wO208ZC5sZW5ndGg7bSsrKXt2YXIgdj1mYShkW21dLHUpLGc9ZmEoZFttXSxyKSx3PWZhKGRbbV0saSk7KHd8fGd8fHYpJiZuZXcgdG4obix0aGlzLmluZGV4KCksT2JqZWN0LmFzc2lnbih7fSx3fHx7fSxnfHx7fSx2fHx7fSkpfX0pfX0pO3RlLkFwaS5yZWdpc3RlclBsdXJhbCgiY29sdW1ucygpLmNjU2VhcmNoQ2xlYXIoKSIsImNvbHVtbigpLmNjU2VhcmNoQ2xlYXIoKSIsZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiB0aGlzLml0ZXJhdG9yKCJjb2x1bW4iLGZ1bmN0aW9uKHQsbil7ZS50cmlnZ2VyKCJjYy1zZWFyY2gtY2xlYXIiLFtuXSl9KX0pO3RlLmV4dC5idXR0b25zLmNjU2VhcmNoQ2xlYXI9e3RleHQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuaTE4bigiY29sdW1uQ29udHJvbC5idXR0b25zLnNlYXJjaENsZWFyIiwiQ2xlYXIgc2VhcmNoIil9LGluaXQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRoaXM7ZS5vbigiZHJhdyIsZnVuY3Rpb24oKXt2YXIgaT0hMSxhPSEhZS5zZWFyY2goKTthfHxlLmNvbHVtbnMoKS5ldmVyeShmdW5jdGlvbigpeyh0aGlzLnNlYXJjaC5maXhlZCgiZHRjYyIpfHx0aGlzLnNlYXJjaC5maXhlZCgiZHRjYy1saXN0IikpJiYoaT0hMCl9KSxyLmVuYWJsZShhfHxpKX0pLHRoaXMuZW5hYmxlKCExKX0sYWN0aW9uOmZ1bmN0aW9uKGUsdCxuLHIpe3Quc2VhcmNoKCIiKSx0LmNvbHVtbnMoKS5jY1NlYXJjaENsZWFyKCksdC5kcmF3KCl9fTtmdW5jdGlvbiBoYyhlLHQsbil7aWYoIWVbdF0pe3ZhciByPSEwLGk9MDtpZih0eXBlb2YgdD09Im51bWJlciIpaT10O2Vsc2V7dmFyIGE9dC5zcGxpdCgiOiIpO2FbMF09PT0idGZvb3QiJiYocj0hMSksYVsxXSYmKGk9cGFyc2VJbnQoYVsxXSkpfXZhciBzPXI/bi50YWJsZSgpLmhlYWRlcigpOm4udGFibGUoKS5mb290ZXIoKTtpZighcy5xdWVyeVNlbGVjdG9yQWxsKCJ0ciIpW2ldKXt2YXIgdT1uLmNvbHVtbnMoKS5jb3VudCgpLGQ9cnQoInRyIik7ZC5zZXRBdHRyaWJ1dGUoImRhdGEtZHQtb3JkZXIiLCJkaXNhYmxlIik7Zm9yKHZhciBtPTA7bTx1O20rKylkLmFwcGVuZENoaWxkKHJ0KCJ0ZCIpKTtzLmFwcGVuZENoaWxkKGQpfWVbdF09ITB9fWZ1bmN0aW9uIGZhKGUsdCl7dmFyIG49dG4uZGVmYXVsdHMudGFyZ2V0LHI7aWYoQ28odCkpe2lmKG49PT1lKXJldHVybnt0YXJnZXQ6bixjb250ZW50OnR9fWVsc2UgaWYoQXJyYXkuaXNBcnJheSh0KSlmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krKyl7dmFyIGE9dFtpXTtpZihDbyhhKSl7aWYobj09PWUpcmV0dXJue3RhcmdldDpuLGNvbnRlbnQ6YX19ZWxzZSBpZih5YShhKSl7aWYocj1hLnRhcmdldCE9PXZvaWQgMD9hLnRhcmdldDpuLGU9PT1yKXJldHVybiBhfWVsc2UgaWYoZT09PW4pcmV0dXJue3RhcmdldDpuLGNvbnRlbnQ6dH19ZWxzZSBpZih0eXBlb2YgdD09Im9iamVjdCIpe2lmKHlhKHQpKXtpZihyPXQudGFyZ2V0IT09dm9pZCAwP3QudGFyZ2V0Om4sZT09PXIpcmV0dXJuIHR9ZWxzZSBpZihlPT09bilyZXR1cm57dGFyZ2V0Om4sY29udGVudDp0fX19ZnVuY3Rpb24gWm4oZSx0KXtmdW5jdGlvbiBuKHIpe2UuaW5jbHVkZXMocil8fGUucHVzaChyKX1yZXR1cm4gQXJyYXkuaXNBcnJheSh0KT90Lmxlbmd0aD09PTA/bih0bi5kZWZhdWx0cy50YXJnZXQpOnQuZm9yRWFjaChmdW5jdGlvbihyKXtuKHR5cGVvZiByPT0ib2JqZWN0IiYmci50YXJnZXQhPT12b2lkIDA/ci50YXJnZXQ6dG4uZGVmYXVsdHMudGFyZ2V0KX0pOnR5cGVvZiB0PT0ib2JqZWN0IiYmbih0LnRhcmdldCE9PXZvaWQgMD90LnRhcmdldDp0bi5kZWZhdWx0cy50YXJnZXQpLGV9ZnVuY3Rpb24geWEoZSl7cmV0dXJuIHR5cGVvZiBlPT0ib2JqZWN0IiYmZS50YXJnZXQhPT12b2lkIDB9ZnVuY3Rpb24gQ28oZSl7dmFyIHQ9ITE7aWYoIUFycmF5LmlzQXJyYXkoZSkpcmV0dXJuITE7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspaWYoeWEoZVtuXSkpe3Q9ITA7YnJlYWt9cmV0dXJuIXR9dmFyIG1jPXN0KG90KCksMSk7dmFyIEZvPXN0KG90KCksMSk7dmFyIHluPUZvLmRlZmF1bHQ7KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBlLHQ7ZnVuY3Rpb24gbihzKXtlPXMsdD1lLmZuLmRhdGFUYWJsZX12YXIgcj0oZnVuY3Rpb24oKXtmdW5jdGlvbiBzKHUsZCl7dmFyIG09dGhpcztpZighdHx8IXQudmVyc2lvbkNoZWNrfHwhdC52ZXJzaW9uQ2hlY2soIjIiKSl0aHJvdyBuZXcgRXJyb3IoIkZpeGVkQ29sdW1ucyByZXF1aXJlcyBEYXRhVGFibGVzIDIgb3IgbmV3ZXIiKTt2YXIgdj1uZXcgdC5BcGkodSk7dGhpcy5jbGFzc2VzPWUuZXh0ZW5kKCEwLHt9LHMuY2xhc3NlcyksdGhpcy5jPWUuZXh0ZW5kKCEwLHt9LHMuZGVmYXVsdHMsZCksdGhpcy5zPXtkdDp2LHJ0bDplKHYudGFibGUoKS5ub2RlKCkpLmNzcygiZGlyZWN0aW9uIik9PT0icnRsIn0sZCYmZC5sZWZ0Q29sdW1ucyE9PXZvaWQgMCYmKGQubGVmdD1kLmxlZnRDb2x1bW5zKSxkJiZkLmxlZnQhPT12b2lkIDAmJih0aGlzLmNbdGhpcy5zLnJ0bD8iZW5kIjoic3RhcnQiXT1kLmxlZnQpLGQmJmQucmlnaHRDb2x1bW5zIT09dm9pZCAwJiYoZC5yaWdodD1kLnJpZ2h0Q29sdW1ucyksZCYmZC5yaWdodCE9PXZvaWQgMCYmKHRoaXMuY1t0aGlzLnMucnRsPyJzdGFydCI6ImVuZCJdPWQucmlnaHQpLHRoaXMuZG9tPXtib3R0b21CbG9ja2VyOmUoIjxkaXY+IikuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmJvdHRvbUJsb2NrZXIpLHRvcEJsb2NrZXI6ZSgiPGRpdj4iKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMudG9wQmxvY2tlciksc2Nyb2xsZXI6ZSgiZGl2LmR0LXNjcm9sbC1ib2R5Iix0aGlzLnMuZHQudGFibGUoKS5jb250YWluZXIoKSl9LHRoaXMucy5kdC5zZXR0aW5ncygpWzBdLl9iSW5pdENvbXBsZXRlPyh0aGlzLl9hZGRTdHlsZXMoKSx0aGlzLl9zZXRLZXlUYWJsZUxpc3RlbmVyKCkpOnYub25lKCJpbml0LmR0LmR0ZmMiLGZ1bmN0aW9uKCl7bS5fYWRkU3R5bGVzKCksbS5fc2V0S2V5VGFibGVMaXN0ZW5lcigpfSksdi5vbigiY29sdW1uLXNpemluZy5kdC5kdGZjIGNvbHVtbi1yZW9yZGVyLmR0LmR0ZmMgZHJhdy5kdC5kdGZjIixmdW5jdGlvbigpe3JldHVybiBtLl9hZGRTdHlsZXMoKX0pO3ZhciBnPXQudXRpbC5kZWJvdW5jZShmdW5jdGlvbigpe20uX2FkZFN0eWxlcygpfSw1MCk7cmV0dXJuIHYub24oImNvbHVtbi12aXNpYmlsaXR5LmR0LmR0ZmMiLGZ1bmN0aW9uKCl7ZygpfSksdGhpcy5kb20uc2Nyb2xsZXIub24oInNjcm9sbC5kdGZjIixmdW5jdGlvbigpe3JldHVybiBtLl9zY3JvbGwoKX0pLHRoaXMuX3Njcm9sbCgpLHYuc2V0dGluZ3MoKVswXS5fZml4ZWRDb2x1bW5zPXRoaXMsdi5vbigiZGVzdHJveSIsZnVuY3Rpb24oKXtyZXR1cm4gbS5fZGVzdHJveSgpfSksdGhpc31yZXR1cm4gcy5wcm90b3R5cGUuZW5kPWZ1bmN0aW9uKHUpe3JldHVybiB1IT09dm9pZCAwPyh1Pj0wJiZ1PD10aGlzLnMuZHQuY29sdW1ucygpLmNvdW50KCkmJih0aGlzLmMuZW5kPXUsdGhpcy5fYWRkU3R5bGVzKCkpLHRoaXMpOnRoaXMuYy5lbmR9LHMucHJvdG90eXBlLmxlZnQ9ZnVuY3Rpb24odSl7cmV0dXJuIHRoaXMucy5ydGw/dGhpcy5lbmQodSk6dGhpcy5zdGFydCh1KX0scy5wcm90b3R5cGUucmlnaHQ9ZnVuY3Rpb24odSl7cmV0dXJuIHRoaXMucy5ydGw/dGhpcy5zdGFydCh1KTp0aGlzLmVuZCh1KX0scy5wcm90b3R5cGUuc3RhcnQ9ZnVuY3Rpb24odSl7cmV0dXJuIHUhPT12b2lkIDA/KHU+PTAmJnU8PXRoaXMucy5kdC5jb2x1bW5zKCkuY291bnQoKSYmKHRoaXMuYy5zdGFydD11LHRoaXMuX2FkZFN0eWxlcygpKSx0aGlzKTp0aGlzLmMuc3RhcnR9LHMucHJvdG90eXBlLl9hZGRTdHlsZXM9ZnVuY3Rpb24oKXt2YXIgdT10aGlzLnMuZHQsZD10aGlzLG09dGhpcy5zLmR0LmNvbHVtbnMoIjp2aXNpYmxlIikuY291bnQoKSx2PXUudGFibGUoKS5oZWFkZXIuc3RydWN0dXJlKCI6dmlzaWJsZSIpLGc9dS50YWJsZSgpLmZvb3Rlci5zdHJ1Y3R1cmUoIjp2aXNpYmxlIiksdz11LmNvbHVtbnMoIjp2aXNpYmxlIikud2lkdGhzKCkudG9BcnJheSgpLGI9ZSh1LnRhYmxlKCkubm9kZSgpKS5jbG9zZXN0KCJkaXYuZHQtc2Nyb2xsIiksVD1lKHUudGFibGUoKS5ub2RlKCkpLmNsb3Nlc3QoImRpdi5kdC1zY3JvbGwtYm9keSIpWzBdLEQ9dGhpcy5zLnJ0bCxoPXRoaXMuYy5zdGFydCxsPXRoaXMuYy5lbmQscD1EP2w6aCxDPUQ/aDpsLEY9dS5zZXR0aW5ncygpWzBdLm9Ccm93c2VyLmJhcldpZHRoO2lmKGIubGVuZ3RoPT09MClyZXR1cm4gdGhpcztULm9mZnNldFdpZHRoPT09VC5jbGllbnRXaWR0aCYmKEY9MCksdS5jb2x1bW5zKCkuZXZlcnkoZnVuY3Rpb24oaWUpe3ZhciBFPXUuY29sdW1uLmluZGV4KCJ0b1Zpc2libGUiLGllKSxKO0UhPT1udWxsJiYoRTxoPyhKPWQuX3N1bSh3LEUpLGQuX2ZpeENvbHVtbihFLEosInN0YXJ0Iix2LGcsRikpOkU+PW0tbD8oSj1kLl9zdW0odyxtLUUtMSwhMCksZC5fZml4Q29sdW1uKEUsSiwiZW5kIix2LGcsRikpOmQuX2ZpeENvbHVtbihFLDAsIm5vbmUiLHYsZyxGKSl9KSxlKHUudGFibGUoKS5ub2RlKCkpLnRvZ2dsZUNsYXNzKGQuY2xhc3Nlcy50YWJsZUZpeGVkU3RhcnQsaD4wKS50b2dnbGVDbGFzcyhkLmNsYXNzZXMudGFibGVGaXhlZEVuZCxsPjApLnRvZ2dsZUNsYXNzKGQuY2xhc3Nlcy50YWJsZUZpeGVkTGVmdCxwPjApLnRvZ2dsZUNsYXNzKGQuY2xhc3Nlcy50YWJsZUZpeGVkUmlnaHQsQz4wKTt2YXIgUD11LnRhYmxlKCkuaGVhZGVyKCksZj11LnRhYmxlKCkuZm9vdGVyKCksVz1lKFApLm91dGVySGVpZ2h0KCksWj1lKGYpLm91dGVySGVpZ2h0KCk7dGhpcy5kb20udG9wQmxvY2tlci5hcHBlbmRUbyhiKS5jc3MoInRvcCIsMCkuY3NzKHRoaXMucy5ydGw/ImxlZnQiOiJyaWdodCIsMCkuY3NzKCJoZWlnaHQiLFcpLmNzcygid2lkdGgiLEYrMSkuY3NzKCJkaXNwbGF5IixGPyJibG9jayI6Im5vbmUiKSxmJiZ0aGlzLmRvbS5ib3R0b21CbG9ja2VyLmFwcGVuZFRvKGIpLmNzcygiYm90dG9tIiwwKS5jc3ModGhpcy5zLnJ0bD8ibGVmdCI6InJpZ2h0IiwwKS5jc3MoImhlaWdodCIsWikuY3NzKCJ3aWR0aCIsRisxKS5jc3MoImRpc3BsYXkiLEY/ImJsb2NrIjoibm9uZSIpfSxzLnByb3RvdHlwZS5fZGVzdHJveT1mdW5jdGlvbigpe3RoaXMucy5kdC5vZmYoIi5kdGZjIiksdGhpcy5kb20uc2Nyb2xsZXIub2ZmKCIuZHRmYyIpLGUodGhpcy5zLmR0LnRhYmxlKCkubm9kZSgpKS5yZW1vdmVDbGFzcyh0aGlzLmNsYXNzZXMudGFibGVTY3JvbGxpbmdFbmQrIiAiK3RoaXMuY2xhc3Nlcy50YWJsZVNjcm9sbGluZ0xlZnQrIiAiK3RoaXMuY2xhc3Nlcy50YWJsZVNjcm9sbGluZ1N0YXJ0KyIgIit0aGlzLmNsYXNzZXMudGFibGVTY3JvbGxpbmdSaWdodCksdGhpcy5kb20uYm90dG9tQmxvY2tlci5yZW1vdmUoKSx0aGlzLmRvbS50b3BCbG9ja2VyLnJlbW92ZSgpfSxzLnByb3RvdHlwZS5fZml4Q29sdW1uPWZ1bmN0aW9uKHUsZCxtLHYsZyx3KXt2YXIgYj10aGlzLFQ9dGhpcy5zLmR0LEQ9ZnVuY3Rpb24oaCxsKXtpZihtPT09Im5vbmUiKWguY3NzKCJwb3NpdGlvbiIsIiIpLmNzcygibGVmdCIsIiIpLmNzcygicmlnaHQiLCIiKS5yZW1vdmVDbGFzcyhiLmNsYXNzZXMuZml4ZWRFbmQrIiAiK2IuY2xhc3Nlcy5maXhlZExlZnQrIiAiK2IuY2xhc3Nlcy5maXhlZFJpZ2h0KyIgIitiLmNsYXNzZXMuZml4ZWRTdGFydCk7ZWxzZXt2YXIgcD1tPT09InN0YXJ0Ij8ibGVmdCI6InJpZ2h0IjtiLnMucnRsJiYocD1tPT09InN0YXJ0Ij8icmlnaHQiOiJsZWZ0Iik7dmFyIEM9ZDttPT09ImVuZCImJihsPT09ImhlYWRlciJ8fGw9PT0iZm9vdGVyIikmJihDKz13KSxoLmNzcygicG9zaXRpb24iLCJzdGlja3kiKS5jc3MocCxDKS5hZGRDbGFzcyhtPT09InN0YXJ0Ij9iLmNsYXNzZXMuZml4ZWRTdGFydDpiLmNsYXNzZXMuZml4ZWRFbmQpLmFkZENsYXNzKHA9PT0ibGVmdCI/Yi5jbGFzc2VzLmZpeGVkTGVmdDpiLmNsYXNzZXMuZml4ZWRSaWdodCl9fTt2LmZvckVhY2goZnVuY3Rpb24oaCl7aFt1XSYmRChlKGhbdV0uY2VsbCksImhlYWRlciIpfSksRChULmNvbHVtbih1KyI6dmlzaWJsZSIse3BhZ2U6ImN1cnJlbnQifSkubm9kZXMoKS50byQoKSwiYm9keSIpLGcmJmcuZm9yRWFjaChmdW5jdGlvbihoKXtoW3VdJiZEKGUoaFt1XS5jZWxsKSwiZm9vdGVyIil9KX0scy5wcm90b3R5cGUuX3Njcm9sbD1mdW5jdGlvbigpe3ZhciB1PXRoaXMuZG9tLnNjcm9sbGVyWzBdO2lmKHUpe3ZhciBkPWUodGhpcy5zLmR0LnRhYmxlKCkubm9kZSgpKS5hZGQodGhpcy5zLmR0LnRhYmxlKCkuaGVhZGVyKCkucGFyZW50Tm9kZSkuYWRkKHRoaXMucy5kdC50YWJsZSgpLmZvb3RlcigpLnBhcmVudE5vZGUpLmFkZCgiZGl2LmR0LXNjcm9sbC1oZWFkSW5uZXIgdGFibGUiLHRoaXMucy5kdC50YWJsZSgpLmNvbnRhaW5lcigpKS5hZGQoImRpdi5kdC1zY3JvbGwtZm9vdElubmVyIHRhYmxlIix0aGlzLnMuZHQudGFibGUoKS5jb250YWluZXIoKSksbT11LnNjcm9sbExlZnQsdj0hdGhpcy5zLnJ0bCxnPW0hPT0wLHc9dS5zY3JvbGxXaWR0aD51LmNsaWVudFdpZHRoK01hdGguYWJzKG0pKzE7ZC50b2dnbGVDbGFzcyh0aGlzLmNsYXNzZXMudGFibGVTY3JvbGxpbmdTdGFydCxnKSxkLnRvZ2dsZUNsYXNzKHRoaXMuY2xhc3Nlcy50YWJsZVNjcm9sbGluZ0VuZCx3KSxkLnRvZ2dsZUNsYXNzKHRoaXMuY2xhc3Nlcy50YWJsZVNjcm9sbGluZ0xlZnQsZyYmdnx8dyYmIXYpLGQudG9nZ2xlQ2xhc3ModGhpcy5jbGFzc2VzLnRhYmxlU2Nyb2xsaW5nUmlnaHQsdyYmdnx8ZyYmIXYpfX0scy5wcm90b3R5cGUuX3NldEtleVRhYmxlTGlzdGVuZXI9ZnVuY3Rpb24oKXt2YXIgdT10aGlzO3RoaXMucy5kdC5vbigia2V5LWZvY3VzLmR0LmR0ZmMiLGZ1bmN0aW9uKGQsbSx2KXt2YXIgZyx3PWUodi5ub2RlKCkpLm9mZnNldCgpLGI9dS5kb20uc2Nyb2xsZXJbMF0sVD1lKGUodS5zLmR0LnRhYmxlKCkubm9kZSgpKS5jbG9zZXN0KCJkaXYuZHQtc2Nyb2xsLWJvZHkiKSk7aWYodS5jLnN0YXJ0PjApe3ZhciBEPWUodS5zLmR0LmNvbHVtbih1LmMuc3RhcnQtMSkuaGVhZGVyKCkpLGg9RC5vZmZzZXQoKSxsPUQub3V0ZXJXaWR0aCgpO2Uodi5ub2RlKCkpLmhhc0NsYXNzKHUuY2xhc3Nlcy5maXhlZExlZnQpP1Quc2Nyb2xsTGVmdCgwKTp3LmxlZnQ8aC5sZWZ0K2wmJihnPVQuc2Nyb2xsTGVmdCgpLFQuc2Nyb2xsTGVmdChnLShoLmxlZnQrbC13LmxlZnQpKSl9aWYodS5jLmVuZD4wKXt2YXIgcD11LnMuZHQuY29sdW1ucygpLmRhdGEoKS50b0FycmF5KCkubGVuZ3RoLEM9ZSh2Lm5vZGUoKSkub3V0ZXJXaWR0aCgpLEY9ZSh1LnMuZHQuY29sdW1uKHAtdS5jLmVuZCkuaGVhZGVyKCkpLFA9Ri5vZmZzZXQoKTtlKHYubm9kZSgpKS5oYXNDbGFzcyh1LmNsYXNzZXMuZml4ZWRSaWdodCk/VC5zY3JvbGxMZWZ0KGIuc2Nyb2xsV2lkdGgtYi5jbGllbnRXaWR0aCk6dy5sZWZ0K0M+UC5sZWZ0JiYoZz1ULnNjcm9sbExlZnQoKSxULnNjcm9sbExlZnQoZy0oUC5sZWZ0LSh3LmxlZnQrQykpKSl9fSl9LHMucHJvdG90eXBlLl9zdW09ZnVuY3Rpb24odSxkLG0pe3JldHVybiBtPT09dm9pZCAwJiYobT0hMSksbSYmKHU9dS5zbGljZSgpLnJldmVyc2UoKSksdS5zbGljZSgwLGQpLnJlZHVjZShmdW5jdGlvbih2LGcpe3JldHVybiB2K2d9LDApfSxzLnZlcnNpb249IjUuMC40IixzLmNsYXNzZXM9e2JvdHRvbUJsb2NrZXI6ImR0ZmMtYm90dG9tLWJsb2NrZXIiLGZpeGVkRW5kOiJkdGZjLWZpeGVkLWVuZCIsZml4ZWRMZWZ0OiJkdGZjLWZpeGVkLWxlZnQiLGZpeGVkUmlnaHQ6ImR0ZmMtZml4ZWQtcmlnaHQiLGZpeGVkU3RhcnQ6ImR0ZmMtZml4ZWQtc3RhcnQiLHRhYmxlRml4ZWRFbmQ6ImR0ZmMtaGFzLWVuZCIsdGFibGVGaXhlZExlZnQ6ImR0ZmMtaGFzLWxlZnQiLHRhYmxlRml4ZWRSaWdodDoiZHRmYy1oYXMtcmlnaHQiLHRhYmxlRml4ZWRTdGFydDoiZHRmYy1oYXMtc3RhcnQiLHRhYmxlU2Nyb2xsaW5nRW5kOiJkdGZjLXNjcm9sbGluZy1lbmQiLHRhYmxlU2Nyb2xsaW5nTGVmdDoiZHRmYy1zY3JvbGxpbmctbGVmdCIsdGFibGVTY3JvbGxpbmdSaWdodDoiZHRmYy1zY3JvbGxpbmctcmlnaHQiLHRhYmxlU2Nyb2xsaW5nU3RhcnQ6ImR0ZmMtc2Nyb2xsaW5nLXN0YXJ0Iix0b3BCbG9ja2VyOiJkdGZjLXRvcC1ibG9ja2VyIn0scy5kZWZhdWx0cz17aTE4bjp7YnV0dG9uOiJGaXhlZENvbHVtbnMifSxzdGFydDoxLGVuZDowfSxzfSkoKTtuKHluKSx5bi5mbi5kYXRhVGFibGUuRml4ZWRDb2x1bW5zPXIseW4uZm4uRGF0YVRhYmxlLkZpeGVkQ29sdW1ucz1yO3ZhciBpPXRlLkFwaS5yZWdpc3RlcjtpKCJmaXhlZENvbHVtbnMoKSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLGkoImZpeGVkQ29sdW1ucygpLnN0YXJ0KCkiLGZ1bmN0aW9uKHMpe3ZhciB1PXRoaXMuY29udGV4dFswXTtyZXR1cm4gcyE9PXZvaWQgMD8odS5fZml4ZWRDb2x1bW5zLnN0YXJ0KHMpLHRoaXMpOnUuX2ZpeGVkQ29sdW1ucy5zdGFydCgpfSksaSgiZml4ZWRDb2x1bW5zKCkuZW5kKCkiLGZ1bmN0aW9uKHMpe3ZhciB1PXRoaXMuY29udGV4dFswXTtyZXR1cm4gcyE9PXZvaWQgMD8odS5fZml4ZWRDb2x1bW5zLmVuZChzKSx0aGlzKTp1Ll9maXhlZENvbHVtbnMuZW5kKCl9KSxpKCJmaXhlZENvbHVtbnMoKS5sZWZ0KCkiLGZ1bmN0aW9uKHMpe3ZhciB1PXRoaXMuY29udGV4dFswXTtyZXR1cm4gcyE9PXZvaWQgMD8odS5fZml4ZWRDb2x1bW5zLmxlZnQocyksdGhpcyk6dS5fZml4ZWRDb2x1bW5zLmxlZnQoKX0pLGkoImZpeGVkQ29sdW1ucygpLnJpZ2h0KCkiLGZ1bmN0aW9uKHMpe3ZhciB1PXRoaXMuY29udGV4dFswXTtyZXR1cm4gcyE9PXZvaWQgMD8odS5fZml4ZWRDb2x1bW5zLnJpZ2h0KHMpLHRoaXMpOnUuX2ZpeGVkQ29sdW1ucy5yaWdodCgpfSksdGUuZXh0LmJ1dHRvbnMuZml4ZWRDb2x1bW5zPXthY3Rpb246ZnVuY3Rpb24ocyx1LGQsbSl7eW4oZCkuYXR0cigiYWN0aXZlIik/KHluKGQpLnJlbW92ZUF0dHIoImFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKSx1LmZpeGVkQ29sdW1ucygpLnN0YXJ0KDApLHUuZml4ZWRDb2x1bW5zKCkuZW5kKDApKTooeW4oZCkuYXR0cigiYWN0aXZlIiwidHJ1ZSIpLmFkZENsYXNzKCJhY3RpdmUiKSx1LmZpeGVkQ29sdW1ucygpLnN0YXJ0KG0uY29uZmlnLnN0YXJ0KSx1LmZpeGVkQ29sdW1ucygpLmVuZChtLmNvbmZpZy5lbmQpKX0sY29uZmlnOntzdGFydDoxLGVuZDowfSxpbml0OmZ1bmN0aW9uKHMsdSxkKXtzLnNldHRpbmdzKClbMF0uX2ZpeGVkQ29sdW1ucz09PXZvaWQgMCYmYShzLnNldHRpbmdzKCksZCkseW4odSkuYXR0cigiYWN0aXZlIiwidHJ1ZSIpLmFkZENsYXNzKCJhY3RpdmUiKSxzLmJ1dHRvbih1KS50ZXh0KGQudGV4dHx8cy5pMThuKCJidXR0b25zLmZpeGVkQ29sdW1ucyIscy5zZXR0aW5ncygpWzBdLl9maXhlZENvbHVtbnMuYy5pMThuLmJ1dHRvbikpfSx0ZXh0Om51bGx9O2Z1bmN0aW9uIGEocyx1KXt1PT09dm9pZCAwJiYodT1udWxsKTt2YXIgZD1uZXcgdGUuQXBpKHMpLG09dXx8ZC5pbml0KCkuZml4ZWRDb2x1bW5zfHx0ZS5kZWZhdWx0cy5maXhlZENvbHVtbnMsdj1uZXcgcihkLG0pO3JldHVybiB2fXluKGRvY3VtZW50KS5vbigicGx1Z2luLWluaXQuZHQiLGZ1bmN0aW9uKHMsdSl7cy5uYW1lc3BhY2U9PT0iZHQiJiYodS5vSW5pdC5maXhlZENvbHVtbnN8fHRlLmRlZmF1bHRzLmZpeGVkQ29sdW1ucykmJih1Ll9maXhlZENvbHVtbnN8fGEodSxudWxsKSl9KX0pKCk7dmFyIHljPXN0KG90KCksMSk7dmFyIExvPXN0KG90KCksMSk7dmFyIFZlPUxvLmRlZmF1bHQsdmM9MCxnYz0wLEluPWZ1bmN0aW9uKGUsdCl7aWYoIXRlLnZlcnNpb25DaGVja3x8IXRlLnZlcnNpb25DaGVjaygiMS4xMC44IikpdGhyb3ciS2V5VGFibGUgcmVxdWlyZXMgRGF0YVRhYmxlcyAxLjEwLjggb3IgbmV3ZXIiO3RoaXMuYz1WZS5leHRlbmQoITAse30sdGUuZGVmYXVsdHMua2V5VGFibGUsSW4uZGVmYXVsdHMsdCksdGhpcy5zPXtkdDpuZXcgdGUuQXBpKGUpLGR0RHJhd2luZzohMSxlbmFibGU6ITAsZm9jdXNEcmF3OiExLHdhaXRpbmdGb3JEcmF3OiExLGxhc3RGb2N1czpudWxsLG5hbWVzcGFjZToiLmtleVRhYmxlLSIrdmMrKyx0YWJJbnB1dDpudWxsfSx0aGlzLmRvbT17fTt2YXIgbj10aGlzLnMuZHQuc2V0dGluZ3MoKVswXSxyPW4ua2V5dGFibGU7aWYocilyZXR1cm4gcjtuLmtleXRhYmxlPXRoaXMsdGhpcy5fY29uc3RydWN0b3IoKX07VmUuZXh0ZW5kKEluLnByb3RvdHlwZSx7Ymx1cjpmdW5jdGlvbigpe3RoaXMuX2JsdXIoKX0sZW5hYmxlOmZ1bmN0aW9uKGUpe3RoaXMucy5lbmFibGU9ZX0sZW5hYmxlZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnMuZW5hYmxlfSxmb2N1czpmdW5jdGlvbihlLHQpe3RoaXMuX2ZvY3VzKHRoaXMucy5kdC5jZWxsKGUsdCkpfSxmb2N1c2VkOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMucy5sYXN0Rm9jdXM7aWYoIXQpcmV0dXJuITE7dmFyIG49dGhpcy5zLmxhc3RGb2N1cy5jZWxsLmluZGV4KCk7cmV0dXJuIGUucm93PT09bi5yb3cmJmUuY29sdW1uPT09bi5jb2x1bW59LF9jb25zdHJ1Y3RvcjpmdW5jdGlvbigpe3RoaXMuX3RhYklucHV0KCk7dmFyIGU9dGhpcyx0PXRoaXMucy5kdCxuPVZlKHQudGFibGUoKS5ub2RlKCkpLHI9dGhpcy5zLm5hbWVzcGFjZSxpPSExO2lmKG4uY3NzKCJwb3NpdGlvbiIpPT09InN0YXRpYyImJm4uY3NzKCJwb3NpdGlvbiIsInJlbGF0aXZlIiksVmUodC50YWJsZSgpLmJvZHkoKSkub24oImNsaWNrIityLCJ0aCwgdGQiLGZ1bmN0aW9uKHUpe2lmKGUucy5lbmFibGUhPT0hMSl7dmFyIGQ9dC5jZWxsKHRoaXMpO2QuYW55KCkmJmUuX2ZvY3VzKGQsbnVsbCwhMSx1KX19KSxWZShkb2N1bWVudCkub24oImtleWRvd24iK3IsZnVuY3Rpb24odSl7IWkmJiFlLnMuZHREcmF3aW5nP2UuX2tleSh1KTp1LnByZXZlbnREZWZhdWx0KCl9KSx0aGlzLmMuYmx1cmFibGUmJlZlKGRvY3VtZW50KS5vbigibW91c2Vkb3duIityLGZ1bmN0aW9uKHUpe1ZlKHUudGFyZ2V0KS5wYXJlbnRzKCIuZGF0YVRhYmxlc19maWx0ZXIsIC5kdC1zZWFyY2giKS5sZW5ndGgmJmUuX2JsdXIoKSwhVmUodS50YXJnZXQpLnBhcmVudHMoKS5maWx0ZXIodC50YWJsZSgpLmNvbnRhaW5lcigpKS5sZW5ndGgmJihWZSh1LnRhcmdldCkucGFyZW50cygiZGl2LkRURSIpLmxlbmd0aHx8VmUodS50YXJnZXQpLnBhcmVudHMoImRpdi5lZGl0b3ItZGF0ZXRpbWUiKS5sZW5ndGh8fFZlKHUudGFyZ2V0KS5wYXJlbnRzKCJkaXYuZHQtZGF0ZXRpbWUiKS5sZW5ndGh8fFZlKHUudGFyZ2V0KS5wYXJlbnRzKCkuZmlsdGVyKCIuRFRGQ19DbG9uZWQiKS5sZW5ndGh8fGUuX2JsdXIoKSl9KSx0aGlzLmMuZWRpdG9yKXt2YXIgYT10aGlzLmMuZWRpdG9yO2Eub24oIm9wZW4ua2V5VGFibGVNYWluIixmdW5jdGlvbih1LGQsbSl7ZCE9PSJpbmxpbmUiJiZlLnMuZW5hYmxlJiYoZS5lbmFibGUoITEpLGEub25lKCJjbG9zZSIrcixmdW5jdGlvbigpe2UuZW5hYmxlKCEwKX0pKX0pLHRoaXMuYy5lZGl0T25Gb2N1cyYmdC5vbigia2V5LWZvY3VzIityKyIga2V5LXJlZm9jdXMiK3IsZnVuY3Rpb24odSxkLG0sdil7ZS5fZWRpdG9yKG51bGwsdiwhMCl9KSx0Lm9uKCJrZXkiK3IsZnVuY3Rpb24odSxkLG0sdixnKXtlLl9lZGl0b3IobSxnLCExKX0pLFZlKHQudGFibGUoKS5ib2R5KCkpLm9uKCJkYmxjbGljayIrciwidGgsIHRkIixmdW5jdGlvbih1KXtpZihlLnMuZW5hYmxlIT09ITEpe3ZhciBkPXQuY2VsbCh0aGlzKTtkLmFueSgpJiYoZS5zLmxhc3RGb2N1cyYmdGhpcyE9PWUucy5sYXN0Rm9jdXMuY2VsbC5ub2RlKCl8fGUuX2VkaXRvcihudWxsLHUsITApKX19KSxhLm9uKCJwcmVTdWJtaXQiLGZ1bmN0aW9uKCl7aT0hMH0pLm9uKCJwcmVTdWJtaXRDYW5jZWxsZWQiLGZ1bmN0aW9uKCl7aT0hMX0pLm9uKCJzdWJtaXRDb21wbGV0ZSIsZnVuY3Rpb24oKXtpPSExfSl9dC5vbigic3RhdGVTYXZlUGFyYW1zIityLGZ1bmN0aW9uKHUsZCxtKXttLmtleVRhYmxlPWUucy5sYXN0Rm9jdXM/ZS5zLmxhc3RGb2N1cy5jZWxsLmluZGV4KCk6bnVsbH0pLHQub24oImNvbHVtbi12aXNpYmlsaXR5IityLGZ1bmN0aW9uKHUpe2UuX3RhYklucHV0KCl9KSx0Lm9uKCJjb2x1bW4tcmVvcmRlciIrcixmdW5jdGlvbih1LGQsbSl7dmFyIHY9ZS5zLmxhc3RGb2N1cztpZih2JiZ2LmNlbGwpe3ZhciBnPXYucmVsYXRpdmUuY29sdW1uO3YuY2VsbFswXVswXS5jb2x1bW49bS5tYXBwaW5nLmluZGV4T2YoZyksdi5yZWxhdGl2ZS5jb2x1bW49bS5tYXBwaW5nLmluZGV4T2YoZyl9fSksdC5vbigicHJlRHJhdyIrcisiIHNjcm9sbGVyLXdpbGwtZHJhdyIrcixmdW5jdGlvbih1KXtlLnMuZHREcmF3aW5nPSEwfSksdC5vbigiZHJhdyIrcixmdW5jdGlvbih1KXtpZihlLnMuZHREcmF3aW5nPSExLGUuX3RhYklucHV0KCksIWUucy5mb2N1c0RyYXcpe3ZhciBkPWUucy5sYXN0Rm9jdXM7aWYoZCl7dmFyIG09ZS5zLmxhc3RGb2N1cy5yZWxhdGl2ZSx2PXQucGFnZS5pbmZvKCksZz1tLnJvdztpZih2LnJlY29yZHNEaXNwbGF5PT09MHx8Zzx2LnN0YXJ0fHxnPnYuc3RhcnQrdi5sZW5ndGgpcmV0dXJuO2c+PXYucmVjb3Jkc0Rpc3BsYXkmJihnPXYucmVjb3Jkc0Rpc3BsYXktMSksZS5fZm9jdXMoZyxtLmNvbHVtbiwhMCx1KX19fSksdGhpcy5jLmNsaXBib2FyZCYmdGhpcy5fY2xpcGJvYXJkKCksdC5vbigiZGVzdHJveSIrcixmdW5jdGlvbigpe2UuX2JsdXIoITApLHQub2ZmKHIpLFZlKHQudGFibGUoKS5ib2R5KCkpLm9mZigiY2xpY2siK3IsInRoLCB0ZCIpLm9mZigiZGJsY2xpY2siK3IsInRoLCB0ZCIpLFZlKGRvY3VtZW50KS5vZmYoIm1vdXNlZG93biIrcikub2ZmKCJrZXlkb3duIityKS5vZmYoImNvcHkiK3IpLm9mZigicGFzdGUiK3IpfSk7dmFyIHM9dC5zdGF0ZS5sb2FkZWQoKTtzJiZzLmtleVRhYmxlP3Qub25lKCJpbml0IixmdW5jdGlvbigpe3ZhciB1PXQuY2VsbChzLmtleVRhYmxlKTt1LmFueSgpJiZ1LmZvY3VzKCl9KTp0aGlzLmMuZm9jdXMmJnQuY2VsbCh0aGlzLmMuZm9jdXMpLmZvY3VzKCl9LF9ibHVyOmZ1bmN0aW9uKGUpe2lmKCEoIXRoaXMucy5lbmFibGV8fCF0aGlzLnMubGFzdEZvY3VzKSl7dmFyIHQ9dGhpcy5zLmxhc3RGb2N1cy5jZWxsO1ZlKHQubm9kZSgpKS5yZW1vdmVDbGFzcyh0aGlzLmMuY2xhc3NOYW1lKSx0aGlzLnMubGFzdEZvY3VzPW51bGwsZXx8KHRoaXMuX3VwZGF0ZUZpeGVkQ29sdW1ucyh0LmluZGV4KCkuY29sdW1uKSx0aGlzLl9lbWl0RXZlbnQoImtleS1ibHVyIixbdGhpcy5zLmR0LHRdKSl9fSxfY2xpcGJvYXJkOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5zLmR0LHQ9dGhpcyxuPXRoaXMucy5uYW1lc3BhY2Uscj10aGlzLmMuY2xpcGJvYXJkO3dpbmRvdy5nZXRTZWxlY3Rpb24mJigocj09PSEwfHxyLmNvcHkpJiZWZShkb2N1bWVudCkub24oImNvcHkiK24sZnVuY3Rpb24oaSl7dmFyIGE9aS5vcmlnaW5hbEV2ZW50LHM9d2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCksdT10LnMubGFzdEZvY3VzOyFzJiZ1JiYoYS5jbGlwYm9hcmREYXRhLnNldERhdGEoInRleHQvcGxhaW4iLHUuY2VsbC5yZW5kZXIodC5jLmNsaXBib2FyZE9ydGhvZ29uYWwpKSxhLnByZXZlbnREZWZhdWx0KCkpfSksKHI9PT0hMHx8ci5wYXN0ZSkmJlZlKGRvY3VtZW50KS5vbigicGFzdGUiK24sZnVuY3Rpb24oaSl7dmFyIGE9aS5vcmlnaW5hbEV2ZW50LHM9dC5zLmxhc3RGb2N1cyx1PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsZD10LmMuZWRpdG9yLG07aWYocyYmKCF1fHx1Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT0iYm9keSIpKWlmKGEucHJldmVudERlZmF1bHQoKSx3aW5kb3cuY2xpcGJvYXJkRGF0YSYmd2luZG93LmNsaXBib2FyZERhdGEuZ2V0RGF0YT9tPXdpbmRvdy5jbGlwYm9hcmREYXRhLmdldERhdGEoIlRleHQiKTphLmNsaXBib2FyZERhdGEmJmEuY2xpcGJvYXJkRGF0YS5nZXREYXRhJiYobT1hLmNsaXBib2FyZERhdGEuZ2V0RGF0YSgidGV4dC9wbGFpbiIpKSxkKXt2YXIgdj10Ll9pbmxpbmVPcHRpb25zKHMuY2VsbC5pbmRleCgpKTtkLmlubGluZSh2LmNlbGwsdi5maWVsZCx2Lm9wdGlvbnMpLnNldChkLmRpc3BsYXllZCgpWzBdLG0pLnN1Ym1pdCgpfWVsc2Ugcy5jZWxsLmRhdGEobSksZS5kcmF3KCExKX0pKX0sX2NvbHVtbnM6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnMuZHQsdD1lLmNvbHVtbnModGhpcy5jLmNvbHVtbnMpLmluZGV4ZXMoKSxuPVtdO3JldHVybiBlLmNvbHVtbnMoIjp2aXNpYmxlIikuZXZlcnkoZnVuY3Rpb24ocil7dC5pbmRleE9mKHIpIT09LTEmJm4ucHVzaChyKX0pLG59LF9lZGl0b3I6ZnVuY3Rpb24oZSx0LG4pe2lmKHRoaXMucy5sYXN0Rm9jdXMmJiEodCYmdC50eXBlPT09ImRyYXciKSl7dmFyIHI9dGhpcyxpPXRoaXMucy5kdCxhPXRoaXMuYy5lZGl0b3Iscz10aGlzLnMubGFzdEZvY3VzLmNlbGwsdT10aGlzLnMubmFtZXNwYWNlKyJlIitnYysrO2lmKCFWZSgiZGl2LkRURSIscy5ub2RlKCkpLmxlbmd0aCYmIShlIT09bnVsbCYmKGU+PTAmJmU8PTl8fGU9PT0xMXx8ZT09PTEyfHxlPj0xNCYmZTw9MzF8fGU+PTExMiYmZTw9MTIzfHxlPj0xMjcmJmU8PTE1OSkpKXt0JiYodC5zdG9wUHJvcGFnYXRpb24oKSxlPT09MTMmJnQucHJldmVudERlZmF1bHQoKSk7dmFyIGQ9ZnVuY3Rpb24oKXt2YXIgbT1yLl9pbmxpbmVPcHRpb25zKHMuaW5kZXgoKSk7YS5vbmUoIm9wZW4iK3UsZnVuY3Rpb24oKXthLm9mZigiY2FuY2VsT3BlbiIrdSksbnx8VmUoImRpdi5EVEVfRmllbGRfSW5wdXRDb250cm9sIGlucHV0LCBkaXYuRFRFX0ZpZWxkX0lucHV0Q29udHJvbCB0ZXh0YXJlYSIpLnNlbGVjdCgpLGkua2V5cy5lbmFibGUobj8idGFiLW9ubHkiOiJuYXZpZ2F0aW9uLW9ubHkiKSxpLm9uKCJrZXktYmx1ci5lZGl0b3IiLGZ1bmN0aW9uKHYsZyx3KXthLnMuZWRpdE9wdHMub25CbHVyIT09InN1Ym1pdCImJmEuZGlzcGxheWVkKCkmJncubm9kZSgpPT09cy5ub2RlKCkmJmEuc3VibWl0KCl9KSxuJiZWZShpLnRhYmxlKCkuY29udGFpbmVyKCkpLmFkZENsYXNzKCJkdGstZm9jdXMtYWx0IiksYS5vbigicHJlU3VibWl0Q2FuY2VsbGVkIit1LGZ1bmN0aW9uKCl7c2V0VGltZW91dChmdW5jdGlvbigpe3IuX2ZvY3VzKHMsbnVsbCwhMSl9LDUwKX0pLGEub24oInN1Ym1pdFVuc3VjY2Vzc2Z1bCIrdSxmdW5jdGlvbigpe3IuX2ZvY3VzKHMsbnVsbCwhMSl9KSxhLm9uZSgiY2xvc2UiK3UsZnVuY3Rpb24oKXtpLmtleXMuZW5hYmxlKCEwKSxpLm9mZigia2V5LWJsdXIuZWRpdG9yIiksYS5vZmYodSksVmUoaS50YWJsZSgpLmNvbnRhaW5lcigpKS5yZW1vdmVDbGFzcygiZHRrLWZvY3VzLWFsdCIpLHIucy5yZXR1cm5TdWJtaXQmJihyLnMucmV0dXJuU3VibWl0PSExLHIuX2VtaXRFdmVudCgia2V5LXJldHVybi1zdWJtaXQiLFtpLHNdKSl9KX0pLm9uZSgiY2FuY2VsT3BlbiIrdSxmdW5jdGlvbigpe2Eub2ZmKHUpfSkuaW5saW5lKG0uY2VsbCxtLmZpZWxkLG0ub3B0aW9ucyl9O2U9PT0xMz8obj0hMCxWZShkb2N1bWVudCkub25lKCJrZXl1cCIsZnVuY3Rpb24oKXtkKCl9KSk6ZCgpfX19LF9pbmxpbmVPcHRpb25zOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmMuZWRpdG9yT3B0aW9ucz90aGlzLmMuZWRpdG9yT3B0aW9ucyhlKTp7Y2VsbDplLGZpZWxkOnZvaWQgMCxvcHRpb25zOnZvaWQgMH19LF9lbWl0RXZlbnQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5zLmR0Lml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24obixyKXtyZXR1cm4gVmUobi5uVGFibGUpLnRyaWdnZXJIYW5kbGVyKGUsdCl9KX0sX2ZvY3VzOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpPXRoaXMsYT10aGlzLnMuZHQscz1hLnBhZ2UuaW5mbygpLHU9dGhpcy5zLmxhc3RGb2N1cztpZihyfHwocj1udWxsKSwhIXRoaXMucy5lbmFibGUpe2lmKHR5cGVvZiBlIT0ibnVtYmVyIil7aWYoIWUuYW55KCkpcmV0dXJuO3ZhciBkPWUuaW5kZXgoKTtpZih0PWQuY29sdW1uLGU9YS5yb3dzKHtmaWx0ZXI6ImFwcGxpZWQiLG9yZGVyOiJhcHBsaWVkIn0pLmluZGV4ZXMoKS5pbmRleE9mKGQucm93KSxlPDApcmV0dXJuO3Muc2VydmVyU2lkZSYmKGUrPXMuc3RhcnQpfWlmKHMubGVuZ3RoIT09LTEmJihlPHMuc3RhcnR8fGU+PXMuc3RhcnQrcy5sZW5ndGgpKXt0aGlzLnMuZm9jdXNEcmF3PSEwLHRoaXMucy53YWl0aW5nRm9yRHJhdz0hMCxhLm9uZSgiZHJhdyIsZnVuY3Rpb24oKXtpLnMuZm9jdXNEcmF3PSExLGkucy53YWl0aW5nRm9yRHJhdz0hMSxpLl9mb2N1cyhlLHQsdm9pZCAwLHIpfSkucGFnZShNYXRoLmZsb29yKGUvcy5sZW5ndGgpKS5kcmF3KCExKTtyZXR1cm59aWYoVmUuaW5BcnJheSh0LHRoaXMuX2NvbHVtbnMoKSkhPT0tMSl7cy5zZXJ2ZXJTaWRlJiYoZS09cy5zdGFydCk7dmFyIG09YS5jZWxscyhudWxsLHQse3NlYXJjaDoiYXBwbGllZCIsb3JkZXI6ImFwcGxpZWQifSkuZmxhdHRlbigpLHY9YS5jZWxsKG1bZV0pLGc9dGhpcy5fZW1pdEV2ZW50KCJrZXktcHJlZm9jdXMiLFt0aGlzLnMuZHQsdixyfHxudWxsXSk7aWYoZy5pbmRleE9mKCExKT09PS0xKXtpZih1KXtpZih1Lm5vZGU9PT12Lm5vZGUoKSl7dGhpcy5fZW1pdEV2ZW50KCJrZXktcmVmb2N1cyIsW3RoaXMucy5kdCx2LHJ8fG51bGxdKTtyZXR1cm59dGhpcy5fYmx1cigpfXRoaXMuX3JlbW92ZU90aGVyRm9jdXMoKTt2YXIgdz1WZSh2Lm5vZGUoKSk7aWYody5hZGRDbGFzcyh0aGlzLmMuY2xhc3NOYW1lKSx0aGlzLl91cGRhdGVGaXhlZENvbHVtbnModCksbj09PXZvaWQgMHx8bj09PSEwKXt0aGlzLl9zY3JvbGwoVmUod2luZG93KSxWZShkb2N1bWVudC5ib2R5KSx3LCJvZmZzZXQiKTt2YXIgYj1hLnRhYmxlKCkuYm9keSgpLnBhcmVudE5vZGU7aWYoYiE9PWEudGFibGUoKS5oZWFkZXIoKS5wYXJlbnROb2RlKXt2YXIgVD1WZShiLnBhcmVudE5vZGUpO3RoaXMuX3Njcm9sbChULFQsdywicG9zaXRpb24iKX19dmFyIEQ9YS5wYWdlLmluZm8oKTt0aGlzLnMubGFzdEZvY3VzPXtjZWxsOnYsbm9kZTp2Lm5vZGUoKSxyZWxhdGl2ZTp7cm93OkQuc3RhcnQrYS5yb3dzKHtwYWdlOiJjdXJyZW50In0pLmluZGV4ZXMoKS5pbmRleE9mKHYuaW5kZXgoKS5yb3cpLGNvbHVtbjp2LmluZGV4KCkuY29sdW1ufX0sdGhpcy5fZW1pdEV2ZW50KCJrZXktZm9jdXMiLFt0aGlzLnMuZHQsdixyfHxudWxsXSksYS5zdGF0ZS5zYXZlKCl9fX19LF9rZXk6ZnVuY3Rpb24oZSl7aWYodGhpcy5zLndhaXRpbmdGb3JEcmF3KXtlLnByZXZlbnREZWZhdWx0KCk7cmV0dXJufWlmKCFWZShlLnRhcmdldCkuY2xvc2VzdCgiLmR0ZS1pbmxpbmVBZGQiKS5sZW5ndGgpe3ZhciB0PXRoaXMucy5lbmFibGU7dGhpcy5zLnJldHVyblN1Ym1pdD0odD09PSJuYXZpZ2F0aW9uLW9ubHkifHx0PT09InRhYi1vbmx5IikmJmUua2V5Q29kZT09PTEzO3ZhciBuPXQ9PT0hMHx8dD09PSJuYXZpZ2F0aW9uLW9ubHkiO2lmKHQmJiEoKGUua2V5Q29kZT09PTB8fGUuY3RybEtleXx8ZS5tZXRhS2V5fHxlLmFsdEtleSkmJiEoZS5jdHJsS2V5JiZlLmFsdEtleSkpKXt2YXIgcj10aGlzLnMubGFzdEZvY3VzO2lmKHIpe2lmKCF0aGlzLnMuZHQuY2VsbChyLm5vZGUpLmFueSgpKXt0aGlzLnMubGFzdEZvY3VzPW51bGw7cmV0dXJufXZhciBpPXRoaXMsYT10aGlzLnMuZHQscz0hIXRoaXMucy5kdC5zZXR0aW5ncygpWzBdLm9TY3JvbGwuc1k7aWYoISh0aGlzLmMua2V5cyYmVmUuaW5BcnJheShlLmtleUNvZGUsdGhpcy5jLmtleXMpPT09LTEpKXN3aXRjaChlLmtleUNvZGUpe2Nhc2UgOTplLnByZXZlbnREZWZhdWx0KCksdGhpcy5fa2V5QWN0aW9uKGZ1bmN0aW9uKCl7aS5fc2hpZnQoZSxlLnNoaWZ0S2V5PyJsZWZ0IjoicmlnaHQiLCEwKX0pO2JyZWFrO2Nhc2UgMjc6aWYoVmUoci5ub2RlKS5maW5kKCJkaXYuRFRFIikubGVuZ3RoKXJldHVybjt0aGlzLmMuYmx1cmFibGUmJnQ9PT0hMCYmdGhpcy5fYmx1cigpO2JyZWFrO2Nhc2UgMzM6Y2FzZSAzNDpuJiYhcyYmKGUucHJldmVudERlZmF1bHQoKSx0aGlzLl9rZXlBY3Rpb24oZnVuY3Rpb24oKXthLnBhZ2UoZS5rZXlDb2RlPT09MzM/InByZXZpb3VzIjoibmV4dCIpLmRyYXcoITEpfSkpO2JyZWFrO2Nhc2UgMzU6Y2FzZSAzNjpuJiYoZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2tleUFjdGlvbihmdW5jdGlvbigpe3ZhciB1PWEuY2VsbHMoe3BhZ2U6ImN1cnJlbnQifSkuaW5kZXhlcygpLGQ9aS5fY29sdW1ucygpO2kuX2ZvY3VzKGEuY2VsbCh1W2Uua2V5Q29kZT09PTM1P3UubGVuZ3RoLTE6ZFswXV0pLG51bGwsITAsZSl9KSk7YnJlYWs7Y2FzZSAzNzpuJiZ0aGlzLl9rZXlBY3Rpb24oZnVuY3Rpb24oKXtpLl9zaGlmdChlLCJsZWZ0Iil9KTticmVhaztjYXNlIDM4Om4mJnRoaXMuX2tleUFjdGlvbihmdW5jdGlvbigpe2kuX3NoaWZ0KGUsInVwIil9KTticmVhaztjYXNlIDM5Om4mJnRoaXMuX2tleUFjdGlvbihmdW5jdGlvbigpe2kuX3NoaWZ0KGUsInJpZ2h0Iil9KTticmVhaztjYXNlIDQwOm4mJnRoaXMuX2tleUFjdGlvbihmdW5jdGlvbigpe2kuX3NoaWZ0KGUsImRvd24iKX0pO2JyZWFrO2Nhc2UgMTEzOmlmKHRoaXMuYy5lZGl0b3Ipe3RoaXMuX2VkaXRvcihudWxsLGUsITApO2JyZWFrfWRlZmF1bHQ6dD09PSEwJiZ0aGlzLl9lbWl0RXZlbnQoImtleSIsW2EsZS5rZXlDb2RlLHRoaXMucy5sYXN0Rm9jdXMuY2VsbCxlXSk7YnJlYWt9fX19fSxfa2V5QWN0aW9uOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuYy5lZGl0b3I7dCYmdC5tb2RlKCkmJnQuZGlzcGxheSgpP3Quc3VibWl0KGUpOmUoKX0sX3JlbW92ZU90aGVyRm9jdXM6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnMuZHQudGFibGUoKS5ub2RlKCk7VmUuZm4uZGF0YVRhYmxlLnRhYmxlcyh7YXBpOiEwfSkuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbih0KXt0aGlzLnRhYmxlKCkubm9kZSgpIT09ZSYmdGhpcy5jZWxsLmJsdXIoKX0pfSxfc2Nyb2xsOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpPW5bcl0oKSxhPW4ub3V0ZXJIZWlnaHQoKSxzPW4ub3V0ZXJXaWR0aCgpLHU9dC5zY3JvbGxUb3AoKSxkPXQuc2Nyb2xsTGVmdCgpLG09ZS5oZWlnaHQoKSx2PWUud2lkdGgoKTtyPT09InBvc2l0aW9uIiYmKGkudG9wKz1wYXJzZUludChuLmNsb3Nlc3QoInRhYmxlIikuY3NzKCJ0b3AiKSwxMCkpLGkudG9wPHUmJmkudG9wK2E+dS01JiZ0LnNjcm9sbFRvcChpLnRvcCksaS5sZWZ0PGQmJnQuc2Nyb2xsTGVmdChpLmxlZnQpLGkudG9wK2E+dSttJiZpLnRvcDx1K20rNSYmYTxtJiZ0LnNjcm9sbFRvcChpLnRvcCthLW0pLGkubGVmdCtzPmQrdiYmczx2JiZ0LnNjcm9sbExlZnQoaS5sZWZ0K3Mtdil9LF9zaGlmdDpmdW5jdGlvbihlLHQsbil7dmFyIHI9dGhpcy5zLmR0LGk9ci5wYWdlLmluZm8oKSxhPWkucmVjb3Jkc0Rpc3BsYXkscz10aGlzLl9jb2x1bW5zKCksdT10aGlzLnMubGFzdEZvY3VzO2lmKHUpe3ZhciBkPXUuY2VsbDtpZihkKXt2YXIgbT1yLnJvd3Moe2ZpbHRlcjoiYXBwbGllZCIsb3JkZXI6ImFwcGxpZWQifSkuaW5kZXhlcygpLmluZGV4T2YoZC5pbmRleCgpLnJvdyk7aS5zZXJ2ZXJTaWRlJiYobSs9aS5zdGFydCk7dmFyIHY9ci5jb2x1bW5zKHMpLmluZGV4ZXMoKS5pbmRleE9mKGQuaW5kZXgoKS5jb2x1bW4pLGc9bSx3PXNbdl07VmUoci50YWJsZSgpLm5vZGUoKSkuY3NzKCJkaXJlY3Rpb24iKT09PSJydGwiJiYodD09PSJyaWdodCI/dD0ibGVmdCI6dD09PSJsZWZ0IiYmKHQ9InJpZ2h0IikpLHQ9PT0icmlnaHQiP3Y+PXMubGVuZ3RoLTE/KGcrKyx3PXNbMF0pOnc9c1t2KzFdOnQ9PT0ibGVmdCI/dj09PTA/KGctLSx3PXNbcy5sZW5ndGgtMV0pOnc9c1t2LTFdOnQ9PT0idXAiP2ctLTp0PT09ImRvd24iJiZnKyssZz49MCYmZzxhJiZWZS5pbkFycmF5KHcscykhPT0tMT8oZSYmZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2ZvY3VzKGcsdywhMCxlKSk6IW58fCF0aGlzLmMuYmx1cmFibGU/ZSYmZS5wcmV2ZW50RGVmYXVsdCgpOnRoaXMuX2JsdXIoKX19fSxfdGFiSW5wdXQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9dGhpcy5zLmR0LG49dGhpcy5jLnRhYkluZGV4IT09bnVsbD90aGlzLmMudGFiSW5kZXg6dC5zZXR0aW5ncygpWzBdLmlUYWJJbmRleDtpZihuIT0tMSl7aWYoIXRoaXMucy50YWJJbnB1dCl7dmFyIHI9VmUoJzxkaXY+PGlucHV0IHR5cGU9InRleHQiIHRhYmluZGV4PSInK24rJyIvPjwvZGl2PicpLmNzcyh7cG9zaXRpb246ImFic29sdXRlIixoZWlnaHQ6MSx3aWR0aDowLG92ZXJmbG93OiJoaWRkZW4ifSk7ci5jaGlsZHJlbigpLm9uKCJmb2N1cyIsZnVuY3Rpb24oYSl7dmFyIHM9dC5jZWxsKCI6ZXEoMCkiLGUuX2NvbHVtbnMoKSx7cGFnZToiY3VycmVudCJ9KTtzLmFueSgpJiZlLl9mb2N1cyhzLG51bGwsITAsYSl9KSx0aGlzLnMudGFiSW5wdXQ9cn12YXIgaT10aGlzLnMuZHQuY2VsbCgiOmVxKDApIiwiMDp2aXNpYmxlIix7cGFnZToiY3VycmVudCIsb3JkZXI6ImN1cnJlbnQifSkubm9kZSgpO2kmJlZlKGkpLnByZXBlbmQodGhpcy5zLnRhYklucHV0KX19LF91cGRhdGVGaXhlZENvbHVtbnM6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5zLmR0LG49dC5zZXR0aW5ncygpWzBdO2lmKG4uX29GaXhlZENvbHVtbnMpe3ZhciByPW4uX29GaXhlZENvbHVtbnMucy5pTGVmdENvbHVtbnMsaT1uLmFvQ29sdW1ucy5sZW5ndGgtbi5fb0ZpeGVkQ29sdW1ucy5zLmlSaWdodENvbHVtbnM7KGU8cnx8ZT49aSkmJnQuZml4ZWRDb2x1bW5zKCkudXBkYXRlKCl9fX0pO0luLmRlZmF1bHRzPXtibHVyYWJsZTohMCxjbGFzc05hbWU6ImZvY3VzIixjbGlwYm9hcmQ6ITAsY2xpcGJvYXJkT3J0aG9nb25hbDoiZGlzcGxheSIsY29sdW1uczoiIixlZGl0b3I6bnVsbCxlZGl0T25Gb2N1czohMSxlZGl0b3JPcHRpb25zOm51bGwsZm9jdXM6bnVsbCxrZXlzOm51bGwsdGFiSW5kZXg6bnVsbH07SW4udmVyc2lvbj0iMi4xMi4xIjtWZS5mbi5kYXRhVGFibGUuS2V5VGFibGU9SW47VmUuZm4uRGF0YVRhYmxlLktleVRhYmxlPUluO3RlLkFwaS5yZWdpc3RlcigiY2VsbC5ibHVyKCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihlKXtlLmtleXRhYmxlJiZlLmtleXRhYmxlLmJsdXIoKX0pfSk7dGUuQXBpLnJlZ2lzdGVyKCJjZWxsKCkuZm9jdXMoKSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigiY2VsbCIsZnVuY3Rpb24oZSx0LG4pe2Uua2V5dGFibGUmJmUua2V5dGFibGUuZm9jdXModCxuKX0pfSk7dGUuQXBpLnJlZ2lzdGVyKCJrZXlzLmRpc2FibGUoKSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGUpe2Uua2V5dGFibGUmJmUua2V5dGFibGUuZW5hYmxlKCExKX0pfSk7dGUuQXBpLnJlZ2lzdGVyKCJrZXlzLmVuYWJsZSgpIixmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKHQpe3Qua2V5dGFibGUmJnQua2V5dGFibGUuZW5hYmxlKGU9PT12b2lkIDA/ITA6ZSl9KX0pO3RlLkFwaS5yZWdpc3Rlcigia2V5cy5lbmFibGVkKCkiLGZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuY29udGV4dDtyZXR1cm4gdC5sZW5ndGgmJnRbMF0ua2V5dGFibGU/dFswXS5rZXl0YWJsZS5lbmFibGVkKCk6ITF9KTt0ZS5BcGkucmVnaXN0ZXIoImtleXMubW92ZSgpIixmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKHQpe3Qua2V5dGFibGUmJnQua2V5dGFibGUuX3NoaWZ0KG51bGwsZSwhMSl9KX0pO3RlLmV4dC5zZWxlY3Rvci5jZWxsLnB1c2goZnVuY3Rpb24oZSx0LG4pe3ZhciByPXQuZm9jdXNlZCxpPWUua2V5dGFibGUsYT1bXTtpZighaXx8cj09PXZvaWQgMClyZXR1cm4gbjtmb3IodmFyIHM9MCx1PW4ubGVuZ3RoO3M8dTtzKyspKHI9PT0hMCYmaS5mb2N1c2VkKG5bc10pfHxyPT09ITEmJiFpLmZvY3VzZWQobltzXSkpJiZhLnB1c2gobltzXSk7cmV0dXJuIGF9KTtWZShkb2N1bWVudCkub24oInByZUluaXQuZHQuZHRrIixmdW5jdGlvbihlLHQsbil7aWYoZS5uYW1lc3BhY2U9PT0iZHQiKXt2YXIgcj10Lm9Jbml0LmtleXMsaT10ZS5kZWZhdWx0cy5rZXlzO2lmKHJ8fGkpe3ZhciBhPVZlLmV4dGVuZCh7fSxpLHIpO3IhPT0hMSYmbmV3IEluKHQsYSl9fX0pO3ZhciBiYz1zdChvdCgpLDEpO3ZhciBQbz1zdChvdCgpLDEpO3ZhciBSdD1Qby5kZWZhdWx0LE5uPWZ1bmN0aW9uKGUsdCl7aWYoIXRlLnZlcnNpb25DaGVja3x8IXRlLnZlcnNpb25DaGVjaygiMS4xMSIpKXRocm93IlJvd0dyb3VwIHJlcXVpcmVzIERhdGFUYWJsZXMgMS4xMSBvciBuZXdlciI7dGhpcy5jPVJ0LmV4dGVuZCghMCx7fSx0ZS5kZWZhdWx0cy5yb3dHcm91cCxObi5kZWZhdWx0cyx0KSx0aGlzLnM9e2R0Om5ldyB0ZS5BcGkoZSl9LHRoaXMuZG9tPXt9O3ZhciBuPXRoaXMucy5kdC5zZXR0aW5ncygpWzBdLHI9bi5yb3dHcm91cDtpZihyKXJldHVybiByO24ucm93R3JvdXA9dGhpcyx0aGlzLl9jb25zdHJ1Y3RvcigpfTtSdC5leHRlbmQoTm4ucHJvdG90eXBlLHtkYXRhU3JjOmZ1bmN0aW9uKGUpe2lmKGU9PT12b2lkIDApcmV0dXJuIHRoaXMuYy5kYXRhU3JjO3ZhciB0PXRoaXMucy5kdDtyZXR1cm4gdGhpcy5jLmRhdGFTcmM9ZSxSdCh0LnRhYmxlKCkubm9kZSgpKS50cmlnZ2VySGFuZGxlcigicm93Z3JvdXAtZGF0YXNyYy5kdCIsW3QsZV0pLHRoaXN9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jLmVuYWJsZT0hMSx0aGlzfSxlbmFibGU6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT0hMT90aGlzLmRpc2FibGUoKToodGhpcy5jLmVuYWJsZT0hMCx0aGlzKX0sZW5hYmxlZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmMuZW5hYmxlfSxfY29uc3RydWN0b3I6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9dGhpcy5zLmR0LG49dC5zZXR0aW5ncygpWzBdLHI9UnQoImRpdi5kdC1zY3JvbGwtYm9keSIsdC50YWJsZSgpLmNvbnRhaW5lcigpKTt0Lm9uKCJkcmF3LmR0cmciLGZ1bmN0aW9uKGEscyl7ZS5jLmVuYWJsZSYmbj09PXMmJihlLl9kcmF3KCksaSYmci5zY3JvbGxUb3AoKSYmKHIuc2Nyb2xsVG9wKGkpLGk9bnVsbCkpfSksdC5vbigiY29sdW1uLXZpc2liaWxpdHkuZHQuZHRyZyByZXNwb25zaXZlLXJlc2l6ZS5kdC5kdHJnIixmdW5jdGlvbigpe2UuX2FkanVzdENvbHNwYW4oKX0pLHQub24oImRlc3Ryb3kiLGZ1bmN0aW9uKCl7dC5vZmYoIi5kdHJnIil9KTt2YXIgaT1udWxsO3IubGVuZ3RoJiZ0Lm9uKCJwcmVEcmF3IixmdW5jdGlvbigpe2k9ci5zY3JvbGxUb3AoKX0pfSxfYWRqdXN0Q29sc3BhbjpmdW5jdGlvbigpe1J0KCJ0ci4iK3RoaXMuYy5jbGFzc05hbWUsdGhpcy5zLmR0LnRhYmxlKCkuYm9keSgpKS5maW5kKCJ0aDp2aXNpYmxlLCB0ZDp2aXNpYmxlIikuYXR0cigiY29sc3BhbiIsdGhpcy5fY29sc3BhbigpKX0sX2NvbHNwYW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zLmR0LmNvbHVtbnMoKS52aXNpYmxlKCkucmVkdWNlKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUrdH0sMCl9LF9kcmF3OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5zLmR0LHQ9dGhpcy5fZ3JvdXAoMCxlLnJvd3Moe3BhZ2U6ImN1cnJlbnQifSkuaW5kZXhlcygpKTt0aGlzLl9ncm91cERpc3BsYXkoMCx0KX0sX2dyb3VwOmZ1bmN0aW9uKGUsdCl7dmFyIG49QXJyYXkuaXNBcnJheSh0aGlzLmMuZGF0YVNyYyk/dGhpcy5jLmRhdGFTcmM6W3RoaXMuYy5kYXRhU3JjXSxyPXRlLnV0aWwuZ2V0KG5bZV0pLGk9dGhpcy5zLmR0LGEscyx1LGQsbT1bXSx2PXRoaXM7Zm9yKHU9MCxkPXQubGVuZ3RoO3U8ZDt1Kyspe3ZhciBnPXRbdV0sdz1pLnJvdyhnKS5kYXRhKCk7YT1yKHcsZSksYT09bnVsbCYmKGE9di5jLmVtcHR5RGF0YUdyb3VwKSwocz09PXZvaWQgMHx8YSE9PXMpJiYobS5wdXNoKHtkYXRhUG9pbnQ6YSxyb3dzOltdfSkscz1hKSxtW20ubGVuZ3RoLTFdLnJvd3MucHVzaChnKX1pZihuW2UrMV0hPT12b2lkIDApZm9yKHU9MCxkPW0ubGVuZ3RoO3U8ZDt1KyspbVt1XS5jaGlsZHJlbj10aGlzLl9ncm91cChlKzEsbVt1XS5yb3dzKTtyZXR1cm4gbX0sX2dyb3VwRGlzcGxheTpmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj10aGlzLnMuZHQscixpPTAsYT10Lmxlbmd0aDtpPGE7aSsrKXt2YXIgcz10W2ldLHU9cy5kYXRhUG9pbnQsZCxtPXMucm93czt0aGlzLmMuc3RhcnRSZW5kZXImJihyPXRoaXMuYy5zdGFydFJlbmRlci5jYWxsKHRoaXMsbi5yb3dzKG0pLHUsZSksZD10aGlzLl9yb3dXcmFwKHIsdGhpcy5jLnN0YXJ0Q2xhc3NOYW1lLGUpLGQmJmQuaW5zZXJ0QmVmb3JlKG4ucm93KG1bMF0pLm5vZGUoKSkpLHRoaXMuYy5lbmRSZW5kZXImJihyPXRoaXMuYy5lbmRSZW5kZXIuY2FsbCh0aGlzLG4ucm93cyhtKSx1LGUpLGQ9dGhpcy5fcm93V3JhcChyLHRoaXMuYy5lbmRDbGFzc05hbWUsZSksZCYmZC5pbnNlcnRBZnRlcihuLnJvdyhtW20ubGVuZ3RoLTFdKS5ub2RlKCkpKSxzLmNoaWxkcmVuJiZ0aGlzLl9ncm91cERpc3BsYXkoZSsxLHMuY2hpbGRyZW4pfX0sX3Jvd1dyYXA6ZnVuY3Rpb24oZSx0LG4pe3ZhciByO3JldHVybihlPT09bnVsbHx8ZT09PSIiKSYmKGU9dGhpcy5jLmVtcHR5RGF0YUdyb3VwKSxlPT1udWxsP251bGw6KHR5cGVvZiBlPT0ib2JqZWN0IiYmZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09InRyIj9yPVJ0KGUpOmUgaW5zdGFuY2VvZiBSdCYmZS5sZW5ndGgmJmVbMF0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PSJ0ciI/cj1lOnI9UnQoIjx0ci8+IikuYXBwZW5kKFJ0KCI8dGgvPiIpLmF0dHIoImNvbHNwYW4iLHRoaXMuX2NvbHNwYW4oKSkuYXR0cigic2NvcGUiLCJyb3ciKS5hcHBlbmQoZSkpLHIuYWRkQ2xhc3ModGhpcy5jLmNsYXNzTmFtZSkuYWRkQ2xhc3ModCkuYWRkQ2xhc3MoImR0cmctbGV2ZWwtIituKSl9fSk7Tm4uZGVmYXVsdHM9e2NsYXNzTmFtZToiZHRyZy1ncm91cCIsZGF0YVNyYzowLGVtcHR5RGF0YUdyb3VwOiJObyBncm91cCIsZW5hYmxlOiEwLGVuZENsYXNzTmFtZToiZHRyZy1lbmQiLGVuZFJlbmRlcjpudWxsLHN0YXJ0Q2xhc3NOYW1lOiJkdHJnLXN0YXJ0IixzdGFydFJlbmRlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0fX07Tm4udmVyc2lvbj0iMS41LjIiO1J0LmZuLmRhdGFUYWJsZS5Sb3dHcm91cD1ObjtSdC5mbi5EYXRhVGFibGUuUm93R3JvdXA9Tm47dGUuQXBpLnJlZ2lzdGVyKCJyb3dHcm91cCgpIixmdW5jdGlvbigpe3JldHVybiB0aGlzfSk7dGUuQXBpLnJlZ2lzdGVyKCJyb3dHcm91cCgpLmRpc2FibGUoKSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGUpe2Uucm93R3JvdXAmJmUucm93R3JvdXAuZW5hYmxlKCExKX0pfSk7dGUuQXBpLnJlZ2lzdGVyKCJyb3dHcm91cCgpLmVuYWJsZSgpIixmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKHQpe3Qucm93R3JvdXAmJnQucm93R3JvdXAuZW5hYmxlKGU9PT12b2lkIDA/ITA6ZSl9KX0pO3RlLkFwaS5yZWdpc3Rlcigicm93R3JvdXAoKS5lbmFibGVkKCkiLGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5jb250ZXh0O3JldHVybiBlLmxlbmd0aCYmZVswXS5yb3dHcm91cD9lWzBdLnJvd0dyb3VwLmVuYWJsZWQoKTohMX0pO3RlLkFwaS5yZWdpc3Rlcigicm93R3JvdXAoKS5kYXRhU3JjKCkiLGZ1bmN0aW9uKGUpe3JldHVybiBlPT09dm9pZCAwP3RoaXMuY29udGV4dFswXS5yb3dHcm91cC5kYXRhU3JjKCk6dGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKHQpe3Qucm93R3JvdXAmJnQucm93R3JvdXAuZGF0YVNyYyhlKX0pfSk7UnQoZG9jdW1lbnQpLm9uKCJwcmVJbml0LmR0LmR0cmciLGZ1bmN0aW9uKGUsdCxuKXtpZihlLm5hbWVzcGFjZT09PSJkdCIpe3ZhciByPXQub0luaXQucm93R3JvdXAsaT10ZS5kZWZhdWx0cy5yb3dHcm91cDtpZihyfHxpKXt2YXIgYT1SdC5leHRlbmQoe30saSxyKTtyIT09ITEmJm5ldyBObih0LGEpfX19KTt2YXIgT289c3Qob3QoKSwxKTt2YXIgSGU9T28uZGVmYXVsdCxtdCxodD1mdW5jdGlvbihlLHQpe2lmKGh0LmZhY3RvcnkoZSx0KSlyZXR1cm4gaHQ7dHlwZW9mIG10PiJ1IiYmKG10PXdpbmRvdy5tb21lbnQ/d2luZG93Lm1vbWVudDp3aW5kb3cuZGF5anM/d2luZG93LmRheWpzOndpbmRvdy5sdXhvbj93aW5kb3cubHV4b246bnVsbCksdGhpcy5jPUhlLmV4dGVuZCghMCx7fSxodC5kZWZhdWx0cyx0KTt2YXIgbj10aGlzLmMuY2xhc3NQcmVmaXg7aWYoIW10JiZ0aGlzLmMuZm9ybWF0IT09IllZWVktTU0tREQiKXRocm93IkRhdGVUaW1lOiBXaXRob3V0IG1vbWVudGpzLCBkYXlqcyBvciBsdXhvbiBvbmx5IHRoZSBmb3JtYXQgJ1lZWVktTU0tREQnIGNhbiBiZSB1c2VkIjt0aGlzLl9pc0x1eG9uKCkmJnRoaXMuYy5mb3JtYXQ9PSJZWVlZLU1NLUREIiYmKHRoaXMuYy5mb3JtYXQ9Inl5eXktTU0tZGQiKSx0eXBlb2YgdGhpcy5jLm1pbkRhdGU9PSJzdHJpbmciJiYodGhpcy5jLm1pbkRhdGU9bmV3IERhdGUodGhpcy5jLm1pbkRhdGUpKSx0eXBlb2YgdGhpcy5jLm1heERhdGU9PSJzdHJpbmciJiYodGhpcy5jLm1heERhdGU9bmV3IERhdGUodGhpcy5jLm1heERhdGUpKTt2YXIgcj1IZSgnPGRpdiBjbGFzcz0iJytuKyciPjxkaXYgY2xhc3M9IicrbisnLWRhdGUiPjxkaXYgY2xhc3M9IicrbisnLXRpdGxlIj48ZGl2IGNsYXNzPSInK24rJy1pY29uTGVmdCI+PGJ1dHRvbiB0eXBlPSJidXR0b24iPjwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9IicrbisnLWljb25SaWdodCI+PGJ1dHRvbiB0eXBlPSJidXR0b24iPjwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9IicrbisnLWxhYmVsIj48c3Bhbj48L3NwYW4+PHNlbGVjdCBjbGFzcz0iJytuKyctbW9udGgiPjwvc2VsZWN0PjwvZGl2PjxkaXYgY2xhc3M9IicrbisnLWxhYmVsIj48c3Bhbj48L3NwYW4+PHNlbGVjdCBjbGFzcz0iJytuKycteWVhciI+PC9zZWxlY3Q+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iJytuKyctYnV0dG9ucyI+PGEgY2xhc3M9IicrbisnLWNsZWFyIj48L2E+PGEgY2xhc3M9IicrbisnLXRvZGF5Ij48L2E+PC9kaXY+PGRpdiBjbGFzcz0iJytuKyctY2FsZW5kYXIiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9IicrbisnLXRpbWUiPjxkaXYgY2xhc3M9IicrbisnLWhvdXJzIj48L2Rpdj48ZGl2IGNsYXNzPSInK24rJy1taW51dGVzIj48L2Rpdj48ZGl2IGNsYXNzPSInK24rJy1zZWNvbmRzIj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSInK24rJy1lcnJvciI+PC9kaXY+PC9kaXY+Jyk7dGhpcy5kb209e2NvbnRhaW5lcjpyLGRhdGU6ci5maW5kKCIuIituKyItZGF0ZSIpLHRpdGxlOnIuZmluZCgiLiIrbisiLXRpdGxlIiksY2FsZW5kYXI6ci5maW5kKCIuIituKyItY2FsZW5kYXIiKSx0aW1lOnIuZmluZCgiLiIrbisiLXRpbWUiKSxlcnJvcjpyLmZpbmQoIi4iK24rIi1lcnJvciIpLGJ1dHRvbnM6ci5maW5kKCIuIituKyItYnV0dG9ucyIpLGNsZWFyOnIuZmluZCgiLiIrbisiLWNsZWFyIiksdG9kYXk6ci5maW5kKCIuIituKyItdG9kYXkiKSxwcmV2aW91czpyLmZpbmQoIi4iK24rIi1pY29uTGVmdCIpLG5leHQ6ci5maW5kKCIuIituKyItaWNvblJpZ2h0IiksaW5wdXQ6SGUoZSl9LHRoaXMucz17ZDpudWxsLGRpc3BsYXk6bnVsbCxtaW51dGVzUmFuZ2U6bnVsbCxzZWNvbmRzUmFuZ2U6bnVsbCxuYW1lc3BhY2U6ImRhdGVpbWUtIitodC5faW5zdGFuY2UrKyxwYXJ0czp7ZGF0ZTp0aGlzLmMuZm9ybWF0Lm1hdGNoKC9beVlNRGRdfEwoPyFUKXxsLykhPT1udWxsLHRpbWU6dGhpcy5jLmZvcm1hdC5tYXRjaCgvW0hobV18TFR8TFRTLykhPT1udWxsLHNlY29uZHM6dGhpcy5jLmZvcm1hdC5pbmRleE9mKCJzIikhPT0tMSxob3VyczEyOnRoaXMuYy5mb3JtYXQubWF0Y2goL1toYUFdLykhPT1udWxsfSxzaG93VG86bnVsbH0sdGhpcy5kb20uY29udGFpbmVyLmFwcGVuZCh0aGlzLmRvbS5kYXRlKS5hcHBlbmQodGhpcy5kb20udGltZSkuYXBwZW5kKHRoaXMuZG9tLmVycm9yKSx0aGlzLmRvbS5kYXRlLmFwcGVuZCh0aGlzLmRvbS50aXRsZSkuYXBwZW5kKHRoaXMuZG9tLmJ1dHRvbnMpLmFwcGVuZCh0aGlzLmRvbS5jYWxlbmRhciksdGhpcy5kb20uaW5wdXQuYWRkQ2xhc3MoImR0LWRhdGV0aW1lIiksdGhpcy5fY29uc3RydWN0b3IoKX07SGUuZXh0ZW5kKGh0LnByb3RvdHlwZSx7ZGVzdHJveTpmdW5jdGlvbigpe2NsZWFyVGltZW91dCh0aGlzLnMuc2hvd1RvKSx0aGlzLl9oaWRlKCEwKSx0aGlzLmRvbS5jb250YWluZXIub2ZmKCkuZW1wdHkoKSx0aGlzLmRvbS5pbnB1dC5yZW1vdmVDbGFzcygiZHQtZGF0ZXRpbWUiKS5yZW1vdmVBdHRyKCJhdXRvY29tcGxldGUiKS5vZmYoIi5kYXRldGltZSIpfSxkaXNwbGF5OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUhPT12b2lkIDAmJnRoaXMucy5kaXNwbGF5LnNldFVUQ0Z1bGxZZWFyKGUpLHQhPT12b2lkIDAmJnRoaXMucy5kaXNwbGF5LnNldFVUQ01vbnRoKHQtMSksZSE9PXZvaWQgMHx8dCE9PXZvaWQgMD8odGhpcy5fc2V0VGl0bGUoKSx0aGlzLl9zZXRDYWxhbmRlcigpLHRoaXMpOnttb250aDp0aGlzLnMuZGlzcGxheS5nZXRVVENNb250aCgpKzEseWVhcjp0aGlzLnMuZGlzcGxheS5nZXRVVENGdWxsWWVhcigpfX0sZXJyb3JNc2c6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5kb20uZXJyb3I7cmV0dXJuIGU/dC5odG1sKGUpOnQuZW1wdHkoKSx0aGlzfSxoaWRlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2hpZGUoKSx0aGlzfSxtYXg6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuYy5tYXhEYXRlPXR5cGVvZiBlPT0ic3RyaW5nIj9uZXcgRGF0ZShlKTplLHRoaXMuX29wdGlvbnNUaXRsZSgpLHRoaXMuX3NldENhbGFuZGVyKCksdGhpc30sbWluOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmMubWluRGF0ZT10eXBlb2YgZT09InN0cmluZyI/bmV3IERhdGUoZSk6ZSx0aGlzLl9vcHRpb25zVGl0bGUoKSx0aGlzLl9zZXRDYWxhbmRlcigpLHRoaXN9LG93bnM6ZnVuY3Rpb24oZSl7cmV0dXJuIEhlKGUpLnBhcmVudHMoKS5maWx0ZXIodGhpcy5kb20uY29udGFpbmVyKS5sZW5ndGg+MH0sdmFsOmZ1bmN0aW9uKGUsdCl7aWYoZT09PXZvaWQgMClyZXR1cm4gdGhpcy5zLmQ7dmFyIG49dGhpcy5zLmQ7cmV0dXJuIGUgaW5zdGFuY2VvZiBEYXRlP3RoaXMucy5kPXRoaXMuX2RhdGVUb1V0YyhlKTplPT09bnVsbHx8ZT09PSIiP3RoaXMucy5kPW51bGw6ZT09PSItLW5vdyI/dGhpcy5zLmQ9dGhpcy5fZGF0ZVRvVXRjKG5ldyBEYXRlKTp0eXBlb2YgZT09InN0cmluZyImJih0aGlzLnMuZD10aGlzLl9kYXRlVG9VdGModGhpcy5fY29udmVydChlLHRoaXMuYy5mb3JtYXQsbnVsbCkpKSwodHx8dD09PXZvaWQgMCkmJih0aGlzLnMuZD90aGlzLl93cml0ZU91dHB1dCghMSxuPT09bnVsbCYmdGhpcy5zLmQhPT1udWxsfHxuIT09bnVsbCYmdGhpcy5zLmQ9PT1udWxsfHxuLnRvU3RyaW5nKCkhPT10aGlzLnMuZC50b1N0cmluZygpKTp0aGlzLmRvbS5pbnB1dC52YWwoZSkpLHRoaXMucy5kaXNwbGF5PXRoaXMucy5kP25ldyBEYXRlKHRoaXMucy5kLnRvU3RyaW5nKCkpOm5ldyBEYXRlLHRoaXMucy5kaXNwbGF5LnNldFVUQ0RhdGUoMSksdGhpcy5fc2V0VGl0bGUoKSx0aGlzLl9zZXRDYWxhbmRlcigpLHRoaXMuX3NldFRpbWUoKSx0aGlzfSx2YWxGb3JtYXQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD8odGhpcy52YWwodGhpcy5fY29udmVydCh0LGUsbnVsbCkpLHRoaXMpOnRoaXMuX2NvbnZlcnQodGhpcy52YWwoKSxudWxsLGUpfSxfY29uc3RydWN0b3I6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9dGhpcy5jLmNsYXNzUHJlZml4LG49dGhpcy5kb20uaW5wdXQudmFsKCkscj1mdW5jdGlvbigpe3ZhciBpPWUuZG9tLmlucHV0LnZhbCgpO2khPT1uJiYoZS5jLm9uQ2hhbmdlLmNhbGwoZSxpLGUucy5kLGUuZG9tLmlucHV0KSxuPWkpfTt0aGlzLnMucGFydHMuZGF0ZXx8dGhpcy5kb20uZGF0ZS5jc3MoImRpc3BsYXkiLCJub25lIiksdGhpcy5zLnBhcnRzLnRpbWV8fHRoaXMuZG9tLnRpbWUuY3NzKCJkaXNwbGF5Iiwibm9uZSIpLHRoaXMucy5wYXJ0cy5zZWNvbmRzfHwodGhpcy5kb20udGltZS5jaGlsZHJlbigiZGl2LiIrdCsiLXNlY29uZHMiKS5yZW1vdmUoKSx0aGlzLmRvbS50aW1lLmNoaWxkcmVuKCJzcGFuIikuZXEoMSkucmVtb3ZlKCkpLHRoaXMuYy5idXR0b25zLmNsZWFyfHx0aGlzLmRvbS5jbGVhci5jc3MoImRpc3BsYXkiLCJub25lIiksdGhpcy5jLmJ1dHRvbnMudG9kYXl8fHRoaXMuZG9tLnRvZGF5LmNzcygiZGlzcGxheSIsIm5vbmUiKSx0aGlzLl9vcHRpb25zVGl0bGUoKSxIZShkb2N1bWVudCkub24oImkxOG4uZHQiLGZ1bmN0aW9uKGksYSl7YS5vTGFuZ3VhZ2UuZGF0ZXRpbWUmJihIZS5leHRlbmQoITAsZS5jLmkxOG4sYS5vTGFuZ3VhZ2UuZGF0ZXRpbWUpLGUuX29wdGlvbnNUaXRsZSgpKX0pLHRoaXMuZG9tLmlucHV0LmF0dHIoInR5cGUiKT09PSJoaWRkZW4iJiYodGhpcy5kb20uY29udGFpbmVyLmFkZENsYXNzKCJpbmxpbmUiKSx0aGlzLmMuYXR0YWNoVG89ImlucHV0Iix0aGlzLnZhbCh0aGlzLmRvbS5pbnB1dC52YWwoKSwhMSksdGhpcy5fc2hvdygpKSxuJiZ0aGlzLnZhbChuLCExKSx0aGlzLmRvbS5pbnB1dC5hdHRyKCJhdXRvY29tcGxldGUiLCJvZmYiKS5vbigiZm9jdXMuZGF0ZXRpbWUgY2xpY2suZGF0ZXRpbWUiLGZ1bmN0aW9uKCl7ZS5kb20uY29udGFpbmVyLmlzKCI6dmlzaWJsZSIpfHxlLmRvbS5pbnB1dC5pcygiOmRpc2FibGVkIil8fChlLnZhbChlLmRvbS5pbnB1dC52YWwoKSwhMSksZS5fc2hvdygpKX0pLm9uKCJrZXl1cC5kYXRldGltZSIsZnVuY3Rpb24oKXtlLmRvbS5jb250YWluZXIuaXMoIjp2aXNpYmxlIikmJmUudmFsKGUuZG9tLmlucHV0LnZhbCgpLCExKX0pLHRoaXMuZG9tLmNvbnRhaW5lclswXS5hZGRFdmVudExpc3RlbmVyKCJmb2N1c2luIixmdW5jdGlvbihpKXtpLnN0b3BQcm9wYWdhdGlvbigpfSksdGhpcy5kb20uY29udGFpbmVyLm9uKCJjaGFuZ2UiLCJzZWxlY3QiLGZ1bmN0aW9uKCl7dmFyIGk9SGUodGhpcyksYT1pLnZhbCgpO2lmKGkuaGFzQ2xhc3ModCsiLW1vbnRoIikpZS5fY29ycmVjdE1vbnRoKGUucy5kaXNwbGF5LGEpLGUuX3NldFRpdGxlKCksZS5fc2V0Q2FsYW5kZXIoKTtlbHNlIGlmKGkuaGFzQ2xhc3ModCsiLXllYXIiKSllLnMuZGlzcGxheS5zZXRVVENGdWxsWWVhcihhKSxlLl9zZXRUaXRsZSgpLGUuX3NldENhbGFuZGVyKCk7ZWxzZSBpZihpLmhhc0NsYXNzKHQrIi1ob3VycyIpfHxpLmhhc0NsYXNzKHQrIi1hbXBtIikpe2lmKGUucy5wYXJ0cy5ob3VyczEyKXt2YXIgcz1IZShlLmRvbS5jb250YWluZXIpLmZpbmQoIi4iK3QrIi1ob3VycyIpLnZhbCgpKjEsdT1IZShlLmRvbS5jb250YWluZXIpLmZpbmQoIi4iK3QrIi1hbXBtIikudmFsKCk9PT0icG0iO2Uucy5kLnNldFVUQ0hvdXJzKHM9PT0xMiYmIXU/MDp1JiZzIT09MTI/cysxMjpzKX1lbHNlIGUucy5kLnNldFVUQ0hvdXJzKGEpO2UuX3NldFRpbWUoKSxlLl93cml0ZU91dHB1dCghMCkscigpfWVsc2UgaS5oYXNDbGFzcyh0KyItbWludXRlcyIpPyhlLnMuZC5zZXRVVENNaW51dGVzKGEpLGUuX3NldFRpbWUoKSxlLl93cml0ZU91dHB1dCghMCkscigpKTppLmhhc0NsYXNzKHQrIi1zZWNvbmRzIikmJihlLnMuZC5zZXRTZWNvbmRzKGEpLGUuX3NldFRpbWUoKSxlLl93cml0ZU91dHB1dCghMCkscigpKTtlLmRvbS5pbnB1dC5mb2N1cygpLGUuX3Bvc2l0aW9uKCl9KS5vbigiY2xpY2siLGZ1bmN0aW9uKGkpe3ZhciBhPWUucy5kLHM9aS50YXJnZXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSx1PXM9PT0ic3BhbiI/aS50YXJnZXQucGFyZW50Tm9kZTppLnRhcmdldDtpZihzPXUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxzIT09InNlbGVjdCIpaWYoaS5zdG9wUHJvcGFnYXRpb24oKSxzPT09ImEiJiYoaS5wcmV2ZW50RGVmYXVsdCgpLEhlKHUpLmhhc0NsYXNzKHQrIi1jbGVhciIpPyhlLnMuZD1udWxsLGUuZG9tLmlucHV0LnZhbCgiIiksZS5fd3JpdGVPdXRwdXQoKSxlLl9zZXRDYWxhbmRlcigpLGUuX3NldFRpbWUoKSxyKCkpOkhlKHUpLmhhc0NsYXNzKHQrIi10b2RheSIpJiYoZS5zLmRpc3BsYXk9bmV3IERhdGUsZS5fc2V0VGl0bGUoKSxlLl9zZXRDYWxhbmRlcigpKSkscz09PSJidXR0b24iKXt2YXIgZD1IZSh1KSxtPWQucGFyZW50KCk7aWYobS5oYXNDbGFzcygiZGlzYWJsZWQiKSYmIW0uaGFzQ2xhc3MoInJhbmdlIikpe2QuYmx1cigpO3JldHVybn1pZihtLmhhc0NsYXNzKHQrIi1pY29uTGVmdCIpKWUucy5kaXNwbGF5LnNldFVUQ01vbnRoKGUucy5kaXNwbGF5LmdldFVUQ01vbnRoKCktMSksZS5fc2V0VGl0bGUoKSxlLl9zZXRDYWxhbmRlcigpLGUuZG9tLmlucHV0LmZvY3VzKCk7ZWxzZSBpZihtLmhhc0NsYXNzKHQrIi1pY29uUmlnaHQiKSllLl9jb3JyZWN0TW9udGgoZS5zLmRpc3BsYXksZS5zLmRpc3BsYXkuZ2V0VVRDTW9udGgoKSsxKSxlLl9zZXRUaXRsZSgpLGUuX3NldENhbGFuZGVyKCksZS5kb20uaW5wdXQuZm9jdXMoKTtlbHNlIGlmKGQucGFyZW50cygiLiIrdCsiLXRpbWUiKS5sZW5ndGgpe3ZhciB2PWQuZGF0YSgidmFsdWUiKSxnPWQuZGF0YSgidW5pdCIpO2lmKGE9ZS5fbmVlZFZhbHVlKCksZz09PSJtaW51dGVzIilpZihtLmhhc0NsYXNzKCJkaXNhYmxlZCIpJiZtLmhhc0NsYXNzKCJyYW5nZSIpKXtlLnMubWludXRlc1JhbmdlPXYsZS5fc2V0VGltZSgpO3JldHVybn1lbHNlIGUucy5taW51dGVzUmFuZ2U9bnVsbDtpZihnPT09InNlY29uZHMiKWlmKG0uaGFzQ2xhc3MoImRpc2FibGVkIikmJm0uaGFzQ2xhc3MoInJhbmdlIikpe2Uucy5zZWNvbmRzUmFuZ2U9dixlLl9zZXRUaW1lKCk7cmV0dXJufWVsc2UgZS5zLnNlY29uZHNSYW5nZT1udWxsO2lmKHY9PT0iYW0iKWlmKGEuZ2V0VVRDSG91cnMoKT49MTIpdj1hLmdldFVUQ0hvdXJzKCktMTI7ZWxzZSByZXR1cm47ZWxzZSBpZih2PT09InBtIilpZihhLmdldFVUQ0hvdXJzKCk8MTIpdj1hLmdldFVUQ0hvdXJzKCkrMTI7ZWxzZSByZXR1cm47dmFyIHc9Zz09PSJob3VycyI/InNldFVUQ0hvdXJzIjpnPT09Im1pbnV0ZXMiPyJzZXRVVENNaW51dGVzIjoic2V0U2Vjb25kcyI7YVt3XSh2KSxlLl9zZXRDYWxhbmRlcigpLGUuX3NldFRpbWUoKSxlLl93cml0ZU91dHB1dCghMCkscigpfWVsc2UgYT1lLl9uZWVkVmFsdWUoKSxhLnNldFVUQ0RhdGUoMSksYS5zZXRVVENGdWxsWWVhcihkLmRhdGEoInllYXIiKSksYS5zZXRVVENNb250aChkLmRhdGEoIm1vbnRoIikpLGEuc2V0VVRDRGF0ZShkLmRhdGEoImRheSIpKSxlLl93cml0ZU91dHB1dCghMCksZS5zLnBhcnRzLnRpbWU/KGUuX3NldENhbGFuZGVyKCksZS5fc2V0VGltZSgpKTpzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5faGlkZSgpfSwxMCkscigpfWVsc2UgZS5kb20uaW5wdXQuZm9jdXMoKX0pfSxfY29tcGFyZURhdGVzOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuX2lzTHV4b24oKT9tdC5EYXRlVGltZS5mcm9tSlNEYXRlKGUpLnRvVVRDKCkudG9JU09EYXRlKCk9PT1tdC5EYXRlVGltZS5mcm9tSlNEYXRlKHQpLnRvVVRDKCkudG9JU09EYXRlKCk6dGhpcy5fZGF0ZVRvVXRjU3RyaW5nKGUpPT09dGhpcy5fZGF0ZVRvVXRjU3RyaW5nKHQpfSxfY29udmVydDpmdW5jdGlvbihlLHQsbil7aWYoIWUpcmV0dXJuIGU7aWYobXQpaWYodGhpcy5faXNMdXhvbigpKXt2YXIgaT1lIGluc3RhbmNlb2YgRGF0ZT9tdC5EYXRlVGltZS5mcm9tSlNEYXRlKGUpLnRvVVRDKCk6bXQuRGF0ZVRpbWUuZnJvbUZvcm1hdChlLHQpO3JldHVybiBpLmlzVmFsaWQ/bj9pLnRvRm9ybWF0KG4pOmkudG9KU0RhdGUoKTpudWxsfWVsc2V7dmFyIGE9ZSBpbnN0YW5jZW9mIERhdGU/bXQudXRjKGUsdm9pZCAwLHRoaXMuYy5sb2NhbGUsdGhpcy5jLnN0cmljdCk6bXQoZSx0LHRoaXMuYy5sb2NhbGUsdGhpcy5jLnN0cmljdCk7cmV0dXJuIGEuaXNWYWxpZCgpP24/YS5mb3JtYXQobik6YS50b0RhdGUoKTpudWxsfWVsc2V7aWYoIXQmJiFufHx0JiZuKXJldHVybiBlO2lmKHQpe3ZhciByPWUubWF0Y2goLyhcZHs0fSlcLShcZHsyfSlcLShcZHsyfSkvKTtyZXR1cm4gcj9uZXcgRGF0ZShyWzFdLHJbMl0tMSxyWzNdKTpudWxsfWVsc2UgcmV0dXJuIGUuZ2V0VVRDRnVsbFllYXIoKSsiLSIrdGhpcy5fcGFkKGUuZ2V0VVRDTW9udGgoKSsxKSsiLSIrdGhpcy5fcGFkKGUuZ2V0VVRDRGF0ZSgpKX19LF9jb3JyZWN0TW9udGg6ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLl9kYXlzSW5Nb250aChlLmdldFVUQ0Z1bGxZZWFyKCksdCkscj1lLmdldFVUQ0RhdGUoKT5uO2Uuc2V0VVRDTW9udGgodCksciYmKGUuc2V0VVRDRGF0ZShuKSxlLnNldFVUQ01vbnRoKHQpKX0sX2RheXNJbk1vbnRoOmZ1bmN0aW9uKGUsdCl7dmFyIG49ZSU0PT09MCYmKGUlMTAwIT09MHx8ZSU0MDA9PT0wKSxyPVszMSxuPzI5OjI4LDMxLDMwLDMxLDMwLDMxLDMxLDMwLDMxLDMwLDMxXTtyZXR1cm4gclt0XX0sX2RhdGVUb1V0YzpmdW5jdGlvbihlKXtyZXR1cm4gZSYmbmV3IERhdGUoRGF0ZS5VVEMoZS5nZXRGdWxsWWVhcigpLGUuZ2V0TW9udGgoKSxlLmdldERhdGUoKSxlLmdldEhvdXJzKCksZS5nZXRNaW51dGVzKCksZS5nZXRTZWNvbmRzKCkpKX0sX2RhdGVUb1V0Y1N0cmluZzpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5faXNMdXhvbigpP210LkRhdGVUaW1lLmZyb21KU0RhdGUoZSkudG9VVEMoKS50b0lTT0RhdGUoKTplLmdldFVUQ0Z1bGxZZWFyKCkrIi0iK3RoaXMuX3BhZChlLmdldFVUQ01vbnRoKCkrMSkrIi0iK3RoaXMuX3BhZChlLmdldFVUQ0RhdGUoKSl9LF9oaWRlOmZ1bmN0aW9uKGUpe2lmKCEoIWUmJnRoaXMuZG9tLmlucHV0LmF0dHIoInR5cGUiKT09PSJoaWRkZW4iKSl7dmFyIHQ9dGhpcy5zLm5hbWVzcGFjZTt0aGlzLmRvbS5jb250YWluZXIuZGV0YWNoKCksSGUod2luZG93KS5vZmYoIi4iK3QpLEhlKGRvY3VtZW50KS5vZmYoImtleWRvd24uIit0KSxIZSgiZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keSIpLm9mZigic2Nyb2xsLiIrdCksSGUoImRpdi5EVEVfQm9keV9Db250ZW50Iikub2ZmKCJzY3JvbGwuIit0KSxIZShkb2N1bWVudCkub2ZmKCJjbGljay4iK3QpLEhlKHRoaXMuZG9tLmlucHV0WzBdLm9mZnNldFBhcmVudCkub2ZmKCIuIit0KX19LF9ob3VyczI0VG8xMjpmdW5jdGlvbihlKXtyZXR1cm4gZT09PTA/MTI6ZT4xMj9lLTEyOmV9LF9odG1sRGF5OmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuYy5jbGFzc1ByZWZpeDtpZihlLmVtcHR5KXJldHVybic8dGQgY2xhc3M9IicrdCsnLWVtcHR5Ij48L3RkPic7dmFyIG49WyJzZWxlY3RhYmxlIl07cmV0dXJuIGUuZGlzYWJsZWQmJm4ucHVzaCgiZGlzYWJsZWQiKSxlLnRvZGF5JiZuLnB1c2goIm5vdyIpLGUuc2VsZWN0ZWQmJm4ucHVzaCgic2VsZWN0ZWQiKSwnPHRkIGRhdGEtZGF5PSInK2UuZGF5KyciIGNsYXNzPSInK24uam9pbigiICIpKyciPjxidXR0b24gY2xhc3M9IicrdCsiLWJ1dHRvbiAiK3QrJy1kYXkiIHR5cGU9ImJ1dHRvbiIgZGF0YS15ZWFyPSInK2UueWVhcisnIiBkYXRhLW1vbnRoPSInK2UubW9udGgrJyIgZGF0YS1kYXk9IicrZS5kYXkrJyI+PHNwYW4+JytlLmRheSsiPC9zcGFuPjwvYnV0dG9uPjwvdGQ+In0sX2h0bWxNb250aDpmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMuX2RhdGVUb1V0YyhuZXcgRGF0ZSkscj10aGlzLl9kYXlzSW5Nb250aChlLHQpLGk9bmV3IERhdGUoRGF0ZS5VVEMoZSx0LDEpKS5nZXRVVENEYXkoKSxhPVtdLHM9W107dGhpcy5jLmZpcnN0RGF5PjAmJihpLT10aGlzLmMuZmlyc3REYXksaTwwJiYoaSs9NykpO2Zvcih2YXIgdT1yK2ksZD11O2Q+NzspZC09Nzt1Kz03LWQ7dmFyIG09dGhpcy5jLm1pbkRhdGUsdj10aGlzLmMubWF4RGF0ZTttJiYobS5zZXRVVENIb3VycygwKSxtLnNldFVUQ01pbnV0ZXMoMCksbS5zZXRTZWNvbmRzKDApKSx2JiYodi5zZXRVVENIb3VycygyMyksdi5zZXRVVENNaW51dGVzKDU5KSx2LnNldFNlY29uZHMoNTkpKTtmb3IodmFyIGc9MCx3PTA7Zzx1O2crKyl7dmFyIGI9bmV3IERhdGUoRGF0ZS5VVEMoZSx0LDErKGctaSkpKSxUPXRoaXMucy5kP3RoaXMuX2NvbXBhcmVEYXRlcyhiLHRoaXMucy5kKTohMSxEPXRoaXMuX2NvbXBhcmVEYXRlcyhiLG4pLGg9ZzxpfHxnPj1yK2ksbD1tJiZiPG18fHYmJmI+dixwPXRoaXMuYy5kaXNhYmxlRGF5czsoQXJyYXkuaXNBcnJheShwKSYmSGUuaW5BcnJheShiLmdldFVUQ0RheSgpLHApIT09LTF8fHR5cGVvZiBwPT0iZnVuY3Rpb24iJiZwKGIpPT09ITApJiYobD0hMCk7dmFyIEM9e2RheToxKyhnLWkpLG1vbnRoOnQseWVhcjplLHNlbGVjdGVkOlQsdG9kYXk6RCxkaXNhYmxlZDpsLGVtcHR5Omh9O3MucHVzaCh0aGlzLl9odG1sRGF5KEMpKSwrK3c9PT03JiYodGhpcy5jLnNob3dXZWVrTnVtYmVyJiZzLnVuc2hpZnQodGhpcy5faHRtbFdlZWtPZlllYXIoZy1pLHQsZSkpLGEucHVzaCgiPHRyPiIrcy5qb2luKCIiKSsiPC90cj4iKSxzPVtdLHc9MCl9dmFyIEY9dGhpcy5jLmNsYXNzUHJlZml4LFA9RisiLXRhYmxlIjtpZih0aGlzLmMuc2hvd1dlZWtOdW1iZXImJihQKz0iIHdlZWtOdW1iZXIiKSxtKXt2YXIgZj1tPj1uZXcgRGF0ZShEYXRlLlVUQyhlLHQsMSwwLDAsMCkpO3RoaXMuZG9tLnRpdGxlLmZpbmQoImRpdi4iK0YrIi1pY29uTGVmdCIpLmNzcygiZGlzcGxheSIsZj8ibm9uZSI6ImJsb2NrIil9aWYodil7dmFyIFc9djxuZXcgRGF0ZShEYXRlLlVUQyhlLHQrMSwxLDAsMCwwKSk7dGhpcy5kb20udGl0bGUuZmluZCgiZGl2LiIrRisiLWljb25SaWdodCIpLmNzcygiZGlzcGxheSIsVz8ibm9uZSI6ImJsb2NrIil9cmV0dXJuJzx0YWJsZSBjbGFzcz0iJytQKyciPjx0aGVhZD4nK3RoaXMuX2h0bWxNb250aEhlYWQoKSsiPC90aGVhZD48dGJvZHk+IithLmpvaW4oIiIpKyI8L3Rib2R5PjwvdGFibGU+In0sX2h0bWxNb250aEhlYWQ6ZnVuY3Rpb24oKXt2YXIgZT1bXSx0PXRoaXMuYy5maXJzdERheSxuPXRoaXMuYy5pMThuLHI9ZnVuY3Rpb24oYSl7Zm9yKGErPXQ7YT49NzspYS09NztyZXR1cm4gbi53ZWVrZGF5c1thXX07dGhpcy5jLnNob3dXZWVrTnVtYmVyJiZlLnB1c2goIjx0aD48L3RoPiIpO2Zvcih2YXIgaT0wO2k8NztpKyspZS5wdXNoKCI8dGg+IityKGkpKyI8L3RoPiIpO3JldHVybiBlLmpvaW4oIiIpfSxfaHRtbFdlZWtPZlllYXI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW5ldyBEYXRlKG4sdCxlLDAsMCwwLDApO3Iuc2V0RGF0ZShyLmdldERhdGUoKSs0LShyLmdldERheSgpfHw3KSk7dmFyIGk9bmV3IERhdGUobiwwLDEpLGE9TWF0aC5jZWlsKCgoci1pKS84NjRlNSsxKS83KTtyZXR1cm4nPHRkIGNsYXNzPSInK3RoaXMuYy5jbGFzc1ByZWZpeCsnLXdlZWsiPicrYSsiPC90ZD4ifSxfaXNMdXhvbjpmdW5jdGlvbigpe3JldHVybiEhKG10JiZtdC5EYXRlVGltZSYmbXQuRHVyYXRpb24mJm10LlNldHRpbmdzKX0sX25lZWRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnMuZHx8KHRoaXMucy5kPXRoaXMuX2RhdGVUb1V0YyhuZXcgRGF0ZSksdGhpcy5zLnBhcnRzLnRpbWV8fCh0aGlzLnMuZC5zZXRVVENIb3VycygwKSx0aGlzLnMuZC5zZXRVVENNaW51dGVzKDApLHRoaXMucy5kLnNldFNlY29uZHMoMCksdGhpcy5zLmQuc2V0TWlsbGlzZWNvbmRzKDApKSksdGhpcy5zLmR9LF9vcHRpb25zOmZ1bmN0aW9uKGUsdCxuKXtufHwobj10KTt2YXIgcj10aGlzLmRvbS5jb250YWluZXIuZmluZCgic2VsZWN0LiIrdGhpcy5jLmNsYXNzUHJlZml4KyItIitlKTtyLmVtcHR5KCk7Zm9yKHZhciBpPTAsYT10Lmxlbmd0aDtpPGE7aSsrKXIuYXBwZW5kKCc8b3B0aW9uIHZhbHVlPSInK3RbaV0rJyI+JytuW2ldKyI8L29wdGlvbj4iKX0sX29wdGlvblNldDpmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMuZG9tLmNvbnRhaW5lci5maW5kKCJzZWxlY3QuIit0aGlzLmMuY2xhc3NQcmVmaXgrIi0iK2UpLHI9bi5wYXJlbnQoKS5jaGlsZHJlbigic3BhbiIpO24udmFsKHQpO3ZhciBpPW4uZmluZCgib3B0aW9uOnNlbGVjdGVkIik7ci5odG1sKGkubGVuZ3RoIT09MD9pLnRleHQoKTp0aGlzLmMuaTE4bi51bmtub3duKX0sX29wdGlvbnNUaW1lOmZ1bmN0aW9uKGUsdCxuLHIsaSl7dmFyIGE9dGhpcy5jLmNsYXNzUHJlZml4LHM9dGhpcy5kb20uY29udGFpbmVyLmZpbmQoImRpdi4iK2ErIi0iK2UpLHUsZCxtPXQ9PT0xMj9mdW5jdGlvbihsKXtyZXR1cm4gbH06dGhpcy5fcGFkLHY9YSsiLXRhYmxlIixnPXRoaXMuYy5pMThuO2lmKHMubGVuZ3RoKXt2YXIgdz0iIixiPTEwLFQ9ZnVuY3Rpb24obCxwLEMpe3Q9PT0xMiYmdHlwZW9mIGw9PSJudW1iZXIiJiYobj49MTImJihsKz0xMiksbD09MTI/bD0wOmw9PTI0JiYobD0xMikpO3ZhciBGPW49PT1sfHxsPT09ImFtIiYmbjwxMnx8bD09PSJwbSImJm4+PTEyPyJzZWxlY3RlZCI6IiI7cmV0dXJuIHR5cGVvZiBsPT0ibnVtYmVyIiYmciYmSGUuaW5BcnJheShsLHIpPT09LTEmJihGKz0iIGRpc2FibGVkIiksQyYmKEYrPSIgIitDKSwnPHRkIGNsYXNzPSJzZWxlY3RhYmxlICcrRisnIj48YnV0dG9uIGNsYXNzPSInK2ErIi1idXR0b24gIithKyctZGF5IiB0eXBlPSJidXR0b24iIGRhdGEtdW5pdD0iJytlKyciIGRhdGEtdmFsdWU9IicrbCsnIj48c3Bhbj4nK3ArIjwvc3Bhbj48L2J1dHRvbj48L3RkPiJ9O2lmKHQ9PT0xMil7Zm9yKHcrPSI8dHI+Iix1PTE7dTw9Njt1Kyspdys9VCh1LG0odSkpO2Zvcih3Kz1UKCJhbSIsZy5hbVBtWzBdKSx3Kz0iPC90cj4iLHcrPSI8dHI+Iix1PTc7dTw9MTI7dSsrKXcrPVQodSxtKHUpKTt3Kz1UKCJwbSIsZy5hbVBtWzFdKSx3Kz0iPC90cj4iLGI9N31lbHNlIGlmKHQ9PT0yNCl7dmFyIEQ9MDtmb3IoZD0wO2Q8NDtkKyspe2Zvcih3Kz0iPHRyPiIsdT0wO3U8Njt1Kyspdys9VChELG0oRCkpLEQrKzt3Kz0iPC90cj4ifWI9Nn1lbHNle2Zvcih3Kz0iPHRyPiIsZD0wO2Q8NjA7ZCs9MTApdys9VChkLG0oZCksInJhbmdlIik7dys9IjwvdHI+Iix3Kz0nPC90Ym9keT48L3RoZWFkPjx0YWJsZSBjbGFzcz0iJyt2KyIgIit2Kyctbm9zcGFjZSI+PHRib2R5Pic7dmFyIGg9aSE9PW51bGw/aTpuPT09LTE/MDpNYXRoLmZsb29yKG4vMTApKjEwO2Zvcih3Kz0iPHRyPiIsZD1oKzE7ZDxoKzEwO2QrKyl3Kz1UKGQsbShkKSk7dys9IjwvdHI+IixiPTZ9cy5lbXB0eSgpLmFwcGVuZCgnPHRhYmxlIGNsYXNzPSInK3YrJyI+PHRoZWFkPjx0cj48dGggY29sc3Bhbj0iJytiKyciPicrZ1tlXSsiPC90aD48L3RyPjwvdGhlYWQ+PHRib2R5PiIrdysiPC90Ym9keT48L3RhYmxlPiIpfX0sX29wdGlvbnNUaXRsZTpmdW5jdGlvbigpe3ZhciBlPXRoaXMuYy5pMThuLHQ9dGhpcy5jLm1pbkRhdGUsbj10aGlzLmMubWF4RGF0ZSxyPXQ/dC5nZXRGdWxsWWVhcigpOm51bGwsaT1uP24uZ2V0RnVsbFllYXIoKTpudWxsLGE9ciE9PW51bGw/cjpuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCktdGhpcy5jLnllYXJSYW5nZSxzPWkhPT1udWxsP2k6bmV3IERhdGUoKS5nZXRGdWxsWWVhcigpK3RoaXMuYy55ZWFyUmFuZ2U7dGhpcy5fb3B0aW9ucygibW9udGgiLHRoaXMuX3JhbmdlKDAsMTEpLGUubW9udGhzKSx0aGlzLl9vcHRpb25zKCJ5ZWFyIix0aGlzLl9yYW5nZShhLHMpKSx0aGlzLmRvbS50b2RheS50ZXh0KGUudG9kYXkpLnRleHQoZS50b2RheSksdGhpcy5kb20uY2xlYXIudGV4dChlLmNsZWFyKS50ZXh0KGUuY2xlYXIpLHRoaXMuZG9tLnByZXZpb3VzLmF0dHIoInRpdGxlIixlLnByZXZpb3VzKS5jaGlsZHJlbigiYnV0dG9uIikudGV4dChlLnByZXZpb3VzKSx0aGlzLmRvbS5uZXh0LmF0dHIoInRpdGxlIixlLm5leHQpLmNoaWxkcmVuKCJidXR0b24iKS50ZXh0KGUubmV4dCl9LF9wYWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGU8MTA/IjAiK2U6ZX0sX3Bvc2l0aW9uOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5jLmF0dGFjaFRvPT09ImlucHV0Ij90aGlzLmRvbS5pbnB1dC5wb3NpdGlvbigpOnRoaXMuZG9tLmlucHV0Lm9mZnNldCgpLHQ9dGhpcy5kb20uY29udGFpbmVyLG49dGhpcy5kb20uaW5wdXQub3V0ZXJIZWlnaHQoKTtpZih0Lmhhc0NsYXNzKCJpbmxpbmUiKSl7dC5pbnNlcnRBZnRlcih0aGlzLmRvbS5pbnB1dCk7cmV0dXJufXRoaXMucy5wYXJ0cy5kYXRlJiZ0aGlzLnMucGFydHMudGltZSYmSGUod2luZG93KS53aWR0aCgpPjU1MD90LmFkZENsYXNzKCJob3Jpem9udGFsIik6dC5yZW1vdmVDbGFzcygiaG9yaXpvbnRhbCIpLHRoaXMuYy5hdHRhY2hUbz09PSJpbnB1dCI/dC5jc3Moe3RvcDplLnRvcCtuLGxlZnQ6ZS5sZWZ0fSkuaW5zZXJ0QWZ0ZXIodGhpcy5kb20uaW5wdXQpOnQuY3NzKHt0b3A6ZS50b3ArbixsZWZ0OmUubGVmdH0pLmFwcGVuZFRvKCJib2R5Iik7dmFyIHI9dC5vdXRlckhlaWdodCgpLGk9dC5vdXRlcldpZHRoKCksYT1IZSh3aW5kb3cpLnNjcm9sbFRvcCgpO2lmKGUudG9wK24rci1hPkhlKHdpbmRvdykuaGVpZ2h0KCkpe3ZhciBzPWUudG9wLXI7dC5jc3MoInRvcCIsczwwPzA6cyl9aWYoaStlLmxlZnQ+SGUod2luZG93KS53aWR0aCgpKXt2YXIgdT1IZSh3aW5kb3cpLndpZHRoKCktaS01O3RoaXMuYy5hdHRhY2hUbz09PSJpbnB1dCImJih1LT1IZSh0KS5vZmZzZXRQYXJlbnQoKS5vZmZzZXQoKS5sZWZ0KSx0LmNzcygibGVmdCIsdTwwPzA6dSl9fSxfcmFuZ2U6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPVtdO258fChuPTEpO2Zvcih2YXIgaT1lO2k8PXQ7aSs9bilyLnB1c2goaSk7cmV0dXJuIHJ9LF9zZXRDYWxhbmRlcjpmdW5jdGlvbigpe3RoaXMucy5kaXNwbGF5JiZ0aGlzLmRvbS5jYWxlbmRhci5lbXB0eSgpLmFwcGVuZCh0aGlzLl9odG1sTW9udGgodGhpcy5zLmRpc3BsYXkuZ2V0VVRDRnVsbFllYXIoKSx0aGlzLnMuZGlzcGxheS5nZXRVVENNb250aCgpKSl9LF9zZXRUaXRsZTpmdW5jdGlvbigpe3RoaXMuX29wdGlvblNldCgibW9udGgiLHRoaXMucy5kaXNwbGF5LmdldFVUQ01vbnRoKCkpLHRoaXMuX29wdGlvblNldCgieWVhciIsdGhpcy5zLmRpc3BsYXkuZ2V0VVRDRnVsbFllYXIoKSl9LF9zZXRUaW1lOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PXRoaXMucy5kLG49bnVsbDt0aGlzLl9pc0x1eG9uKCkmJihuPW10LkRhdGVUaW1lLmZyb21KU0RhdGUodCkudG9VVEMoKSk7dmFyIHI9biE9bnVsbD9uLmhvdXI6dD90LmdldFVUQ0hvdXJzKCk6LTEsaT1mdW5jdGlvbihhKXtyZXR1cm4gZS5jW2ErIkF2YWlsYWJsZSJdP2UuY1thKyJBdmFpbGFibGUiXTplLl9yYW5nZSgwLDU5LGUuY1thKyJJbmNyZW1lbnQiXSl9O3RoaXMuX29wdGlvbnNUaW1lKCJob3VycyIsdGhpcy5zLnBhcnRzLmhvdXJzMTI/MTI6MjQscix0aGlzLmMuaG91cnNBdmFpbGFibGUpLHRoaXMuX29wdGlvbnNUaW1lKCJtaW51dGVzIiw2MCxuIT1udWxsP24ubWludXRlOnQ/dC5nZXRVVENNaW51dGVzKCk6LTEsaSgibWludXRlcyIpLHRoaXMucy5taW51dGVzUmFuZ2UpLHRoaXMuX29wdGlvbnNUaW1lKCJzZWNvbmRzIiw2MCxuIT1udWxsP24uc2Vjb25kOnQ/dC5nZXRTZWNvbmRzKCk6LTEsaSgic2Vjb25kcyIpLHRoaXMucy5zZWNvbmRzUmFuZ2UpfSxfc2hvdzpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD10aGlzLnMubmFtZXNwYWNlO3RoaXMuX3Bvc2l0aW9uKCksSGUod2luZG93KS5vbigic2Nyb2xsLiIrdCsiIHJlc2l6ZS4iK3QsZnVuY3Rpb24oKXtlLl9wb3NpdGlvbigpfSksSGUoImRpdi5EVEVfQm9keV9Db250ZW50Iikub24oInNjcm9sbC4iK3QsZnVuY3Rpb24oKXtlLl9wb3NpdGlvbigpfSksSGUoImRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkiKS5vbigic2Nyb2xsLiIrdCxmdW5jdGlvbigpe2UuX3Bvc2l0aW9uKCl9KTt2YXIgbj10aGlzLmRvbS5pbnB1dFswXS5vZmZzZXRQYXJlbnQ7biE9PWRvY3VtZW50LmJvZHkmJkhlKG4pLm9uKCJzY3JvbGwuIit0LGZ1bmN0aW9uKCl7ZS5fcG9zaXRpb24oKX0pLEhlKGRvY3VtZW50KS5vbigia2V5ZG93bi4iK3QsZnVuY3Rpb24ocil7KHIua2V5Q29kZT09PTl8fHIua2V5Q29kZT09PTI3fHxyLmtleUNvZGU9PT0xMykmJmUuX2hpZGUoKX0pLGNsZWFyVGltZW91dCh0aGlzLnMuc2hvd1RvKSx0aGlzLmRvbS5pbnB1dC5vbigiYmx1ciIsZnVuY3Rpb24ocil7ZS5zLnNob3dUbz1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bGV0IGk9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCk7ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PWUuZG9tLmlucHV0WzBdJiYoZS5kb20uY29udGFpbmVyLmZpbmQoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkubGVuZ3RofHxbImlucHV0Iiwic2VsZWN0IiwiYnV0dG9uIl0uaW5jbHVkZXMoaSkmJmUuaGlkZSgpKX0sMTApfSksc2V0VGltZW91dChmdW5jdGlvbigpe0hlKGRvY3VtZW50KS5vbigiY2xpY2suIit0LGZ1bmN0aW9uKHIpe3ZhciBpPUhlKHIudGFyZ2V0KS5wYXJlbnRzKCk7IWkuZmlsdGVyKGUuZG9tLmNvbnRhaW5lcikubGVuZ3RoJiZyLnRhcmdldCE9PWUuZG9tLmlucHV0WzBdJiZlLl9oaWRlKCl9KX0sMTApfSxfd3JpdGVPdXRwdXQ6ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLnMuZCxyPSIiLGk9dGhpcy5kb20uaW5wdXQ7aWYobiYmKHI9dGhpcy5fY29udmVydChuLG51bGwsdGhpcy5jLmZvcm1hdCkpLGkudmFsKHIpLHQ9PT12b2lkIDB8fHQpe3ZhciBhPW5ldyBFdmVudCgiY2hhbmdlIix7YnViYmxlczohMH0pO2lbMF0uZGlzcGF0Y2hFdmVudChhKX1pLmF0dHIoInR5cGUiKT09PSJoaWRkZW4iJiZ0aGlzLnZhbChyLCExKSxlJiZpLmZvY3VzKCl9fSk7aHQudXNlPWZ1bmN0aW9uKGUpe210PWV9O2h0Ll9pbnN0YW5jZT0wO2h0LnR5cGU9IkRhdGVUaW1lIjtodC5kZWZhdWx0cz17YXR0YWNoVG86ImJvZHkiLGJ1dHRvbnM6e2NsZWFyOiExLHRvZGF5OiExfSxjbGFzc1ByZWZpeDoiZHQtZGF0ZXRpbWUiLGRpc2FibGVEYXlzOm51bGwsZmlyc3REYXk6MSxmb3JtYXQ6IllZWVktTU0tREQiLGhvdXJzQXZhaWxhYmxlOm51bGwsaTE4bjp7Y2xlYXI6IkNsZWFyIixwcmV2aW91czoiUHJldmlvdXMiLG5leHQ6Ik5leHQiLG1vbnRoczpbIkphbnVhcnkiLCJGZWJydWFyeSIsIk1hcmNoIiwiQXByaWwiLCJNYXkiLCJKdW5lIiwiSnVseSIsIkF1Z3VzdCIsIlNlcHRlbWJlciIsIk9jdG9iZXIiLCJOb3ZlbWJlciIsIkRlY2VtYmVyIl0sd2Vla2RheXM6WyJTdW4iLCJNb24iLCJUdWUiLCJXZWQiLCJUaHUiLCJGcmkiLCJTYXQiXSxhbVBtOlsiYW0iLCJwbSJdLGhvdXJzOiJIb3VyIixtaW51dGVzOiJNaW51dGUiLHNlY29uZHM6IlNlY29uZCIsdW5rbm93bjoiLSIsdG9kYXk6IlRvZGF5In0sbWF4RGF0ZTpudWxsLG1pbkRhdGU6bnVsbCxtaW51dGVzQXZhaWxhYmxlOm51bGwsbWludXRlc0luY3JlbWVudDoxLHN0cmljdDohMCxsb2NhbGU6ImVuIixvbkNoYW5nZTpmdW5jdGlvbigpe30sc2Vjb25kc0F2YWlsYWJsZTpudWxsLHNlY29uZHNJbmNyZW1lbnQ6MSxzaG93V2Vla051bWJlcjohMSx5ZWFyUmFuZ2U6MjV9O2h0LnZlcnNpb249IjEuNS42IjtodC5mYWN0b3J5PWZ1bmN0aW9uKGUsdCl7dmFyIG49ITE7cmV0dXJuIGUmJmUuZG9jdW1lbnQmJih3aW5kb3c9ZSxkb2N1bWVudD1lLmRvY3VtZW50KSx0JiZ0LmZuJiZ0LmZuLmpxdWVyeSYmKEhlPXQsbj0hMCksbn07d2luZG93LkRhdGVUaW1lfHwod2luZG93LkRhdGVUaW1lPWh0KTt3aW5kb3cuRGF0YVRhYmxlJiYod2luZG93LkRhdGFUYWJsZS5EYXRlVGltZT1odCk7SGUuZm4uZHREYXRlVGltZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7bmV3IGh0KHRoaXMsZSl9KX07SGUuZm4uZGF0YVRhYmxlJiYoSGUuZm4uZGF0YVRhYmxlLkRhdGVUaW1lPWh0LEhlLmZuLkRhdGFUYWJsZS5EYXRlVGltZT1odCxIZS5mbi5kYXRhVGFibGUuRWRpdG9yJiYoSGUuZm4uZGF0YVRhYmxlLkVkaXRvci5EYXRlVGltZT1odCkpO3ZhciBfYz1odDt2YXIgd2M9c3Qob3QoKSwxKTt2YXIgRW89c3Qob3QoKSwxKTt2YXIgRm49RW8uZGVmYXVsdDsoZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7dmFyIGUsdDtmdW5jdGlvbiBuKCl7dmFyIGg9dGUudXNlKCJtb21lbnQiKTtyZXR1cm4gaHx8d2luZG93Lm1vbWVudH1mdW5jdGlvbiByKCl7dmFyIGg9dGUudXNlKCJsdXhvbiIpO3JldHVybiBofHx3aW5kb3cubHV4b259ZnVuY3Rpb24gaShoKXtlPWgsdD1oLmZuLmRhdGFUYWJsZX12YXIgYT0oZnVuY3Rpb24oKXtmdW5jdGlvbiBoKGwscCxDLEYsUCxmLFcpe0Y9PT12b2lkIDAmJihGPTApLFA9PT12b2lkIDAmJihQPTEpLGY9PT12b2lkIDAmJihmPXZvaWQgMCksVz09PXZvaWQgMCYmKFc9ITEpO3ZhciBaPXRoaXM7dGhpcy5jbGFzc2VzPWUuZXh0ZW5kKCEwLHt9LGguY2xhc3NlcyksdGhpcy5jPWUuZXh0ZW5kKCEwLHt9LGguZGVmYXVsdHMsZS5mbi5kYXRhVGFibGUuZXh0LnNlYXJjaEJ1aWxkZXIscCk7dmFyIGllPXRoaXMuYy5pMThuO2lmKHRoaXMucz17Y29uZGl0aW9uOnZvaWQgMCxjb25kaXRpb25zOnt9LGRhdGE6dm9pZCAwLGRhdGFJZHg6LTEsZGF0YVBvaW50czpbXSxkYXRlRm9ybWF0OiExLGRlcHRoOlAsZHQ6bCxmaWxsZWQ6ITEsaW5kZXg6RixsaXZlU2VhcmNoOlcsb3JpZ0RhdGE6dm9pZCAwLHByZXZlbnRSZWRyYXc6ITEsc2VydmVyRGF0YTpmLHRvcEdyb3VwOkMsdHlwZToiIix2YWx1ZTpbXX0sdGhpcy5kb209e2J1dHRvbnM6ZSgiPGRpdi8+IikuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmJ1dHRvbkNvbnRhaW5lciksY29uZGl0aW9uOmUoIjxzZWxlY3QgZGlzYWJsZWQvPiIpLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5jb25kaXRpb24pLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5kcm9wRG93bikuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLml0YWxpYykuYXR0cigiYXV0b2NvbXBsZXRlIiwiaGFja2luZyIpLGNvbmRpdGlvblRpdGxlOmUoJzxvcHRpb24gdmFsdWU9IiIgZGlzYWJsZWQgc2VsZWN0ZWQgaGlkZGVuLz4nKS5odG1sKHRoaXMucy5kdC5pMThuKCJzZWFyY2hCdWlsZGVyLmNvbmRpdGlvbiIsaWUuY29uZGl0aW9uKSksY29udGFpbmVyOmUoIjxkaXYvPiIpLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5jb250YWluZXIpLGRhdGE6ZSgiPHNlbGVjdC8+IikuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmRhdGEpLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5kcm9wRG93bikuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLml0YWxpYyksZGF0YVRpdGxlOmUoJzxvcHRpb24gdmFsdWU9IiIgZGlzYWJsZWQgc2VsZWN0ZWQgaGlkZGVuLz4nKS5odG1sKHRoaXMucy5kdC5pMThuKCJzZWFyY2hCdWlsZGVyLmRhdGEiLGllLmRhdGEpKSxkZWZhdWx0VmFsdWU6ZSgiPHNlbGVjdCBkaXNhYmxlZC8+IikuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLnZhbHVlKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMuZHJvcERvd24pLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5zZWxlY3QpLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5pdGFsaWMpLGRlbGV0ZTplKCI8YnV0dG9uLz4iKS5odG1sKHRoaXMucy5kdC5pMThuKCJzZWFyY2hCdWlsZGVyLmRlbGV0ZSIsaWUuZGVsZXRlKSkuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmRlbGV0ZSkuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmJ1dHRvbikuYXR0cigidGl0bGUiLHRoaXMucy5kdC5pMThuKCJzZWFyY2hCdWlsZGVyLmRlbGV0ZVRpdGxlIixpZS5kZWxldGVUaXRsZSkpLmF0dHIoInR5cGUiLCJidXR0b24iKSxpbnB1dENvbnQ6ZSgiPGRpdi8+IikuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmlucHV0Q29udCksbGVmdDplKCI8YnV0dG9uLz4iKS5odG1sKHRoaXMucy5kdC5pMThuKCJzZWFyY2hCdWlsZGVyLmxlZnQiLGllLmxlZnQpKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMubGVmdCkuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmJ1dHRvbikuYXR0cigidGl0bGUiLHRoaXMucy5kdC5pMThuKCJzZWFyY2hCdWlsZGVyLmxlZnRUaXRsZSIsaWUubGVmdFRpdGxlKSkuYXR0cigidHlwZSIsImJ1dHRvbiIpLHJpZ2h0OmUoIjxidXR0b24vPiIpLmh0bWwodGhpcy5zLmR0LmkxOG4oInNlYXJjaEJ1aWxkZXIucmlnaHQiLGllLnJpZ2h0KSkuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLnJpZ2h0KS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMuYnV0dG9uKS5hdHRyKCJ0aXRsZSIsdGhpcy5zLmR0LmkxOG4oInNlYXJjaEJ1aWxkZXIucmlnaHRUaXRsZSIsaWUucmlnaHRUaXRsZSkpLmF0dHIoInR5cGUiLCJidXR0b24iKSx2YWx1ZTpbZSgiPHNlbGVjdCBkaXNhYmxlZC8+IikuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLnZhbHVlKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMuZHJvcERvd24pLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5pdGFsaWMpLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5zZWxlY3QpXSx2YWx1ZVRpdGxlOmUoJzxvcHRpb24gdmFsdWU9Ii0tdmFsdWVUaXRsZS0tIiBkaXNhYmxlZCBzZWxlY3RlZCBoaWRkZW4vPicpLmh0bWwodGhpcy5zLmR0LmkxOG4oInNlYXJjaEJ1aWxkZXIudmFsdWUiLGllLnZhbHVlKSl9LHRoaXMuYy5ncmV5c2NhbGUpe3RoaXMuZG9tLmRhdGEuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmdyZXlzY2FsZSksdGhpcy5kb20uY29uZGl0aW9uLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5ncmV5c2NhbGUpLHRoaXMuZG9tLmRlZmF1bHRWYWx1ZS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMuZ3JleXNjYWxlKTtmb3IodmFyIEU9MCxKPXRoaXMuZG9tLnZhbHVlO0U8Si5sZW5ndGg7RSsrKXt2YXIgXz1KW0VdO18uYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmdyZXlzY2FsZSl9fXJldHVybiBlKHdpbmRvdykub24oInJlc2l6ZS5kdHNiIix0LnV0aWwudGhyb3R0bGUoZnVuY3Rpb24oKXtaLnMudG9wR3JvdXAudHJpZ2dlcigiZHRzYi1yZWRyYXdMb2dpYyIpfSkpLHRoaXMuX2J1aWxkQ3JpdGVyaWEoKSx0aGlzfXJldHVybiBoLl9lc2NhcGVIVE1MPWZ1bmN0aW9uKGwpe3JldHVybiBsLnRvU3RyaW5nKCkucmVwbGFjZSgvJmx0Oy9nLCI8IikucmVwbGFjZSgvJmd0Oy9nLCI+IikucmVwbGFjZSgvJnF1b3Q7L2csJyInKS5yZXBsYWNlKC8mYW1wOy9nLCImIil9LGgucHJvdG90eXBlLmRvU2VhcmNoPWZ1bmN0aW9uKCl7dGhpcy5jLmxpdmVTZWFyY2gmJnRoaXMucy5kdC5kcmF3KCl9LGgucGFyc2VOdW1GbXQ9ZnVuY3Rpb24obCl7cmV0dXJuK2wucmVwbGFjZSgvKD8hXi0pW14wLTkuXS9nLCIiKX0saC5wcm90b3R5cGUudXBkYXRlQXJyb3dzPWZ1bmN0aW9uKGwpe2w9PT12b2lkIDAmJihsPSExKSx0aGlzLmRvbS5jb250YWluZXIuY2hpbGRyZW4oKS5kZXRhY2goKSx0aGlzLmRvbS5jb250YWluZXIuYXBwZW5kKHRoaXMuZG9tLmRhdGEpLmFwcGVuZCh0aGlzLmRvbS5jb25kaXRpb24pLmFwcGVuZCh0aGlzLmRvbS5pbnB1dENvbnQpLHRoaXMuc2V0TGlzdGVuZXJzKCksdGhpcy5kb20udmFsdWVbMF0hPT12b2lkIDAmJmUodGhpcy5kb20udmFsdWVbMF0pLnRyaWdnZXIoImR0c2ItaW5zZXJ0ZWQiKTtmb3IodmFyIHA9MTtwPHRoaXMuZG9tLnZhbHVlLmxlbmd0aDtwKyspdGhpcy5kb20uaW5wdXRDb250LmFwcGVuZCh0aGlzLmRvbS52YWx1ZVtwXSksZSh0aGlzLmRvbS52YWx1ZVtwXSkudHJpZ2dlcigiZHRzYi1pbnNlcnRlZCIpO3RoaXMucy5kZXB0aD4xJiZ0aGlzLmRvbS5idXR0b25zLmFwcGVuZCh0aGlzLmRvbS5sZWZ0KSwodGhpcy5jLmRlcHRoTGltaXQ9PT0hMXx8dGhpcy5zLmRlcHRoPHRoaXMuYy5kZXB0aExpbWl0KSYmbD90aGlzLmRvbS5idXR0b25zLmFwcGVuZCh0aGlzLmRvbS5yaWdodCk6dGhpcy5kb20ucmlnaHQucmVtb3ZlKCksdGhpcy5kb20uYnV0dG9ucy5hcHBlbmQodGhpcy5kb20uZGVsZXRlKSx0aGlzLmRvbS5jb250YWluZXIuYXBwZW5kKHRoaXMuZG9tLmJ1dHRvbnMpfSxoLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5kb20uZGF0YS5vZmYoIi5kdHNiIiksdGhpcy5kb20uY29uZGl0aW9uLm9mZigiLmR0c2IiKSx0aGlzLmRvbS5kZWxldGUub2ZmKCIuZHRzYiIpO2Zvcih2YXIgbD0wLHA9dGhpcy5kb20udmFsdWU7bDxwLmxlbmd0aDtsKyspe3ZhciBDPXBbbF07Qy5vZmYoIi5kdHNiIil9dGhpcy5kb20uY29udGFpbmVyLnJlbW92ZSgpfSxoLnByb3RvdHlwZS5zZWFyY2g9ZnVuY3Rpb24obCxwKXt2YXIgQz10aGlzLnMuZHQuc2V0dGluZ3MoKVswXSxGPXRoaXMucy5jb25kaXRpb25zW3RoaXMucy5jb25kaXRpb25dO2lmKHRoaXMucy5jb25kaXRpb24hPT12b2lkIDAmJkYhPT12b2lkIDApe3ZhciBQPWxbdGhpcy5zLmRhdGFJZHhdO2lmKHRoaXMucy50eXBlJiZ0aGlzLnMudHlwZS5pbmNsdWRlcygibnVtIikmJihDLm9MYW5ndWFnZS5zRGVjaW1hbCE9PSIifHxDLm9MYW5ndWFnZS5zVGhvdXNhbmRzIT09IiIpKXt2YXIgZj1bbFt0aGlzLnMuZGF0YUlkeF1dO2lmKEMub0xhbmd1YWdlLnNEZWNpbWFsIT09IiImJihmPWxbdGhpcy5zLmRhdGFJZHhdLnNwbGl0KEMub0xhbmd1YWdlLnNEZWNpbWFsKSksQy5vTGFuZ3VhZ2Uuc1Rob3VzYW5kcyE9PSIiKWZvcih2YXIgVz0wO1c8Zi5sZW5ndGg7VysrKWZbV109ZltXXS5yZXBsYWNlKEMub0xhbmd1YWdlLnNUaG91c2FuZHMsIiwiKTtQPWYuam9pbigiLiIpfWlmKHRoaXMuYy5vcnRob2dvbmFsLnNlYXJjaCE9PSJmaWx0ZXIiJiYoUD1DLmZhc3REYXRhKHAsdGhpcy5zLmRhdGFJZHgsdHlwZW9mIHRoaXMuYy5vcnRob2dvbmFsPT0ic3RyaW5nIj90aGlzLmMub3J0aG9nb25hbDp0aGlzLmMub3J0aG9nb25hbC5zZWFyY2gpKSx0aGlzLnMudHlwZT09PSJhcnJheSIpe0FycmF5LmlzQXJyYXkoUCl8fChQPVtQXSksUC5zb3J0KCk7Zm9yKHZhciBaPTAsaWU9UDtaPGllLmxlbmd0aDtaKyspe3ZhciBFPWllW1pdO0UmJnR5cGVvZiBFPT0ic3RyaW5nIiYmKEU9RS5yZXBsYWNlKC9bXHJcblx1MjAyOF0vZywiICIpKX19ZWxzZSBQIT09bnVsbCYmdHlwZW9mIFA9PSJzdHJpbmciJiYoUD1QLnJlcGxhY2UoL1tcclxuXHUyMDI4XS9nLCIgIikpO3JldHVybiB0aGlzLnMudHlwZS5pbmNsdWRlcygiaHRtbCIpJiZ0eXBlb2YgUD09InN0cmluZyImJihQPVAucmVwbGFjZSgvKDwoW14+XSspPikvaWcsIiIpKSxQPT09bnVsbCYmKFA9IiIpLEYuc2VhcmNoKFAsdGhpcy5zLnZhbHVlLHRoaXMpfX0saC5wcm90b3R5cGUuZ2V0RGV0YWlscz1mdW5jdGlvbihsKXtsPT09dm9pZCAwJiYobD0hMSk7dmFyIHAsQz10aGlzLnMuZHQuc2V0dGluZ3MoKVswXTtpZih0aGlzLnMudHlwZSE9PW51bGwmJlsibnVtIiwibnVtLWZtdCIsImh0bWwtbnVtIiwiaHRtbC1udW0tZm10Il0uaW5jbHVkZXModGhpcy5zLnR5cGUpJiYoQy5vTGFuZ3VhZ2Uuc0RlY2ltYWwhPT0iInx8Qy5vTGFuZ3VhZ2Uuc1Rob3VzYW5kcyE9PSIiKSlmb3IocD0wO3A8dGhpcy5zLnZhbHVlLmxlbmd0aDtwKyspe3ZhciBGPVt0aGlzLnMudmFsdWVbcF0udG9TdHJpbmcoKV07aWYoQy5vTGFuZ3VhZ2Uuc0RlY2ltYWwhPT0iIiYmKEY9dGhpcy5zLnZhbHVlW3BdLnNwbGl0KEMub0xhbmd1YWdlLnNEZWNpbWFsKSksQy5vTGFuZ3VhZ2Uuc1Rob3VzYW5kcyE9PSIiKWZvcih2YXIgUD0wO1A8Ri5sZW5ndGg7UCsrKUZbUF09RltQXS5yZXBsYWNlKEMub0xhbmd1YWdlLnNUaG91c2FuZHMsIiwiKTt0aGlzLnMudmFsdWVbcF09Ri5qb2luKCIuIil9ZWxzZSBpZih0aGlzLnMudHlwZSE9PW51bGwmJmwpe3ZhciBmPW4oKSxXPXIoKTtpZigodGhpcy5zLnR5cGUuaW5jbHVkZXMoImRhdGUiKXx8dGhpcy5zLnR5cGUuaW5jbHVkZXMoInRpbWUiKSkmJiFuJiYhcilmb3IocD0wO3A8dGhpcy5zLnZhbHVlLmxlbmd0aDtwKyspdGhpcy5zLnZhbHVlW3BdLm1hdGNoKC9eXGR7NH0tKFswXVxkfDFbMC0yXSktKFswLTJdXGR8M1swMV0pJC9nKT09PW51bGwmJih0aGlzLnMudmFsdWVbcF09IiIpO2Vsc2UgaWYodGhpcy5zLnR5cGUuaW5jbHVkZXMoIm1vbWVudCIpfHx0aGlzLnMudHlwZS5pbmNsdWRlcygiZGF0ZXRpbWUiKSYmbilmb3IocD0wO3A8dGhpcy5zLnZhbHVlLmxlbmd0aDtwKyspdGhpcy5zLnZhbHVlW3BdJiZ0aGlzLnMudmFsdWVbcF0ubGVuZ3RoPjAmJmYodGhpcy5zLnZhbHVlW3BdLHRoaXMucy5kYXRlRm9ybWF0LCEwKS5pc1ZhbGlkKCkmJih0aGlzLnMudmFsdWVbcF09Zih0aGlzLnMudmFsdWVbcF0sdGhpcy5zLmRhdGVGb3JtYXQpLmZvcm1hdCgiWVlZWS1NTS1ERCBISDptbTpzcyIpKTtlbHNlIGlmKHRoaXMucy50eXBlLmluY2x1ZGVzKCJsdXhvbiIpfHx0aGlzLnMudHlwZS5pbmNsdWRlcygiZGF0ZXRpbWUiKSYmcilmb3IocD0wO3A8dGhpcy5zLnZhbHVlLmxlbmd0aDtwKyspdGhpcy5zLnZhbHVlW3BdJiZ0aGlzLnMudmFsdWVbcF0ubGVuZ3RoPjAmJlcuRGF0ZVRpbWUuZnJvbUZvcm1hdCh0aGlzLnMudmFsdWVbcF0sdGhpcy5zLmRhdGVGb3JtYXQpLmludmFsaWQ9PT1udWxsJiYodGhpcy5zLnZhbHVlW3BdPVcuRGF0ZVRpbWUuZnJvbUZvcm1hdCh0aGlzLnMudmFsdWVbcF0sdGhpcy5zLmRhdGVGb3JtYXQpLnRvRm9ybWF0KCJ5eXl5LU1NLWRkIEhIOm1tOnNzIikpfWlmKHRoaXMucy50eXBlJiZ0aGlzLnMudHlwZS5pbmNsdWRlcygibnVtIikmJnRoaXMucy5kdC5wYWdlLmluZm8oKS5zZXJ2ZXJTaWRlKWZvcihwPTA7cDx0aGlzLnMudmFsdWUubGVuZ3RoO3ArKyl0aGlzLnMudmFsdWVbcF09dGhpcy5zLnZhbHVlW3BdLnJlcGxhY2UoL1teMC05LlwtXS9nLCIiKTtyZXR1cm57Y29uZGl0aW9uOnRoaXMucy5jb25kaXRpb24sZGF0YTp0aGlzLnMuZGF0YSxvcmlnRGF0YTp0aGlzLnMub3JpZ0RhdGEsdHlwZTp0aGlzLnMudHlwZSx2YWx1ZTp0aGlzLnMudmFsdWUubWFwKGZ1bmN0aW9uKFope3JldHVybiBaIT1udWxsP1oudG9TdHJpbmcoKTpafSl9fSxoLnByb3RvdHlwZS5nZXROb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tLmNvbnRhaW5lcn0saC5wcm90b3R5cGUucGFyc2VOdW1iZXI9ZnVuY3Rpb24obCl7dmFyIHA9dGhpcy5zLmR0LmkxOG4oImRlY2ltYWwiKTtyZXR1cm4gcCYmcCE9PSIuIiYmKGw9bC5yZXBsYWNlKC9cLi9nLCIiKS5yZXBsYWNlKHAsIi4iKSksK2wucmVwbGFjZSgvKD8hXi0pW14wLTkuXS9nLCIiKX0saC5wcm90b3R5cGUucG9wdWxhdGU9ZnVuY3Rpb24oKXt0aGlzLl9wb3B1bGF0ZURhdGEoKSx0aGlzLnMuZGF0YUlkeCE9PS0xJiYodGhpcy5fcG9wdWxhdGVDb25kaXRpb24oKSx0aGlzLnMuY29uZGl0aW9uIT09dm9pZCAwJiZ0aGlzLl9wb3B1bGF0ZVZhbHVlKCkpfSxoLnByb3RvdHlwZS5yZWJ1aWxkPWZ1bmN0aW9uKGwpe3ZhciBwPSExLEMsRjtpZih0aGlzLl9wb3B1bGF0ZURhdGEoKSxsLmRhdGEhPT12b2lkIDApe3ZhciBQPXRoaXMuY2xhc3Nlcy5pdGFsaWMsZj10aGlzLmRvbS5kYXRhO3RoaXMuZG9tLmRhdGEuY2hpbGRyZW4oIm9wdGlvbiIpLmVhY2goZnVuY3Rpb24oKXshcCYmKGUodGhpcykudGV4dCgpPT09bC5kYXRhfHxsLm9yaWdEYXRhJiZlKHRoaXMpLnByb3AoIm9yaWdEYXRhIik9PT1sLm9yaWdEYXRhKT8oZSh0aGlzKS5wcm9wKCJzZWxlY3RlZCIsITApLGYucmVtb3ZlQ2xhc3MoUCkscD0hMCxDPXBhcnNlSW50KGUodGhpcykudmFsKCksMTApKTplKHRoaXMpLnJlbW92ZVByb3AoInNlbGVjdGVkIil9KX1pZihwKXt0aGlzLnMuZGF0YT1sLmRhdGEsdGhpcy5zLm9yaWdEYXRhPWwub3JpZ0RhdGEsdGhpcy5zLmRhdGFJZHg9Qyx0aGlzLmMub3J0aG9nb25hbD10aGlzLl9nZXRPcHRpb25zKCkub3J0aG9nb25hbCx0aGlzLmRvbS5kYXRhVGl0bGUucmVtb3ZlKCksdGhpcy5fcG9wdWxhdGVDb25kaXRpb24oKSx0aGlzLmRvbS5jb25kaXRpb25UaXRsZS5yZW1vdmUoKTt2YXIgVz12b2lkIDAsWj10aGlzLmRvbS5jb25kaXRpb24uY2hpbGRyZW4oIm9wdGlvbiIpO2ZvcihGPTA7RjxaLmxlbmd0aDtGKyspe3ZhciBpZT1lKFpbRl0pO2wuY29uZGl0aW9uIT09dm9pZCAwJiZpZS52YWwoKT09PWwuY29uZGl0aW9uJiZ0eXBlb2YgbC5jb25kaXRpb249PSJzdHJpbmciPyhpZS5wcm9wKCJzZWxlY3RlZCIsITApLFc9aWUudmFsKCkpOmllLnJlbW92ZVByb3AoInNlbGVjdGVkIil9aWYodGhpcy5zLmNvbmRpdGlvbj1XLHRoaXMucy5jb25kaXRpb24hPT12b2lkIDApe2Zvcih0aGlzLmRvbS5jb25kaXRpb25UaXRsZS5yZW1vdmVQcm9wKCJzZWxlY3RlZCIpLHRoaXMuZG9tLmNvbmRpdGlvblRpdGxlLnJlbW92ZSgpLHRoaXMuZG9tLmNvbmRpdGlvbi5yZW1vdmVDbGFzcyh0aGlzLmNsYXNzZXMuaXRhbGljKSxGPTA7RjxaLmxlbmd0aDtGKyspe3ZhciBFPWUoWltGXSk7RS52YWwoKSE9PXRoaXMucy5jb25kaXRpb24mJkUucmVtb3ZlUHJvcCgic2VsZWN0ZWQiKX10aGlzLl9wb3B1bGF0ZVZhbHVlKGwpfWVsc2UgdGhpcy5kb20uY29uZGl0aW9uVGl0bGUucHJlcGVuZFRvKHRoaXMuZG9tLmNvbmRpdGlvbikucHJvcCgic2VsZWN0ZWQiLCEwKX19LGgucHJvdG90eXBlLnNldExpc3RlbmVycz1mdW5jdGlvbigpe3ZhciBsPXRoaXM7dGhpcy5kb20uZGF0YS51bmJpbmQoImNoYW5nZSIpLm9uKCJjaGFuZ2UuZHRzYiIsZnVuY3Rpb24oKXtsLmRvbS5kYXRhVGl0bGUucmVtb3ZlUHJvcCgic2VsZWN0ZWQiKTtmb3IodmFyIHA9bC5kb20uZGF0YS5jaGlsZHJlbigib3B0aW9uLiIrbC5jbGFzc2VzLm9wdGlvbiksQz0wO0M8cC5sZW5ndGg7QysrKXt2YXIgRj1lKHBbQ10pO0YudmFsKCk9PT1sLmRvbS5kYXRhLnZhbCgpPyhsLmRvbS5kYXRhLnJlbW92ZUNsYXNzKGwuY2xhc3Nlcy5pdGFsaWMpLEYucHJvcCgic2VsZWN0ZWQiLCEwKSxsLnMuZGF0YUlkeD0rRi52YWwoKSxsLnMuZGF0YT1GLnRleHQoKSxsLnMub3JpZ0RhdGE9Ri5wcm9wKCJvcmlnRGF0YSIpLGwuYy5vcnRob2dvbmFsPWwuX2dldE9wdGlvbnMoKS5vcnRob2dvbmFsLGwuX2NsZWFyQ29uZGl0aW9uKCksbC5fY2xlYXJWYWx1ZSgpLGwuX3BvcHVsYXRlQ29uZGl0aW9uKCksbC5zLmZpbGxlZCYmKGwucy5maWxsZWQ9ITEsbC5kb1NlYXJjaCgpLGwuc2V0TGlzdGVuZXJzKCkpLGwucy5kdC5zdGF0ZS5zYXZlKCkpOkYucmVtb3ZlUHJvcCgic2VsZWN0ZWQiKX19KSx0aGlzLmRvbS5jb25kaXRpb24udW5iaW5kKCJjaGFuZ2UiKS5vbigiY2hhbmdlLmR0c2IiLGZ1bmN0aW9uKCl7bC5kb20uY29uZGl0aW9uVGl0bGUucmVtb3ZlUHJvcCgic2VsZWN0ZWQiKTtmb3IodmFyIHA9bC5kb20uY29uZGl0aW9uLmNoaWxkcmVuKCJvcHRpb24uIitsLmNsYXNzZXMub3B0aW9uKSxDPTA7QzxwLmxlbmd0aDtDKyspe3ZhciBGPWUocFtDXSk7aWYoRi52YWwoKT09PWwuZG9tLmNvbmRpdGlvbi52YWwoKSl7bC5kb20uY29uZGl0aW9uLnJlbW92ZUNsYXNzKGwuY2xhc3Nlcy5pdGFsaWMpLEYucHJvcCgic2VsZWN0ZWQiLCEwKTtmb3IodmFyIFA9Ri52YWwoKSxmPTAsVz1PYmplY3Qua2V5cyhsLnMuY29uZGl0aW9ucyk7ZjxXLmxlbmd0aDtmKyspe3ZhciBaPVdbZl07aWYoWj09PVApe2wucy5jb25kaXRpb249UDticmVha319bC5fY2xlYXJWYWx1ZSgpLGwuX3BvcHVsYXRlVmFsdWUoKTtmb3IodmFyIGllPTAsRT1sLmRvbS52YWx1ZTtpZTxFLmxlbmd0aDtpZSsrKXt2YXIgSj1FW2llXTtsLnMuZmlsbGVkJiZKIT09dm9pZCAwJiZsLmRvbS5pbnB1dENvbnQuaGFzKEpbMF0pLmxlbmd0aCE9PTAmJihsLnMuZmlsbGVkPSExLGwuZG9TZWFyY2goKSxsLnNldExpc3RlbmVycygpKX0obC5kb20udmFsdWUubGVuZ3RoPT09MHx8bC5kb20udmFsdWUubGVuZ3RoPT09MSYmbC5kb20udmFsdWVbMF09PT12b2lkIDApJiZsLmRvU2VhcmNoKCl9ZWxzZSBGLnJlbW92ZVByb3AoInNlbGVjdGVkIil9fSl9LGgucHJvdG90eXBlLnNldHVwQnV0dG9ucz1mdW5jdGlvbigpe2lmKHdpbmRvdy5pbm5lcldpZHRoPjU1MCl7dGhpcy5kb20uY29udGFpbmVyLnJlbW92ZUNsYXNzKHRoaXMuY2xhc3Nlcy52ZXJ0aWNhbCksdGhpcy5kb20uYnV0dG9ucy5jc3MoImxlZnQiLG51bGwpLHRoaXMuZG9tLmJ1dHRvbnMuY3NzKCJ0b3AiLG51bGwpO3JldHVybn10aGlzLmRvbS5jb250YWluZXIuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLnZlcnRpY2FsKSx0aGlzLmRvbS5idXR0b25zLmNzcygibGVmdCIsdGhpcy5kb20uZGF0YS5pbm5lcldpZHRoKCkpLHRoaXMuZG9tLmJ1dHRvbnMuY3NzKCJ0b3AiLHRoaXMuZG9tLmRhdGEucG9zaXRpb24oKS50b3ApfSxoLnByb3RvdHlwZS5fYnVpbGRDcml0ZXJpYT1mdW5jdGlvbigpe3RoaXMuZG9tLmRhdGEuYXBwZW5kKHRoaXMuZG9tLmRhdGFUaXRsZSksdGhpcy5kb20uY29uZGl0aW9uLmFwcGVuZCh0aGlzLmRvbS5jb25kaXRpb25UaXRsZSksdGhpcy5kb20uY29udGFpbmVyLmFwcGVuZCh0aGlzLmRvbS5kYXRhKS5hcHBlbmQodGhpcy5kb20uY29uZGl0aW9uKSx0aGlzLmRvbS5pbnB1dENvbnQuZW1wdHkoKTtmb3IodmFyIGw9MCxwPXRoaXMuZG9tLnZhbHVlO2w8cC5sZW5ndGg7bCsrKXt2YXIgQz1wW2xdO0MuYXBwZW5kKHRoaXMuZG9tLnZhbHVlVGl0bGUpLHRoaXMuZG9tLmlucHV0Q29udC5hcHBlbmQoQyl9dGhpcy5kb20uYnV0dG9ucy5hcHBlbmQodGhpcy5kb20uZGVsZXRlKS5hcHBlbmQodGhpcy5kb20ucmlnaHQpLHRoaXMuZG9tLmNvbnRhaW5lci5hcHBlbmQodGhpcy5kb20uaW5wdXRDb250KS5hcHBlbmQodGhpcy5kb20uYnV0dG9ucyksdGhpcy5zZXRMaXN0ZW5lcnMoKX0saC5wcm90b3R5cGUuX2NsZWFyQ29uZGl0aW9uPWZ1bmN0aW9uKCl7dGhpcy5kb20uY29uZGl0aW9uLmVtcHR5KCksdGhpcy5kb20uY29uZGl0aW9uVGl0bGUucHJvcCgic2VsZWN0ZWQiLCEwKS5hdHRyKCJkaXNhYmxlZCIsInRydWUiKSx0aGlzLmRvbS5jb25kaXRpb24ucHJlcGVuZCh0aGlzLmRvbS5jb25kaXRpb25UaXRsZSkucHJvcCgic2VsZWN0ZWRJbmRleCIsMCksdGhpcy5zLmNvbmRpdGlvbnM9e30sdGhpcy5zLmNvbmRpdGlvbj12b2lkIDB9LGgucHJvdG90eXBlLl9jbGVhclZhbHVlPWZ1bmN0aW9uKCl7dmFyIGw7aWYodGhpcy5zLmNvbmRpdGlvbiE9PXZvaWQgMCl7aWYodGhpcy5kb20udmFsdWUubGVuZ3RoPjAmJnRoaXMuZG9tLnZhbHVlWzBdIT09dm9pZCAwKWZvcih2YXIgcD0wLEM9dGhpcy5kb20udmFsdWU7cDxDLmxlbmd0aDtwKyspbD1DW3BdLGwhPT12b2lkIDAmJnNldFRpbWVvdXQoZnVuY3Rpb24oKXtsLnJlbW92ZSgpfSw1MCk7aWYodGhpcy5kb20udmFsdWU9W10uY29uY2F0KHRoaXMucy5jb25kaXRpb25zW3RoaXMucy5jb25kaXRpb25dLmluaXQodGhpcyxoLnVwZGF0ZUxpc3RlbmVyKSksdGhpcy5kb20udmFsdWUubGVuZ3RoPjAmJnRoaXMuZG9tLnZhbHVlWzBdIT09dm9pZCAwKXt0aGlzLmRvbS5pbnB1dENvbnQuZW1wdHkoKS5hcHBlbmQodGhpcy5kb20udmFsdWVbMF0pLmluc2VydEFmdGVyKHRoaXMuZG9tLmNvbmRpdGlvbiksZSh0aGlzLmRvbS52YWx1ZVswXSkudHJpZ2dlcigiZHRzYi1pbnNlcnRlZCIpO2Zvcih2YXIgRj0xO0Y8dGhpcy5kb20udmFsdWUubGVuZ3RoO0YrKyl0aGlzLmRvbS5pbnB1dENvbnQuYXBwZW5kKHRoaXMuZG9tLnZhbHVlW0ZdKSxlKHRoaXMuZG9tLnZhbHVlW0ZdKS50cmlnZ2VyKCJkdHNiLWluc2VydGVkIil9fWVsc2V7Zm9yKHZhciBQPTAsZj10aGlzLmRvbS52YWx1ZTtQPGYubGVuZ3RoO1ArKylsPWZbUF0sbCE9PXZvaWQgMCYmc2V0VGltZW91dChmdW5jdGlvbigpe2wucmVtb3ZlKCl9LDUwKTt0aGlzLmRvbS52YWx1ZVRpdGxlLnByb3AoInNlbGVjdGVkIiwhMCksdGhpcy5kb20uZGVmYXVsdFZhbHVlLmFwcGVuZCh0aGlzLmRvbS52YWx1ZVRpdGxlKS5pbnNlcnRBZnRlcih0aGlzLmRvbS5jb25kaXRpb24pfXRoaXMucy52YWx1ZT1bXSx0aGlzLmRvbS52YWx1ZT1bZSgiPHNlbGVjdCBkaXNhYmxlZC8+IikuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLnZhbHVlKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMuZHJvcERvd24pLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5pdGFsaWMpLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5zZWxlY3QpLmFwcGVuZCh0aGlzLmRvbS52YWx1ZVRpdGxlLmNsb25lKCkpXX0saC5wcm90b3R5cGUuX2dldE9wdGlvbnM9ZnVuY3Rpb24oKXt2YXIgbD10aGlzLnMuZHQ7cmV0dXJuIGUuZXh0ZW5kKCEwLHt9LGguZGVmYXVsdHMsbC5zZXR0aW5ncygpWzBdLmFvQ29sdW1uc1t0aGlzLnMuZGF0YUlkeF0uc2VhcmNoQnVpbGRlcil9LGgucHJvdG90eXBlLl9wb3B1bGF0ZUNvbmRpdGlvbj1mdW5jdGlvbigpe3ZhciBsPVtdLHA9T2JqZWN0LmtleXModGhpcy5zLmNvbmRpdGlvbnMpLmxlbmd0aCxDPXRoaXMucy5kdCxGPUMuc2V0dGluZ3MoKVswXS5hb0NvbHVtbnMsUD0rdGhpcy5kb20uZGF0YS5jaGlsZHJlbigib3B0aW9uOnNlbGVjdGVkIikudmFsKCksZixXO2lmKHA9PT0wKXtpZih0aGlzLnMudHlwZT1DLmNvbHVtbihQKS50eXBlKCksRiE9PXZvaWQgMCl7dmFyIFo9RltQXTtaLnNlYXJjaEJ1aWxkZXJUeXBlIT09dm9pZCAwJiZaLnNlYXJjaEJ1aWxkZXJUeXBlIT09bnVsbD90aGlzLnMudHlwZT1aLnNlYXJjaEJ1aWxkZXJUeXBlOih0aGlzLnMudHlwZT09PXZvaWQgMHx8dGhpcy5zLnR5cGU9PT1udWxsKSYmKHRoaXMucy50eXBlPVouc1R5cGUpfSh0aGlzLnMudHlwZT09PW51bGx8fHRoaXMucy50eXBlPT09dm9pZCAwKSYmKGUuZm4uZGF0YVRhYmxlLmV4dC5vQXBpJiZlLmZuLmRhdGFUYWJsZS5leHQub0FwaS5fZm5Db2x1bW5UeXBlcyhDLnNldHRpbmdzKClbMF0pLHRoaXMucy50eXBlPUMuY29sdW1uKFApLnR5cGUoKSksdGhpcy5kb20uY29uZGl0aW9uLnJlbW92ZUF0dHIoImRpc2FibGVkIikuZW1wdHkoKS5hcHBlbmQodGhpcy5kb20uY29uZGl0aW9uVGl0bGUpLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5pdGFsaWMpLHRoaXMuZG9tLmNvbmRpdGlvblRpdGxlLnByb3AoInNlbGVjdGVkIiwhMCk7dmFyIGllPUMuc2V0dGluZ3MoKVswXS5vTGFuZ3VhZ2Uuc0RlY2ltYWw7aWUhPT0iIiYmdGhpcy5zLnR5cGUmJnRoaXMucy50eXBlLmluZGV4T2YoaWUpPT09dGhpcy5zLnR5cGUubGVuZ3RoLWllLmxlbmd0aCYmKHRoaXMucy50eXBlLmluY2x1ZGVzKCJudW0tZm10Iik/dGhpcy5zLnR5cGU9dGhpcy5zLnR5cGUucmVwbGFjZShpZSwiIik6dGhpcy5zLnR5cGUuaW5jbHVkZXMoIm51bSIpJiYodGhpcy5zLnR5cGU9dGhpcy5zLnR5cGUucmVwbGFjZShpZSwiIikpKTt2YXIgRT12b2lkIDA7aWYodGhpcy5jLmNvbmRpdGlvbnNbdGhpcy5zLnR5cGVdIT09dm9pZCAwKUU9dGhpcy5jLmNvbmRpdGlvbnNbdGhpcy5zLnR5cGVdO2Vsc2UgaWYodGhpcy5zLnR5cGUmJnRoaXMucy50eXBlPT09ImRhdGV0aW1lIil7dmFyIEo9dGUudXNlKCJtb21lbnQiKSxfPXRlLnVzZSgibHV4b24iKTtKJiYoRT10aGlzLmMuY29uZGl0aW9ucy5tb21lbnQsdGhpcy5zLmRhdGVGb3JtYXQ9SigpLmNyZWF0aW9uRGF0YSgpLmxvY2FsZS5fbG9uZ0RhdGVGb3JtYXQuTCksXyYmKEU9dGhpcy5jLmNvbmRpdGlvbnMubHV4b24sdGhpcy5zLmRhdGVGb3JtYXQ9Xy5EYXRlVGltZS5EQVRFX1NIT1JUKX1lbHNlIHRoaXMucy50eXBlJiZ0aGlzLnMudHlwZS5pbmNsdWRlcygiZGF0ZXRpbWUtIik/KEU9dGUudXNlKCJtb21lbnQiKT90aGlzLmMuY29uZGl0aW9ucy5tb21lbnQ6dGhpcy5jLmNvbmRpdGlvbnMubHV4b24sdGhpcy5zLmRhdGVGb3JtYXQ9dGhpcy5zLnR5cGUucmVwbGFjZSgvZGF0ZXRpbWUtL2csIiIpKTp0aGlzLnMudHlwZSYmdGhpcy5zLnR5cGUuaW5jbHVkZXMoIm1vbWVudCIpPyhFPXRoaXMuYy5jb25kaXRpb25zLm1vbWVudCx0aGlzLnMuZGF0ZUZvcm1hdD10aGlzLnMudHlwZS5yZXBsYWNlKC9tb21lbnQtL2csIiIpKTp0aGlzLnMudHlwZSYmdGhpcy5zLnR5cGUuaW5jbHVkZXMoImx1eG9uIik/KEU9dGhpcy5jLmNvbmRpdGlvbnMubHV4b24sdGhpcy5zLmRhdGVGb3JtYXQ9dGhpcy5zLnR5cGUucmVwbGFjZSgvbHV4b24tL2csIiIpKTpFPXRoaXMuYy5jb25kaXRpb25zLnN0cmluZztmb3IodmFyIFM9MCxrPU9iamVjdC5rZXlzKEUpO1M8ay5sZW5ndGg7UysrKWlmKGY9a1tTXSxFW2ZdIT09bnVsbCl7aWYoQy5wYWdlLmluZm8oKS5zZXJ2ZXJTaWRlJiZFW2ZdLmluaXQ9PT1oLmluaXRTZWxlY3Qpe3ZhciBMPUZbUF07dGhpcy5zLnNlcnZlckRhdGEmJnRoaXMucy5zZXJ2ZXJEYXRhW0wuZGF0YV0/KEVbZl0uaW5pdD1oLmluaXRTZWxlY3RTU1AsRVtmXS5pbnB1dFZhbHVlPWguaW5wdXRWYWx1ZVNlbGVjdCxFW2ZdLmlzSW5wdXRWYWxpZD1oLmlzSW5wdXRWYWxpZFNlbGVjdCk6KEVbZl0uaW5pdD1oLmluaXRJbnB1dCxFW2ZdLmlucHV0VmFsdWU9aC5pbnB1dFZhbHVlSW5wdXQsRVtmXS5pc0lucHV0VmFsaWQ9aC5pc0lucHV0VmFsaWRJbnB1dCl9dGhpcy5zLmNvbmRpdGlvbnNbZl09RVtmXSxXPUVbZl0uY29uZGl0aW9uTmFtZSx0eXBlb2YgVz09ImZ1bmN0aW9uIiYmKFc9VyhDLHRoaXMuYy5pMThuKSksbC5wdXNoKGUoIjxvcHRpb24+Iix7dGV4dDpXLHZhbHVlOmZ9KS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMub3B0aW9uKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMubm90SXRhbGljKSl9fWVsc2UgaWYocD4wKXt0aGlzLmRvbS5jb25kaXRpb24uZW1wdHkoKS5yZW1vdmVBdHRyKCJkaXNhYmxlZCIpLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5pdGFsaWMpO2Zvcih2YXIgUj0wLEI9T2JqZWN0LmtleXModGhpcy5zLmNvbmRpdGlvbnMpO1I8Qi5sZW5ndGg7UisrKXtmPUJbUl07dmFyIEc9dGhpcy5zLmNvbmRpdGlvbnNbZl0uY29uZGl0aW9uTmFtZTt0eXBlb2YgRz09ImZ1bmN0aW9uIiYmKEc9RyhDLHRoaXMuYy5pMThuKSk7dmFyIE09ZSgiPG9wdGlvbj4iLHt0ZXh0OkcsdmFsdWU6Zn0pLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5vcHRpb24pLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5ub3RJdGFsaWMpO3RoaXMucy5jb25kaXRpb24hPT12b2lkIDAmJnRoaXMucy5jb25kaXRpb249PT1HJiYoTS5wcm9wKCJzZWxlY3RlZCIsITApLHRoaXMuZG9tLmNvbmRpdGlvbi5yZW1vdmVDbGFzcyh0aGlzLmNsYXNzZXMuaXRhbGljKSksbC5wdXNoKE0pfX1lbHNle3RoaXMuZG9tLmNvbmRpdGlvbi5hdHRyKCJkaXNhYmxlZCIsInRydWUiKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMuaXRhbGljKTtyZXR1cm59Zm9yKHZhciBxPTAsYWU9bDtxPGFlLmxlbmd0aDtxKyspe3ZhciBlZT1hZVtxXTt0aGlzLmRvbS5jb25kaXRpb24uYXBwZW5kKGVlKX1pZihGW1BdLnNlYXJjaEJ1aWxkZXImJkZbUF0uc2VhcmNoQnVpbGRlci5kZWZhdWx0Q29uZGl0aW9uKXt2YXIgbmU9RltQXS5zZWFyY2hCdWlsZGVyLmRlZmF1bHRDb25kaXRpb247aWYodHlwZW9mIG5lPT0ibnVtYmVyIil0aGlzLmRvbS5jb25kaXRpb24ucHJvcCgic2VsZWN0ZWRJbmRleCIsbmUpLHRoaXMuZG9tLmNvbmRpdGlvbi50cmlnZ2VyKCJjaGFuZ2UiKTtlbHNlIGlmKHR5cGVvZiBuZT09InN0cmluZyIpZm9yKHZhciB4ZT0wO3hlPGwubGVuZ3RoO3hlKyspZm9yKHZhciBJZT0wLENlPU9iamVjdC5rZXlzKHRoaXMucy5jb25kaXRpb25zKTtJZTxDZS5sZW5ndGg7SWUrKyl7dmFyIERlPUNlW0llXTtpZihXPXRoaXMucy5jb25kaXRpb25zW0RlXS5jb25kaXRpb25OYW1lLCh0eXBlb2YgVz09InN0cmluZyI/VzpXKEMsdGhpcy5jLmkxOG4pKT09PWxbeGVdLnRleHQoKSYmRGU9PT1uZSl7dGhpcy5kb20uY29uZGl0aW9uLnByb3AoInNlbGVjdGVkSW5kZXgiLHRoaXMuZG9tLmNvbmRpdGlvbi5jaGlsZHJlbigpLnRvQXJyYXkoKS5pbmRleE9mKGxbeGVdWzBdKSkucmVtb3ZlQ2xhc3ModGhpcy5jbGFzc2VzLml0YWxpYyksdGhpcy5kb20uY29uZGl0aW9uLnRyaWdnZXIoImNoYW5nZSIpLHhlPWwubGVuZ3RoO2JyZWFrfX19ZWxzZSB0aGlzLmRvbS5jb25kaXRpb24ucHJvcCgic2VsZWN0ZWRJbmRleCIsMCl9LGgucHJvdG90eXBlLl9wb3B1bGF0ZURhdGE9ZnVuY3Rpb24oKXt2YXIgbD10aGlzLnMuZHQuc2V0dGluZ3MoKVswXS5hb0NvbHVtbnMscD10aGlzLnMuZHQuY29sdW1ucyh0aGlzLmMuY29sdW1ucykuaW5kZXhlcygpLnRvQXJyYXkoKTt0aGlzLmRvbS5kYXRhLmVtcHR5KCkuYXBwZW5kKHRoaXMuZG9tLmRhdGFUaXRsZSk7Zm9yKHZhciBDPTA7QzxsLmxlbmd0aDtDKyspaWYodGhpcy5jLmNvbHVtbnM9PT0hMHx8cC5pbmNsdWRlcyhDKSl7dmFyIEY9bFtDXSxQPXtpbmRleDpDLG9yaWdEYXRhOkYuZGF0YSx0ZXh0OihGLnNlYXJjaEJ1aWxkZXJUaXRsZXx8Ri5zVGl0bGUpLnJlcGxhY2UoLyg8KFtePl0rKT4pL2lnLCIiKX07dGhpcy5kb20uZGF0YS5hcHBlbmQoZSgiPG9wdGlvbj4iLHt0ZXh0OlAudGV4dCx2YWx1ZTpQLmluZGV4fSkuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLm9wdGlvbikuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLm5vdEl0YWxpYykucHJvcCgib3JpZ0RhdGEiLEYuZGF0YSkucHJvcCgic2VsZWN0ZWQiLHRoaXMucy5kYXRhSWR4PT09UC5pbmRleCkpLHRoaXMucy5kYXRhSWR4PT09UC5pbmRleCYmdGhpcy5kb20uZGF0YVRpdGxlLnJlbW92ZVByb3AoInNlbGVjdGVkIil9fSxoLnByb3RvdHlwZS5fcG9wdWxhdGVWYWx1ZT1mdW5jdGlvbihsKXt2YXIgcD10aGlzLEM9dGhpcy5zLmZpbGxlZCxGO3RoaXMucy5maWxsZWQ9ITEsc2V0VGltZW91dChmdW5jdGlvbigpe3AuZG9tLmRlZmF1bHRWYWx1ZS5yZW1vdmUoKX0sNTApO2Zvcih2YXIgUD1mdW5jdGlvbihFKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7RSE9PXZvaWQgMCYmRS5yZW1vdmUoKX0sNTApfSxmPTAsVz10aGlzLmRvbS52YWx1ZTtmPFcubGVuZ3RoO2YrKyl7dmFyIFo9V1tmXTtQKFopfXZhciBpZT10aGlzLmRvbS5pbnB1dENvbnQuY2hpbGRyZW4oKTtpZihpZS5sZW5ndGg+MSlmb3IoRj0wO0Y8aWUubGVuZ3RoO0YrKyllKGllW0ZdKS5yZW1vdmUoKTtmb3IobCE9PXZvaWQgMCYmdGhpcy5zLmR0LmNvbHVtbnMoKS5ldmVyeShmdW5jdGlvbihFKXtwLnMuZHQuc2V0dGluZ3MoKVswXS5hb0NvbHVtbnNbRV0uc1RpdGxlPT09bC5kYXRhJiYocC5zLmRhdGFJZHg9RSl9KSx0aGlzLmRvbS52YWx1ZT1bXS5jb25jYXQodGhpcy5zLmNvbmRpdGlvbnNbdGhpcy5zLmNvbmRpdGlvbl0uaW5pdCh0aGlzLGgudXBkYXRlTGlzdGVuZXIsbCE9PXZvaWQgMD9sLnZhbHVlOnZvaWQgMCkpLGwhPT12b2lkIDAmJmwudmFsdWUhPT12b2lkIDAmJih0aGlzLnMudmFsdWU9bC52YWx1ZSksdGhpcy5kb20uaW5wdXRDb250LmVtcHR5KCksdGhpcy5kb20udmFsdWVbMF0hPT12b2lkIDAmJmUodGhpcy5kb20udmFsdWVbMF0pLmFwcGVuZFRvKHRoaXMuZG9tLmlucHV0Q29udCkudHJpZ2dlcigiZHRzYi1pbnNlcnRlZCIpLEY9MTtGPHRoaXMuZG9tLnZhbHVlLmxlbmd0aDtGKyspZSh0aGlzLmRvbS52YWx1ZVtGXSkuaW5zZXJ0QWZ0ZXIodGhpcy5kb20udmFsdWVbRi0xXSkudHJpZ2dlcigiZHRzYi1pbnNlcnRlZCIpO3RoaXMucy5maWxsZWQ9dGhpcy5zLmNvbmRpdGlvbnNbdGhpcy5zLmNvbmRpdGlvbl0uaXNJbnB1dFZhbGlkKHRoaXMuZG9tLnZhbHVlLHRoaXMpLHRoaXMuc2V0TGlzdGVuZXJzKCksIXRoaXMucy5wcmV2ZW50UmVkcmF3JiZDIT09dGhpcy5zLmZpbGxlZCYmKHRoaXMucy5kdC5wYWdlLmluZm8oKS5zZXJ2ZXJTaWRlfHx0aGlzLmRvU2VhcmNoKCksdGhpcy5zZXRMaXN0ZW5lcnMoKSl9LGgucHJvdG90eXBlLl90aHJvdHRsZT1mdW5jdGlvbihsLHApe3A9PT12b2lkIDAmJihwPTIwMCk7dmFyIEM9bnVsbCxGPW51bGwsUD10aGlzO3JldHVybiBwPT09bnVsbCYmKHA9MjAwKSxmdW5jdGlvbigpe2Zvcih2YXIgZj1bXSxXPTA7Vzxhcmd1bWVudHMubGVuZ3RoO1crKylmW1ddPWFyZ3VtZW50c1tXXTt2YXIgWj0rbmV3IERhdGU7QyE9PW51bGwmJlo8QytwP2NsZWFyVGltZW91dChGKTpDPVosRj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Qz1udWxsLGwuYXBwbHkoUCxmKX0scCl9fSxoLnZlcnNpb249IjEuMS4wIixoLmNsYXNzZXM9e2J1dHRvbjoiZHRzYi1idXR0b24iLGJ1dHRvbkNvbnRhaW5lcjoiZHRzYi1idXR0b25Db250YWluZXIiLGNvbmRpdGlvbjoiZHRzYi1jb25kaXRpb24iLGNvbnRhaW5lcjoiZHRzYi1jcml0ZXJpYSIsZGF0YToiZHRzYi1kYXRhIixkZWxldGU6ImR0c2ItZGVsZXRlIixkcm9wRG93bjoiZHRzYi1kcm9wRG93biIsZ3JleXNjYWxlOiJkdHNiLWdyZXlzY2FsZSIsaW5wdXQ6ImR0c2ItaW5wdXQiLGlucHV0Q29udDoiZHRzYi1pbnB1dENvbnQiLGl0YWxpYzoiZHRzYi1pdGFsaWMiLGpvaW5lcjoiZHRzYi1qb2luZXIiLGxlZnQ6ImR0c2ItbGVmdCIsbm90SXRhbGljOiJkdHNiLW5vdEl0YWxpYyIsb3B0aW9uOiJkdHNiLW9wdGlvbiIscmlnaHQ6ImR0c2ItcmlnaHQiLHNlbGVjdDoiZHRzYi1zZWxlY3QiLHZhbHVlOiJkdHNiLXZhbHVlIix2ZXJ0aWNhbDoiZHRzYi12ZXJ0aWNhbCJ9LGguaW5pdFNlbGVjdD1mdW5jdGlvbihsLHAsQyxGKXtDPT09dm9pZCAwJiYoQz1udWxsKSxGPT09dm9pZCAwJiYoRj0hMSk7dmFyIFA9bC5kb20uZGF0YS5jaGlsZHJlbigib3B0aW9uOnNlbGVjdGVkIikudmFsKCksZj1sLnMuZHQucm93cygpLmluZGV4ZXMoKS50b0FycmF5KCksVz1sLnMuZHQuc2V0dGluZ3MoKVswXS5mYXN0RGF0YTtsLmRvbS52YWx1ZVRpdGxlLnByb3AoInNlbGVjdGVkIiwhMCk7dmFyIFo9ZSgiPHNlbGVjdC8+IikuYWRkQ2xhc3MoaC5jbGFzc2VzLnZhbHVlKS5hZGRDbGFzcyhoLmNsYXNzZXMuZHJvcERvd24pLmFkZENsYXNzKGguY2xhc3Nlcy5pdGFsaWMpLmFkZENsYXNzKGguY2xhc3Nlcy5zZWxlY3QpLmFwcGVuZChsLmRvbS52YWx1ZVRpdGxlKS5vbigiY2hhbmdlLmR0c2IiLGZ1bmN0aW9uKCl7ZSh0aGlzKS5yZW1vdmVDbGFzcyhoLmNsYXNzZXMuaXRhbGljKSxwKGwsdGhpcyl9KTtsLmMuZ3JleXNjYWxlJiZaLmFkZENsYXNzKGguY2xhc3Nlcy5ncmV5c2NhbGUpO2Zvcih2YXIgaWU9W10sRT1bXSxKPTAsXz1mO0o8Xy5sZW5ndGg7SisrKXt2YXIgUz1fW0pdLGs9VyhTLFAsdHlwZW9mIGwuYy5vcnRob2dvbmFsPT0ic3RyaW5nIj9sLmMub3J0aG9nb25hbDpsLmMub3J0aG9nb25hbC5zZWFyY2gpLEw9e2ZpbHRlcjp0eXBlb2Ygaz09InN0cmluZyI/ay5yZXBsYWNlKC9bXHJcblx1MjAyOF0vZywiICIpOmssaW5kZXg6Uyx0ZXh0OlcoUyxQLHR5cGVvZiBsLmMub3J0aG9nb25hbD09InN0cmluZyI/bC5jLm9ydGhvZ29uYWw6bC5jLm9ydGhvZ29uYWwuZGlzcGxheSl9O2wucy50eXBlPT09ImFycmF5IiYmKEwuZmlsdGVyPUFycmF5LmlzQXJyYXkoTC5maWx0ZXIpP0wuZmlsdGVyOltMLmZpbHRlcl0sTC50ZXh0PUFycmF5LmlzQXJyYXkoTC50ZXh0KT9MLnRleHQ6W0wudGV4dF0pO3ZhciBSPWZ1bmN0aW9uKGFlLGVlKXtsLnMudHlwZS5pbmNsdWRlcygiaHRtbCIpJiZhZSE9PW51bGwmJnR5cGVvZiBhZT09InN0cmluZyImJmFlLnJlcGxhY2UoLyg8KFtePl0rKT4pL2lnLCIiKTt2YXIgbmU9ZSgiPG9wdGlvbj4iLHt0eXBlOkFycmF5LmlzQXJyYXkoYWUpPyJBcnJheSI6IlN0cmluZyIsdmFsdWU6YWV9KS5kYXRhKCJzYnYiLGFlKS5hZGRDbGFzcyhsLmNsYXNzZXMub3B0aW9uKS5hZGRDbGFzcyhsLmNsYXNzZXMubm90SXRhbGljKS5odG1sKHR5cGVvZiBlZT09InN0cmluZyI/ZWUucmVwbGFjZSgvKDwoW14+XSspPikvaWcsIiIpOmVlKSx4ZT1uZS52YWwoKTtpZS5pbmRleE9mKHhlKT09PS0xJiYoaWUucHVzaCh4ZSksRS5wdXNoKG5lKSxDIT09bnVsbCYmQXJyYXkuaXNBcnJheShDWzBdKSYmKENbMF09Q1swXS5zb3J0KCkuam9pbigiLCIpKSxDIT09bnVsbCYmbmUudmFsKCk9PT1DWzBdJiYobmUucHJvcCgic2VsZWN0ZWQiLCEwKSxaLnJlbW92ZUNsYXNzKGguY2xhc3Nlcy5pdGFsaWMpLGwuZG9tLnZhbHVlVGl0bGUucmVtb3ZlUHJvcCgic2VsZWN0ZWQiKSkpfTtpZihGKWZvcih2YXIgQj0wO0I8TC5maWx0ZXIubGVuZ3RoO0IrKylSKEwuZmlsdGVyW0JdLEwudGV4dFtCXSk7ZWxzZSBSKEwuZmlsdGVyLEFycmF5LmlzQXJyYXkoTC50ZXh0KT9MLnRleHQuam9pbigiLCAiKTpMLnRleHQpfUUuc29ydChmdW5jdGlvbihhZSxlZSl7aWYobC5zLnR5cGU9PT0iYXJyYXkifHxsLnMudHlwZT09PSJzdHJpbmcifHxsLnMudHlwZT09PSJodG1sIilyZXR1cm4gYWUudmFsKCk8ZWUudmFsKCk/LTE6YWUudmFsKCk+ZWUudmFsKCk/MTowO2lmKGwucy50eXBlPT09Im51bSJ8fGwucy50eXBlPT09Imh0bWwtbnVtIilyZXR1cm4rYWUudmFsKCkucmVwbGFjZSgvKDwoW14+XSspPikvaWcsIiIpPCtlZS52YWwoKS5yZXBsYWNlKC8oPChbXj5dKyk+KS9pZywiIik/LTE6K2FlLnZhbCgpLnJlcGxhY2UoLyg8KFtePl0rKT4pL2lnLCIiKT4rZWUudmFsKCkucmVwbGFjZSgvKDwoW14+XSspPikvaWcsIiIpPzE6MDtpZihsLnMudHlwZT09PSJudW0tZm10Inx8bC5zLnR5cGU9PT0iaHRtbC1udW0tZm10IilyZXR1cm4rYWUudmFsKCkucmVwbGFjZSgvW14wLTkuXS9nLCIiKTwrZWUudmFsKCkucmVwbGFjZSgvW14wLTkuXS9nLCIiKT8tMTorYWUudmFsKCkucmVwbGFjZSgvW14wLTkuXS9nLCIiKT4rZWUudmFsKCkucmVwbGFjZSgvW14wLTkuXS9nLCIiKT8xOjB9KTtmb3IodmFyIEc9MCxNPUU7RzxNLmxlbmd0aDtHKyspe3ZhciBxPU1bR107Wi5hcHBlbmQocSl9cmV0dXJuIFp9LGguaW5pdFNlbGVjdFNTUD1mdW5jdGlvbihsLHAsQyl7Qz09PXZvaWQgMCYmKEM9bnVsbCksbC5kb20udmFsdWVUaXRsZS5wcm9wKCJzZWxlY3RlZCIsITApO3ZhciBGPWUoIjxzZWxlY3QvPiIpLmFkZENsYXNzKGguY2xhc3Nlcy52YWx1ZSkuYWRkQ2xhc3MoaC5jbGFzc2VzLmRyb3BEb3duKS5hZGRDbGFzcyhoLmNsYXNzZXMuaXRhbGljKS5hZGRDbGFzcyhoLmNsYXNzZXMuc2VsZWN0KS5hcHBlbmQobC5kb20udmFsdWVUaXRsZSkub24oImNoYW5nZS5kdHNiIixmdW5jdGlvbigpe2UodGhpcykucmVtb3ZlQ2xhc3MoaC5jbGFzc2VzLml0YWxpYykscChsLHRoaXMpfSk7bC5jLmdyZXlzY2FsZSYmRi5hZGRDbGFzcyhoLmNsYXNzZXMuZ3JleXNjYWxlKTtmb3IodmFyIFA9W10sZj0wLFc9bC5zLnNlcnZlckRhdGFbbC5zLm9yaWdEYXRhXTtmPFcubGVuZ3RoO2YrKyl7dmFyIFo9V1tmXSxpZT1aLnZhbHVlLEU9Wi5sYWJlbCxKPWZ1bmN0aW9uKEwsUil7bC5zLnR5cGUuaW5jbHVkZXMoImh0bWwiKSYmTCE9PW51bGwmJnR5cGVvZiBMPT0ic3RyaW5nIiYmTC5yZXBsYWNlKC8oPChbXj5dKyk+KS9pZywiIik7dmFyIEI9ZSgiPG9wdGlvbj4iLHt0eXBlOkFycmF5LmlzQXJyYXkoTCk/IkFycmF5IjoiU3RyaW5nIix2YWx1ZTpMfSkuZGF0YSgic2J2IixMKS5hZGRDbGFzcyhsLmNsYXNzZXMub3B0aW9uKS5hZGRDbGFzcyhsLmNsYXNzZXMubm90SXRhbGljKS5odG1sKHR5cGVvZiBSPT0ic3RyaW5nIj9SLnJlcGxhY2UoLyg8KFtePl0rKT4pL2lnLCIiKTpSKTtQLnB1c2goQiksQyE9PW51bGwmJkIudmFsKCk9PT1DWzBdJiYoQi5wcm9wKCJzZWxlY3RlZCIsITApLEYucmVtb3ZlQ2xhc3MoaC5jbGFzc2VzLml0YWxpYyksbC5kb20udmFsdWVUaXRsZS5yZW1vdmVQcm9wKCJzZWxlY3RlZCIpKX07SihpZSxFKX1mb3IodmFyIF89MCxTPVA7XzxTLmxlbmd0aDtfKyspe3ZhciBrPVNbX107Ri5hcHBlbmQoayl9cmV0dXJuIEZ9LGguaW5pdFNlbGVjdEFycmF5PWZ1bmN0aW9uKGwscCxDKXtyZXR1cm4gQz09PXZvaWQgMCYmKEM9bnVsbCksaC5pbml0U2VsZWN0KGwscCxDLCEwKX0saC5pbml0SW5wdXQ9ZnVuY3Rpb24obCxwLEMpe0M9PT12b2lkIDAmJihDPW51bGwpO3ZhciBGPWwucy5kdC5zZXR0aW5ncygpWzBdLnNlYXJjaERlbGF5LFA9ZSgiPGlucHV0Lz4iKS5hZGRDbGFzcyhoLmNsYXNzZXMudmFsdWUpLmFkZENsYXNzKGguY2xhc3Nlcy5pbnB1dCkub24oImlucHV0LmR0c2Iga2V5cHJlc3MuZHRzYiIsbC5fdGhyb3R0bGUoZnVuY3Rpb24oZil7dmFyIFc9Zi5rZXlDb2RlfHxmLndoaWNoO3JldHVybiBwKGwsdGhpcyxXKX0sRj09PW51bGw/MTAwOkYpKTtyZXR1cm4gbC5jLmdyZXlzY2FsZSYmUC5hZGRDbGFzcyhoLmNsYXNzZXMuZ3JleXNjYWxlKSxDIT09bnVsbCYmUC52YWwoQ1swXSksbC5zLmR0Lm9uZSgiZHJhdy5kdHNiIixmdW5jdGlvbigpe2wucy50b3BHcm91cC50cmlnZ2VyKCJkdHNiLXJlZHJhd0xvZ2ljIil9KSxQfSxoLmluaXQySW5wdXQ9ZnVuY3Rpb24obCxwLEMpe0M9PT12b2lkIDAmJihDPW51bGwpO3ZhciBGPWwucy5kdC5zZXR0aW5ncygpWzBdLnNlYXJjaERlbGF5LFA9W2UoIjxpbnB1dC8+IikuYWRkQ2xhc3MoaC5jbGFzc2VzLnZhbHVlKS5hZGRDbGFzcyhoLmNsYXNzZXMuaW5wdXQpLm9uKCJpbnB1dC5kdHNiIGtleXByZXNzLmR0c2IiLGwuX3Rocm90dGxlKGZ1bmN0aW9uKGYpe3ZhciBXPWYua2V5Q29kZXx8Zi53aGljaDtyZXR1cm4gcChsLHRoaXMsVyl9LEY9PT1udWxsPzEwMDpGKSksZSgiPHNwYW4+IikuYWRkQ2xhc3MobC5jbGFzc2VzLmpvaW5lcikuaHRtbChsLnMuZHQuaTE4bigic2VhcmNoQnVpbGRlci52YWx1ZUpvaW5lciIsbC5jLmkxOG4udmFsdWVKb2luZXIpKSxlKCI8aW5wdXQvPiIpLmFkZENsYXNzKGguY2xhc3Nlcy52YWx1ZSkuYWRkQ2xhc3MoaC5jbGFzc2VzLmlucHV0KS5vbigiaW5wdXQuZHRzYiBrZXlwcmVzcy5kdHNiIixsLl90aHJvdHRsZShmdW5jdGlvbihmKXt2YXIgVz1mLmtleUNvZGV8fGYud2hpY2g7cmV0dXJuIHAobCx0aGlzLFcpfSxGPT09bnVsbD8xMDA6RikpXTtyZXR1cm4gbC5jLmdyZXlzY2FsZSYmKFBbMF0uYWRkQ2xhc3MoaC5jbGFzc2VzLmdyZXlzY2FsZSksUFsyXS5hZGRDbGFzcyhoLmNsYXNzZXMuZ3JleXNjYWxlKSksQyE9PW51bGwmJihQWzBdLnZhbChDWzBdKSxQWzJdLnZhbChDWzFdKSksbC5zLmR0Lm9uZSgiZHJhdy5kdHNiIixmdW5jdGlvbigpe2wucy50b3BHcm91cC50cmlnZ2VyKCJkdHNiLXJlZHJhd0xvZ2ljIil9KSxQfSxoLmluaXREYXRlPWZ1bmN0aW9uKGwscCxDKXtDPT09dm9pZCAwJiYoQz1udWxsKTt2YXIgRj1sLnMuZHQuc2V0dGluZ3MoKVswXS5zZWFyY2hEZWxheSxQPWwucy5kdC5pMThuKCJkYXRldGltZSIse30pLGY9ZSgiPGlucHV0Lz4iKS5hZGRDbGFzcyhoLmNsYXNzZXMudmFsdWUpLmFkZENsYXNzKGguY2xhc3Nlcy5pbnB1dCkuZHREYXRlVGltZSh7Zm9ybWF0Omwucy5kYXRlRm9ybWF0P2wucy5kYXRlRm9ybWF0OnZvaWQgMCxpMThuOlB9KS5vbigiY2hhbmdlLmR0c2IiLGwuX3Rocm90dGxlKGZ1bmN0aW9uKCl7cmV0dXJuIHAobCx0aGlzKX0sRj09PW51bGw/MTAwOkYpKS5vbigiaW5wdXQuZHRzYiBrZXlwcmVzcy5kdHNiIixmdW5jdGlvbihXKXtsLl90aHJvdHRsZShmdW5jdGlvbigpe3ZhciBaPVcua2V5Q29kZXx8Vy53aGljaDtyZXR1cm4gcChsLHRoaXMsWil9LEY9PT1udWxsPzEwMDpGKX0pO3JldHVybiBsLmMuZ3JleXNjYWxlJiZmLmFkZENsYXNzKGguY2xhc3Nlcy5ncmV5c2NhbGUpLEMhPT1udWxsJiZmLnZhbChDWzBdKSxsLnMuZHQub25lKCJkcmF3LmR0c2IiLGZ1bmN0aW9uKCl7bC5zLnRvcEdyb3VwLnRyaWdnZXIoImR0c2ItcmVkcmF3TG9naWMiKX0pLGZ9LGguaW5pdE5vVmFsdWU9ZnVuY3Rpb24obCl7cmV0dXJuIGwucy5kdC5vbmUoImRyYXcuZHRzYiIsZnVuY3Rpb24oKXtsLnMudG9wR3JvdXAudHJpZ2dlcigiZHRzYi1yZWRyYXdMb2dpYyIpfSksW119LGguaW5pdDJEYXRlPWZ1bmN0aW9uKGwscCxDKXt2YXIgRj10aGlzO0M9PT12b2lkIDAmJihDPW51bGwpO3ZhciBQPWwucy5kdC5zZXR0aW5ncygpWzBdLnNlYXJjaERlbGF5LGY9bC5zLmR0LmkxOG4oImRhdGV0aW1lIix7fSksVz1bZSgiPGlucHV0Lz4iKS5hZGRDbGFzcyhoLmNsYXNzZXMudmFsdWUpLmFkZENsYXNzKGguY2xhc3Nlcy5pbnB1dCkuZHREYXRlVGltZSh7Zm9ybWF0Omwucy5kYXRlRm9ybWF0P2wucy5kYXRlRm9ybWF0OnZvaWQgMCxpMThuOmZ9KS5vbigiY2hhbmdlLmR0c2IiLFAhPT1udWxsP3RlLnV0aWwudGhyb3R0bGUoZnVuY3Rpb24oKXtyZXR1cm4gcChsLHRoaXMpfSxQKTpmdW5jdGlvbigpe3AobCxGKX0pLm9uKCJpbnB1dC5kdHNiIGtleXByZXNzLmR0c2IiLGZ1bmN0aW9uKFope3RlLnV0aWwudGhyb3R0bGUoZnVuY3Rpb24oKXt2YXIgaWU9Wi5rZXlDb2RlfHxaLndoaWNoO3JldHVybiBwKGwsdGhpcyxpZSl9LFA9PT1udWxsPzA6UCl9KSxlKCI8c3Bhbj4iKS5hZGRDbGFzcyhsLmNsYXNzZXMuam9pbmVyKS5odG1sKGwucy5kdC5pMThuKCJzZWFyY2hCdWlsZGVyLnZhbHVlSm9pbmVyIixsLmMuaTE4bi52YWx1ZUpvaW5lcikpLGUoIjxpbnB1dC8+IikuYWRkQ2xhc3MoaC5jbGFzc2VzLnZhbHVlKS5hZGRDbGFzcyhoLmNsYXNzZXMuaW5wdXQpLmR0RGF0ZVRpbWUoe2Zvcm1hdDpsLnMuZGF0ZUZvcm1hdD9sLnMuZGF0ZUZvcm1hdDp2b2lkIDAsaTE4bjpmfSkub24oImNoYW5nZS5kdHNiIixQIT09bnVsbD90ZS51dGlsLnRocm90dGxlKGZ1bmN0aW9uKCl7cmV0dXJuIHAobCx0aGlzKX0sUCk6ZnVuY3Rpb24oKXtwKGwsRil9KS5vbigiaW5wdXQuZHRzYiBrZXlwcmVzcy5kdHNiIiwhbC5jLmVudGVyU2VhcmNoJiYhKGwucy5kdC5zZXR0aW5ncygpWzBdLm9Jbml0LnNlYXJjaCE9PXZvaWQgMCYmbC5zLmR0LnNldHRpbmdzKClbMF0ub0luaXQuc2VhcmNoLnJldHVybikmJlAhPT1udWxsP3RlLnV0aWwudGhyb3R0bGUoZnVuY3Rpb24oKXtyZXR1cm4gcChsLHRoaXMpfSxQKTpmdW5jdGlvbihaKXt2YXIgaWU9Wi5rZXlDb2RlfHxaLndoaWNoO3AobCxGLGllKX0pXTtyZXR1cm4gbC5jLmdyZXlzY2FsZSYmKFdbMF0uYWRkQ2xhc3MoaC5jbGFzc2VzLmdyZXlzY2FsZSksV1syXS5hZGRDbGFzcyhoLmNsYXNzZXMuZ3JleXNjYWxlKSksQyE9PW51bGwmJkMubGVuZ3RoPjAmJihXWzBdLnZhbChDWzBdKSxXWzJdLnZhbChDWzFdKSksbC5zLmR0Lm9uZSgiZHJhdy5kdHNiIixmdW5jdGlvbigpe2wucy50b3BHcm91cC50cmlnZ2VyKCJkdHNiLXJlZHJhd0xvZ2ljIil9KSxXfSxoLmlzSW5wdXRWYWxpZFNlbGVjdD1mdW5jdGlvbihsKXtmb3IodmFyIHA9ITAsQz0wLEY9bDtDPEYubGVuZ3RoO0MrKyl7dmFyIFA9RltDXTtQLmNoaWxkcmVuKCJvcHRpb246c2VsZWN0ZWQiKS5sZW5ndGg9PT1QLmNoaWxkcmVuKCJvcHRpb24iKS5sZW5ndGgtUC5jaGlsZHJlbigib3B0aW9uLiIraC5jbGFzc2VzLm5vdEl0YWxpYykubGVuZ3RoJiZQLmNoaWxkcmVuKCJvcHRpb246c2VsZWN0ZWQiKS5sZW5ndGg9PT0xJiZQLmNoaWxkcmVuKCJvcHRpb246c2VsZWN0ZWQiKVswXT09PVAuY2hpbGRyZW4oIm9wdGlvbiIpWzBdJiYocD0hMSl9cmV0dXJuIHB9LGguaXNJbnB1dFZhbGlkSW5wdXQ9ZnVuY3Rpb24obCl7Zm9yKHZhciBwPSEwLEM9MCxGPWw7QzxGLmxlbmd0aDtDKyspe3ZhciBQPUZbQ107UC5pcygiaW5wdXQiKSYmUC52YWwoKS5sZW5ndGg9PT0wJiYocD0hMSl9cmV0dXJuIHB9LGguaW5wdXRWYWx1ZVNlbGVjdD1mdW5jdGlvbihsKXtmb3IodmFyIHA9W10sQz0wLEY9bDtDPEYubGVuZ3RoO0MrKyl7dmFyIFA9RltDXTtQLmlzKCJzZWxlY3QiKSYmcC5wdXNoKGguX2VzY2FwZUhUTUwoUC5jaGlsZHJlbigib3B0aW9uOnNlbGVjdGVkIikuZGF0YSgic2J2IikpKX1yZXR1cm4gcH0saC5pbnB1dFZhbHVlSW5wdXQ9ZnVuY3Rpb24obCl7Zm9yKHZhciBwPVtdLEM9MCxGPWw7QzxGLmxlbmd0aDtDKyspe3ZhciBQPUZbQ107UC5pcygiaW5wdXQiKSYmcC5wdXNoKGguX2VzY2FwZUhUTUwoUC52YWwoKSkpfXJldHVybiBwLm1hcCh0LnV0aWwuZGlhY3JpdGljcyl9LGgudXBkYXRlTGlzdGVuZXI9ZnVuY3Rpb24obCxwLEMpe3ZhciBGPWwucy5jb25kaXRpb25zW2wucy5jb25kaXRpb25dLFA7aWYobC5zLmZpbGxlZD1GLmlzSW5wdXRWYWxpZChsLmRvbS52YWx1ZSxsKSxsLnMudmFsdWU9Ri5pbnB1dFZhbHVlKGwuZG9tLnZhbHVlLGwpLCFsLnMuZmlsbGVkKXsoIWwuYy5lbnRlclNlYXJjaCYmIShsLnMuZHQuc2V0dGluZ3MoKVswXS5vSW5pdC5zZWFyY2ghPT12b2lkIDAmJmwucy5kdC5zZXR0aW5ncygpWzBdLm9Jbml0LnNlYXJjaC5yZXR1cm4pfHxDPT09MTMpJiZsLmRvU2VhcmNoKCk7cmV0dXJufWZvcihBcnJheS5pc0FycmF5KGwucy52YWx1ZSl8fChsLnMudmFsdWU9W2wucy52YWx1ZV0pLFA9MDtQPGwucy52YWx1ZS5sZW5ndGg7UCsrKUFycmF5LmlzQXJyYXkobC5zLnZhbHVlW1BdKSYmbC5zLnZhbHVlW1BdLnNvcnQoKTt2YXIgZj1udWxsLFc9bnVsbDtmb3IoUD0wO1A8bC5kb20udmFsdWUubGVuZ3RoO1ArKylwPT09bC5kb20udmFsdWVbUF1bMF0mJihmPVAscC5zZWxlY3Rpb25TdGFydCE9PXZvaWQgMCYmKFc9cC5zZWxlY3Rpb25TdGFydCkpOyghbC5jLmVudGVyU2VhcmNoJiYhKGwucy5kdC5zZXR0aW5ncygpWzBdLm9Jbml0LnNlYXJjaCE9PXZvaWQgMCYmbC5zLmR0LnNldHRpbmdzKClbMF0ub0luaXQuc2VhcmNoLnJldHVybil8fEM9PT0xMykmJmwuZG9TZWFyY2goKSxmIT09bnVsbCYmKGwuZG9tLnZhbHVlW2ZdLnJlbW92ZUNsYXNzKGwuY2xhc3Nlcy5pdGFsaWMpLGwuZG9tLnZhbHVlW2ZdLmZvY3VzKCksVyE9PW51bGwmJmwuZG9tLnZhbHVlW2ZdWzBdLnNldFNlbGVjdGlvblJhbmdlKFcsVykpfSxoLmRhdGVDb25kaXRpb25zPXsiPSI6e2NvbmRpdGlvbk5hbWU6ZnVuY3Rpb24obCxwKXtyZXR1cm4gbC5pMThuKCJzZWFyY2hCdWlsZGVyLmNvbmRpdGlvbnMuZGF0ZS5lcXVhbHMiLHAuY29uZGl0aW9ucy5kYXRlLmVxdWFscyl9LGluaXQ6aC5pbml0RGF0ZSxpbnB1dFZhbHVlOmguaW5wdXRWYWx1ZUlucHV0LGlzSW5wdXRWYWxpZDpoLmlzSW5wdXRWYWxpZElucHV0LHNlYXJjaDpmdW5jdGlvbihsLHApe3JldHVybiBsPWwucmVwbGFjZSgvKFwvfC18LCkvZywiLSIpLGw9PT1wWzBdfX0sIiE9Ijp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5kYXRlLm5vdCIscC5jb25kaXRpb25zLmRhdGUubm90KX0saW5pdDpoLmluaXREYXRlLGlucHV0VmFsdWU6aC5pbnB1dFZhbHVlSW5wdXQsaXNJbnB1dFZhbGlkOmguaXNJbnB1dFZhbGlkSW5wdXQsc2VhcmNoOmZ1bmN0aW9uKGwscCl7cmV0dXJuIGw9bC5yZXBsYWNlKC8oXC98LXwsKS9nLCItIiksbCE9PXBbMF19fSwiPCI6e2NvbmRpdGlvbk5hbWU6ZnVuY3Rpb24obCxwKXtyZXR1cm4gbC5pMThuKCJzZWFyY2hCdWlsZGVyLmNvbmRpdGlvbnMuZGF0ZS5iZWZvcmUiLHAuY29uZGl0aW9ucy5kYXRlLmJlZm9yZSl9LGluaXQ6aC5pbml0RGF0ZSxpbnB1dFZhbHVlOmguaW5wdXRWYWx1ZUlucHV0LGlzSW5wdXRWYWxpZDpoLmlzSW5wdXRWYWxpZElucHV0LHNlYXJjaDpmdW5jdGlvbihsLHApe3JldHVybiBsPWwucmVwbGFjZSgvKFwvfC18LCkvZywiLSIpLGw8cFswXX19LCI+Ijp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5kYXRlLmFmdGVyIixwLmNvbmRpdGlvbnMuZGF0ZS5hZnRlcil9LGluaXQ6aC5pbml0RGF0ZSxpbnB1dFZhbHVlOmguaW5wdXRWYWx1ZUlucHV0LGlzSW5wdXRWYWxpZDpoLmlzSW5wdXRWYWxpZElucHV0LHNlYXJjaDpmdW5jdGlvbihsLHApe3JldHVybiBsPWwucmVwbGFjZSgvKFwvfC18LCkvZywiLSIpLGw+cFswXX19LGJldHdlZW46e2NvbmRpdGlvbk5hbWU6ZnVuY3Rpb24obCxwKXtyZXR1cm4gbC5pMThuKCJzZWFyY2hCdWlsZGVyLmNvbmRpdGlvbnMuZGF0ZS5iZXR3ZWVuIixwLmNvbmRpdGlvbnMuZGF0ZS5iZXR3ZWVuKX0saW5pdDpoLmluaXQyRGF0ZSxpbnB1dFZhbHVlOmguaW5wdXRWYWx1ZUlucHV0LGlzSW5wdXRWYWxpZDpoLmlzSW5wdXRWYWxpZElucHV0LHNlYXJjaDpmdW5jdGlvbihsLHApe3JldHVybiBsPWwucmVwbGFjZSgvKFwvfC18LCkvZywiLSIpLHBbMF08cFsxXT9wWzBdPD1sJiZsPD1wWzFdOnBbMV08PWwmJmw8PXBbMF19fSwiIWJldHdlZW4iOntjb25kaXRpb25OYW1lOmZ1bmN0aW9uKGwscCl7cmV0dXJuIGwuaTE4bigic2VhcmNoQnVpbGRlci5jb25kaXRpb25zLmRhdGUubm90QmV0d2VlbiIscC5jb25kaXRpb25zLmRhdGUubm90QmV0d2Vlbil9LGluaXQ6aC5pbml0MkRhdGUsaW5wdXRWYWx1ZTpoLmlucHV0VmFsdWVJbnB1dCxpc0lucHV0VmFsaWQ6aC5pc0lucHV0VmFsaWRJbnB1dCxzZWFyY2g6ZnVuY3Rpb24obCxwKXtyZXR1cm4gbD1sLnJlcGxhY2UoLyhcL3wtfCwpL2csIi0iKSxwWzBdPHBbMV0/IShwWzBdPD1sJiZsPD1wWzFdKTohKHBbMV08PWwmJmw8PXBbMF0pfX0sbnVsbDp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5kYXRlLmVtcHR5IixwLmNvbmRpdGlvbnMuZGF0ZS5lbXB0eSl9LGluaXQ6aC5pbml0Tm9WYWx1ZSxpbnB1dFZhbHVlOmZ1bmN0aW9uKCl7fSxpc0lucHV0VmFsaWQ6ZnVuY3Rpb24oKXtyZXR1cm4hMH0sc2VhcmNoOmZ1bmN0aW9uKGwpe3JldHVybiBsPT1udWxsfHxsLmxlbmd0aD09PTB9fSwiIW51bGwiOntjb25kaXRpb25OYW1lOmZ1bmN0aW9uKGwscCl7cmV0dXJuIGwuaTE4bigic2VhcmNoQnVpbGRlci5jb25kaXRpb25zLmRhdGUubm90RW1wdHkiLHAuY29uZGl0aW9ucy5kYXRlLm5vdEVtcHR5KX0saW5pdDpoLmluaXROb1ZhbHVlLGlucHV0VmFsdWU6ZnVuY3Rpb24oKXt9LGlzSW5wdXRWYWxpZDpmdW5jdGlvbigpe3JldHVybiEwfSxzZWFyY2g6ZnVuY3Rpb24obCl7cmV0dXJuIShsPT1udWxsfHxsLmxlbmd0aD09PTApfX19LGgubW9tZW50RGF0ZUNvbmRpdGlvbnM9eyI9Ijp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5kYXRlLmVxdWFscyIscC5jb25kaXRpb25zLmRhdGUuZXF1YWxzKX0saW5pdDpoLmluaXREYXRlLGlucHV0VmFsdWU6aC5pbnB1dFZhbHVlSW5wdXQsaXNJbnB1dFZhbGlkOmguaXNJbnB1dFZhbGlkSW5wdXQsc2VhcmNoOmZ1bmN0aW9uKGwscCxDKXtyZXR1cm4gbigpKGwsQy5zLmRhdGVGb3JtYXQpLnZhbHVlT2YoKT09PW4oKShwWzBdLEMucy5kYXRlRm9ybWF0KS52YWx1ZU9mKCl9fSwiIT0iOntjb25kaXRpb25OYW1lOmZ1bmN0aW9uKGwscCl7cmV0dXJuIGwuaTE4bigic2VhcmNoQnVpbGRlci5jb25kaXRpb25zLmRhdGUubm90IixwLmNvbmRpdGlvbnMuZGF0ZS5ub3QpfSxpbml0OmguaW5pdERhdGUsaW5wdXRWYWx1ZTpoLmlucHV0VmFsdWVJbnB1dCxpc0lucHV0VmFsaWQ6aC5pc0lucHV0VmFsaWRJbnB1dCxzZWFyY2g6ZnVuY3Rpb24obCxwLEMpe3JldHVybiBuKCkobCxDLnMuZGF0ZUZvcm1hdCkudmFsdWVPZigpIT09bigpKHBbMF0sQy5zLmRhdGVGb3JtYXQpLnZhbHVlT2YoKX19LCI8Ijp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5kYXRlLmJlZm9yZSIscC5jb25kaXRpb25zLmRhdGUuYmVmb3JlKX0saW5pdDpoLmluaXREYXRlLGlucHV0VmFsdWU6aC5pbnB1dFZhbHVlSW5wdXQsaXNJbnB1dFZhbGlkOmguaXNJbnB1dFZhbGlkSW5wdXQsc2VhcmNoOmZ1bmN0aW9uKGwscCxDKXtyZXR1cm4gbigpKGwsQy5zLmRhdGVGb3JtYXQpLnZhbHVlT2YoKTxuKCkocFswXSxDLnMuZGF0ZUZvcm1hdCkudmFsdWVPZigpfX0sIj4iOntjb25kaXRpb25OYW1lOmZ1bmN0aW9uKGwscCl7cmV0dXJuIGwuaTE4bigic2VhcmNoQnVpbGRlci5jb25kaXRpb25zLmRhdGUuYWZ0ZXIiLHAuY29uZGl0aW9ucy5kYXRlLmFmdGVyKX0saW5pdDpoLmluaXREYXRlLGlucHV0VmFsdWU6aC5pbnB1dFZhbHVlSW5wdXQsaXNJbnB1dFZhbGlkOmguaXNJbnB1dFZhbGlkSW5wdXQsc2VhcmNoOmZ1bmN0aW9uKGwscCxDKXtyZXR1cm4gbigpKGwsQy5zLmRhdGVGb3JtYXQpLnZhbHVlT2YoKT5uKCkocFswXSxDLnMuZGF0ZUZvcm1hdCkudmFsdWVPZigpfX0sYmV0d2Vlbjp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5kYXRlLmJldHdlZW4iLHAuY29uZGl0aW9ucy5kYXRlLmJldHdlZW4pfSxpbml0OmguaW5pdDJEYXRlLGlucHV0VmFsdWU6aC5pbnB1dFZhbHVlSW5wdXQsaXNJbnB1dFZhbGlkOmguaXNJbnB1dFZhbGlkSW5wdXQsc2VhcmNoOmZ1bmN0aW9uKGwscCxDKXt2YXIgRj1uKCkobCxDLnMuZGF0ZUZvcm1hdCkudmFsdWVPZigpLFA9bigpKHBbMF0sQy5zLmRhdGVGb3JtYXQpLnZhbHVlT2YoKSxmPW4oKShwWzFdLEMucy5kYXRlRm9ybWF0KS52YWx1ZU9mKCk7cmV0dXJuIFA8Zj9QPD1GJiZGPD1mOmY8PUYmJkY8PVB9fSwiIWJldHdlZW4iOntjb25kaXRpb25OYW1lOmZ1bmN0aW9uKGwscCl7cmV0dXJuIGwuaTE4bigic2VhcmNoQnVpbGRlci5jb25kaXRpb25zLmRhdGUubm90QmV0d2VlbiIscC5jb25kaXRpb25zLmRhdGUubm90QmV0d2Vlbil9LGluaXQ6aC5pbml0MkRhdGUsaW5wdXRWYWx1ZTpoLmlucHV0VmFsdWVJbnB1dCxpc0lucHV0VmFsaWQ6aC5pc0lucHV0VmFsaWRJbnB1dCxzZWFyY2g6ZnVuY3Rpb24obCxwLEMpe3ZhciBGPW4oKShsLEMucy5kYXRlRm9ybWF0KS52YWx1ZU9mKCksUD1uKCkocFswXSxDLnMuZGF0ZUZvcm1hdCkudmFsdWVPZigpLGY9bigpKHBbMV0sQy5zLmRhdGVGb3JtYXQpLnZhbHVlT2YoKTtyZXR1cm4gUDxmPyEoK1A8PStGJiYrRjw9K2YpOiEoK2Y8PStGJiYrRjw9K1ApfX0sbnVsbDp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5kYXRlLmVtcHR5IixwLmNvbmRpdGlvbnMuZGF0ZS5lbXB0eSl9LGluaXQ6aC5pbml0Tm9WYWx1ZSxpbnB1dFZhbHVlOmZ1bmN0aW9uKCl7fSxpc0lucHV0VmFsaWQ6ZnVuY3Rpb24oKXtyZXR1cm4hMH0sc2VhcmNoOmZ1bmN0aW9uKGwpe3JldHVybiBsPT1udWxsfHxsLmxlbmd0aD09PTB9fSwiIW51bGwiOntjb25kaXRpb25OYW1lOmZ1bmN0aW9uKGwscCl7cmV0dXJuIGwuaTE4bigic2VhcmNoQnVpbGRlci5jb25kaXRpb25zLmRhdGUubm90RW1wdHkiLHAuY29uZGl0aW9ucy5kYXRlLm5vdEVtcHR5KX0saW5pdDpoLmluaXROb1ZhbHVlLGlucHV0VmFsdWU6ZnVuY3Rpb24oKXt9LGlzSW5wdXRWYWxpZDpmdW5jdGlvbigpe3JldHVybiEwfSxzZWFyY2g6ZnVuY3Rpb24obCl7cmV0dXJuIShsPT1udWxsfHxsLmxlbmd0aD09PTApfX19LGgubHV4b25EYXRlQ29uZGl0aW9ucz17Ij0iOntjb25kaXRpb25OYW1lOmZ1bmN0aW9uKGwscCl7cmV0dXJuIGwuaTE4bigic2VhcmNoQnVpbGRlci5jb25kaXRpb25zLmRhdGUuZXF1YWxzIixwLmNvbmRpdGlvbnMuZGF0ZS5lcXVhbHMpfSxpbml0OmguaW5pdERhdGUsaW5wdXRWYWx1ZTpoLmlucHV0VmFsdWVJbnB1dCxpc0lucHV0VmFsaWQ6aC5pc0lucHV0VmFsaWRJbnB1dCxzZWFyY2g6ZnVuY3Rpb24obCxwLEMpe3JldHVybiByKCkuRGF0ZVRpbWUuZnJvbUZvcm1hdChsLEMucy5kYXRlRm9ybWF0KS50cz09PXIoKS5EYXRlVGltZS5mcm9tRm9ybWF0KHBbMF0sQy5zLmRhdGVGb3JtYXQpLnRzfX0sIiE9Ijp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5kYXRlLm5vdCIscC5jb25kaXRpb25zLmRhdGUubm90KX0saW5pdDpoLmluaXREYXRlLGlucHV0VmFsdWU6aC5pbnB1dFZhbHVlSW5wdXQsaXNJbnB1dFZhbGlkOmguaXNJbnB1dFZhbGlkSW5wdXQsc2VhcmNoOmZ1bmN0aW9uKGwscCxDKXtyZXR1cm4gcigpLkRhdGVUaW1lLmZyb21Gb3JtYXQobCxDLnMuZGF0ZUZvcm1hdCkudHMhPT1yKCkuRGF0ZVRpbWUuZnJvbUZvcm1hdChwWzBdLEMucy5kYXRlRm9ybWF0KS50c319LCI8Ijp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5kYXRlLmJlZm9yZSIscC5jb25kaXRpb25zLmRhdGUuYmVmb3JlKX0saW5pdDpoLmluaXREYXRlLGlucHV0VmFsdWU6aC5pbnB1dFZhbHVlSW5wdXQsaXNJbnB1dFZhbGlkOmguaXNJbnB1dFZhbGlkSW5wdXQsc2VhcmNoOmZ1bmN0aW9uKGwscCxDKXtyZXR1cm4gcigpLkRhdGVUaW1lLmZyb21Gb3JtYXQobCxDLnMuZGF0ZUZvcm1hdCkudHM8cigpLkRhdGVUaW1lLmZyb21Gb3JtYXQocFswXSxDLnMuZGF0ZUZvcm1hdCkudHN9fSwiPiI6e2NvbmRpdGlvbk5hbWU6ZnVuY3Rpb24obCxwKXtyZXR1cm4gbC5pMThuKCJzZWFyY2hCdWlsZGVyLmNvbmRpdGlvbnMuZGF0ZS5hZnRlciIscC5jb25kaXRpb25zLmRhdGUuYWZ0ZXIpfSxpbml0OmguaW5pdERhdGUsaW5wdXRWYWx1ZTpoLmlucHV0VmFsdWVJbnB1dCxpc0lucHV0VmFsaWQ6aC5pc0lucHV0VmFsaWRJbnB1dCxzZWFyY2g6ZnVuY3Rpb24obCxwLEMpe3JldHVybiByKCkuRGF0ZVRpbWUuZnJvbUZvcm1hdChsLEMucy5kYXRlRm9ybWF0KS50cz5yKCkuRGF0ZVRpbWUuZnJvbUZvcm1hdChwWzBdLEMucy5kYXRlRm9ybWF0KS50c319LGJldHdlZW46e2NvbmRpdGlvbk5hbWU6ZnVuY3Rpb24obCxwKXtyZXR1cm4gbC5pMThuKCJzZWFyY2hCdWlsZGVyLmNvbmRpdGlvbnMuZGF0ZS5iZXR3ZWVuIixwLmNvbmRpdGlvbnMuZGF0ZS5iZXR3ZWVuKX0saW5pdDpoLmluaXQyRGF0ZSxpbnB1dFZhbHVlOmguaW5wdXRWYWx1ZUlucHV0LGlzSW5wdXRWYWxpZDpoLmlzSW5wdXRWYWxpZElucHV0LHNlYXJjaDpmdW5jdGlvbihsLHAsQyl7dmFyIEY9cigpLkRhdGVUaW1lLmZyb21Gb3JtYXQobCxDLnMuZGF0ZUZvcm1hdCkudHMsUD1yKCkuRGF0ZVRpbWUuZnJvbUZvcm1hdChwWzBdLEMucy5kYXRlRm9ybWF0KS50cyxmPXIoKS5EYXRlVGltZS5mcm9tRm9ybWF0KHBbMV0sQy5zLmRhdGVGb3JtYXQpLnRzO3JldHVybiBQPGY/UDw9RiYmRjw9ZjpmPD1GJiZGPD1QfX0sIiFiZXR3ZWVuIjp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5kYXRlLm5vdEJldHdlZW4iLHAuY29uZGl0aW9ucy5kYXRlLm5vdEJldHdlZW4pfSxpbml0OmguaW5pdDJEYXRlLGlucHV0VmFsdWU6aC5pbnB1dFZhbHVlSW5wdXQsaXNJbnB1dFZhbGlkOmguaXNJbnB1dFZhbGlkSW5wdXQsc2VhcmNoOmZ1bmN0aW9uKGwscCxDKXt2YXIgRj1yKCkuRGF0ZVRpbWUuZnJvbUZvcm1hdChsLEMucy5kYXRlRm9ybWF0KS50cyxQPXIoKS5EYXRlVGltZS5mcm9tRm9ybWF0KHBbMF0sQy5zLmRhdGVGb3JtYXQpLnRzLGY9cigpLkRhdGVUaW1lLmZyb21Gb3JtYXQocFsxXSxDLnMuZGF0ZUZvcm1hdCkudHM7cmV0dXJuIFA8Zj8hKCtQPD0rRiYmK0Y8PStmKTohKCtmPD0rRiYmK0Y8PStQKX19LG51bGw6e2NvbmRpdGlvbk5hbWU6ZnVuY3Rpb24obCxwKXtyZXR1cm4gbC5pMThuKCJzZWFyY2hCdWlsZGVyLmNvbmRpdGlvbnMuZGF0ZS5lbXB0eSIscC5jb25kaXRpb25zLmRhdGUuZW1wdHkpfSxpbml0OmguaW5pdE5vVmFsdWUsaW5wdXRWYWx1ZTpmdW5jdGlvbigpe30saXNJbnB1dFZhbGlkOmZ1bmN0aW9uKCl7cmV0dXJuITB9LHNlYXJjaDpmdW5jdGlvbihsKXtyZXR1cm4gbD09bnVsbHx8bC5sZW5ndGg9PT0wfX0sIiFudWxsIjp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5kYXRlLm5vdEVtcHR5IixwLmNvbmRpdGlvbnMuZGF0ZS5ub3RFbXB0eSl9LGluaXQ6aC5pbml0Tm9WYWx1ZSxpbnB1dFZhbHVlOmZ1bmN0aW9uKCl7fSxpc0lucHV0VmFsaWQ6ZnVuY3Rpb24oKXtyZXR1cm4hMH0sc2VhcmNoOmZ1bmN0aW9uKGwpe3JldHVybiEobD09bnVsbHx8bC5sZW5ndGg9PT0wKX19fSxoLm51bUNvbmRpdGlvbnM9eyI9Ijp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5udW1iZXIuZXF1YWxzIixwLmNvbmRpdGlvbnMubnVtYmVyLmVxdWFscyl9LGluaXQ6aC5pbml0U2VsZWN0LGlucHV0VmFsdWU6aC5pbnB1dFZhbHVlU2VsZWN0LGlzSW5wdXRWYWxpZDpoLmlzSW5wdXRWYWxpZFNlbGVjdCxzZWFyY2g6ZnVuY3Rpb24obCxwKXtyZXR1cm4rbD09K3BbMF19fSwiIT0iOntjb25kaXRpb25OYW1lOmZ1bmN0aW9uKGwscCl7cmV0dXJuIGwuaTE4bigic2VhcmNoQnVpbGRlci5jb25kaXRpb25zLm51bWJlci5ub3QiLHAuY29uZGl0aW9ucy5udW1iZXIubm90KX0saW5pdDpoLmluaXRTZWxlY3QsaW5wdXRWYWx1ZTpoLmlucHV0VmFsdWVTZWxlY3QsaXNJbnB1dFZhbGlkOmguaXNJbnB1dFZhbGlkU2VsZWN0LHNlYXJjaDpmdW5jdGlvbihsLHApe3JldHVybitsIT0rcFswXX19LCI8Ijp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5udW1iZXIubHQiLHAuY29uZGl0aW9ucy5udW1iZXIubHQpfSxpbml0OmguaW5pdElucHV0LGlucHV0VmFsdWU6aC5pbnB1dFZhbHVlSW5wdXQsaXNJbnB1dFZhbGlkOmguaXNJbnB1dFZhbGlkSW5wdXQsc2VhcmNoOmZ1bmN0aW9uKGwscCl7cmV0dXJuK2w8K3BbMF19fSwiPD0iOntjb25kaXRpb25OYW1lOmZ1bmN0aW9uKGwscCl7cmV0dXJuIGwuaTE4bigic2VhcmNoQnVpbGRlci5jb25kaXRpb25zLm51bWJlci5sdGUiLHAuY29uZGl0aW9ucy5udW1iZXIubHRlKX0saW5pdDpoLmluaXRJbnB1dCxpbnB1dFZhbHVlOmguaW5wdXRWYWx1ZUlucHV0LGlzSW5wdXRWYWxpZDpoLmlzSW5wdXRWYWxpZElucHV0LHNlYXJjaDpmdW5jdGlvbihsLHApe3JldHVybitsPD0rcFswXX19LCI+PSI6e2NvbmRpdGlvbk5hbWU6ZnVuY3Rpb24obCxwKXtyZXR1cm4gbC5pMThuKCJzZWFyY2hCdWlsZGVyLmNvbmRpdGlvbnMubnVtYmVyLmd0ZSIscC5jb25kaXRpb25zLm51bWJlci5ndGUpfSxpbml0OmguaW5pdElucHV0LGlucHV0VmFsdWU6aC5pbnB1dFZhbHVlSW5wdXQsaXNJbnB1dFZhbGlkOmguaXNJbnB1dFZhbGlkSW5wdXQsc2VhcmNoOmZ1bmN0aW9uKGwscCl7cmV0dXJuK2w+PStwWzBdfX0sIj4iOntjb25kaXRpb25OYW1lOmZ1bmN0aW9uKGwscCl7cmV0dXJuIGwuaTE4bigic2VhcmNoQnVpbGRlci5jb25kaXRpb25zLm51bWJlci5ndCIscC5jb25kaXRpb25zLm51bWJlci5ndCl9LGluaXQ6aC5pbml0SW5wdXQsaW5wdXRWYWx1ZTpoLmlucHV0VmFsdWVJbnB1dCxpc0lucHV0VmFsaWQ6aC5pc0lucHV0VmFsaWRJbnB1dCxzZWFyY2g6ZnVuY3Rpb24obCxwKXtyZXR1cm4rbD4rcFswXX19LGJldHdlZW46e2NvbmRpdGlvbk5hbWU6ZnVuY3Rpb24obCxwKXtyZXR1cm4gbC5pMThuKCJzZWFyY2hCdWlsZGVyLmNvbmRpdGlvbnMubnVtYmVyLmJldHdlZW4iLHAuY29uZGl0aW9ucy5udW1iZXIuYmV0d2Vlbil9LGluaXQ6aC5pbml0MklucHV0LGlucHV0VmFsdWU6aC5pbnB1dFZhbHVlSW5wdXQsaXNJbnB1dFZhbGlkOmguaXNJbnB1dFZhbGlkSW5wdXQsc2VhcmNoOmZ1bmN0aW9uKGwscCl7cmV0dXJuK3BbMF08K3BbMV0/K3BbMF08PStsJiYrbDw9K3BbMV06K3BbMV08PStsJiYrbDw9K3BbMF19fSwiIWJldHdlZW4iOntjb25kaXRpb25OYW1lOmZ1bmN0aW9uKGwscCl7cmV0dXJuIGwuaTE4bigic2VhcmNoQnVpbGRlci5jb25kaXRpb25zLm51bWJlci5ub3RCZXR3ZWVuIixwLmNvbmRpdGlvbnMubnVtYmVyLm5vdEJldHdlZW4pfSxpbml0OmguaW5pdDJJbnB1dCxpbnB1dFZhbHVlOmguaW5wdXRWYWx1ZUlucHV0LGlzSW5wdXRWYWxpZDpoLmlzSW5wdXRWYWxpZElucHV0LHNlYXJjaDpmdW5jdGlvbihsLHApe3JldHVybitwWzBdPCtwWzFdPyEoK3BbMF08PStsJiYrbDw9K3BbMV0pOiEoK3BbMV08PStsJiYrbDw9K3BbMF0pfX0sbnVsbDp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5udW1iZXIuZW1wdHkiLHAuY29uZGl0aW9ucy5udW1iZXIuZW1wdHkpfSxpbml0OmguaW5pdE5vVmFsdWUsaW5wdXRWYWx1ZTpmdW5jdGlvbigpe30saXNJbnB1dFZhbGlkOmZ1bmN0aW9uKCl7cmV0dXJuITB9LHNlYXJjaDpmdW5jdGlvbihsKXtyZXR1cm4gbD09bnVsbHx8bC5sZW5ndGg9PT0wfX0sIiFudWxsIjp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5udW1iZXIubm90RW1wdHkiLHAuY29uZGl0aW9ucy5udW1iZXIubm90RW1wdHkpfSxpbml0OmguaW5pdE5vVmFsdWUsaW5wdXRWYWx1ZTpmdW5jdGlvbigpe30saXNJbnB1dFZhbGlkOmZ1bmN0aW9uKCl7cmV0dXJuITB9LHNlYXJjaDpmdW5jdGlvbihsKXtyZXR1cm4hKGw9PW51bGx8fGwubGVuZ3RoPT09MCl9fX0saC5udW1GbXRDb25kaXRpb25zPXsiPSI6e2NvbmRpdGlvbk5hbWU6ZnVuY3Rpb24obCxwKXtyZXR1cm4gbC5pMThuKCJzZWFyY2hCdWlsZGVyLmNvbmRpdGlvbnMubnVtYmVyLmVxdWFscyIscC5jb25kaXRpb25zLm51bWJlci5lcXVhbHMpfSxpbml0OmguaW5pdFNlbGVjdCxpbnB1dFZhbHVlOmguaW5wdXRWYWx1ZVNlbGVjdCxpc0lucHV0VmFsaWQ6aC5pc0lucHV0VmFsaWRTZWxlY3Qsc2VhcmNoOmZ1bmN0aW9uKGwscCxDKXtyZXR1cm4gQy5wYXJzZU51bWJlcihsKT09PUMucGFyc2VOdW1iZXIocFswXSl9fSwiIT0iOntjb25kaXRpb25OYW1lOmZ1bmN0aW9uKGwscCl7cmV0dXJuIGwuaTE4bigic2VhcmNoQnVpbGRlci5jb25kaXRpb25zLm51bWJlci5ub3QiLHAuY29uZGl0aW9ucy5udW1iZXIubm90KX0saW5pdDpoLmluaXRTZWxlY3QsaW5wdXRWYWx1ZTpoLmlucHV0VmFsdWVTZWxlY3QsaXNJbnB1dFZhbGlkOmguaXNJbnB1dFZhbGlkU2VsZWN0LHNlYXJjaDpmdW5jdGlvbihsLHAsQyl7cmV0dXJuIEMucGFyc2VOdW1iZXIobCkhPT1DLnBhcnNlTnVtYmVyKHBbMF0pfX0sIjwiOntjb25kaXRpb25OYW1lOmZ1bmN0aW9uKGwscCl7cmV0dXJuIGwuaTE4bigic2VhcmNoQnVpbGRlci5jb25kaXRpb25zLm51bWJlci5sdCIscC5jb25kaXRpb25zLm51bWJlci5sdCl9LGluaXQ6aC5pbml0SW5wdXQsaW5wdXRWYWx1ZTpoLmlucHV0VmFsdWVJbnB1dCxpc0lucHV0VmFsaWQ6aC5pc0lucHV0VmFsaWRJbnB1dCxzZWFyY2g6ZnVuY3Rpb24obCxwLEMpe3JldHVybiBDLnBhcnNlTnVtYmVyKGwpPEMucGFyc2VOdW1iZXIocFswXSl9fSwiPD0iOntjb25kaXRpb25OYW1lOmZ1bmN0aW9uKGwscCl7cmV0dXJuIGwuaTE4bigic2VhcmNoQnVpbGRlci5jb25kaXRpb25zLm51bWJlci5sdGUiLHAuY29uZGl0aW9ucy5udW1iZXIubHRlKX0saW5pdDpoLmluaXRJbnB1dCxpbnB1dFZhbHVlOmguaW5wdXRWYWx1ZUlucHV0LGlzSW5wdXRWYWxpZDpoLmlzSW5wdXRWYWxpZElucHV0LHNlYXJjaDpmdW5jdGlvbihsLHAsQyl7cmV0dXJuIEMucGFyc2VOdW1iZXIobCk8PUMucGFyc2VOdW1iZXIocFswXSl9fSwiPj0iOntjb25kaXRpb25OYW1lOmZ1bmN0aW9uKGwscCl7cmV0dXJuIGwuaTE4bigic2VhcmNoQnVpbGRlci5jb25kaXRpb25zLm51bWJlci5ndGUiLHAuY29uZGl0aW9ucy5udW1iZXIuZ3RlKX0saW5pdDpoLmluaXRJbnB1dCxpbnB1dFZhbHVlOmguaW5wdXRWYWx1ZUlucHV0LGlzSW5wdXRWYWxpZDpoLmlzSW5wdXRWYWxpZElucHV0LHNlYXJjaDpmdW5jdGlvbihsLHAsQyl7cmV0dXJuIEMucGFyc2VOdW1iZXIobCk+PUMucGFyc2VOdW1iZXIocFswXSl9fSwiPiI6e2NvbmRpdGlvbk5hbWU6ZnVuY3Rpb24obCxwKXtyZXR1cm4gbC5pMThuKCJzZWFyY2hCdWlsZGVyLmNvbmRpdGlvbnMubnVtYmVyLmd0IixwLmNvbmRpdGlvbnMubnVtYmVyLmd0KX0saW5pdDpoLmluaXRJbnB1dCxpbnB1dFZhbHVlOmguaW5wdXRWYWx1ZUlucHV0LGlzSW5wdXRWYWxpZDpoLmlzSW5wdXRWYWxpZElucHV0LHNlYXJjaDpmdW5jdGlvbihsLHAsQyl7cmV0dXJuIEMucGFyc2VOdW1iZXIobCk+Qy5wYXJzZU51bWJlcihwWzBdKX19LGJldHdlZW46e2NvbmRpdGlvbk5hbWU6ZnVuY3Rpb24obCxwKXtyZXR1cm4gbC5pMThuKCJzZWFyY2hCdWlsZGVyLmNvbmRpdGlvbnMubnVtYmVyLmJldHdlZW4iLHAuY29uZGl0aW9ucy5udW1iZXIuYmV0d2Vlbil9LGluaXQ6aC5pbml0MklucHV0LGlucHV0VmFsdWU6aC5pbnB1dFZhbHVlSW5wdXQsaXNJbnB1dFZhbGlkOmguaXNJbnB1dFZhbGlkSW5wdXQsc2VhcmNoOmZ1bmN0aW9uKGwscCxDKXt2YXIgRj1DLnBhcnNlTnVtYmVyKGwpLFA9Qy5wYXJzZU51bWJlcihwWzBdKSxmPUMucGFyc2VOdW1iZXIocFsxXSk7cmV0dXJuK1A8K2Y/K1A8PStGJiYrRjw9K2Y6K2Y8PStGJiYrRjw9K1B9fSwiIWJldHdlZW4iOntjb25kaXRpb25OYW1lOmZ1bmN0aW9uKGwscCl7cmV0dXJuIGwuaTE4bigic2VhcmNoQnVpbGRlci5jb25kaXRpb25zLm51bWJlci5ub3RCZXR3ZWVuIixwLmNvbmRpdGlvbnMubnVtYmVyLm5vdEJldHdlZW4pfSxpbml0OmguaW5pdDJJbnB1dCxpbnB1dFZhbHVlOmguaW5wdXRWYWx1ZUlucHV0LGlzSW5wdXRWYWxpZDpoLmlzSW5wdXRWYWxpZElucHV0LHNlYXJjaDpmdW5jdGlvbihsLHAsQyl7dmFyIEY9Qy5wYXJzZU51bWJlcihsKSxQPUMucGFyc2VOdW1iZXIocFswXSksZj1DLnBhcnNlTnVtYmVyKHBbMV0pO3JldHVybitQPCtmPyEoK1A8PStGJiYrRjw9K2YpOiEoK2Y8PStGJiYrRjw9K1ApfX0sbnVsbDp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5udW1iZXIuZW1wdHkiLHAuY29uZGl0aW9ucy5udW1iZXIuZW1wdHkpfSxpbml0OmguaW5pdE5vVmFsdWUsaW5wdXRWYWx1ZTpmdW5jdGlvbigpe30saXNJbnB1dFZhbGlkOmZ1bmN0aW9uKCl7cmV0dXJuITB9LHNlYXJjaDpmdW5jdGlvbihsKXtyZXR1cm4gbD09bnVsbHx8bC5sZW5ndGg9PT0wfX0sIiFudWxsIjp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5udW1iZXIubm90RW1wdHkiLHAuY29uZGl0aW9ucy5udW1iZXIubm90RW1wdHkpfSxpbml0OmguaW5pdE5vVmFsdWUsaW5wdXRWYWx1ZTpmdW5jdGlvbigpe30saXNJbnB1dFZhbGlkOmZ1bmN0aW9uKCl7cmV0dXJuITB9LHNlYXJjaDpmdW5jdGlvbihsKXtyZXR1cm4hKGw9PW51bGx8fGwubGVuZ3RoPT09MCl9fX0saC5zdHJpbmdDb25kaXRpb25zPXsiPSI6e2NvbmRpdGlvbk5hbWU6ZnVuY3Rpb24obCxwKXtyZXR1cm4gbC5pMThuKCJzZWFyY2hCdWlsZGVyLmNvbmRpdGlvbnMuc3RyaW5nLmVxdWFscyIscC5jb25kaXRpb25zLnN0cmluZy5lcXVhbHMpfSxpbml0OmguaW5pdFNlbGVjdCxpbnB1dFZhbHVlOmguaW5wdXRWYWx1ZVNlbGVjdCxpc0lucHV0VmFsaWQ6aC5pc0lucHV0VmFsaWRTZWxlY3Qsc2VhcmNoOmZ1bmN0aW9uKGwscCl7cmV0dXJuIGw9PT1wWzBdfX0sIiE9Ijp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5zdHJpbmcubm90IixwLmNvbmRpdGlvbnMuc3RyaW5nLm5vdCl9LGluaXQ6aC5pbml0U2VsZWN0LGlucHV0VmFsdWU6aC5pbnB1dFZhbHVlU2VsZWN0LGlzSW5wdXRWYWxpZDpoLmlzSW5wdXRWYWxpZElucHV0LHNlYXJjaDpmdW5jdGlvbihsLHApe3JldHVybiBsIT09cFswXX19LHN0YXJ0czp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5zdHJpbmcuc3RhcnRzV2l0aCIscC5jb25kaXRpb25zLnN0cmluZy5zdGFydHNXaXRoKX0saW5pdDpoLmluaXRJbnB1dCxpbnB1dFZhbHVlOmguaW5wdXRWYWx1ZUlucHV0LGlzSW5wdXRWYWxpZDpoLmlzSW5wdXRWYWxpZElucHV0LHNlYXJjaDpmdW5jdGlvbihsLHApe3JldHVybiBsLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihwWzBdLnRvTG93ZXJDYXNlKCkpPT09MH19LCIhc3RhcnRzIjp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5zdHJpbmcubm90U3RhcnRzV2l0aCIscC5jb25kaXRpb25zLnN0cmluZy5ub3RTdGFydHNXaXRoKX0saW5pdDpoLmluaXRJbnB1dCxpbnB1dFZhbHVlOmguaW5wdXRWYWx1ZUlucHV0LGlzSW5wdXRWYWxpZDpoLmlzSW5wdXRWYWxpZElucHV0LHNlYXJjaDpmdW5jdGlvbihsLHApe3JldHVybiBsLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihwWzBdLnRvTG93ZXJDYXNlKCkpIT09MH19LGNvbnRhaW5zOntjb25kaXRpb25OYW1lOmZ1bmN0aW9uKGwscCl7cmV0dXJuIGwuaTE4bigic2VhcmNoQnVpbGRlci5jb25kaXRpb25zLnN0cmluZy5jb250YWlucyIscC5jb25kaXRpb25zLnN0cmluZy5jb250YWlucyl9LGluaXQ6aC5pbml0SW5wdXQsaW5wdXRWYWx1ZTpoLmlucHV0VmFsdWVJbnB1dCxpc0lucHV0VmFsaWQ6aC5pc0lucHV0VmFsaWRJbnB1dCxzZWFyY2g6ZnVuY3Rpb24obCxwKXtyZXR1cm4gbC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHBbMF0udG9Mb3dlckNhc2UoKSl9fSwiIWNvbnRhaW5zIjp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5zdHJpbmcubm90Q29udGFpbnMiLHAuY29uZGl0aW9ucy5zdHJpbmcubm90Q29udGFpbnMpfSxpbml0OmguaW5pdElucHV0LGlucHV0VmFsdWU6aC5pbnB1dFZhbHVlSW5wdXQsaXNJbnB1dFZhbGlkOmguaXNJbnB1dFZhbGlkSW5wdXQsc2VhcmNoOmZ1bmN0aW9uKGwscCl7cmV0dXJuIWwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhwWzBdLnRvTG93ZXJDYXNlKCkpfX0sZW5kczp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5zdHJpbmcuZW5kc1dpdGgiLHAuY29uZGl0aW9ucy5zdHJpbmcuZW5kc1dpdGgpfSxpbml0OmguaW5pdElucHV0LGlucHV0VmFsdWU6aC5pbnB1dFZhbHVlSW5wdXQsaXNJbnB1dFZhbGlkOmguaXNJbnB1dFZhbGlkSW5wdXQsc2VhcmNoOmZ1bmN0aW9uKGwscCl7cmV0dXJuIGwudG9Mb3dlckNhc2UoKS5lbmRzV2l0aChwWzBdLnRvTG93ZXJDYXNlKCkpfX0sIiFlbmRzIjp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5zdHJpbmcubm90RW5kc1dpdGgiLHAuY29uZGl0aW9ucy5zdHJpbmcubm90RW5kc1dpdGgpfSxpbml0OmguaW5pdElucHV0LGlucHV0VmFsdWU6aC5pbnB1dFZhbHVlSW5wdXQsaXNJbnB1dFZhbGlkOmguaXNJbnB1dFZhbGlkSW5wdXQsc2VhcmNoOmZ1bmN0aW9uKGwscCl7cmV0dXJuIWwudG9Mb3dlckNhc2UoKS5lbmRzV2l0aChwWzBdLnRvTG93ZXJDYXNlKCkpfX0sbnVsbDp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5zdHJpbmcuZW1wdHkiLHAuY29uZGl0aW9ucy5zdHJpbmcuZW1wdHkpfSxpbml0OmguaW5pdE5vVmFsdWUsaW5wdXRWYWx1ZTpmdW5jdGlvbigpe30saXNJbnB1dFZhbGlkOmZ1bmN0aW9uKCl7cmV0dXJuITB9LHNlYXJjaDpmdW5jdGlvbihsKXtyZXR1cm4gbD09bnVsbHx8bC5sZW5ndGg9PT0wfX0sIiFudWxsIjp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5zdHJpbmcubm90RW1wdHkiLHAuY29uZGl0aW9ucy5zdHJpbmcubm90RW1wdHkpfSxpbml0OmguaW5pdE5vVmFsdWUsaW5wdXRWYWx1ZTpmdW5jdGlvbigpe30saXNJbnB1dFZhbGlkOmZ1bmN0aW9uKCl7cmV0dXJuITB9LHNlYXJjaDpmdW5jdGlvbihsKXtyZXR1cm4hKGw9PW51bGx8fGwubGVuZ3RoPT09MCl9fX0saC5hcnJheUNvbmRpdGlvbnM9e2NvbnRhaW5zOntjb25kaXRpb25OYW1lOmZ1bmN0aW9uKGwscCl7cmV0dXJuIGwuaTE4bigic2VhcmNoQnVpbGRlci5jb25kaXRpb25zLmFycmF5LmNvbnRhaW5zIixwLmNvbmRpdGlvbnMuYXJyYXkuY29udGFpbnMpfSxpbml0OmguaW5pdFNlbGVjdEFycmF5LGlucHV0VmFsdWU6aC5pbnB1dFZhbHVlU2VsZWN0LGlzSW5wdXRWYWxpZDpoLmlzSW5wdXRWYWxpZFNlbGVjdCxzZWFyY2g6ZnVuY3Rpb24obCxwKXtyZXR1cm4gbC5pbmNsdWRlcyhwWzBdKX19LHdpdGhvdXQ6e2NvbmRpdGlvbk5hbWU6ZnVuY3Rpb24obCxwKXtyZXR1cm4gbC5pMThuKCJzZWFyY2hCdWlsZGVyLmNvbmRpdGlvbnMuYXJyYXkud2l0aG91dCIscC5jb25kaXRpb25zLmFycmF5LndpdGhvdXQpfSxpbml0OmguaW5pdFNlbGVjdEFycmF5LGlucHV0VmFsdWU6aC5pbnB1dFZhbHVlU2VsZWN0LGlzSW5wdXRWYWxpZDpoLmlzSW5wdXRWYWxpZFNlbGVjdCxzZWFyY2g6ZnVuY3Rpb24obCxwKXtyZXR1cm4gbC5pbmRleE9mKHBbMF0pPT09LTF9fSwiPSI6e2NvbmRpdGlvbk5hbWU6ZnVuY3Rpb24obCxwKXtyZXR1cm4gbC5pMThuKCJzZWFyY2hCdWlsZGVyLmNvbmRpdGlvbnMuYXJyYXkuZXF1YWxzIixwLmNvbmRpdGlvbnMuYXJyYXkuZXF1YWxzKX0saW5pdDpoLmluaXRTZWxlY3QsaW5wdXRWYWx1ZTpoLmlucHV0VmFsdWVTZWxlY3QsaXNJbnB1dFZhbGlkOmguaXNJbnB1dFZhbGlkU2VsZWN0LHNlYXJjaDpmdW5jdGlvbihsLHApe2lmKGwubGVuZ3RoPT09cC5sZW5ndGgpe2Zvcih2YXIgQz0wO0M8bC5sZW5ndGg7QysrKWlmKGxbQ10hPT1wW0NdKXJldHVybiExO3JldHVybiEwfXJldHVybiExfX0sIiE9Ijp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5hcnJheS5ub3QiLHAuY29uZGl0aW9ucy5hcnJheS5ub3QpfSxpbml0OmguaW5pdFNlbGVjdCxpbnB1dFZhbHVlOmguaW5wdXRWYWx1ZVNlbGVjdCxpc0lucHV0VmFsaWQ6aC5pc0lucHV0VmFsaWRTZWxlY3Qsc2VhcmNoOmZ1bmN0aW9uKGwscCl7aWYobC5sZW5ndGg9PT1wLmxlbmd0aCl7Zm9yKHZhciBDPTA7QzxsLmxlbmd0aDtDKyspaWYobFtDXSE9PXBbQ10pcmV0dXJuITA7cmV0dXJuITF9cmV0dXJuITB9fSxudWxsOntjb25kaXRpb25OYW1lOmZ1bmN0aW9uKGwscCl7cmV0dXJuIGwuaTE4bigic2VhcmNoQnVpbGRlci5jb25kaXRpb25zLmFycmF5LmVtcHR5IixwLmNvbmRpdGlvbnMuYXJyYXkuZW1wdHkpfSxpbml0OmguaW5pdE5vVmFsdWUsaW5wdXRWYWx1ZTpmdW5jdGlvbigpe30saXNJbnB1dFZhbGlkOmZ1bmN0aW9uKCl7cmV0dXJuITB9LHNlYXJjaDpmdW5jdGlvbihsKXtyZXR1cm4gbD09bnVsbHx8bC5sZW5ndGg9PT0wfX0sIiFudWxsIjp7Y29uZGl0aW9uTmFtZTpmdW5jdGlvbihsLHApe3JldHVybiBsLmkxOG4oInNlYXJjaEJ1aWxkZXIuY29uZGl0aW9ucy5hcnJheS5ub3RFbXB0eSIscC5jb25kaXRpb25zLmFycmF5Lm5vdEVtcHR5KX0saW5pdDpoLmluaXROb1ZhbHVlLGlucHV0VmFsdWU6ZnVuY3Rpb24oKXt9LGlzSW5wdXRWYWxpZDpmdW5jdGlvbigpe3JldHVybiEwfSxzZWFyY2g6ZnVuY3Rpb24obCl7cmV0dXJuIGwhPW51bGwmJmwubGVuZ3RoIT09MH19fSxoLmRlZmF1bHRzPXtjb2x1bW5zOiEwLGNvbmRpdGlvbnM6e2FycmF5OmguYXJyYXlDb25kaXRpb25zLGRhdGU6aC5kYXRlQ29uZGl0aW9ucyxodG1sOmguc3RyaW5nQ29uZGl0aW9ucywiaHRtbC1udW0iOmgubnVtQ29uZGl0aW9ucywiaHRtbC1udW0tZm10IjpoLm51bUZtdENvbmRpdGlvbnMsbHV4b246aC5sdXhvbkRhdGVDb25kaXRpb25zLG1vbWVudDpoLm1vbWVudERhdGVDb25kaXRpb25zLG51bTpoLm51bUNvbmRpdGlvbnMsIm51bS1mbXQiOmgubnVtRm10Q29uZGl0aW9ucyxzdHJpbmc6aC5zdHJpbmdDb25kaXRpb25zfSxkZXB0aExpbWl0OiExLGVudGVyU2VhcmNoOiExLGZpbHRlckNoYW5nZWQ6dm9pZCAwLGdyZXlzY2FsZTohMSxpMThuOnthZGQ6IkFkZCBDb25kaXRpb24iLGJ1dHRvbjp7MDoiU2VhcmNoIEJ1aWxkZXIiLF86IlNlYXJjaCBCdWlsZGVyICglZCkifSxjbGVhckFsbDoiQ2xlYXIgQWxsIixjb25kaXRpb246IkNvbmRpdGlvbiIsZGF0YToiRGF0YSIsZGVsZXRlOiImdGltZXMiLGRlbGV0ZVRpdGxlOiJEZWxldGUgZmlsdGVyaW5nIHJ1bGUiLGxlZnQ6IjwiLGxlZnRUaXRsZToiT3V0ZGVudCBjcml0ZXJpYSIsbG9naWNBbmQ6IkFuZCIsbG9naWNPcjoiT3IiLHJpZ2h0OiI+IixyaWdodFRpdGxlOiJJbmRlbnQgY3JpdGVyaWEiLHNlYXJjaDoiU2VhcmNoIix0aXRsZTp7MDoiQ3VzdG9tIFNlYXJjaCBCdWlsZGVyIixfOiJDdXN0b20gU2VhcmNoIEJ1aWxkZXIgKCVkKSJ9LHZhbHVlOiJWYWx1ZSIsdmFsdWVKb2luZXI6ImFuZCJ9LGxpdmVTZWFyY2g6ITAsbG9naWM6IkFORCIsb3J0aG9nb25hbDp7ZGlzcGxheToiZGlzcGxheSIsc2VhcmNoOiJmaWx0ZXIifSxwcmVEZWZpbmVkOiExfSxofSkoKSxzO2Z1bmN0aW9uIHUoaCl7cz1oLGguZm4uZGF0YVRhYmxlfXZhciBkPShmdW5jdGlvbigpe2Z1bmN0aW9uIGgobCxwLEMsRixQLGYsVyl7cmV0dXJuIEY9PT12b2lkIDAmJihGPTApLFA9PT12b2lkIDAmJihQPSExKSxmPT09dm9pZCAwJiYoZj0xKSxXPT09dm9pZCAwJiYoVz12b2lkIDApLHRoaXMuY2xhc3Nlcz1zLmV4dGVuZCghMCx7fSxoLmNsYXNzZXMpLHRoaXMuYz1zLmV4dGVuZCghMCx7fSxoLmRlZmF1bHRzLHApLHRoaXMucz17Y3JpdGVyaWE6W10sZGVwdGg6ZixkdDpsLGluZGV4OkYsaXNDaGlsZDpQLGxvZ2ljOnZvaWQgMCxvcHRzOnAscHJldmVudFJlZHJhdzohMSxzZXJ2ZXJEYXRhOlcsdG9Ecm9wOnZvaWQgMCx0b3BHcm91cDpDfSx0aGlzLmRvbT17YWRkOnMoIjxidXR0b24vPiIpLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5hZGQpLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5idXR0b24pLmF0dHIoInR5cGUiLCJidXR0b24iKSxjbGVhcjpzKCI8YnV0dG9uPiZ0aW1lczwvYnV0dG9uPiIpLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5idXR0b24pLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5jbGVhckdyb3VwKS5hdHRyKCJ0eXBlIiwiYnV0dG9uIiksY29udGFpbmVyOnMoIjxkaXYvPiIpLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5ncm91cCksbG9naWM6cygiPGJ1dHRvbj48ZGl2Lz48L2J1dHRvbj4iKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMubG9naWMpLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5idXR0b24pLmF0dHIoInR5cGUiLCJidXR0b24iKSxsb2dpY0NvbnRhaW5lcjpzKCI8ZGl2Lz4iKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMubG9naWNDb250YWluZXIpLHNlYXJjaDpzKCI8YnV0dG9uLz4iKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMuc2VhcmNoKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMuYnV0dG9uKS5hdHRyKCJ0eXBlIiwiYnV0dG9uIikuY3NzKCJkaXNwbGF5Iiwibm9uZSIpfSx0aGlzLnMudG9wR3JvdXA9PT12b2lkIDAmJih0aGlzLnMudG9wR3JvdXA9dGhpcy5kb20uY29udGFpbmVyKSx0aGlzLl9zZXR1cCgpLHRoaXN9cmV0dXJuIGgucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLmRvbS5hZGQub2ZmKCIuZHRzYiIpLHRoaXMuZG9tLmxvZ2ljLm9mZigiLmR0c2IiKSx0aGlzLmRvbS5zZWFyY2gub2ZmKCIuZHRzYiIpLHRoaXMuZG9tLmNvbnRhaW5lci50cmlnZ2VyKCJkdHNiLWRlc3Ryb3kiKS5yZW1vdmUoKSx0aGlzLnMuY3JpdGVyaWE9W119LGgucHJvdG90eXBlLmdldERldGFpbHM9ZnVuY3Rpb24obCl7aWYobD09PXZvaWQgMCYmKGw9ITEpLHRoaXMucy5jcml0ZXJpYS5sZW5ndGg9PT0wKXJldHVybnt9O2Zvcih2YXIgcD17Y3JpdGVyaWE6W10sbG9naWM6dGhpcy5zLmxvZ2ljfSxDPTAsRj10aGlzLnMuY3JpdGVyaWE7QzxGLmxlbmd0aDtDKyspe3ZhciBQPUZbQ107cC5jcml0ZXJpYS5wdXNoKFAuY3JpdGVyaWEuZ2V0RGV0YWlscyhsKSl9cmV0dXJuIHB9LGgucHJvdG90eXBlLmdldE5vZGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb20uY29udGFpbmVyfSxoLnByb3RvdHlwZS5yZWJ1aWxkPWZ1bmN0aW9uKGwpe3ZhciBwO2lmKCEobC5jcml0ZXJpYT09PXZvaWQgMHx8bC5jcml0ZXJpYT09PW51bGx8fEFycmF5LmlzQXJyYXkobC5jcml0ZXJpYSkmJmwuY3JpdGVyaWEubGVuZ3RoPT09MCkpe2lmKHRoaXMucy5sb2dpYz1sLmxvZ2ljLHRoaXMuZG9tLmxvZ2ljLmNoaWxkcmVuKCkuZmlyc3QoKS5odG1sKHRoaXMucy5sb2dpYz09PSJPUiI/dGhpcy5zLmR0LmkxOG4oInNlYXJjaEJ1aWxkZXIubG9naWNPciIsdGhpcy5jLmkxOG4ubG9naWNPcik6dGhpcy5zLmR0LmkxOG4oInNlYXJjaEJ1aWxkZXIubG9naWNBbmQiLHRoaXMuYy5pMThuLmxvZ2ljQW5kKSksQXJyYXkuaXNBcnJheShsLmNyaXRlcmlhKSlmb3IodmFyIEM9MCxGPWwuY3JpdGVyaWE7QzxGLmxlbmd0aDtDKyspcD1GW0NdLHAubG9naWMhPT12b2lkIDA/dGhpcy5fYWRkUHJldkdyb3VwKHApOnAubG9naWM9PT12b2lkIDAmJnRoaXMuX2FkZFByZXZDcml0ZXJpYShwKTtmb3IodmFyIFA9MCxmPXRoaXMucy5jcml0ZXJpYTtQPGYubGVuZ3RoO1ArKylwPWZbUF0scC5jcml0ZXJpYSBpbnN0YW5jZW9mIGEmJihwLmNyaXRlcmlhLnVwZGF0ZUFycm93cyh0aGlzLnMuY3JpdGVyaWEubGVuZ3RoPjEpLHRoaXMuX3NldENyaXRlcmlhTGlzdGVuZXJzKHAuY3JpdGVyaWEpKX19LGgucHJvdG90eXBlLnJlZHJhd0NvbnRlbnRzPWZ1bmN0aW9uKCl7aWYoIXRoaXMucy5wcmV2ZW50UmVkcmF3KXt0aGlzLmRvbS5jb250YWluZXIuY2hpbGRyZW4oKS5kZXRhY2goKSx0aGlzLmRvbS5jb250YWluZXIuYXBwZW5kKHRoaXMuZG9tLmxvZ2ljQ29udGFpbmVyKS5hcHBlbmQodGhpcy5kb20uYWRkKSx0aGlzLmMubGl2ZVNlYXJjaHx8dGhpcy5kb20uY29udGFpbmVyLmFwcGVuZCh0aGlzLmRvbS5zZWFyY2gpLHRoaXMucy5jcml0ZXJpYS5zb3J0KGZ1bmN0aW9uKEMsRil7cmV0dXJuIEMuY3JpdGVyaWEucy5pbmRleDxGLmNyaXRlcmlhLnMuaW5kZXg/LTE6Qy5jcml0ZXJpYS5zLmluZGV4PkYuY3JpdGVyaWEucy5pbmRleD8xOjB9KSx0aGlzLnNldExpc3RlbmVycygpO2Zvcih2YXIgbD0wO2w8dGhpcy5zLmNyaXRlcmlhLmxlbmd0aDtsKyspe3ZhciBwPXRoaXMucy5jcml0ZXJpYVtsXS5jcml0ZXJpYTtwIGluc3RhbmNlb2YgYT8odGhpcy5zLmNyaXRlcmlhW2xdLmluZGV4PWwsdGhpcy5zLmNyaXRlcmlhW2xdLmNyaXRlcmlhLnMuaW5kZXg9bCx0aGlzLnMuY3JpdGVyaWFbbF0uY3JpdGVyaWEuZG9tLmNvbnRhaW5lci5pbnNlcnRCZWZvcmUodGhpcy5kb20uYWRkKSx0aGlzLl9zZXRDcml0ZXJpYUxpc3RlbmVycyhwKSx0aGlzLnMuY3JpdGVyaWFbbF0uY3JpdGVyaWEucy5wcmV2ZW50UmVkcmF3PXRoaXMucy5wcmV2ZW50UmVkcmF3LHRoaXMucy5jcml0ZXJpYVtsXS5jcml0ZXJpYS5yZWJ1aWxkKHRoaXMucy5jcml0ZXJpYVtsXS5jcml0ZXJpYS5nZXREZXRhaWxzKCkpLHRoaXMucy5jcml0ZXJpYVtsXS5jcml0ZXJpYS5zLnByZXZlbnRSZWRyYXc9ITEpOnAgaW5zdGFuY2VvZiBoJiZwLnMuY3JpdGVyaWEubGVuZ3RoPjA/KHRoaXMucy5jcml0ZXJpYVtsXS5pbmRleD1sLHRoaXMucy5jcml0ZXJpYVtsXS5jcml0ZXJpYS5zLmluZGV4PWwsdGhpcy5zLmNyaXRlcmlhW2xdLmNyaXRlcmlhLmRvbS5jb250YWluZXIuaW5zZXJ0QmVmb3JlKHRoaXMuZG9tLmFkZCkscC5zLnByZXZlbnRSZWRyYXc9dGhpcy5zLnByZXZlbnRSZWRyYXcscC5yZWRyYXdDb250ZW50cygpLHAucy5wcmV2ZW50UmVkcmF3PSExLHRoaXMuX3NldEdyb3VwTGlzdGVuZXJzKHApKToodGhpcy5zLmNyaXRlcmlhLnNwbGljZShsLDEpLGwtLSl9dGhpcy5zZXR1cExvZ2ljKCl9fSxoLnByb3RvdHlwZS5yZWRyYXdMb2dpYz1mdW5jdGlvbigpe2Zvcih2YXIgbD0wLHA9dGhpcy5zLmNyaXRlcmlhO2w8cC5sZW5ndGg7bCsrKXt2YXIgQz1wW2xdO0MuY3JpdGVyaWEgaW5zdGFuY2VvZiBoJiZDLmNyaXRlcmlhLnJlZHJhd0xvZ2ljKCl9dGhpcy5zZXR1cExvZ2ljKCl9LGgucHJvdG90eXBlLnNlYXJjaD1mdW5jdGlvbihsLHApe3JldHVybiB0aGlzLnMubG9naWM9PT0iQU5EIj90aGlzLl9hbmRTZWFyY2gobCxwKTp0aGlzLnMubG9naWM9PT0iT1IiP3RoaXMuX29yU2VhcmNoKGwscCk6ITB9LGgucHJvdG90eXBlLnNldHVwTG9naWM9ZnVuY3Rpb24oKXtpZih0aGlzLmRvbS5sb2dpY0NvbnRhaW5lci5yZW1vdmUoKSx0aGlzLmRvbS5jbGVhci5yZW1vdmUoKSx0aGlzLnMuY3JpdGVyaWEubGVuZ3RoPDEpe3RoaXMucy5pc0NoaWxkfHwodGhpcy5kb20uY29udGFpbmVyLnRyaWdnZXIoImR0c2ItZGVzdHJveSIpLHRoaXMuZG9tLmNvbnRhaW5lci5jc3MoIm1hcmdpbi1sZWZ0IiwwKSksdGhpcy5kb20uc2VhcmNoLmNzcygiZGlzcGxheSIsIm5vbmUiKTtyZXR1cm59dGhpcy5kb20uY2xlYXIuaGVpZ2h0KCIwcHgiKSx0aGlzLmRvbS5sb2dpY0NvbnRhaW5lci5hcHBlbmQodGhpcy5kb20uY2xlYXIpLHRoaXMucy5pc0NoaWxkfHx0aGlzLmRvbS5zZWFyY2guY3NzKCJkaXNwbGF5IiwiaW5saW5lLWJsb2NrIiksdGhpcy5kb20uY29udGFpbmVyLnByZXBlbmQodGhpcy5kb20ubG9naWNDb250YWluZXIpO2Zvcih2YXIgbD0wLHA9dGhpcy5zLmNyaXRlcmlhO2w8cC5sZW5ndGg7bCsrKXt2YXIgQz1wW2xdO0MuY3JpdGVyaWEgaW5zdGFuY2VvZiBhJiZDLmNyaXRlcmlhLnNldHVwQnV0dG9ucygpfXZhciBGPXRoaXMuZG9tLmNvbnRhaW5lci5vdXRlckhlaWdodCgpLTE7dGhpcy5kb20ubG9naWNDb250YWluZXIud2lkdGgoRiksdGhpcy5fc2V0TG9naWNMaXN0ZW5lcigpLHRoaXMuZG9tLmNvbnRhaW5lci5jc3MoIm1hcmdpbi1sZWZ0Iix0aGlzLmRvbS5sb2dpY0NvbnRhaW5lci5vdXRlckhlaWdodCghMCkpO3ZhciBQPXRoaXMuZG9tLmxvZ2ljQ29udGFpbmVyLm9mZnNldCgpLGY9UC5sZWZ0LFc9dGhpcy5kb20uY29udGFpbmVyLm9mZnNldCgpLmxlZnQsWj1mLVcsaWU9Zi1aLXRoaXMuZG9tLmxvZ2ljQ29udGFpbmVyLm91dGVySGVpZ2h0KCEwKTt0aGlzLmRvbS5sb2dpY0NvbnRhaW5lci5vZmZzZXQoe2xlZnQ6aWV9KTt2YXIgRT10aGlzLmRvbS5sb2dpY0NvbnRhaW5lci5uZXh0KCksSj1QLnRvcCxfPXMoRSkub2Zmc2V0KCkudG9wLFM9Si1fLGs9Si1TO3RoaXMuZG9tLmxvZ2ljQ29udGFpbmVyLm9mZnNldCh7dG9wOmt9KSx0aGlzLmRvbS5jbGVhci5vdXRlckhlaWdodCh0aGlzLmRvbS5sb2dpY0NvbnRhaW5lci5oZWlnaHQoKSksdGhpcy5fc2V0Q2xlYXJMaXN0ZW5lcigpfSxoLnByb3RvdHlwZS5zZXRMaXN0ZW5lcnM9ZnVuY3Rpb24oKXt2YXIgbD10aGlzO3RoaXMuZG9tLmFkZC51bmJpbmQoImNsaWNrIiksdGhpcy5kb20uYWRkLm9uKCJjbGljay5kdHNiIixmdW5jdGlvbigpe3JldHVybiBsLnMuaXNDaGlsZHx8bC5kb20uY29udGFpbmVyLnByZXBlbmQobC5kb20ubG9naWNDb250YWluZXIpLGwuYWRkQ3JpdGVyaWEoKSxsLmRvbS5jb250YWluZXIudHJpZ2dlcigiZHRzYi1hZGQiKSxsLnMuZHQuc3RhdGUuc2F2ZSgpLCExfSksdGhpcy5kb20uc2VhcmNoLm9mZigiY2xpY2suZHRzYiIpLm9uKCJjbGljay5kdHNiIixmdW5jdGlvbigpe2wucy5kdC5kcmF3KCl9KTtmb3IodmFyIHA9MCxDPXRoaXMucy5jcml0ZXJpYTtwPEMubGVuZ3RoO3ArKyl7dmFyIEY9Q1twXTtGLmNyaXRlcmlhLnNldExpc3RlbmVycygpfXRoaXMuX3NldENsZWFyTGlzdGVuZXIoKSx0aGlzLl9zZXRMb2dpY0xpc3RlbmVyKCl9LGgucHJvdG90eXBlLmFkZENyaXRlcmlhPWZ1bmN0aW9uKGwpe2w9PT12b2lkIDAmJihsPW51bGwpO3ZhciBwPWw9PT1udWxsP3RoaXMucy5jcml0ZXJpYS5sZW5ndGg6bC5zLmluZGV4LEM9bmV3IGEodGhpcy5zLmR0LHRoaXMucy5vcHRzLHRoaXMucy50b3BHcm91cCxwLHRoaXMucy5kZXB0aCx0aGlzLnMuc2VydmVyRGF0YSx0aGlzLmMubGl2ZVNlYXJjaCk7bCE9PW51bGwmJihDLmM9bC5jLEMucz1sLnMsQy5zLmRlcHRoPXRoaXMucy5kZXB0aCxDLmNsYXNzZXM9bC5jbGFzc2VzKSxDLnBvcHVsYXRlKCk7Zm9yKHZhciBGPSExLFA9MDtQPHRoaXMucy5jcml0ZXJpYS5sZW5ndGg7UCsrKVA9PT0wJiZ0aGlzLnMuY3JpdGVyaWFbUF0uY3JpdGVyaWEucy5pbmRleD5DLnMuaW5kZXg/KEMuZ2V0Tm9kZSgpLmluc2VydEJlZm9yZSh0aGlzLnMuY3JpdGVyaWFbUF0uY3JpdGVyaWEuZG9tLmNvbnRhaW5lciksRj0hMCk6UDx0aGlzLnMuY3JpdGVyaWEubGVuZ3RoLTEmJnRoaXMucy5jcml0ZXJpYVtQXS5jcml0ZXJpYS5zLmluZGV4PEMucy5pbmRleCYmdGhpcy5zLmNyaXRlcmlhW1ArMV0uY3JpdGVyaWEucy5pbmRleD5DLnMuaW5kZXgmJihDLmdldE5vZGUoKS5pbnNlcnRBZnRlcih0aGlzLnMuY3JpdGVyaWFbUF0uY3JpdGVyaWEuZG9tLmNvbnRhaW5lciksRj0hMCk7Rnx8Qy5nZXROb2RlKCkuaW5zZXJ0QmVmb3JlKHRoaXMuZG9tLmFkZCksdGhpcy5zLmNyaXRlcmlhLnB1c2goe2NyaXRlcmlhOkMsaW5kZXg6cH0pLHRoaXMucy5jcml0ZXJpYT10aGlzLnMuY3JpdGVyaWEuc29ydChmdW5jdGlvbihpZSxFKXtyZXR1cm4gaWUuY3JpdGVyaWEucy5pbmRleC1FLmNyaXRlcmlhLnMuaW5kZXh9KTtmb3IodmFyIGY9MCxXPXRoaXMucy5jcml0ZXJpYTtmPFcubGVuZ3RoO2YrKyl7dmFyIFo9V1tmXTtaLmNyaXRlcmlhIGluc3RhbmNlb2YgYSYmWi5jcml0ZXJpYS51cGRhdGVBcnJvd3ModGhpcy5zLmNyaXRlcmlhLmxlbmd0aD4xKX10aGlzLl9zZXRDcml0ZXJpYUxpc3RlbmVycyhDKSxDLnNldExpc3RlbmVycygpLHRoaXMuc2V0dXBMb2dpYygpfSxoLnByb3RvdHlwZS5jaGVja0ZpbGxlZD1mdW5jdGlvbigpe2Zvcih2YXIgbD0wLHA9dGhpcy5zLmNyaXRlcmlhO2w8cC5sZW5ndGg7bCsrKXt2YXIgQz1wW2xdO2lmKEMuY3JpdGVyaWEgaW5zdGFuY2VvZiBhJiZDLmNyaXRlcmlhLnMuZmlsbGVkfHxDLmNyaXRlcmlhIGluc3RhbmNlb2YgaCYmQy5jcml0ZXJpYS5jaGVja0ZpbGxlZCgpKXJldHVybiEwfXJldHVybiExfSxoLnByb3RvdHlwZS5jb3VudD1mdW5jdGlvbigpe2Zvcih2YXIgbD0wLHA9MCxDPXRoaXMucy5jcml0ZXJpYTtwPEMubGVuZ3RoO3ArKyl7dmFyIEY9Q1twXTtGLmNyaXRlcmlhIGluc3RhbmNlb2YgaD9sKz1GLmNyaXRlcmlhLmNvdW50KCk6bCsrfXJldHVybiBsfSxoLnByb3RvdHlwZS5fYWRkUHJldkdyb3VwPWZ1bmN0aW9uKGwpe3ZhciBwPXRoaXMucy5jcml0ZXJpYS5sZW5ndGgsQz1uZXcgaCh0aGlzLnMuZHQsdGhpcy5jLHRoaXMucy50b3BHcm91cCxwLCEwLHRoaXMucy5kZXB0aCsxLHRoaXMucy5zZXJ2ZXJEYXRhKTt0aGlzLnMuY3JpdGVyaWEucHVzaCh7Y3JpdGVyaWE6QyxpbmRleDpwLGxvZ2ljOkMucy5sb2dpY30pLEMucmVidWlsZChsKSx0aGlzLnMuY3JpdGVyaWFbcF0uY3JpdGVyaWE9Qyx0aGlzLnMudG9wR3JvdXAudHJpZ2dlcigiZHRzYi1yZWRyYXdDb250ZW50cyIpLHRoaXMuX3NldEdyb3VwTGlzdGVuZXJzKEMpfSxoLnByb3RvdHlwZS5fYWRkUHJldkNyaXRlcmlhPWZ1bmN0aW9uKGwpe3ZhciBwPXRoaXMucy5jcml0ZXJpYS5sZW5ndGgsQz1uZXcgYSh0aGlzLnMuZHQsdGhpcy5zLm9wdHMsdGhpcy5zLnRvcEdyb3VwLHAsdGhpcy5zLmRlcHRoLHRoaXMucy5zZXJ2ZXJEYXRhKTtDLnBvcHVsYXRlKCksdGhpcy5zLmNyaXRlcmlhLnB1c2goe2NyaXRlcmlhOkMsaW5kZXg6cH0pLEMucy5wcmV2ZW50UmVkcmF3PXRoaXMucy5wcmV2ZW50UmVkcmF3LEMucmVidWlsZChsKSxDLnMucHJldmVudFJlZHJhdz0hMSx0aGlzLnMuY3JpdGVyaWFbcF0uY3JpdGVyaWE9Qyx0aGlzLnMucHJldmVudFJlZHJhd3x8dGhpcy5zLnRvcEdyb3VwLnRyaWdnZXIoImR0c2ItcmVkcmF3Q29udGVudHMiKX0saC5wcm90b3R5cGUuX2FuZFNlYXJjaD1mdW5jdGlvbihsLHApe2lmKHRoaXMucy5jcml0ZXJpYS5sZW5ndGg9PT0wKXJldHVybiEwO2Zvcih2YXIgQz0wLEY9dGhpcy5zLmNyaXRlcmlhO0M8Ri5sZW5ndGg7QysrKXt2YXIgUD1GW0NdO2lmKCEoUC5jcml0ZXJpYSBpbnN0YW5jZW9mIGEmJiFQLmNyaXRlcmlhLnMuZmlsbGVkKSYmIVAuY3JpdGVyaWEuc2VhcmNoKGwscCkpcmV0dXJuITF9cmV0dXJuITB9LGgucHJvdG90eXBlLl9vclNlYXJjaD1mdW5jdGlvbihsLHApe2lmKHRoaXMucy5jcml0ZXJpYS5sZW5ndGg9PT0wKXJldHVybiEwO2Zvcih2YXIgQz0hMSxGPTAsUD10aGlzLnMuY3JpdGVyaWE7RjxQLmxlbmd0aDtGKyspe3ZhciBmPVBbRl07aWYoZi5jcml0ZXJpYSBpbnN0YW5jZW9mIGEmJmYuY3JpdGVyaWEucy5maWxsZWQpe2lmKEM9ITAsZi5jcml0ZXJpYS5zZWFyY2gobCxwKSlyZXR1cm4hMH1lbHNlIGlmKGYuY3JpdGVyaWEgaW5zdGFuY2VvZiBoJiZmLmNyaXRlcmlhLmNoZWNrRmlsbGVkKCkmJihDPSEwLGYuY3JpdGVyaWEuc2VhcmNoKGwscCkpKXJldHVybiEwfXJldHVybiFDfSxoLnByb3RvdHlwZS5fcmVtb3ZlQ3JpdGVyaWE9ZnVuY3Rpb24obCxwKXtwPT09dm9pZCAwJiYocD0hMSk7dmFyIEM7aWYodGhpcy5zLmNyaXRlcmlhLmxlbmd0aDw9MSYmdGhpcy5zLmlzQ2hpbGQpdGhpcy5kZXN0cm95KCk7ZWxzZXt2YXIgRj12b2lkIDA7Zm9yKEM9MDtDPHRoaXMucy5jcml0ZXJpYS5sZW5ndGg7QysrKXRoaXMucy5jcml0ZXJpYVtDXS5pbmRleD09PWwucy5pbmRleCYmKCFwfHx0aGlzLnMuY3JpdGVyaWFbQ10uY3JpdGVyaWEgaW5zdGFuY2VvZiBoKSYmKEY9Qyk7Zm9yKEYhPT12b2lkIDAmJnRoaXMucy5jcml0ZXJpYS5zcGxpY2UoRiwxKSxDPTA7Qzx0aGlzLnMuY3JpdGVyaWEubGVuZ3RoO0MrKyl0aGlzLnMuY3JpdGVyaWFbQ10uaW5kZXg9Qyx0aGlzLnMuY3JpdGVyaWFbQ10uY3JpdGVyaWEucy5pbmRleD1DfX0saC5wcm90b3R5cGUuX3NldENyaXRlcmlhTGlzdGVuZXJzPWZ1bmN0aW9uKGwpe3ZhciBwPXRoaXM7bC5kb20uZGVsZXRlLnVuYmluZCgiY2xpY2siKS5vbigiY2xpY2suZHRzYiIsZnVuY3Rpb24oKXtwLl9yZW1vdmVDcml0ZXJpYShsKSxsLmRvbS5jb250YWluZXIucmVtb3ZlKCk7Zm9yKHZhciBDPTAsRj1wLnMuY3JpdGVyaWE7QzxGLmxlbmd0aDtDKyspe3ZhciBQPUZbQ107UC5jcml0ZXJpYSBpbnN0YW5jZW9mIGEmJlAuY3JpdGVyaWEudXBkYXRlQXJyb3dzKHAucy5jcml0ZXJpYS5sZW5ndGg+MSl9cmV0dXJuIGwuZGVzdHJveSgpLHAucy5kdC5kcmF3KCkscC5zLnRvcEdyb3VwLnRyaWdnZXIoImR0c2ItcmVkcmF3Q29udGVudHMiKSwhMX0pLGwuZG9tLnJpZ2h0LnVuYmluZCgiY2xpY2siKS5vbigiY2xpY2suZHRzYiIsZnVuY3Rpb24oKXt2YXIgQz1sLnMuaW5kZXgsRj1uZXcgaChwLnMuZHQscC5zLm9wdHMscC5zLnRvcEdyb3VwLGwucy5pbmRleCwhMCxwLnMuZGVwdGgrMSxwLnMuc2VydmVyRGF0YSk7cmV0dXJuIEYuYWRkQ3JpdGVyaWEobCkscC5zLmNyaXRlcmlhW0NdLmNyaXRlcmlhPUYscC5zLmNyaXRlcmlhW0NdLmxvZ2ljPSJBTkQiLHAucy50b3BHcm91cC50cmlnZ2VyKCJkdHNiLXJlZHJhd0NvbnRlbnRzIikscC5fc2V0R3JvdXBMaXN0ZW5lcnMoRiksITF9KSxsLmRvbS5sZWZ0LnVuYmluZCgiY2xpY2siKS5vbigiY2xpY2suZHRzYiIsZnVuY3Rpb24oKXtwLnMudG9Ecm9wPW5ldyBhKHAucy5kdCxwLnMub3B0cyxwLnMudG9wR3JvdXAsbC5zLmluZGV4LHZvaWQgMCxwLnMuc2VydmVyRGF0YSkscC5zLnRvRHJvcC5zPWwucyxwLnMudG9Ecm9wLmM9bC5jLHAucy50b0Ryb3AuY2xhc3Nlcz1sLmNsYXNzZXMscC5zLnRvRHJvcC5wb3B1bGF0ZSgpO3ZhciBDPXAucy50b0Ryb3Aucy5pbmRleDtyZXR1cm4gcC5kb20uY29udGFpbmVyLnRyaWdnZXIoImR0c2ItZHJvcENyaXRlcmlhIiksbC5zLmluZGV4PUMscC5fcmVtb3ZlQ3JpdGVyaWEobCkscC5zLnRvcEdyb3VwLnRyaWdnZXIoImR0c2ItcmVkcmF3Q29udGVudHMiKSxwLnMuZHQuZHJhdygpLCExfSl9LGgucHJvdG90eXBlLl9zZXRDbGVhckxpc3RlbmVyPWZ1bmN0aW9uKCl7dmFyIGw9dGhpczt0aGlzLmRvbS5jbGVhci51bmJpbmQoImNsaWNrIikub24oImNsaWNrLmR0c2IiLGZ1bmN0aW9uKCl7cmV0dXJuIGwucy5pc0NoaWxkPyhsLmRlc3Ryb3koKSxsLnMudG9wR3JvdXAudHJpZ2dlcigiZHRzYi1yZWRyYXdDb250ZW50cyIpLCExKToobC5kb20uY29udGFpbmVyLnRyaWdnZXIoImR0c2ItY2xlYXJDb250ZW50cyIpLCExKX0pfSxoLnByb3RvdHlwZS5fc2V0R3JvdXBMaXN0ZW5lcnM9ZnVuY3Rpb24obCl7dmFyIHA9dGhpcztsLmRvbS5hZGQudW5iaW5kKCJjbGljayIpLm9uKCJjbGljay5kdHNiIixmdW5jdGlvbigpe3JldHVybiBwLnNldHVwTG9naWMoKSxwLmRvbS5jb250YWluZXIudHJpZ2dlcigiZHRzYi1hZGQiKSwhMX0pLGwuZG9tLmNvbnRhaW5lci51bmJpbmQoImR0c2ItYWRkIikub24oImR0c2ItYWRkLmR0c2IiLGZ1bmN0aW9uKCl7cmV0dXJuIHAuc2V0dXBMb2dpYygpLHAuZG9tLmNvbnRhaW5lci50cmlnZ2VyKCJkdHNiLWFkZCIpLCExfSksbC5kb20uY29udGFpbmVyLnVuYmluZCgiZHRzYi1kZXN0cm95Iikub24oImR0c2ItZGVzdHJveS5kdHNiIixmdW5jdGlvbigpe3JldHVybiBwLl9yZW1vdmVDcml0ZXJpYShsLCEwKSxsLmRvbS5jb250YWluZXIucmVtb3ZlKCkscC5zZXR1cExvZ2ljKCksITF9KSxsLmRvbS5jb250YWluZXIudW5iaW5kKCJkdHNiLWRyb3BDcml0ZXJpYSIpLm9uKCJkdHNiLWRyb3BDcml0ZXJpYS5kdHNiIixmdW5jdGlvbigpe3ZhciBDPWwucy50b0Ryb3A7cmV0dXJuIEMucy5pbmRleD1sLnMuaW5kZXgsQy51cGRhdGVBcnJvd3MocC5zLmNyaXRlcmlhLmxlbmd0aD4xKSxwLmFkZENyaXRlcmlhKEMpLCExfSksbC5zZXRMaXN0ZW5lcnMoKX0saC5wcm90b3R5cGUuX3NldHVwPWZ1bmN0aW9uKCl7dGhpcy5zZXRMaXN0ZW5lcnMoKSx0aGlzLmRvbS5hZGQuaHRtbCh0aGlzLnMuZHQuaTE4bigic2VhcmNoQnVpbGRlci5hZGQiLHRoaXMuYy5pMThuLmFkZCkpLHRoaXMuZG9tLnNlYXJjaC5odG1sKHRoaXMucy5kdC5pMThuKCJzZWFyY2hCdWlsZGVyLnNlYXJjaCIsdGhpcy5jLmkxOG4uc2VhcmNoKSksdGhpcy5kb20ubG9naWMuY2hpbGRyZW4oKS5maXJzdCgpLmh0bWwodGhpcy5jLmxvZ2ljPT09Ik9SIj90aGlzLnMuZHQuaTE4bigic2VhcmNoQnVpbGRlci5sb2dpY09yIix0aGlzLmMuaTE4bi5sb2dpY09yKTp0aGlzLnMuZHQuaTE4bigic2VhcmNoQnVpbGRlci5sb2dpY0FuZCIsdGhpcy5jLmkxOG4ubG9naWNBbmQpKSx0aGlzLnMubG9naWM9dGhpcy5jLmxvZ2ljPT09Ik9SIj8iT1IiOiJBTkQiLHRoaXMuYy5ncmV5c2NhbGUmJnRoaXMuZG9tLmxvZ2ljLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5ncmV5c2NhbGUpLHRoaXMuZG9tLmxvZ2ljQ29udGFpbmVyLmFwcGVuZCh0aGlzLmRvbS5sb2dpYykuYXBwZW5kKHRoaXMuZG9tLmNsZWFyKSx0aGlzLnMuaXNDaGlsZCYmdGhpcy5kb20uY29udGFpbmVyLmFwcGVuZCh0aGlzLmRvbS5sb2dpY0NvbnRhaW5lciksdGhpcy5kb20uY29udGFpbmVyLmFwcGVuZCh0aGlzLmRvbS5hZGQpLHRoaXMuYy5saXZlU2VhcmNofHx0aGlzLmRvbS5jb250YWluZXIuYXBwZW5kKHRoaXMuZG9tLnNlYXJjaCl9LGgucHJvdG90eXBlLl9zZXRMb2dpY0xpc3RlbmVyPWZ1bmN0aW9uKCl7dmFyIGw9dGhpczt0aGlzLmRvbS5sb2dpYy51bmJpbmQoImNsaWNrIikub24oImNsaWNrLmR0c2IiLGZ1bmN0aW9uKCl7bC5fdG9nZ2xlTG9naWMoKSxsLnMuZHQuZHJhdygpO2Zvcih2YXIgcD0wLEM9bC5zLmNyaXRlcmlhO3A8Qy5sZW5ndGg7cCsrKXt2YXIgRj1DW3BdO0YuY3JpdGVyaWEuc2V0TGlzdGVuZXJzKCl9fSl9LGgucHJvdG90eXBlLl90b2dnbGVMb2dpYz1mdW5jdGlvbigpe3RoaXMucy5sb2dpYz09PSJPUiI/KHRoaXMucy5sb2dpYz0iQU5EIix0aGlzLmRvbS5sb2dpYy5jaGlsZHJlbigpLmZpcnN0KCkuaHRtbCh0aGlzLnMuZHQuaTE4bigic2VhcmNoQnVpbGRlci5sb2dpY0FuZCIsdGhpcy5jLmkxOG4ubG9naWNBbmQpKSk6dGhpcy5zLmxvZ2ljPT09IkFORCImJih0aGlzLnMubG9naWM9Ik9SIix0aGlzLmRvbS5sb2dpYy5jaGlsZHJlbigpLmZpcnN0KCkuaHRtbCh0aGlzLnMuZHQuaTE4bigic2VhcmNoQnVpbGRlci5sb2dpY09yIix0aGlzLmMuaTE4bi5sb2dpY09yKSkpfSxoLnZlcnNpb249IjEuMS4wIixoLmNsYXNzZXM9e2FkZDoiZHRzYi1hZGQiLGJ1dHRvbjoiZHRzYi1idXR0b24iLGNsZWFyR3JvdXA6ImR0c2ItY2xlYXJHcm91cCIsZ3JleXNjYWxlOiJkdHNiLWdyZXlzY2FsZSIsZ3JvdXA6ImR0c2ItZ3JvdXAiLGlucHV0QnV0dG9uOiJkdHNiLWlwdGJ0biIsbG9naWM6ImR0c2ItbG9naWMiLGxvZ2ljQ29udGFpbmVyOiJkdHNiLWxvZ2ljQ29udGFpbmVyIixzZWFyY2g6ImR0c2Itc2VhcmNoIn0saC5kZWZhdWx0cz17Y29sdW1uczohMCxjb25kaXRpb25zOntkYXRlOmEuZGF0ZUNvbmRpdGlvbnMsaHRtbDphLnN0cmluZ0NvbmRpdGlvbnMsImh0bWwtbnVtIjphLm51bUNvbmRpdGlvbnMsImh0bWwtbnVtLWZtdCI6YS5udW1GbXRDb25kaXRpb25zLGx1eG9uOmEubHV4b25EYXRlQ29uZGl0aW9ucyxtb21lbnQ6YS5tb21lbnREYXRlQ29uZGl0aW9ucyxudW06YS5udW1Db25kaXRpb25zLCJudW0tZm10IjphLm51bUZtdENvbmRpdGlvbnMsc3RyaW5nOmEuc3RyaW5nQ29uZGl0aW9uc30sZGVwdGhMaW1pdDohMSxlbnRlclNlYXJjaDohMSxmaWx0ZXJDaGFuZ2VkOnZvaWQgMCxncmV5c2NhbGU6ITEsbGl2ZVNlYXJjaDohMCxpMThuOnthZGQ6IkFkZCBDb25kaXRpb24iLGJ1dHRvbjp7MDoiU2VhcmNoIEJ1aWxkZXIiLF86IlNlYXJjaCBCdWlsZGVyICglZCkifSxjbGVhckFsbDoiQ2xlYXIgQWxsIixjb25kaXRpb246IkNvbmRpdGlvbiIsZGF0YToiRGF0YSIsZGVsZXRlOiImdGltZXMiLGRlbGV0ZVRpdGxlOiJEZWxldGUgZmlsdGVyaW5nIHJ1bGUiLGxlZnQ6IjwiLGxlZnRUaXRsZToiT3V0ZGVudCBjcml0ZXJpYSIsbG9naWNBbmQ6IkFuZCIsbG9naWNPcjoiT3IiLHJpZ2h0OiI+IixyaWdodFRpdGxlOiJJbmRlbnQgY3JpdGVyaWEiLHNlYXJjaDoiU2VhcmNoIix0aXRsZTp7MDoiQ3VzdG9tIFNlYXJjaCBCdWlsZGVyIixfOiJDdXN0b20gU2VhcmNoIEJ1aWxkZXIgKCVkKSJ9LHZhbHVlOiJWYWx1ZSIsdmFsdWVKb2luZXI6ImFuZCJ9LGxvZ2ljOiJBTkQiLG9ydGhvZ29uYWw6e2Rpc3BsYXk6ImRpc3BsYXkiLHNlYXJjaDoiZmlsdGVyIn0scHJlRGVmaW5lZDohMX0saH0pKCksbSx2O2Z1bmN0aW9uIGcoaCl7bT1oLHY9aC5mbi5EYXRhVGFibGV9dmFyIHc9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gaChsLHApe3ZhciBDPXRoaXM7aWYoIXZ8fCF2LnZlcnNpb25DaGVja3x8IXYudmVyc2lvbkNoZWNrKCIyIikpdGhyb3cgbmV3IEVycm9yKCJTZWFyY2hCdWlsZGVyIHJlcXVpcmVzIERhdGFUYWJsZXMgMiBvciBuZXdlciIpO3ZhciBGPW5ldyB2LkFwaShsKTtpZih0aGlzLmNsYXNzZXM9bS5leHRlbmQoITAse30saC5jbGFzc2VzKSx0aGlzLmM9bS5leHRlbmQoITAse30saC5kZWZhdWx0cyxwKSx0aGlzLmRvbT17Y2xlYXJBbGw6bSgnPGJ1dHRvbiB0eXBlPSJidXR0b24iPicrRi5pMThuKCJzZWFyY2hCdWlsZGVyLmNsZWFyQWxsIix0aGlzLmMuaTE4bi5jbGVhckFsbCkrIjwvYnV0dG9uPiIpLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5jbGVhckFsbCkuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmJ1dHRvbikuYXR0cigidHlwZSIsImJ1dHRvbiIpLGNvbnRhaW5lcjptKCI8ZGl2Lz4iKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMuY29udGFpbmVyKSx0aXRsZTptKCI8ZGl2Lz4iKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMudGl0bGUpLHRpdGxlUm93Om0oIjxkaXYvPiIpLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy50aXRsZVJvdyksdG9wR3JvdXA6dm9pZCAwfSx0aGlzLnM9e2R0OkYsb3B0czpwLHNlYXJjaDp2b2lkIDAsc2VydmVyRGF0YTp2b2lkIDAsdG9wR3JvdXA6dm9pZCAwfSxGLnNldHRpbmdzKClbMF0uX3NlYXJjaEJ1aWxkZXI9PT12b2lkIDApcmV0dXJuIEYuc2V0dGluZ3MoKVswXS5fc2VhcmNoQnVpbGRlcj10aGlzLHRoaXMucy5kdC5wYWdlLmluZm8oKS5zZXJ2ZXJTaWRlJiYodGhpcy5zLmR0Lm9uKCJwcmVYaHIuZHRzYiIsZnVuY3Rpb24oUCxmLFcpe3ZhciBaPUMucy5kdC5zdGF0ZS5sb2FkZWQoKTtaJiZaLnNlYXJjaEJ1aWxkZXImJihXLnNlYXJjaEJ1aWxkZXI9Qy5fY29sbGFwc2VBcnJheShaLnNlYXJjaEJ1aWxkZXIpKX0pLHRoaXMucy5kdC5vbigieGhyLmR0c2IiLGZ1bmN0aW9uKFAsZixXKXtXJiZXLnNlYXJjaEJ1aWxkZXImJlcuc2VhcmNoQnVpbGRlci5vcHRpb25zJiYoQy5zLnNlcnZlckRhdGE9Vy5zZWFyY2hCdWlsZGVyLm9wdGlvbnMpfSkpLHRoaXMucy5kdC5zZXR0aW5ncygpWzBdLl9iSW5pdENvbXBsZXRlP3RoaXMuX3NldFVwKCk6Ri5vbmUoImluaXQuZHQiLGZ1bmN0aW9uKCl7Qy5fc2V0VXAoKX0pLHRoaXN9cmV0dXJuIGgucHJvdG90eXBlLmdldERldGFpbHM9ZnVuY3Rpb24obCl7cmV0dXJuIGw9PT12b2lkIDAmJihsPSExKSx0aGlzLnMudG9wR3JvdXA/dGhpcy5zLnRvcEdyb3VwLmdldERldGFpbHMobCk6e319LGgucHJvdG90eXBlLmdldE5vZGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb20uY29udGFpbmVyfSxoLnByb3RvdHlwZS5yZWJ1aWxkPWZ1bmN0aW9uKGwscCl7cmV0dXJuIHA9PT12b2lkIDAmJihwPSEwKSx0aGlzLmRvbS5jbGVhckFsbC50cmlnZ2VyKCJjbGljayIsITEpLGw9PW51bGw/dGhpczoodGhpcy5zLnRvcEdyb3VwLnMucHJldmVudFJlZHJhdz0hMCx0aGlzLnMudG9wR3JvdXAucmVidWlsZChsKSx0aGlzLnMudG9wR3JvdXAucy5wcmV2ZW50UmVkcmF3PSExLHRoaXMuX2NoZWNrQ2xlYXIoKSx0aGlzLl91cGRhdGVUaXRsZSh0aGlzLnMudG9wR3JvdXAuY291bnQoKSksdGhpcy5zLnRvcEdyb3VwLnJlZHJhd0NvbnRlbnRzKCkscCYmdGhpcy5zLmR0LmRyYXcoITEpLHRoaXMucy50b3BHcm91cC5zZXRMaXN0ZW5lcnMoKSx0aGlzKX0saC5wcm90b3R5cGUuX2FwcGx5UHJlRGVmRGVmYXVsdHM9ZnVuY3Rpb24obCl7dmFyIHA9dGhpcztsLmNyaXRlcmlhIT09dm9pZCAwJiZsLmxvZ2ljPT09dm9pZCAwJiYobC5sb2dpYz0iQU5EIik7Zm9yKHZhciBDPWZ1bmN0aW9uKFope1ouY3JpdGVyaWEhPT12b2lkIDA/Wj1GLl9hcHBseVByZURlZkRlZmF1bHRzKFopOkYucy5kdC5jb2x1bW5zKCkuZXZlcnkoZnVuY3Rpb24oaWUpe3Aucy5kdC5zZXR0aW5ncygpWzBdLmFvQ29sdW1uc1tpZV0uc1RpdGxlPT09Wi5kYXRhJiYoWi5kYXRhSWR4PWllKX0pfSxGPXRoaXMsUD0wLGY9bC5jcml0ZXJpYTtQPGYubGVuZ3RoO1ArKyl7dmFyIFc9ZltQXTtDKFcpfXJldHVybiBsfSxoLnByb3RvdHlwZS5fc2V0VXA9ZnVuY3Rpb24obCl7dmFyIHA9dGhpcztpZihsPT09dm9pZCAwJiYobD0hMCksdHlwZW9mIHRoaXMucy5kdC5jb2x1bW4oKS50eXBlIT0iZnVuY3Rpb24iJiZ0ZS5BcGkucmVnaXN0ZXJQbHVyYWwoImNvbHVtbnMoKS50eXBlcygpIiwiY29sdW1uKCkudHlwZSgpIixmdW5jdGlvbigpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJjb2x1bW4iLGZ1bmN0aW9uKF8sUyl7cmV0dXJuIF8uYW9Db2x1bW5zW1NdLnNUeXBlfSwxKX0pLCF2LkRhdGVUaW1lKXt2YXIgQz10aGlzLnMuZHQuY29sdW1ucygpLnR5cGVzKCkudG9BcnJheSgpO2lmKEM9PT12b2lkIDB8fEMuaW5jbHVkZXModm9pZCAwKXx8Qy5pbmNsdWRlcyhudWxsKSl7Qz1bXTtmb3IodmFyIEY9MCxQPXRoaXMucy5kdC5zZXR0aW5ncygpWzBdLmFvQ29sdW1ucztGPFAubGVuZ3RoO0YrKyl7dmFyIGY9UFtGXTtDLnB1c2goZi5zZWFyY2hCdWlsZGVyVHlwZSE9PXZvaWQgMD9mLnNlYXJjaEJ1aWxkZXJUeXBlOmYuc1R5cGUpfX12YXIgVz10aGlzLnMuZHQuY29sdW1ucygpLnRvQXJyYXkoKTsoQz09PXZvaWQgMHx8Qy5pbmNsdWRlcyh2b2lkIDApfHxDLmluY2x1ZGVzKG51bGwpKSYmKG0uZm4uZGF0YVRhYmxlLmV4dC5vQXBpJiZtLmZuLmRhdGFUYWJsZS5leHQub0FwaS5fZm5Db2x1bW5UeXBlcyh0aGlzLnMuZHQuc2V0dGluZ3MoKVswXSksQz10aGlzLnMuZHQuY29sdW1ucygpLnR5cGVzKCkudG9BcnJheSgpKTtmb3IodmFyIFo9MDtaPFdbMF0ubGVuZ3RoO1orKyl7dmFyIGllPVdbMF1bWl0sRT1DW2llXTtpZigodGhpcy5jLmNvbHVtbnM9PT0hMHx8QXJyYXkuaXNBcnJheSh0aGlzLmMuY29sdW1ucykmJnRoaXMuYy5jb2x1bW5zLmluY2x1ZGVzKFopKSYmKEUuaW5jbHVkZXMoImRhdGUiKXx8RS5pbmNsdWRlcygibW9tZW50Iil8fEUuaW5jbHVkZXMoImx1eG9uIikpKXRocm93IGFsZXJ0KCJTZWFyY2hCdWlsZGVyIFJlcXVpcmVzIERhdGVUaW1lIHdoZW4gdXNlZCB3aXRoIGRhdGVzLiIpLG5ldyBFcnJvcigiU2VhcmNoQnVpbGRlciByZXF1aXJlcyBEYXRlVGltZSIpfX1pZih0aGlzLnMudG9wR3JvdXA9bmV3IGQodGhpcy5zLmR0LHRoaXMuYyx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdGhpcy5zLnNlcnZlckRhdGEpLHRoaXMuX3NldENsZWFyTGlzdGVuZXIoKSx0aGlzLnMuZHQub24oInN0YXRlU2F2ZVBhcmFtcy5kdHNiIixmdW5jdGlvbihfLFMsayl7ay5zZWFyY2hCdWlsZGVyPXAuZ2V0RGV0YWlscygpLGsuc2Nyb2xsZXI/ay5zdGFydD1wLnMuZHQuc3RhdGUoKS5zdGFydDprLnBhZ2U9cC5zLmR0LnBhZ2UoKX0pLHRoaXMucy5kdC5vbigic3RhdGVMb2FkUGFyYW1zLmR0c2IiLGZ1bmN0aW9uKF8sUyxrKXtwLnJlYnVpbGQoay5zZWFyY2hCdWlsZGVyKX0pLHRoaXMuX2J1aWxkKCksdGhpcy5zLmR0Lm9uKCJwcmVYaHIuZHRzYiIsZnVuY3Rpb24oXyxTLGspe3Aucy5kdC5wYWdlLmluZm8oKS5zZXJ2ZXJTaWRlJiYoay5zZWFyY2hCdWlsZGVyPXAuX2NvbGxhcHNlQXJyYXkocC5nZXREZXRhaWxzKCEwKSkpfSksdGhpcy5zLmR0Lm9uKCJjb2x1bW5zLXJlb3JkZXJlZCIsZnVuY3Rpb24oKXtwLnJlYnVpbGQocC5nZXREZXRhaWxzKCkpfSksbCl7dmFyIEo9dGhpcy5zLmR0LnN0YXRlLmxvYWRlZCgpO0ohPT1udWxsJiZKLnNlYXJjaEJ1aWxkZXIhPT12b2lkIDA/KHRoaXMucy50b3BHcm91cC5yZWJ1aWxkKEouc2VhcmNoQnVpbGRlciksdGhpcy5zLnRvcEdyb3VwLmRvbS5jb250YWluZXIudHJpZ2dlcigiZHRzYi1yZWRyYXdDb250ZW50cyIpLHRoaXMucy5kdC5wYWdlLmluZm8oKS5zZXJ2ZXJTaWRlfHwoSi5wYWdlP3RoaXMucy5kdC5wYWdlKEoucGFnZSkuZHJhdygicGFnZSIpOnRoaXMucy5kdC5zY3JvbGxlciYmSi5zY3JvbGxlciYmdGhpcy5zLmR0LnNjcm9sbGVyKCkuc2Nyb2xsVG9Sb3coSi5zY3JvbGxlci50b3BSb3cpKSx0aGlzLnMudG9wR3JvdXAuc2V0TGlzdGVuZXJzKCkpOnRoaXMuYy5wcmVEZWZpbmVkIT09ITEmJih0aGlzLmMucHJlRGVmaW5lZD10aGlzLl9hcHBseVByZURlZkRlZmF1bHRzKHRoaXMuYy5wcmVEZWZpbmVkKSx0aGlzLnJlYnVpbGQodGhpcy5jLnByZURlZmluZWQpKX10aGlzLl9zZXRFbXB0eUxpc3RlbmVyKCksdGhpcy5zLmR0LnN0YXRlLnNhdmUoKX0saC5wcm90b3R5cGUuX2NvbGxhcHNlQXJyYXk9ZnVuY3Rpb24obCl7aWYobC5sb2dpYz09PXZvaWQgMClsLnZhbHVlIT09dm9pZCAwJiYobC52YWx1ZS5zb3J0KGZ1bmN0aW9uKEMsRil7cmV0dXJuIGlzTmFOKCtDKXx8KEM9K0MsRj0rRiksQzxGPy0xOkY8Qz8xOjB9KSxsLnZhbHVlMT1sLnZhbHVlWzBdLGwudmFsdWUyPWwudmFsdWVbMV0pO2Vsc2UgZm9yKHZhciBwPTA7cDxsLmNyaXRlcmlhLmxlbmd0aDtwKyspbC5jcml0ZXJpYVtwXT10aGlzLl9jb2xsYXBzZUFycmF5KGwuY3JpdGVyaWFbcF0pO3JldHVybiBsfSxoLnByb3RvdHlwZS5fdXBkYXRlVGl0bGU9ZnVuY3Rpb24obCl7dGhpcy5kb20udGl0bGUuaHRtbCh0aGlzLnMuZHQuaTE4bigic2VhcmNoQnVpbGRlci50aXRsZSIsdGhpcy5jLmkxOG4udGl0bGUsbCkpfSxoLnByb3RvdHlwZS5fYnVpbGQ9ZnVuY3Rpb24oKXt2YXIgbD10aGlzO3RoaXMuZG9tLmNsZWFyQWxsLnJlbW92ZSgpLHRoaXMuZG9tLmNvbnRhaW5lci5lbXB0eSgpO3ZhciBwPXRoaXMucy50b3BHcm91cC5jb3VudCgpO3RoaXMuX3VwZGF0ZVRpdGxlKHApLHRoaXMuZG9tLnRpdGxlUm93LmFwcGVuZCh0aGlzLmRvbS50aXRsZSksdGhpcy5kb20uY29udGFpbmVyLmFwcGVuZCh0aGlzLmRvbS50aXRsZVJvdyksdGhpcy5kb20udG9wR3JvdXA9dGhpcy5zLnRvcEdyb3VwLmdldE5vZGUoKSx0aGlzLmRvbS5jb250YWluZXIuYXBwZW5kKHRoaXMuZG9tLnRvcEdyb3VwKSx0aGlzLl9zZXRSZWRyYXdMaXN0ZW5lcigpO3ZhciBDPXRoaXMucy5kdC50YWJsZSgwKS5ub2RlKCk7bS5mbi5kYXRhVGFibGUuZXh0LnNlYXJjaC5pbmNsdWRlcyh0aGlzLnMuc2VhcmNoKXx8KHRoaXMucy5zZWFyY2g9ZnVuY3Rpb24oRixQLGYpe3JldHVybiBGLm5UYWJsZSE9PUM/ITA6bC5zLnRvcEdyb3VwLnNlYXJjaChQLGYpfSxtLmZuLmRhdGFUYWJsZS5leHQuc2VhcmNoLnB1c2godGhpcy5zLnNlYXJjaCkpLHRoaXMucy5kdC5vbigiZGVzdHJveS5kdHNiIixmdW5jdGlvbigpe2wuZG9tLmNvbnRhaW5lci5yZW1vdmUoKSxsLmRvbS5jbGVhckFsbC5yZW1vdmUoKTtmb3IodmFyIEY9bS5mbi5kYXRhVGFibGUuZXh0LnNlYXJjaC5pbmRleE9mKGwucy5zZWFyY2gpO0YhPT0tMTspbS5mbi5kYXRhVGFibGUuZXh0LnNlYXJjaC5zcGxpY2UoRiwxKSxGPW0uZm4uZGF0YVRhYmxlLmV4dC5zZWFyY2guaW5kZXhPZihsLnMuc2VhcmNoKTtsLnMuZHQub2ZmKCIuZHRzYiIpLG0obC5zLmR0LnRhYmxlKCkubm9kZSgpKS5vZmYoIi5kdHNiIil9KX0saC5wcm90b3R5cGUuX2NoZWNrQ2xlYXI9ZnVuY3Rpb24oKXt0aGlzLnMudG9wR3JvdXAucy5jcml0ZXJpYS5sZW5ndGg+MD8odGhpcy5kb20uY2xlYXJBbGwuaW5zZXJ0QWZ0ZXIodGhpcy5kb20udGl0bGUpLHRoaXMuX3NldENsZWFyTGlzdGVuZXIoKSk6dGhpcy5kb20uY2xlYXJBbGwucmVtb3ZlKCl9LGgucHJvdG90eXBlLl9maWx0ZXJDaGFuZ2VkPWZ1bmN0aW9uKGwpe3ZhciBwPXRoaXMuYy5maWx0ZXJDaGFuZ2VkO3R5cGVvZiBwPT0iZnVuY3Rpb24iJiZwKGwsdGhpcy5zLmR0LmkxOG4oInNlYXJjaEJ1aWxkZXIuYnV0dG9uIix0aGlzLmMuaTE4bi5idXR0b24sbCkpfSxoLnByb3RvdHlwZS5fc2V0Q2xlYXJMaXN0ZW5lcj1mdW5jdGlvbigpe3ZhciBsPXRoaXM7dGhpcy5kb20uY2xlYXJBbGwudW5iaW5kKCJjbGljayIpLHRoaXMuZG9tLmNsZWFyQWxsLm9uKCJjbGljay5kdHNiIixmdW5jdGlvbihwLEMpe3JldHVybiBsLnMudG9wR3JvdXA9bmV3IGQobC5zLmR0LGwuYyx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsbC5zLnNlcnZlckRhdGEpLGwuX2J1aWxkKCksQyE9PSExJiZsLnMuZHQuZHJhdygpLGwucy50b3BHcm91cC5zZXRMaXN0ZW5lcnMoKSxsLmRvbS5jbGVhckFsbC5yZW1vdmUoKSxsLl9zZXRFbXB0eUxpc3RlbmVyKCksbC5fZmlsdGVyQ2hhbmdlZCgwKSwhMX0pfSxoLnByb3RvdHlwZS5fc2V0UmVkcmF3TGlzdGVuZXI9ZnVuY3Rpb24oKXt2YXIgbD10aGlzO3RoaXMucy50b3BHcm91cC5kb20uY29udGFpbmVyLnVuYmluZCgiZHRzYi1yZWRyYXdDb250ZW50cyIpLHRoaXMucy50b3BHcm91cC5kb20uY29udGFpbmVyLm9uKCJkdHNiLXJlZHJhd0NvbnRlbnRzLmR0c2IiLGZ1bmN0aW9uKCl7bC5fY2hlY2tDbGVhcigpLGwucy50b3BHcm91cC5yZWRyYXdDb250ZW50cygpLGwucy50b3BHcm91cC5zZXR1cExvZ2ljKCksbC5fc2V0RW1wdHlMaXN0ZW5lcigpO3ZhciBwPWwucy50b3BHcm91cC5jb3VudCgpO2wuX3VwZGF0ZVRpdGxlKHApLGwuX2ZpbHRlckNoYW5nZWQocCksbC5zLmR0LnBhZ2UuaW5mbygpLnNlcnZlclNpZGV8fGwucy5kdC5kcmF3KCksbC5zLmR0LnN0YXRlLnNhdmUoKX0pLHRoaXMucy50b3BHcm91cC5kb20uY29udGFpbmVyLnVuYmluZCgiZHRzYi1yZWRyYXdDb250ZW50cy1ub0RyYXciKSx0aGlzLnMudG9wR3JvdXAuZG9tLmNvbnRhaW5lci5vbigiZHRzYi1yZWRyYXdDb250ZW50cy1ub0RyYXcuZHRzYiIsZnVuY3Rpb24oKXtsLl9jaGVja0NsZWFyKCksbC5zLnRvcEdyb3VwLnMucHJldmVudFJlZHJhdz0hMCxsLnMudG9wR3JvdXAucmVkcmF3Q29udGVudHMoKSxsLnMudG9wR3JvdXAucy5wcmV2ZW50UmVkcmF3PSExLGwucy50b3BHcm91cC5zZXR1cExvZ2ljKCksbC5fc2V0RW1wdHlMaXN0ZW5lcigpO3ZhciBwPWwucy50b3BHcm91cC5jb3VudCgpO2wuX3VwZGF0ZVRpdGxlKHApLGwuX2ZpbHRlckNoYW5nZWQocCl9KSx0aGlzLnMudG9wR3JvdXAuZG9tLmNvbnRhaW5lci51bmJpbmQoImR0c2ItcmVkcmF3TG9naWMiKSx0aGlzLnMudG9wR3JvdXAuZG9tLmNvbnRhaW5lci5vbigiZHRzYi1yZWRyYXdMb2dpYy5kdHNiIixmdW5jdGlvbigpe2wucy50b3BHcm91cC5yZWRyYXdMb2dpYygpO3ZhciBwPWwucy50b3BHcm91cC5jb3VudCgpO2wuX3VwZGF0ZVRpdGxlKHApLGwuX2ZpbHRlckNoYW5nZWQocCl9KSx0aGlzLnMudG9wR3JvdXAuZG9tLmNvbnRhaW5lci51bmJpbmQoImR0c2ItYWRkIiksdGhpcy5zLnRvcEdyb3VwLmRvbS5jb250YWluZXIub24oImR0c2ItYWRkLmR0c2IiLGZ1bmN0aW9uKCl7dmFyIHA9bC5zLnRvcEdyb3VwLmNvdW50KCk7bC5fdXBkYXRlVGl0bGUocCksbC5fZmlsdGVyQ2hhbmdlZChwKSxsLl9jaGVja0NsZWFyKCl9KSx0aGlzLnMuZHQub24oInBvc3RFZGl0LmR0c2IgcG9zdENyZWF0ZS5kdHNiIHBvc3RSZW1vdmUuZHRzYiIsZnVuY3Rpb24oKXtsLnMudG9wR3JvdXAucmVkcmF3Q29udGVudHMoKX0pLHRoaXMucy50b3BHcm91cC5kb20uY29udGFpbmVyLnVuYmluZCgiZHRzYi1jbGVhckNvbnRlbnRzIiksdGhpcy5zLnRvcEdyb3VwLmRvbS5jb250YWluZXIub24oImR0c2ItY2xlYXJDb250ZW50cy5kdHNiIixmdW5jdGlvbigpe2wuX3NldFVwKCExKSxsLl9maWx0ZXJDaGFuZ2VkKDApLGwucy5kdC5kcmF3KCl9KX0saC5wcm90b3R5cGUuX3NldEVtcHR5TGlzdGVuZXI9ZnVuY3Rpb24oKXt2YXIgbD10aGlzO3RoaXMucy50b3BHcm91cC5kb20uYWRkLm9uKCJjbGljay5kdHNiIixmdW5jdGlvbigpe2wuX2NoZWNrQ2xlYXIoKX0pLHRoaXMucy50b3BHcm91cC5kb20uY29udGFpbmVyLm9uKCJkdHNiLWRlc3Ryb3kuZHRzYiIsZnVuY3Rpb24oKXtsLmRvbS5jbGVhckFsbC5yZW1vdmUoKX0pfSxoLnZlcnNpb249IjEuOC4zIixoLmNsYXNzZXM9e2J1dHRvbjoiZHRzYi1idXR0b24iLGNsZWFyQWxsOiJkdHNiLWNsZWFyQWxsIixjb250YWluZXI6ImR0c2Itc2VhcmNoQnVpbGRlciIsaW5wdXRCdXR0b246ImR0c2ItaXB0YnRuIix0aXRsZToiZHRzYi10aXRsZSIsdGl0bGVSb3c6ImR0c2ItdGl0bGVSb3cifSxoLmRlZmF1bHRzPXtjb2x1bW5zOiEwLGNvbmRpdGlvbnM6e2RhdGU6YS5kYXRlQ29uZGl0aW9ucyxodG1sOmEuc3RyaW5nQ29uZGl0aW9ucywiaHRtbC1udW0iOmEubnVtQ29uZGl0aW9ucywiaHRtbC1udW0tZm10IjphLm51bUZtdENvbmRpdGlvbnMsbHV4b246YS5sdXhvbkRhdGVDb25kaXRpb25zLG1vbWVudDphLm1vbWVudERhdGVDb25kaXRpb25zLG51bTphLm51bUNvbmRpdGlvbnMsIm51bS1mbXQiOmEubnVtRm10Q29uZGl0aW9ucyxzdHJpbmc6YS5zdHJpbmdDb25kaXRpb25zfSxkZXB0aExpbWl0OiExLGVudGVyU2VhcmNoOiExLGZpbHRlckNoYW5nZWQ6dm9pZCAwLGdyZXlzY2FsZTohMSxsaXZlU2VhcmNoOiEwLGkxOG46e2FkZDoiQWRkIENvbmRpdGlvbiIsYnV0dG9uOnswOiJTZWFyY2ggQnVpbGRlciIsXzoiU2VhcmNoIEJ1aWxkZXIgKCVkKSJ9LGNsZWFyQWxsOiJDbGVhciBBbGwiLGNvbmRpdGlvbjoiQ29uZGl0aW9uIixjb25kaXRpb25zOnthcnJheTp7Y29udGFpbnM6IkNvbnRhaW5zIixlbXB0eToiRW1wdHkiLGVxdWFsczoiRXF1YWxzIixub3Q6Ik5vdCIsbm90RW1wdHk6Ik5vdCBFbXB0eSIsd2l0aG91dDoiV2l0aG91dCJ9LGRhdGU6e2FmdGVyOiJBZnRlciIsYmVmb3JlOiJCZWZvcmUiLGJldHdlZW46IkJldHdlZW4iLGVtcHR5OiJFbXB0eSIsZXF1YWxzOiJFcXVhbHMiLG5vdDoiTm90Iixub3RCZXR3ZWVuOiJOb3QgQmV0d2VlbiIsbm90RW1wdHk6Ik5vdCBFbXB0eSJ9LG51bWJlcjp7YmV0d2VlbjoiQmV0d2VlbiIsZW1wdHk6IkVtcHR5IixlcXVhbHM6IkVxdWFscyIsZ3Q6IkdyZWF0ZXIgVGhhbiIsZ3RlOiJHcmVhdGVyIFRoYW4gRXF1YWwgVG8iLGx0OiJMZXNzIFRoYW4iLGx0ZToiTGVzcyBUaGFuIEVxdWFsIFRvIixub3Q6Ik5vdCIsbm90QmV0d2VlbjoiTm90IEJldHdlZW4iLG5vdEVtcHR5OiJOb3QgRW1wdHkifSxzdHJpbmc6e2NvbnRhaW5zOiJDb250YWlucyIsZW1wdHk6IkVtcHR5IixlbmRzV2l0aDoiRW5kcyBXaXRoIixlcXVhbHM6IkVxdWFscyIsbm90OiJOb3QiLG5vdENvbnRhaW5zOiJEb2VzIE5vdCBDb250YWluIixub3RFbXB0eToiTm90IEVtcHR5Iixub3RFbmRzV2l0aDoiRG9lcyBOb3QgRW5kIFdpdGgiLG5vdFN0YXJ0c1dpdGg6IkRvZXMgTm90IFN0YXJ0IFdpdGgiLHN0YXJ0c1dpdGg6IlN0YXJ0cyBXaXRoIn19LGRhdGE6IkRhdGEiLGRlbGV0ZToiJnRpbWVzIixkZWxldGVUaXRsZToiRGVsZXRlIGZpbHRlcmluZyBydWxlIixsZWZ0OiI8IixsZWZ0VGl0bGU6Ik91dGRlbnQgY3JpdGVyaWEiLGxvZ2ljQW5kOiJBbmQiLGxvZ2ljT3I6Ik9yIixyaWdodDoiPiIscmlnaHRUaXRsZToiSW5kZW50IGNyaXRlcmlhIixzZWFyY2g6IlNlYXJjaCIsdGl0bGU6ezA6IkN1c3RvbSBTZWFyY2ggQnVpbGRlciIsXzoiQ3VzdG9tIFNlYXJjaCBCdWlsZGVyICglZCkifSx2YWx1ZToiVmFsdWUiLHZhbHVlSm9pbmVyOiJhbmQifSxsb2dpYzoiQU5EIixvcnRob2dvbmFsOntkaXNwbGF5OiJkaXNwbGF5IixzZWFyY2g6ImZpbHRlciJ9LHByZURlZmluZWQ6ITF9LGh9KSgpO2coRm4pLHUoRm4pLGkoRm4pO3ZhciBiPUZuLmZuLmRhdGFUYWJsZTt0ZS5TZWFyY2hCdWlsZGVyPXcsYi5TZWFyY2hCdWlsZGVyPXcsdGUuR3JvdXA9ZCxiLkdyb3VwPWQsdGUuQ3JpdGVyaWE9YSxiLkNyaXRlcmlhPWE7dmFyIFQ9dGUuQXBpLnJlZ2lzdGVyO3RlLmV4dC5zZWFyY2hCdWlsZGVyPXtjb25kaXRpb25zOnt9fSx0ZS5leHQuYnV0dG9ucy5zZWFyY2hCdWlsZGVyPXthY3Rpb246ZnVuY3Rpb24oaCxsLHAsQyl7dGhpcy5wb3BvdmVyKEMuX3NlYXJjaEJ1aWxkZXIuZ2V0Tm9kZSgpLHthbGlnbjoiY29udGFpbmVyIixzcGFuOiJjb250YWluZXIifSk7dmFyIEY9Qy5fc2VhcmNoQnVpbGRlci5zLnRvcEdyb3VwO0YhPT12b2lkIDAmJkYuZG9tLmNvbnRhaW5lci50cmlnZ2VyKCJkdHNiLXJlZHJhd0NvbnRlbnRzLW5vRHJhdyIpLEYucy5jcml0ZXJpYS5sZW5ndGg9PT0wJiZGbigiLiIrRm4uZm4uZGF0YVRhYmxlLkdyb3VwLmNsYXNzZXMuYWRkLnJlcGxhY2UoLyAvZywiLiIpKS5jbGljaygpfSxjb25maWc6e30saW5pdDpmdW5jdGlvbihoLGwscCl7dmFyIEM9dGhpcyxGPW5ldyB0ZS5TZWFyY2hCdWlsZGVyKGgscC5jb25maWcpO2gub24oImRyYXciLGZ1bmN0aW9uKCl7dmFyIFA9Ri5zLnRvcEdyb3VwP0Yucy50b3BHcm91cC5jb3VudCgpOjA7Qy50ZXh0KGguaTE4bigic2VhcmNoQnVpbGRlci5idXR0b24iLEYuYy5pMThuLmJ1dHRvbixQKSl9KSxDLnRleHQocC50ZXh0fHxoLmkxOG4oInNlYXJjaEJ1aWxkZXIuYnV0dG9uIixGLmMuaTE4bi5idXR0b24sMCkpLHAuX3NlYXJjaEJ1aWxkZXI9Rn0sdGV4dDpudWxsfSxUKCJzZWFyY2hCdWlsZGVyLmdldERldGFpbHMoKSIsZnVuY3Rpb24oaCl7aD09PXZvaWQgMCYmKGg9ITEpO3ZhciBsPXRoaXMuY29udGV4dFswXTtyZXR1cm4gbC5fc2VhcmNoQnVpbGRlcj9sLl9zZWFyY2hCdWlsZGVyLmdldERldGFpbHMoaCk6bnVsbH0pLFQoInNlYXJjaEJ1aWxkZXIucmVidWlsZCgpIixmdW5jdGlvbihoLGwpe2w9PT12b2lkIDAmJihsPSEwKTt2YXIgcD10aGlzLmNvbnRleHRbMF07cmV0dXJuIHAuX3NlYXJjaEJ1aWxkZXI9PT12b2lkIDA/bnVsbDoocC5fc2VhcmNoQnVpbGRlci5yZWJ1aWxkKGgsbCksdGhpcyl9KSxUKCJzZWFyY2hCdWlsZGVyLmNvbnRhaW5lcigpIixmdW5jdGlvbigpe3ZhciBoPXRoaXMuY29udGV4dFswXTtyZXR1cm4gaC5fc2VhcmNoQnVpbGRlcj9oLl9zZWFyY2hCdWlsZGVyLmdldE5vZGUoKTpudWxsfSk7ZnVuY3Rpb24gRChoLGwpe3ZhciBwPW5ldyB0ZS5BcGkoaCksQz1sfHxwLmluaXQoKS5zZWFyY2hCdWlsZGVyfHx0ZS5kZWZhdWx0cy5zZWFyY2hCdWlsZGVyLEY9bmV3IHcocCxDKSxQPUYuZ2V0Tm9kZSgpO3JldHVybiBQfUZuKGRvY3VtZW50KS5vbigicHJlSW5pdC5kdC5kdHNwIixmdW5jdGlvbihoLGwpe2gubmFtZXNwYWNlPT09ImR0IiYmKGwub0luaXQuc2VhcmNoQnVpbGRlcnx8dGUuZGVmYXVsdHMuc2VhcmNoQnVpbGRlcikmJihsLl9zZWFyY2hCdWlsZGVyfHxEKGwpKX0pLHRlLmV4dC5mZWF0dXJlLnB1c2goe2NGZWF0dXJlOiJRIixmbkluaXQ6RH0pLHRlLmZlYXR1cmUmJnRlLmZlYXR1cmUucmVnaXN0ZXIoInNlYXJjaEJ1aWxkZXIiLEQpfSkoKTt2YXIgeGM9c3Qob3QoKSwxKTt2YXIgQm89c3Qob3QoKSwxKTt2YXIgbm49Qm8uZGVmYXVsdDsoZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7dmFyIGUsdDtmdW5jdGlvbiBuKF8pe2U9Xyx0PV8uZm4uZGF0YVRhYmxlfXZhciByPShmdW5jdGlvbigpe2Z1bmN0aW9uIF8oUyxrLEwsUixCKXt2YXIgRz10aGlzO2lmKEI9PT12b2lkIDAmJihCPW51bGwpLCF0fHwhdC52ZXJzaW9uQ2hlY2t8fCF0LnZlcnNpb25DaGVjaygiMS4xMC4wIikpdGhyb3cgbmV3IEVycm9yKCJTZWFyY2hQYW5lIHJlcXVpcmVzIERhdGFUYWJsZXMgMS4xMCBvciBuZXdlciIpO2lmKCF0LnNlbGVjdCl0aHJvdyBuZXcgRXJyb3IoIlNlYXJjaFBhbmUgcmVxdWlyZXMgU2VsZWN0Iik7dmFyIE09bmV3IHQuQXBpKFMpO3RoaXMuY2xhc3Nlcz1lLmV4dGVuZCghMCx7fSxfLmNsYXNzZXMpLHRoaXMuYz1lLmV4dGVuZCghMCx7fSxfLmRlZmF1bHRzLGssQiksayYmay5oaWRlQ291bnQmJmsudmlld0NvdW50PT09dm9pZCAwJiYodGhpcy5jLnZpZXdDb3VudD0hdGhpcy5jLmhpZGVDb3VudCk7dmFyIHE9TS5jb2x1bW5zKCkuZXEoMCkudG9BcnJheSgpLmxlbmd0aDt0aGlzLnM9e2NvbEV4aXN0czpMPHEsY29sT3B0czp2b2lkIDAsY3VzdG9tUGFuZVNldHRpbmdzOkIsZGlzcGxheWVkOiExLGR0Ok0sZHRQYW5lOnZvaWQgMCxmaXJzdFNldDohMCxpbmRleDpMLGluZGV4ZXM6W10sbGlzdFNldDohMSxuYW1lOnZvaWQgMCxyb3dEYXRhOnthcnJheUZpbHRlcjpbXSxhcnJheU9yaWdpbmFsOltdLGJpbnM6e30sYmluc09yaWdpbmFsOnt9LGZpbHRlck1hcDpuZXcgTWFwLHRvdGFsT3B0aW9uczowfSxzY3JvbGxUb3A6MCxzZWFyY2hGdW5jdGlvbjp2b2lkIDAsc2VsZWN0aW9uczpbXSxzZXJ2ZXJTZWxlY3Q6W10sc2VydmVyU2VsZWN0aW5nOiExLHRhYmxlTGVuZ3RoOm51bGwsdXBkYXRpbmc6ITF9LHRoaXMucy5jb2xPcHRzPXRoaXMucy5jb2xFeGlzdHM/dGhpcy5fZ2V0T3B0aW9ucygpOnRoaXMuX2dldEJvbnVzT3B0aW9ucygpLHRoaXMuZG9tPXtidXR0b25Hcm91cDplKCI8ZGl2Lz4iKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMuYnV0dG9uR3JvdXApLGNsZWFyOmUoJzxidXR0b24gdHlwZT0iYnV0dG9uIj4mIzIxNTs8L2J1dHRvbj4nKS5hdHRyKCJkaXNhYmxlZCIsInRydWUiKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMuZGlzYWJsZWRCdXR0b24pLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5wYW5lQnV0dG9uKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMuY2xlYXJCdXR0b24pLmF0dHIoImFyaWEtbGFiZWwiLE0uaTE4bigic2VhcmNoUGFuZXMuYnV0dG9ucy5jbGVhclBhbmUiLHRoaXMuYy5pMThuLmFyaWEuY2xlYXJQYW5lKSkuaHRtbCh0aGlzLnMuZHQuaTE4bigic2VhcmNoUGFuZXMuY2xlYXJQYW5lIix0aGlzLmMuaTE4bi5jbGVhclBhbmUpKSxjb2xsYXBzZUJ1dHRvbjplKCc8YnV0dG9uIHR5cGU9ImJ1dHRvbiI+PHNwYW4gY2xhc3M9IicrdGhpcy5jbGFzc2VzLmNhcmV0KyciPiYjeDVlOzwvc3Bhbj48L2J1dHRvbj4nKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMucGFuZUJ1dHRvbikuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmNvbGxhcHNlQnV0dG9uKS5hdHRyKCJhcmlhLWxhYmVsIixNLmkxOG4oInNlYXJjaFBhbmVzLmJ1dHRvbnMuY29sbGFwc2UiLHRoaXMuYy5pMThuLmFyaWEuY29sbGFwc2UpKSxjb250YWluZXI6ZSgiPGRpdi8+IikuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmNvbnRhaW5lcikuYWRkQ2xhc3ModGhpcy5zLmNvbE9wdHMuY2xhc3NOYW1lKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMubGF5b3V0KyhwYXJzZUludCh0aGlzLmMubGF5b3V0LnNwbGl0KCItIilbMV0sMTApPDEwP3RoaXMuYy5sYXlvdXQ6dGhpcy5jLmxheW91dC5zcGxpdCgiLSIpWzBdKyItOSIpKS5hZGRDbGFzcyh0aGlzLnMuY3VzdG9tUGFuZVNldHRpbmdzJiZ0aGlzLnMuY3VzdG9tUGFuZVNldHRpbmdzLmNsYXNzTmFtZT90aGlzLnMuY3VzdG9tUGFuZVNldHRpbmdzLmNsYXNzTmFtZToiIiksY291bnRCdXR0b246ZSgnPGJ1dHRvbiB0eXBlPSJidXR0b24iPjxzcGFuPjwvc3Bhbj48L2J1dHRvbj4nKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMucGFuZUJ1dHRvbikuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmNvdW50QnV0dG9uKS5hdHRyKCJhcmlhLWxhYmVsIixNLmkxOG4oInNlYXJjaFBhbmVzLmJ1dHRvbnMub3JkZXJCeUNvdW50Iix0aGlzLmMuaTE4bi5hcmlhLm9yZGVyQnlDb3VudCkpLGR0UDplKCc8dGFibGUgd2lkdGg9IjEwMCUiPjx0aGVhZD48dHI+PHRoPjwvdGg+PHRoPjwvdGg+PC90cj48L3RoZWFkPjwvdGFibGU+JyksbG93ZXI6ZSgiPGRpdi8+IikuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLnN1YlJvdzIpLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5uYXJyb3dCdXR0b24pLG5hbWVCdXR0b246ZSgnPGJ1dHRvbiB0eXBlPSJidXR0b24iPjxzcGFuPjwvc3Bhbj48L2J1dHRvbj4nKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMucGFuZUJ1dHRvbikuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLm5hbWVCdXR0b24pLmF0dHIoImFyaWEtbGFiZWwiLE0uaTE4bigic2VhcmNoUGFuZXMuYnV0dG9ucy5vcmRlckJ5TGFiZWwiLHRoaXMuYy5pMThuLmFyaWEub3JkZXJCeUxhYmVsKSkscGFuZXNDb250YWluZXI6ZShSKSxzZWFyY2hCb3g6ZSgiPGlucHV0Lz4iKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMucGFuZUlucHV0QnV0dG9uKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMuc2VhcmNoKSxzZWFyY2hCdXR0b246ZSgnPGJ1dHRvbiB0eXBlPSJidXR0b24iPjxzcGFuPjwvc3Bhbj48L2J1dHRvbj4nKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMuc2VhcmNoSWNvbikuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLnBhbmVCdXR0b24pLmF0dHIoImFyaWEtbGFiZWwiLE0uaTE4bigic2VhcmNoUGFuZXMuYnV0dG9ucy5jbGVhclNlYXJjaCIsdGhpcy5jLmkxOG4uYXJpYS5jbGVhclNlYXJjaCkpLHNlYXJjaENvbnQ6ZSgiPGRpdi8+IikuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLnNlYXJjaENvbnQpLHNlYXJjaExhYmVsQ29udDplKCI8ZGl2Lz4iKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMuc2VhcmNoTGFiZWxDb250KSx0b3BSb3c6ZSgiPGRpdi8+IikuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLnRvcFJvdyksdXBwZXI6ZSgiPGRpdi8+IikuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLnN1YlJvdzEpLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5uYXJyb3dTZWFyY2gpfTt2YXIgYWU9IiI7dGhpcy5zLmNvbEV4aXN0cz8oYWU9ZSh0aGlzLnMuZHQuY29sdW1uKHRoaXMucy5pbmRleCkuaGVhZGVyKCkpLnRleHQoKSx0aGlzLmRvbS5kdFAuZmluZCgidGgiKS5lcSgwKS50ZXh0KGFlKSk6KGFlPXRoaXMucy5jdXN0b21QYW5lU2V0dGluZ3MuaGVhZGVyfHwiQ3VzdG9tIFBhbmUiLHRoaXMuZG9tLmR0UC5maW5kKCJ0aCIpLmVxKDApLmh0bWwoYWUpKSx0aGlzLnMuY29sT3B0cy5uYW1lP3RoaXMucy5uYW1lPXRoaXMucy5jb2xPcHRzLm5hbWU6dGhpcy5zLmN1c3RvbVBhbmVTZXR0aW5ncyYmdGhpcy5zLmN1c3RvbVBhbmVTZXR0aW5ncy5uYW1lP3RoaXMucy5uYW1lPXRoaXMucy5jdXN0b21QYW5lU2V0dGluZ3MubmFtZTp0aGlzLnMubmFtZT1hZTt2YXIgZWU9dGhpcy5zLmR0LnRhYmxlKDApLm5vZGUoKTtyZXR1cm4gdGhpcy5zLnNlYXJjaEZ1bmN0aW9uPWZ1bmN0aW9uKG5lLHhlLEllKXtpZihHLnMuc2VsZWN0aW9ucy5sZW5ndGg9PT0wfHxuZS5uVGFibGUhPT1lZSlyZXR1cm4hMDt2YXIgQ2U9bnVsbDtyZXR1cm4gRy5zLmNvbEV4aXN0cyYmKENlPXhlW0cucy5pbmRleF0sRy5zLmNvbE9wdHMub3J0aG9nb25hbC5maWx0ZXIhPT0iZmlsdGVyIiYmKENlPUcucy5yb3dEYXRhLmZpbHRlck1hcC5nZXQoSWUpLENlIGluc3RhbmNlb2YgZS5mbi5kYXRhVGFibGUuQXBpJiYoQ2U9Q2UudG9BcnJheSgpKSkpLEcuX3NlYXJjaChDZSxJZSl9LGUuZm4uZGF0YVRhYmxlLmV4dC5zZWFyY2gucHVzaCh0aGlzLnMuc2VhcmNoRnVuY3Rpb24pLHRoaXMuYy5jbGVhciYmdGhpcy5kb20uY2xlYXIub24oImNsaWNrLmR0c3AiLGZ1bmN0aW9uKCl7dmFyIG5lPUcuZG9tLmNvbnRhaW5lci5maW5kKCIuIitHLmNsYXNzZXMuc2VhcmNoLnJlcGxhY2UoL1xzKy9nLCIuIikpO25lLmVhY2goZnVuY3Rpb24oKXtlKHRoaXMpLnZhbCgiIikudHJpZ2dlcigiaW5wdXQiKX0pLEcuY2xlYXJQYW5lKCl9KSx0aGlzLnMuZHQub24oImRyYXcuZHRzcCIsZnVuY3Rpb24oKXtyZXR1cm4gRy5hZGp1c3RUb3BSb3coKX0pLHRoaXMucy5kdC5vbigiYnV0dG9ucy1hY3Rpb24uZHRzcCIsZnVuY3Rpb24oKXtyZXR1cm4gRy5hZGp1c3RUb3BSb3coKX0pLHRoaXMucy5kdC5vbigiY29sdW1uLXJlb3JkZXIuZHRzcCIsZnVuY3Rpb24obmUseGUsSWUpe0cucy5pbmRleD1JZS5tYXBwaW5nW0cucy5pbmRleF19KSx0aGlzfXJldHVybiBfLnByb3RvdHlwZS5hZGRSb3c9ZnVuY3Rpb24oUyxrLEwsUixCLEcsTSl7R3x8KEc9dGhpcy5zLnJvd0RhdGEuYmluc1trXT90aGlzLnMucm93RGF0YS5iaW5zW2tdOjApLE18fChNPXRoaXMuX2dldFNob3duKGspKTtmb3IodmFyIHEsYWU9MCxlZT10aGlzLnMuaW5kZXhlczthZTxlZS5sZW5ndGg7YWUrKyl7dmFyIG5lPWVlW2FlXTtuZS5maWx0ZXI9PT1rJiYocT1uZS5pbmRleCl9cmV0dXJuIHE9PT12b2lkIDAmJihxPXRoaXMucy5pbmRleGVzLmxlbmd0aCx0aGlzLnMuaW5kZXhlcy5wdXNoKHtmaWx0ZXI6ayxpbmRleDpxfSkpLHRoaXMucy5kdFBhbmUucm93LmFkZCh7Y2xhc3NOYW1lOkIsZGlzcGxheTpTIT09IiI/Uzp0aGlzLmVtcHR5TWVzc2FnZSgpLGZpbHRlcjprLGluZGV4OnEsc2hvd246TSxzb3J0OkwsdG90YWw6Ryx0eXBlOlJ9KX0sXy5wcm90b3R5cGUuYWRqdXN0VG9wUm93PWZ1bmN0aW9uKCl7dmFyIFM9dGhpcy5kb20uY29udGFpbmVyLmZpbmQoIi4iK3RoaXMuY2xhc3Nlcy5zdWJSb3dzQ29udGFpbmVyLnJlcGxhY2UoL1xzKy9nLCIuIikpLGs9dGhpcy5kb20uY29udGFpbmVyLmZpbmQoIi4iK3RoaXMuY2xhc3Nlcy5zdWJSb3cxLnJlcGxhY2UoL1xzKy9nLCIuIikpLEw9dGhpcy5kb20uY29udGFpbmVyLmZpbmQoIi4iK3RoaXMuY2xhc3Nlcy5zdWJSb3cyLnJlcGxhY2UoL1xzKy9nLCIuIikpLFI9dGhpcy5kb20uY29udGFpbmVyLmZpbmQoIi4iK3RoaXMuY2xhc3Nlcy50b3BSb3cucmVwbGFjZSgvXHMrL2csIi4iKSk7KGUoU1swXSkud2lkdGgoKTwyNTJ8fGUoUlswXSkud2lkdGgoKTwyNTIpJiZlKFNbMF0pLndpZHRoKCkhPT0wPyhlKFNbMF0pLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5uYXJyb3cpLGUoa1swXSkuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLm5hcnJvd1N1YikucmVtb3ZlQ2xhc3ModGhpcy5jbGFzc2VzLm5hcnJvd1NlYXJjaCksZShMWzBdKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMubmFycm93U3ViKS5yZW1vdmVDbGFzcyh0aGlzLmNsYXNzZXMubmFycm93QnV0dG9uKSk6KGUoU1swXSkucmVtb3ZlQ2xhc3ModGhpcy5jbGFzc2VzLm5hcnJvdyksZShrWzBdKS5yZW1vdmVDbGFzcyh0aGlzLmNsYXNzZXMubmFycm93U3ViKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMubmFycm93U2VhcmNoKSxlKExbMF0pLnJlbW92ZUNsYXNzKHRoaXMuY2xhc3Nlcy5uYXJyb3dTdWIpLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5uYXJyb3dCdXR0b24pKX0sXy5wcm90b3R5cGUuY2xlYXJEYXRhPWZ1bmN0aW9uKCl7dGhpcy5zLnJvd0RhdGE9e2FycmF5RmlsdGVyOltdLGFycmF5T3JpZ2luYWw6W10sYmluczp7fSxiaW5zT3JpZ2luYWw6e30sZmlsdGVyTWFwOm5ldyBNYXAsdG90YWxPcHRpb25zOjB9fSxfLnByb3RvdHlwZS5jbGVhclBhbmU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zLmR0UGFuZS5yb3dzKHtzZWxlY3RlZDohMH0pLmRlc2VsZWN0KCksdGhpcy51cGRhdGVUYWJsZSgpLHRoaXN9LF8ucHJvdG90eXBlLmNvbGxhcHNlPWZ1bmN0aW9uKCl7dmFyIFM9dGhpczshdGhpcy5zLmRpc3BsYXllZHx8IXRoaXMuYy5jb2xsYXBzZSYmdGhpcy5zLmNvbE9wdHMuY29sbGFwc2UhPT0hMHx8dGhpcy5zLmNvbE9wdHMuY29sbGFwc2U9PT0hMXx8KGUodGhpcy5zLmR0UGFuZS50YWJsZSgpLmNvbnRhaW5lcigpKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMuaGlkZGVuKSx0aGlzLmRvbS50b3BSb3cuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmJvcmRlcmVkKSx0aGlzLmRvbS5uYW1lQnV0dG9uLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5kaXNhYmxlZEJ1dHRvbiksdGhpcy5kb20uY291bnRCdXR0b24uYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmRpc2FibGVkQnV0dG9uKSx0aGlzLmRvbS5zZWFyY2hCdXR0b24uYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmRpc2FibGVkQnV0dG9uKSx0aGlzLmRvbS5jb2xsYXBzZUJ1dHRvbi5hZGRDbGFzcyh0aGlzLmNsYXNzZXMucm90YXRlZCksdGhpcy5kb20udG9wUm93Lm9uZSgiY2xpY2suZHRzcCIsZnVuY3Rpb24oKXtyZXR1cm4gUy5zaG93KCl9KSx0aGlzLmRvbS50b3BSb3cudHJpZ2dlcigiY29sbGFwc2UuZHRzcHMiKSl9LF8ucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLnMuZHRQYW5lJiZ0aGlzLnMuZHRQYW5lLm9mZigiLmR0c3AiKSx0aGlzLnMuZHQub2ZmKCIuZHRzcCIpLHRoaXMuZG9tLmNsZWFyLm9mZigiLmR0c3AiKSx0aGlzLmRvbS5uYW1lQnV0dG9uLm9mZigiLmR0c3AiKSx0aGlzLmRvbS5jb3VudEJ1dHRvbi5vZmYoIi5kdHNwIiksdGhpcy5kb20uc2VhcmNoQnV0dG9uLm9mZigiLmR0c3AiKSx0aGlzLmRvbS5jb2xsYXBzZUJ1dHRvbi5vZmYoIi5kdHNwIiksZSh0aGlzLnMuZHQudGFibGUoKS5ub2RlKCkpLm9mZigiLmR0c3AiKSx0aGlzLmRvbS5jb250YWluZXIuZGV0YWNoKCk7Zm9yKHZhciBTPWUuZm4uZGF0YVRhYmxlLmV4dC5zZWFyY2guaW5kZXhPZih0aGlzLnMuc2VhcmNoRnVuY3Rpb24pO1MhPT0tMTspZS5mbi5kYXRhVGFibGUuZXh0LnNlYXJjaC5zcGxpY2UoUywxKSxTPWUuZm4uZGF0YVRhYmxlLmV4dC5zZWFyY2guaW5kZXhPZih0aGlzLnMuc2VhcmNoRnVuY3Rpb24pO3RoaXMucy5kdFBhbmUmJnRoaXMucy5kdFBhbmUuZGVzdHJveSgpLHRoaXMucy5saXN0U2V0PSExfSxfLnByb3RvdHlwZS5lbXB0eU1lc3NhZ2U9ZnVuY3Rpb24oKXt2YXIgUz10aGlzLmMuaTE4bi5lbXB0eU1lc3NhZ2U7cmV0dXJuIHRoaXMuYy5lbXB0eU1lc3NhZ2UmJihTPXRoaXMuYy5lbXB0eU1lc3NhZ2UpLHRoaXMucy5jb2xPcHRzLmVtcHR5TWVzc2FnZSE9PSExJiZ0aGlzLnMuY29sT3B0cy5lbXB0eU1lc3NhZ2UhPT1udWxsJiYoUz10aGlzLnMuY29sT3B0cy5lbXB0eU1lc3NhZ2UpLHRoaXMucy5kdC5pMThuKCJzZWFyY2hQYW5lcy5lbXB0eU1lc3NhZ2UiLFMpfSxfLnByb3RvdHlwZS5nZXRQYW5lQ291bnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zLmR0UGFuZT90aGlzLnMuZHRQYW5lLnJvd3Moe3NlbGVjdGVkOiEwfSkuZGF0YSgpLnRvQXJyYXkoKS5sZW5ndGg6MH0sXy5wcm90b3R5cGUucmVidWlsZFBhbmU9ZnVuY3Rpb24oUyxrKXtTPT09dm9pZCAwJiYoUz1udWxsKSxrPT09dm9pZCAwJiYoaz0hMSksdGhpcy5jbGVhckRhdGEoKTt2YXIgTD1bXTt0aGlzLnMuc2VydmVyU2VsZWN0PVtdO3ZhciBSPW51bGw7cmV0dXJuIHRoaXMucy5kdFBhbmUmJihrJiYodGhpcy5zLmR0LnBhZ2UuaW5mbygpLnNlcnZlclNpZGU/dGhpcy5zLnNlcnZlclNlbGVjdD10aGlzLnMuZHRQYW5lLnJvd3Moe3NlbGVjdGVkOiEwfSkuZGF0YSgpLnRvQXJyYXkoKTpMPXRoaXMucy5kdFBhbmUucm93cyh7c2VsZWN0ZWQ6ITB9KS5kYXRhKCkudG9BcnJheSgpKSx0aGlzLnMuZHRQYW5lLmNsZWFyKCkuZGVzdHJveSgpLFI9dGhpcy5kb20uY29udGFpbmVyLnByZXYoKSx0aGlzLmRlc3Ryb3koKSx0aGlzLnMuZHRQYW5lPXZvaWQgMCxlLmZuLmRhdGFUYWJsZS5leHQuc2VhcmNoLnB1c2godGhpcy5zLnNlYXJjaEZ1bmN0aW9uKSksdGhpcy5kb20uY29udGFpbmVyLnJlbW92ZUNsYXNzKHRoaXMuY2xhc3Nlcy5oaWRkZW4pLHRoaXMucy5kaXNwbGF5ZWQ9ITEsdGhpcy5fYnVpbGRQYW5lKHRoaXMucy5kdC5wYWdlLmluZm8oKS5zZXJ2ZXJTaWRlP3RoaXMucy5zZXJ2ZXJTZWxlY3Q6TCxTLFIpLHRoaXN9LF8ucHJvdG90eXBlLnJlc2l6ZT1mdW5jdGlvbihTKXt0aGlzLmMubGF5b3V0PVMsdGhpcy5kb20uY29udGFpbmVyLnJlbW92ZUNsYXNzKCkuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLnNob3cpLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5jb250YWluZXIpLmFkZENsYXNzKHRoaXMucy5jb2xPcHRzLmNsYXNzTmFtZSkuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmxheW91dCsocGFyc2VJbnQoUy5zcGxpdCgiLSIpWzFdLDEwKTwxMD9TOlMuc3BsaXQoIi0iKVswXSsiLTkiKSkuYWRkQ2xhc3ModGhpcy5zLmN1c3RvbVBhbmVTZXR0aW5ncyE9PW51bGwmJnRoaXMucy5jdXN0b21QYW5lU2V0dGluZ3MuY2xhc3NOYW1lP3RoaXMucy5jdXN0b21QYW5lU2V0dGluZ3MuY2xhc3NOYW1lOiIiKSx0aGlzLmFkanVzdFRvcFJvdygpLHRoaXMuZG9tLmR0UC5jc3MoInRhYmxlLWxheW91dCIsImZpeGVkIiksdGhpcy5kb20uZHRQLmNzcygid2lkdGgiLCIxMDAlIiksdGhpcy5kb20uZHRQLmZpbmQoImNvbGdyb3VwIGNvbCIpLmNzcygid2lkdGgiLCIxMDAlIil9LF8ucHJvdG90eXBlLnNldExpc3RlbmVycz1mdW5jdGlvbigpe3ZhciBTPXRoaXM7dGhpcy5zLmR0UGFuZSYmKHRoaXMucy5kdFBhbmUub2ZmKCJzZWxlY3QuZHRzcCIpLm9uKCJzZWxlY3QuZHRzcCIsZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoUy5zLmRlc2VsZWN0VGltZW91dCksUy5fdXBkYXRlU2VsZWN0aW9uKCFTLnMudXBkYXRpbmcpLFMuZG9tLmNsZWFyLnJlbW92ZUNsYXNzKFMuY2xhc3Nlcy5kaXNhYmxlZEJ1dHRvbikucmVtb3ZlQXR0cigiZGlzYWJsZWQiKX0pLHRoaXMucy5kdFBhbmUub2ZmKCJkZXNlbGVjdC5kdHNwIikub24oImRlc2VsZWN0LmR0c3AiLGZ1bmN0aW9uKCl7Uy5zLmRlc2VsZWN0VGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Uy5fdXBkYXRlU2VsZWN0aW9uKCEwKSxTLnMuZHRQYW5lLnJvd3Moe3NlbGVjdGVkOiEwfSkuZGF0YSgpLnRvQXJyYXkoKS5sZW5ndGg9PT0wJiZTLmRvbS5jbGVhci5hZGRDbGFzcyhTLmNsYXNzZXMuZGlzYWJsZWRCdXR0b24pLmF0dHIoImRpc2FibGVkIiwidHJ1ZSIpfSw1MCl9KSx0aGlzLnMuZmlyc3RTZXQmJih0aGlzLnMuZmlyc3RTZXQ9ITEsdGhpcy5zLmR0Lm9uKCJzdGF0ZVNhdmVQYXJhbXMuZHRzcCIsZnVuY3Rpb24oayxMLFIpe2lmKGUuaXNFbXB0eU9iamVjdChSKSl7Uy5zLmR0UGFuZS5zdGF0ZS5jbGVhcigpO3JldHVybn12YXIgQixHLE09W10scSxhZSxlZTtTLnMuZHRQYW5lJiYoTT1TLnMuZHRQYW5lLnJvd3Moe3NlbGVjdGVkOiEwfSkuZGF0YSgpLm1hcChmdW5jdGlvbih4ZSl7cmV0dXJuIHhlLmZpbHRlciE9PW51bGw/eGUuZmlsdGVyLnRvU3RyaW5nKCk6bnVsbH0pLnRvQXJyYXkoKSxhZT1TLmRvbS5zZWFyY2hCb3gudmFsKCksRz1TLnMuZHRQYW5lLm9yZGVyKCksQj1TLnMucm93RGF0YS5iaW5zT3JpZ2luYWwsZWU9Uy5zLnJvd0RhdGEuYXJyYXlPcmlnaW5hbCxxPVMuZG9tLmNvbGxhcHNlQnV0dG9uLmhhc0NsYXNzKFMuY2xhc3Nlcy5yb3RhdGVkKSksUi5zZWFyY2hQYW5lcz09PXZvaWQgMCYmKFIuc2VhcmNoUGFuZXM9e30pLFIuc2VhcmNoUGFuZXMucGFuZXM9PT12b2lkIDAmJihSLnNlYXJjaFBhbmVzLnBhbmVzPVtdKTtmb3IodmFyIG5lPTA7bmU8Ui5zZWFyY2hQYW5lcy5wYW5lcy5sZW5ndGg7bmUrKylSLnNlYXJjaFBhbmVzLnBhbmVzW25lXS5pZD09PVMucy5pbmRleCYmKFIuc2VhcmNoUGFuZXMucGFuZXMuc3BsaWNlKG5lLDEpLG5lLS0pO1Iuc2VhcmNoUGFuZXMucGFuZXMucHVzaCh7YXJyYXlGaWx0ZXI6ZWUsYmluczpCLGNvbGxhcHNlZDpxLGlkOlMucy5pbmRleCxvcmRlcjpHLHNlYXJjaFRlcm06YWUsc2VsZWN0ZWQ6TX0pfSkpLHRoaXMucy5kdFBhbmUub2ZmKCJ1c2VyLXNlbGVjdC5kdHNwIikub24oInVzZXItc2VsZWN0LmR0c3AiLGZ1bmN0aW9uKGssTCxSLEIsRyl7Ry5zdG9wUHJvcGFnYXRpb24oKX0pLHRoaXMucy5kdFBhbmUub2ZmKCJkcmF3LmR0c3AiKS5vbigiZHJhdy5kdHNwIixmdW5jdGlvbigpe3JldHVybiBTLmFkanVzdFRvcFJvdygpfSksdGhpcy5kb20ubmFtZUJ1dHRvbi5vZmYoImNsaWNrLmR0c3AiKS5vbigiY2xpY2suZHRzcCIsZnVuY3Rpb24oKXt2YXIgaz1TLnMuZHRQYW5lLm9yZGVyKClbMF1bMV07Uy5zLmR0UGFuZS5vcmRlcihbWzAsaz09PSJhc2MiPyJkZXNjIjoiYXNjIl1dKS5kcmF3KCksUy5zLmR0LnN0YXRlLnNhdmUoKX0pLHRoaXMuZG9tLmNvdW50QnV0dG9uLm9mZigiY2xpY2suZHRzcCIpLm9uKCJjbGljay5kdHNwIixmdW5jdGlvbigpe3ZhciBrPVMucy5kdFBhbmUub3JkZXIoKVswXVsxXSxMPWs9PT0iYXNjIj8iZGVzYyI6ImFzYyI7Uy5zLmR0UGFuZS5vcmRlcihbWzIsTF0sWzEsTF1dKS5kcmF3KCksUy5zLmR0LnN0YXRlLnNhdmUoKX0pLHRoaXMuZG9tLmNvbGxhcHNlQnV0dG9uLm9mZigiY2xpY2suZHRzcCIpLm9uKCJjbGljay5kdHNwIixmdW5jdGlvbihrKXtrLnN0b3BQcm9wYWdhdGlvbigpO3ZhciBMPWUoUy5zLmR0UGFuZS50YWJsZSgpLmNvbnRhaW5lcigpKTtMLnRvZ2dsZUNsYXNzKFMuY2xhc3Nlcy5oaWRkZW4pLFMuZG9tLnRvcFJvdy50b2dnbGVDbGFzcyhTLmNsYXNzZXMuYm9yZGVyZWQpLFMuZG9tLm5hbWVCdXR0b24udG9nZ2xlQ2xhc3MoUy5jbGFzc2VzLmRpc2FibGVkQnV0dG9uKSxTLmRvbS5jb3VudEJ1dHRvbi50b2dnbGVDbGFzcyhTLmNsYXNzZXMuZGlzYWJsZWRCdXR0b24pLFMuZG9tLnNlYXJjaEJ1dHRvbi50b2dnbGVDbGFzcyhTLmNsYXNzZXMuZGlzYWJsZWRCdXR0b24pLFMuZG9tLmNvbGxhcHNlQnV0dG9uLnRvZ2dsZUNsYXNzKFMuY2xhc3Nlcy5yb3RhdGVkKSxMLmhhc0NsYXNzKFMuY2xhc3Nlcy5oaWRkZW4pP1MuZG9tLnRvcFJvdy5vbigiY2xpY2suZHRzcCIsZnVuY3Rpb24oKXtyZXR1cm4gUy5kb20uY29sbGFwc2VCdXR0b24uY2xpY2soKX0pOlMuZG9tLnRvcFJvdy5vZmYoImNsaWNrLmR0c3AiKSxTLnMuZHQuc3RhdGUuc2F2ZSgpLFMuZG9tLnRvcFJvdy50cmlnZ2VyKCJjb2xsYXBzZS5kdHNwcyIpfSksdGhpcy5kb20uY2xlYXIub2ZmKCJjbGljay5kdHNwIikub24oImNsaWNrLmR0c3AiLGZ1bmN0aW9uKCl7dmFyIGs9Uy5kb20uY29udGFpbmVyLmZpbmQoIi4iK1MuY2xhc3Nlcy5zZWFyY2gucmVwbGFjZSgvIC9nLCIuIikpO2suZWFjaChmdW5jdGlvbigpe2UodGhpcykudmFsKCIiKS50cmlnZ2VyKCJpbnB1dCIpfSksUy5jbGVhclBhbmUoKX0pLHRoaXMuZG9tLnNlYXJjaEJ1dHRvbi5vZmYoImNsaWNrLmR0c3AiKS5vbigiY2xpY2suZHRzcCIsZnVuY3Rpb24oKXtyZXR1cm4gUy5kb20uc2VhcmNoQm94LmZvY3VzKCl9KSx0aGlzLmRvbS5zZWFyY2hCb3gub2ZmKCJjbGljay5kdHNwIikub24oImlucHV0LmR0c3AiLGZ1bmN0aW9uKCl7dmFyIGs9Uy5kb20uc2VhcmNoQm94LnZhbCgpO1Mucy5kdFBhbmUuc2VhcmNoKGspLmRyYXcoKSx0eXBlb2Ygaz09InN0cmluZyImJihrLmxlbmd0aD4wfHxrLmxlbmd0aD09PTAmJlMucy5kdFBhbmUucm93cyh7c2VsZWN0ZWQ6ITB9KS5kYXRhKCkudG9BcnJheSgpLmxlbmd0aD4wKT9TLmRvbS5jbGVhci5yZW1vdmVDbGFzcyhTLmNsYXNzZXMuZGlzYWJsZWRCdXR0b24pLnJlbW92ZUF0dHIoImRpc2FibGVkIik6Uy5kb20uY2xlYXIuYWRkQ2xhc3MoUy5jbGFzc2VzLmRpc2FibGVkQnV0dG9uKS5hdHRyKCJkaXNhYmxlZCIsInRydWUiKSxTLnMuZHQuc3RhdGUuc2F2ZSgpfSksdGhpcy5zLmR0UGFuZS5zZWxlY3Quc3R5bGUodGhpcy5zLmNvbE9wdHMuZHRPcHRzJiZ0aGlzLnMuY29sT3B0cy5kdE9wdHMuc2VsZWN0JiZ0aGlzLnMuY29sT3B0cy5kdE9wdHMuc2VsZWN0LnN0eWxlP3RoaXMucy5jb2xPcHRzLmR0T3B0cy5zZWxlY3Quc3R5bGU6dGhpcy5jLmR0T3B0cyYmdGhpcy5jLmR0T3B0cy5zZWxlY3QmJnRoaXMuYy5kdE9wdHMuc2VsZWN0LnN0eWxlP3RoaXMuYy5kdE9wdHMuc2VsZWN0LnN0eWxlOiJvcyIpKX0sXy5wcm90b3R5cGUuX3NlcnZlclBvcHVsYXRlPWZ1bmN0aW9uKFMpe1MudGFibGVMZW5ndGg/KHRoaXMucy50YWJsZUxlbmd0aD1TLnRhYmxlTGVuZ3RoLHRoaXMucy5yb3dEYXRhLnRvdGFsT3B0aW9ucz10aGlzLnMudGFibGVMZW5ndGgpOih0aGlzLnMudGFibGVMZW5ndGg9PT1udWxsfHx0aGlzLnMuZHQucm93cygpWzBdLmxlbmd0aD50aGlzLnMudGFibGVMZW5ndGgpJiYodGhpcy5zLnRhYmxlTGVuZ3RoPXRoaXMucy5kdC5yb3dzKClbMF0ubGVuZ3RoLHRoaXMucy5yb3dEYXRhLnRvdGFsT3B0aW9ucz10aGlzLnMudGFibGVMZW5ndGgpO3ZhciBrPXRoaXMucy5kdC5jb2x1bW4odGhpcy5zLmluZGV4KS5kYXRhU3JjKCk7aWYoUy5zZWFyY2hQYW5lcy5vcHRpb25zW2tdKWZvcih2YXIgTD0wLFI9Uy5zZWFyY2hQYW5lcy5vcHRpb25zW2tdO0w8Ui5sZW5ndGg7TCsrKXt2YXIgQj1SW0xdO3RoaXMucy5yb3dEYXRhLmFycmF5RmlsdGVyLnB1c2goe2Rpc3BsYXk6Qi5sYWJlbCxmaWx0ZXI6Qi52YWx1ZSxzb3J0OkIubGFiZWwsdHlwZTpCLmxhYmVsfSksdGhpcy5zLnJvd0RhdGEuYmluc1tCLnZhbHVlXT1CLnRvdGFsfXZhciBHPU9iamVjdC5rZXlzKHRoaXMucy5yb3dEYXRhLmJpbnMpLmxlbmd0aCxNPXRoaXMuX3VuaXF1ZVJhdGlvKEcsdGhpcy5zLnRhYmxlTGVuZ3RoKTtpZih0aGlzLnMuZGlzcGxheWVkPT09ITEmJigodGhpcy5zLmNvbE9wdHMuc2hvdz09PXZvaWQgMCYmdGhpcy5zLmNvbE9wdHMudGhyZXNob2xkPT09bnVsbD9NPnRoaXMuYy50aHJlc2hvbGQ6TT50aGlzLnMuY29sT3B0cy50aHJlc2hvbGQpfHx0aGlzLnMuY29sT3B0cy5zaG93IT09ITAmJkc8PTEpKXt0aGlzLmRvbS5jb250YWluZXIuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmhpZGRlbiksdGhpcy5zLmRpc3BsYXllZD0hMTtyZXR1cm59dGhpcy5zLnJvd0RhdGEuYXJyYXlPcmlnaW5hbD10aGlzLnMucm93RGF0YS5hcnJheUZpbHRlcix0aGlzLnMucm93RGF0YS5iaW5zT3JpZ2luYWw9dGhpcy5zLnJvd0RhdGEuYmlucyx0aGlzLnMuZGlzcGxheWVkPSEwfSxfLnByb3RvdHlwZS5zaG93PWZ1bmN0aW9uKCl7dGhpcy5zLmRpc3BsYXllZCYmKHRoaXMuZG9tLnRvcFJvdy5yZW1vdmVDbGFzcyh0aGlzLmNsYXNzZXMuYm9yZGVyZWQpLHRoaXMuZG9tLm5hbWVCdXR0b24ucmVtb3ZlQ2xhc3ModGhpcy5jbGFzc2VzLmRpc2FibGVkQnV0dG9uKSx0aGlzLmRvbS5jb3VudEJ1dHRvbi5yZW1vdmVDbGFzcyh0aGlzLmNsYXNzZXMuZGlzYWJsZWRCdXR0b24pLHRoaXMuZG9tLnNlYXJjaEJ1dHRvbi5yZW1vdmVDbGFzcyh0aGlzLmNsYXNzZXMuZGlzYWJsZWRCdXR0b24pLHRoaXMuZG9tLmNvbGxhcHNlQnV0dG9uLnJlbW92ZUNsYXNzKHRoaXMuY2xhc3Nlcy5yb3RhdGVkKSxlKHRoaXMucy5kdFBhbmUudGFibGUoKS5jb250YWluZXIoKSkucmVtb3ZlQ2xhc3ModGhpcy5jbGFzc2VzLmhpZGRlbiksdGhpcy5kb20udG9wUm93LnRyaWdnZXIoImNvbGxhcHNlLmR0c3BzIikpfSxfLnByb3RvdHlwZS5fdW5pcXVlUmF0aW89ZnVuY3Rpb24oUyxrKXtyZXR1cm4gaz4wJiYodGhpcy5zLnJvd0RhdGEudG90YWxPcHRpb25zPjAmJiF0aGlzLnMuZHQucGFnZS5pbmZvKCkuc2VydmVyU2lkZXx8dGhpcy5zLmR0LnBhZ2UuaW5mbygpLnNlcnZlclNpZGUmJnRoaXMucy50YWJsZUxlbmd0aD4wKT9TL3RoaXMucy5yb3dEYXRhLnRvdGFsT3B0aW9uczoxfSxfLnByb3RvdHlwZS51cGRhdGVUYWJsZT1mdW5jdGlvbigpe3ZhciBTPXRoaXMucy5kdFBhbmUucm93cyh7c2VsZWN0ZWQ6ITB9KS5kYXRhKCkudG9BcnJheSgpLm1hcChmdW5jdGlvbihrKXtyZXR1cm4gay5maWx0ZXJ9KTt0aGlzLnMuc2VsZWN0aW9ucz1TLHRoaXMuX3NlYXJjaEV4dHJhcygpfSxfLnByb3RvdHlwZS5fZ2V0Q29tcGFyaXNvblJvd3M9ZnVuY3Rpb24oKXt2YXIgUz10aGlzLnMuY29sT3B0cy5vcHRpb25zP3RoaXMucy5jb2xPcHRzLm9wdGlvbnM6dGhpcy5zLmN1c3RvbVBhbmVTZXR0aW5ncyYmdGhpcy5zLmN1c3RvbVBhbmVTZXR0aW5ncy5vcHRpb25zP3RoaXMucy5jdXN0b21QYW5lU2V0dGluZ3Mub3B0aW9uczp2b2lkIDA7aWYoUyE9PXZvaWQgMCl7dmFyIGs9dGhpcy5zLmR0LnJvd3MoKSxMPWsuZGF0YSgpLnRvQXJyYXkoKSxSPVtdO3RoaXMucy5kdFBhbmUuY2xlYXIoKSx0aGlzLnMuaW5kZXhlcz1bXTtmb3IodmFyIEI9MCxHPVM7QjxHLmxlbmd0aDtCKyspe3ZhciBNPUdbQl0scT1NLmxhYmVsIT09IiI/TS5sYWJlbDp0aGlzLmVtcHR5TWVzc2FnZSgpLGFlPXtjbGFzc05hbWU6TS5jbGFzc05hbWUsZGlzcGxheTpxLGZpbHRlcjp0eXBlb2YgTS52YWx1ZT09ImZ1bmN0aW9uIj9NLnZhbHVlOltdLHNvcnQ6TS5vcmRlciE9PXZvaWQgMD9NLm9yZGVyOnEsdG90YWw6MCx0eXBlOnF9O2lmKHR5cGVvZiBNLnZhbHVlPT0iZnVuY3Rpb24iKXtmb3IodmFyIGVlPTA7ZWU8TC5sZW5ndGg7ZWUrKylNLnZhbHVlLmNhbGwodGhpcy5zLmR0LExbZWVdLGtbMF1bZWVdKSYmYWUudG90YWwrKzt0eXBlb2YgYWUuZmlsdGVyIT0iZnVuY3Rpb24iJiZhZS5maWx0ZXIucHVzaChNLmZpbHRlcil9Ui5wdXNoKHRoaXMuYWRkUm93KGFlLmRpc3BsYXksYWUuZmlsdGVyLGFlLnNvcnQsYWUudHlwZSxhZS5jbGFzc05hbWUsYWUudG90YWwpKX1yZXR1cm4gUn19LF8ucHJvdG90eXBlLl9nZXRNZXNzYWdlPWZ1bmN0aW9uKFMpe3JldHVybiB0aGlzLnMuZHQuaTE4bigic2VhcmNoUGFuZXMuY291bnQiLHRoaXMuYy5pMThuLmNvdW50KS5yZXBsYWNlKC97dG90YWx9L2csUy50b3RhbCl9LF8ucHJvdG90eXBlLl9nZXRTaG93bj1mdW5jdGlvbihTKXt9LF8ucHJvdG90eXBlLl9nZXRQYW5lQ29uZmlnPWZ1bmN0aW9uKCl7dmFyIFM9dGhpcyxrPXQuU2Nyb2xsZXIsTD10aGlzLnMuZHQuc2V0dGluZ3MoKVswXS5vTGFuZ3VhZ2U7cmV0dXJuIEwudXJsPW51bGwsTC5zVXJsPW51bGwse2NvbHVtbkRlZnM6W3tjbGFzc05hbWU6ImR0c3AtbmFtZUNvbHVtbiIsZGF0YToiZGlzcGxheSIscmVuZGVyOmZ1bmN0aW9uKFIsQixHKXtpZihCPT09InNvcnQiKXJldHVybiBHLnNvcnQ7aWYoQj09PSJ0eXBlIilyZXR1cm4gRy50eXBlO3ZhciBNPVMuX2dldE1lc3NhZ2UoRykscT0nPHNwYW4gY2xhc3M9IicrUy5jbGFzc2VzLnBpbGwrJyI+JytNKyI8L3NwYW4+IjtyZXR1cm4oIVMuYy52aWV3Q291bnR8fCFTLnMuY29sT3B0cy52aWV3Q291bnQpJiYocT0iIiksQj09PSJmaWx0ZXIiP3R5cGVvZiBSPT0ic3RyaW5nIiYmUi5tYXRjaCgvPFtePl0qPi8pIT09bnVsbD9SLnJlcGxhY2UoLzxbXj5dKj4vZywiIik6UjonPGRpdiBjbGFzcz0iJytTLmNsYXNzZXMubmFtZUNvbnQrJyI+PHNwYW4gdGl0bGU9IicrKHR5cGVvZiBSPT0ic3RyaW5nIiYmUi5tYXRjaCgvPFtePl0qPi8pIT09bnVsbD9SLnJlcGxhY2UoLzxbXj5dKj4vZywiIik6UikrJyIgY2xhc3M9IicrUy5jbGFzc2VzLm5hbWUrJyI+JytSKyI8L3NwYW4+IitxKyI8L2Rpdj4ifSx0YXJnZXRzOjAsdHlwZTp0aGlzLnMuZHQuc2V0dGluZ3MoKVswXS5hb0NvbHVtbnNbdGhpcy5zLmluZGV4XT90aGlzLnMuZHQuc2V0dGluZ3MoKVswXS5hb0NvbHVtbnNbdGhpcy5zLmluZGV4XS5fc01hbnVhbFR5cGU6bnVsbH0se2NsYXNzTmFtZToiZHRzcC1jb3VudENvbHVtbiAiK3RoaXMuY2xhc3Nlcy5iYWRnZVBpbGwsZGF0YToidG90YWwiLHNlYXJjaGFibGU6ITEsdGFyZ2V0czoxLHZpc2libGU6ITF9LHtkYXRhOiJzaG93biIsc2VhcmNoYWJsZTohMSx0YXJnZXRzOjIsdmlzaWJsZTohMSxkZWZhdWx0Q29udGVudDowfV0sZGVmZXJSZW5kZXI6ITAsaW5mbzohMSxsYW5ndWFnZTpMLHBhZ2luZzohIWssc2Nyb2xsWDohMSxzY3JvbGxZOiIyMDBweCIsc2Nyb2xsZXI6ISFrLHNlbGVjdDohMCxzdGF0ZVNhdmU6ISF0aGlzLnMuZHQuc2V0dGluZ3MoKVswXS5vRmVhdHVyZXMuYlN0YXRlU2F2ZX19LF8ucHJvdG90eXBlLl9tYWtlU2VsZWN0aW9uPWZ1bmN0aW9uKCl7dGhpcy51cGRhdGVUYWJsZSgpLHRoaXMucy51cGRhdGluZz0hMCx0aGlzLnMuZHQuZHJhdygpLHRoaXMucy51cGRhdGluZz0hMX0sXy5wcm90b3R5cGUuX3BvcHVsYXRlUGFuZUFycmF5PWZ1bmN0aW9uKFMsayxMLFIpe1I9PT12b2lkIDAmJihSPXRoaXMucy5yb3dEYXRhLmJpbnMpO3ZhciBCPUwuZmFzdERhdGE/TC5mYXN0RGF0YTpmdW5jdGlvbihxLGFlLGVlKXtyZXR1cm4gTC5vQXBpLl9mbkdldENlbGxEYXRhKEwscSxhZSxlZSl9O2lmKHR5cGVvZiB0aGlzLnMuY29sT3B0cy5vcnRob2dvbmFsPT0ic3RyaW5nIil7dmFyIEc9QihTLHRoaXMucy5pbmRleCx0aGlzLnMuY29sT3B0cy5vcnRob2dvbmFsKTt0aGlzLnMucm93RGF0YS5maWx0ZXJNYXAuc2V0KFMsRyksdGhpcy5fYWRkT3B0aW9uKEcsRyxHLEcsayxSKSx0aGlzLnMucm93RGF0YS50b3RhbE9wdGlvbnMrK31lbHNle3ZhciBNPUIoUyx0aGlzLnMuaW5kZXgsdGhpcy5zLmNvbE9wdHMub3J0aG9nb25hbC5zZWFyY2gpO009PT1udWxsJiYoTT0iIiksdHlwZW9mIE09PSJzdHJpbmciJiYoTT1NLnJlcGxhY2UoLzxbXj5dKj4vZywiIikpLHRoaXMucy5yb3dEYXRhLmZpbHRlck1hcC5zZXQoUyxNKSxSW01dPyhSW01dKyssdGhpcy5zLnJvd0RhdGEudG90YWxPcHRpb25zKyspOih0aGlzLl9hZGRPcHRpb24oTSxCKFMsdGhpcy5zLmluZGV4LHRoaXMucy5jb2xPcHRzLm9ydGhvZ29uYWwuZGlzcGxheSksQihTLHRoaXMucy5pbmRleCx0aGlzLnMuY29sT3B0cy5vcnRob2dvbmFsLnNvcnQpLEIoUyx0aGlzLnMuaW5kZXgsdGhpcy5zLmNvbE9wdHMub3J0aG9nb25hbC50eXBlKSxrLFIpLHRoaXMucy5yb3dEYXRhLnRvdGFsT3B0aW9ucysrKX19LF8ucHJvdG90eXBlLl9yZWxvYWRTZWxlY3Q9ZnVuY3Rpb24oUyl7aWYoUyE9PXZvaWQgMCl7Zm9yKHZhciBrLEw9MDtMPFMuc2VhcmNoUGFuZXMucGFuZXMubGVuZ3RoO0wrKylpZihTLnNlYXJjaFBhbmVzLnBhbmVzW0xdLmlkPT09dGhpcy5zLmluZGV4KXtrPUw7YnJlYWt9aWYoaylmb3IodmFyIFI9dGhpcy5zLmR0UGFuZSxCPVIucm93cyh7b3JkZXI6ImluZGV4In0pLmRhdGEoKS5tYXAoZnVuY3Rpb24oZWUpe3JldHVybiBlZS5maWx0ZXIhPT1udWxsP2VlLmZpbHRlci50b1N0cmluZygpOm51bGx9KS50b0FycmF5KCksRz0wLE09Uy5zZWFyY2hQYW5lcy5wYW5lc1trXS5zZWxlY3RlZDtHPE0ubGVuZ3RoO0crKyl7dmFyIHE9TVtHXSxhZT0tMTtxIT09bnVsbCYmKGFlPUIuaW5kZXhPZihxLnRvU3RyaW5nKCkpKSxhZT4tMSYmKHRoaXMucy5zZXJ2ZXJTZWxlY3Rpbmc9ITAsUi5yb3coYWUpLnNlbGVjdCgpLHRoaXMucy5zZXJ2ZXJTZWxlY3Rpbmc9ITEpfX19LF8ucHJvdG90eXBlLl91cGRhdGVTZWxlY3Rpb249ZnVuY3Rpb24oUyl7dmFyIGs9dGhpcyxMPWZ1bmN0aW9uKEIpe2lmKHRlLnZlcnNpb25DaGVjaygiMiIpKWsucy5kdC5wcm9jZXNzaW5nKEIpO2Vsc2V7dmFyIEc9ay5zLmR0LnNldHRpbmdzKClbMF0sTT1HLm9BcGk7TS5fZm5Qcm9jZXNzaW5nRGlzcGxheShHLCExKX19LFI9ZnVuY3Rpb24oKXtrLnMuc2Nyb2xsVG9wPWUoay5zLmR0UGFuZS50YWJsZSgpLm5vZGUoKSkucGFyZW50KClbMF0uc2Nyb2xsVG9wLGsucy5kdC5wYWdlLmluZm8oKS5zZXJ2ZXJTaWRlJiYhay5zLnVwZGF0aW5nP2sucy5zZXJ2ZXJTZWxlY3Rpbmd8fChrLnMuc2VydmVyU2VsZWN0PWsucy5kdFBhbmUucm93cyh7c2VsZWN0ZWQ6ITB9KS5kYXRhKCkudG9BcnJheSgpLGsucy5kdC5kcmF3KCExKSk6UyYmay5fbWFrZVNlbGVjdGlvbigpLEwoITEpfTtMKCEwKSxzZXRUaW1lb3V0KFIsMSl9LF8ucHJvdG90eXBlLl9hZGRPcHRpb249ZnVuY3Rpb24oUyxrLEwsUixCLEcpe2lmKEFycmF5LmlzQXJyYXkoUyl8fFMgaW5zdGFuY2VvZiB0LkFwaSl7aWYoUyBpbnN0YW5jZW9mIHQuQXBpJiYoUz1TLnRvQXJyYXkoKSxrPWsudG9BcnJheSgpKSxTLmxlbmd0aD09PWsubGVuZ3RoKXtmb3IodmFyIE09MDtNPFMubGVuZ3RoO00rKylHW1NbTV1dP0dbU1tNXV0rKzooR1tTW01dXT0xLEIucHVzaCh7ZGlzcGxheTprW01dLGZpbHRlcjpTW01dLHNvcnQ6TFtNXSx0eXBlOlJbTV19KSksdGhpcy5zLnJvd0RhdGEudG90YWxPcHRpb25zKys7cmV0dXJufXRocm93IG5ldyBFcnJvcigiZGlzcGxheSBhbmQgZmlsdGVyIG5vdCB0aGUgc2FtZSBsZW5ndGgiKX1lbHNlIHR5cGVvZiB0aGlzLnMuY29sT3B0cy5vcnRob2dvbmFsPT0ic3RyaW5nIj9HW1NdPyhHW1NdKyssdGhpcy5zLnJvd0RhdGEudG90YWxPcHRpb25zKyspOihHW1NdPTEsQi5wdXNoKHtkaXNwbGF5OmssZmlsdGVyOlMsc29ydDpMLHR5cGU6Un0pLHRoaXMucy5yb3dEYXRhLnRvdGFsT3B0aW9ucysrKTooR1tTXT0xLEIucHVzaCh7ZGlzcGxheTprLGZpbHRlcjpTLHNvcnQ6TCx0eXBlOlJ9KSl9LF8ucHJvdG90eXBlLl9idWlsZFBhbmU9ZnVuY3Rpb24oUyxrLEwpe3ZhciBSPXRoaXM7Uz09PXZvaWQgMCYmKFM9W10pLGs9PT12b2lkIDAmJihrPW51bGwpLEw9PT12b2lkIDAmJihMPW51bGwpLHRoaXMucy5zZWxlY3Rpb25zPVtdO3ZhciBCPXRoaXMucy5kdC5zdGF0ZS5sb2FkZWQoKSxHO2lmKHRoaXMucy5saXN0U2V0JiYoQj10aGlzLnMuZHQuc3RhdGUoKSksdGhpcy5zLmNvbEV4aXN0cyl7dmFyIE09LTE7aWYoQiYmQi5zZWFyY2hQYW5lcyYmQi5zZWFyY2hQYW5lcy5wYW5lcyl7Zm9yKHZhciBxPTA7cTxCLnNlYXJjaFBhbmVzLnBhbmVzLmxlbmd0aDtxKyspaWYoQi5zZWFyY2hQYW5lcy5wYW5lc1txXS5pZD09PXRoaXMucy5pbmRleCl7TT1xO2JyZWFrfX1pZigodGhpcy5zLmNvbE9wdHMuc2hvdz09PSExfHx0aGlzLnMuY29sT3B0cy5zaG93IT09dm9pZCAwJiZ0aGlzLnMuY29sT3B0cy5zaG93IT09ITApJiZNPT09LTEpcmV0dXJuIHRoaXMuZG9tLmNvbnRhaW5lci5hZGRDbGFzcyh0aGlzLmNsYXNzZXMuaGlkZGVuKSx0aGlzLnMuZGlzcGxheWVkPSExLCExO2lmKCh0aGlzLnMuY29sT3B0cy5zaG93PT09ITB8fE0hPT0tMSkmJih0aGlzLnMuZGlzcGxheWVkPSEwKSwhdGhpcy5zLmR0LnBhZ2UuaW5mbygpLnNlcnZlclNpZGUmJigha3x8IWsuc2VhcmNoUGFuZXN8fCFrLnNlYXJjaFBhbmVzLm9wdGlvbnMpKXt0aGlzLnMucm93RGF0YS5hcnJheUZpbHRlci5sZW5ndGg9PT0wJiYodGhpcy5zLnJvd0RhdGEudG90YWxPcHRpb25zPTAsdGhpcy5fcG9wdWxhdGVQYW5lKCksdGhpcy5zLnJvd0RhdGEuYXJyYXlPcmlnaW5hbD10aGlzLnMucm93RGF0YS5hcnJheUZpbHRlcix0aGlzLnMucm93RGF0YS5iaW5zT3JpZ2luYWw9dGhpcy5zLnJvd0RhdGEuYmlucyk7dmFyIGFlPU9iamVjdC5rZXlzKHRoaXMucy5yb3dEYXRhLmJpbnNPcmlnaW5hbCkubGVuZ3RoLGVlPXRoaXMuX3VuaXF1ZVJhdGlvKGFlLHRoaXMucy5kdC5yb3dzKClbMF0ubGVuZ3RoKTtpZih0aGlzLnMuZGlzcGxheWVkPT09ITEmJigodGhpcy5zLmNvbE9wdHMuc2hvdz09PXZvaWQgMCYmdGhpcy5zLmNvbE9wdHMudGhyZXNob2xkPT09bnVsbD9lZT50aGlzLmMudGhyZXNob2xkOmVlPnRoaXMucy5jb2xPcHRzLnRocmVzaG9sZCl8fHRoaXMucy5jb2xPcHRzLnNob3chPT0hMCYmYWU8PTEpKXt0aGlzLmRvbS5jb250YWluZXIuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmhpZGRlbiksdGhpcy5zLmRpc3BsYXllZD0hMTtyZXR1cm59dGhpcy5kb20uY29udGFpbmVyLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5zaG93KSx0aGlzLnMuZGlzcGxheWVkPSEwfWVsc2UgayYmay5zZWFyY2hQYW5lcyYmay5zZWFyY2hQYW5lcy5vcHRpb25zJiZ0aGlzLl9zZXJ2ZXJQb3B1bGF0ZShrKX1lbHNlIHRoaXMucy5kaXNwbGF5ZWQ9ITA7dGhpcy5fZGlzcGxheVBhbmUoKSx0aGlzLnMubGlzdFNldHx8dGhpcy5kb20uZHRQLm9uKCJzdGF0ZUxvYWRQYXJhbXMuZHRzcCIsZnVuY3Rpb24oYmUsVGUsX2Upe2UuaXNFbXB0eU9iamVjdChSLnMuZHQuc3RhdGUubG9hZGVkKCkpJiZlLmVhY2goX2UsZnVuY3Rpb24odmUpe2RlbGV0ZSBfZVt2ZV19KX0pLEwhPT1udWxsJiZ0aGlzLmRvbS5wYW5lc0NvbnRhaW5lci5oYXMoTCkubGVuZ3RoPjA/dGhpcy5kb20uY29udGFpbmVyLmluc2VydEFmdGVyKEwpOnRoaXMuZG9tLnBhbmVzQ29udGFpbmVyLnByZXBlbmQodGhpcy5kb20uY29udGFpbmVyKTt2YXIgbmU9ZS5mbi5kYXRhVGFibGUuZXh0LmVyck1vZGU7ZS5mbi5kYXRhVGFibGUuZXh0LmVyck1vZGU9Im5vbmUiLHRoaXMuZG9tLmR0UC5vbigiaW5pdC5kdCIsZnVuY3Rpb24oYmUsVGUpe3ZhciBfZT1SLmRvbS5kdFAuRGF0YVRhYmxlKCksdmU9X2Uuc2VsZWN0LnN0eWxlKCk7X2Uuc2VsZWN0LnN0eWxlKHZlKX0pO3ZhciB4ZTtpZihlLmZuLmRhdGFUYWJsZS52ZXJzaW9uQ2hlY2soIjIiKSl7dmFyIEllPWUuZXh0ZW5kKCEwLHt9LGUuZm4uZGF0YVRhYmxlLmRlZmF1bHRzLmxheW91dCk7ZS5lYWNoKEllLGZ1bmN0aW9uKGJlLFRlKXtJZVtiZV09bnVsbH0pLHhlPXtsYXlvdXQ6SWV9fWVsc2UgeGU9e2RvbToidCJ9O3RoaXMucy5kdFBhbmU9dGhpcy5kb20uZHRQLkRhdGFUYWJsZShlLmV4dGVuZCghMCx0aGlzLl9nZXRQYW5lQ29uZmlnKCksdGhpcy5jLmR0T3B0cyx0aGlzLnMuY29sT3B0cz90aGlzLnMuY29sT3B0cy5kdE9wdHM6e30sdGhpcy5zLmNvbE9wdHMub3B0aW9uc3x8IXRoaXMucy5jb2xFeGlzdHM/e2NyZWF0ZWRSb3c6ZnVuY3Rpb24oYmUsVGUpe2UoYmUpLmFkZENsYXNzKFRlLmNsYXNzTmFtZSl9fTp2b2lkIDAsdGhpcy5zLmN1c3RvbVBhbmVTZXR0aW5ncyE9PW51bGwmJnRoaXMucy5jdXN0b21QYW5lU2V0dGluZ3MuZHRPcHRzP3RoaXMucy5jdXN0b21QYW5lU2V0dGluZ3MuZHRPcHRzOnt9LHhlKSksdGhpcy5kb20uZHRQLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy50YWJsZSk7dmFyIENlPSJDdXN0b20gUGFuZSI7dGhpcy5zLmN1c3RvbVBhbmVTZXR0aW5ncyYmdGhpcy5zLmN1c3RvbVBhbmVTZXR0aW5ncy5oZWFkZXI/Q2U9dGhpcy5zLmN1c3RvbVBhbmVTZXR0aW5ncy5oZWFkZXI6dGhpcy5zLmNvbE9wdHMuaGVhZGVyP0NlPXRoaXMucy5jb2xPcHRzLmhlYWRlcjp0aGlzLnMuY29sRXhpc3RzJiYoQ2U9ZS5mbi5kYXRhVGFibGUudmVyc2lvbkNoZWNrKCIyIik/dGhpcy5zLmR0LmNvbHVtbih0aGlzLnMuaW5kZXgpLnRpdGxlKCk6dGhpcy5zLmR0LnNldHRpbmdzKClbMF0uYW9Db2x1bW5zW3RoaXMucy5pbmRleF0uc1RpdGxlKSxDZT10aGlzLl9lc2NhcGVIVE1MKENlKTt2YXIgRGU9dGhpcy5zLmR0LmkxOG4oInNlYXJjaEJ1aWxkZXIuc2VhcmNoVGl0bGUiLHRoaXMuYy5pMThuLnNlYXJjaFRpdGxlKS5yZXBsYWNlKCJ7bmFtZX0iLENlKTtpZih0aGlzLmRvbS5zZWFyY2hCb3guYXR0cigicGxhY2Vob2xkZXIiLENlKS5hdHRyKCJ0aXRsZSIsRGUpLGUuZm4uZGF0YVRhYmxlLmV4dC5lcnJNb2RlPW5lLHRoaXMucy5jb2xFeGlzdHMpZm9yKHZhciBMZT0wLEVlPXRoaXMucy5yb3dEYXRhLmFycmF5RmlsdGVyLmxlbmd0aDtMZTxFZTtMZSsrKWlmKHRoaXMucy5kdC5wYWdlLmluZm8oKS5zZXJ2ZXJTaWRlKXtHPXRoaXMuYWRkUm93KHRoaXMucy5yb3dEYXRhLmFycmF5RmlsdGVyW0xlXS5kaXNwbGF5LHRoaXMucy5yb3dEYXRhLmFycmF5RmlsdGVyW0xlXS5maWx0ZXIsdGhpcy5zLnJvd0RhdGEuYXJyYXlGaWx0ZXJbTGVdLnNvcnQsdGhpcy5zLnJvd0RhdGEuYXJyYXlGaWx0ZXJbTGVdLnR5cGUpO2Zvcih2YXIgWWU9MCxKZT10aGlzLnMuc2VydmVyU2VsZWN0O1llPEplLmxlbmd0aDtZZSsrKXt2YXIgQT1KZVtZZV07QS5maWx0ZXI9PT10aGlzLnMucm93RGF0YS5hcnJheUZpbHRlcltMZV0uZmlsdGVyJiYodGhpcy5zLnNlcnZlclNlbGVjdGluZz0hMCxHLnNlbGVjdCgpLHRoaXMucy5zZXJ2ZXJTZWxlY3Rpbmc9ITEpfX1lbHNlIXRoaXMucy5kdC5wYWdlLmluZm8oKS5zZXJ2ZXJTaWRlJiZ0aGlzLnMucm93RGF0YS5hcnJheUZpbHRlcltMZV0/dGhpcy5hZGRSb3codGhpcy5zLnJvd0RhdGEuYXJyYXlGaWx0ZXJbTGVdLmRpc3BsYXksdGhpcy5zLnJvd0RhdGEuYXJyYXlGaWx0ZXJbTGVdLmZpbHRlcix0aGlzLnMucm93RGF0YS5hcnJheUZpbHRlcltMZV0uc29ydCx0aGlzLnMucm93RGF0YS5hcnJheUZpbHRlcltMZV0udHlwZSk6dGhpcy5zLmR0LnBhZ2UuaW5mbygpLnNlcnZlclNpZGV8fHRoaXMuYWRkUm93KCIiLCIiLCIiLCIiKTsodGhpcy5zLmNvbE9wdHMub3B0aW9uc3x8dGhpcy5zLmN1c3RvbVBhbmVTZXR0aW5ncyYmdGhpcy5zLmN1c3RvbVBhbmVTZXR0aW5ncy5vcHRpb25zKSYmdGhpcy5fZ2V0Q29tcGFyaXNvblJvd3MoKSx0aGlzLnMuZHRQYW5lLmRyYXcoKSx0aGlzLnMuZHRQYW5lLnRhYmxlKCkubm9kZSgpLnBhcmVudE5vZGUuc2Nyb2xsVG9wPXRoaXMucy5zY3JvbGxUb3AsdGhpcy5hZGp1c3RUb3BSb3coKSx0aGlzLnNldExpc3RlbmVycygpLHRoaXMucy5saXN0U2V0PSEwO2Zvcih2YXIgZGU9MCxsZT1TO2RlPGxlLmxlbmd0aDtkZSsrKXt2YXIgej1sZVtkZV07aWYoeilmb3IodmFyIGo9MCxLPXRoaXMucy5kdFBhbmUucm93cygpLmluZGV4ZXMoKS50b0FycmF5KCk7ajxLLmxlbmd0aDtqKyspRz1LW2pdLHRoaXMucy5kdFBhbmUucm93KEcpLmRhdGEoKSYmei5maWx0ZXI9PT10aGlzLnMuZHRQYW5lLnJvdyhHKS5kYXRhKCkuZmlsdGVyJiYodGhpcy5zLmR0LnBhZ2UuaW5mbygpLnNlcnZlclNpZGU/KHRoaXMucy5zZXJ2ZXJTZWxlY3Rpbmc9ITAsdGhpcy5zLmR0UGFuZS5yb3coRykuc2VsZWN0KCksdGhpcy5zLnNlcnZlclNlbGVjdGluZz0hMSk6dGhpcy5zLmR0UGFuZS5yb3coRykuc2VsZWN0KCkpfWlmKHRoaXMucy5kdC5wYWdlLmluZm8oKS5zZXJ2ZXJTaWRlJiZ0aGlzLnMuZHRQYW5lLnNlYXJjaCh0aGlzLmRvbS5zZWFyY2hCb3gudmFsKCkpLmRyYXcoKSwodGhpcy5jLmluaXRDb2xsYXBzZWQmJnRoaXMucy5jb2xPcHRzLmluaXRDb2xsYXBzZWQhPT0hMXx8dGhpcy5zLmNvbE9wdHMuaW5pdENvbGxhcHNlZCkmJih0aGlzLmMuY29sbGFwc2UmJnRoaXMucy5jb2xPcHRzLmNvbGxhcHNlIT09ITF8fHRoaXMucy5jb2xPcHRzLmNvbGxhcHNlKSYmKHRoaXMucy5kdFBhbmUuc2V0dGluZ3MoKVswXS5fYkluaXRDb21wbGV0ZT90aGlzLmNvbGxhcHNlKCk6dGhpcy5zLmR0UGFuZS5vbmUoImluaXQiLGZ1bmN0aW9uKCl7cmV0dXJuIFIuY29sbGFwc2UoKX0pKSxCJiZCLnNlYXJjaFBhbmVzJiZCLnNlYXJjaFBhbmVzLnBhbmVzJiYoIWt8fGsuZHJhdz09PTEpKXt0aGlzLl9yZWxvYWRTZWxlY3QoQik7Zm9yKHZhciBtZT0wLHllPUIuc2VhcmNoUGFuZXMucGFuZXM7bWU8eWUubGVuZ3RoO21lKyspe3ZhciByZT15ZVttZV07cmUuaWQ9PT10aGlzLnMuaW5kZXgmJihyZS5zZWFyY2hUZXJtJiZyZS5zZWFyY2hUZXJtLmxlbmd0aD4wJiZ0aGlzLmRvbS5zZWFyY2hCb3gudmFsKHJlLnNlYXJjaFRlcm0pLnRyaWdnZXIoImlucHV0IikscmUub3JkZXImJnRoaXMucy5kdFBhbmUub3JkZXIocmUub3JkZXIpLmRyYXcoKSxyZS5jb2xsYXBzZWQ/dGhpcy5jb2xsYXBzZSgpOnRoaXMuc2hvdygpKX19cmV0dXJuITB9LF8ucHJvdG90eXBlLl9kaXNwbGF5UGFuZT1mdW5jdGlvbigpe3RoaXMuZG9tLmR0UC5lbXB0eSgpLHRoaXMuZG9tLnRvcFJvdy5lbXB0eSgpLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy50b3BSb3cpLHBhcnNlSW50KHRoaXMuYy5sYXlvdXQuc3BsaXQoIi0iKVsxXSwxMCk+MyYmdGhpcy5kb20uY29udGFpbmVyLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5zbWFsbEdhcCksdGhpcy5kb20udG9wUm93LmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5zdWJSb3dzQ29udGFpbmVyKS5hcHBlbmQodGhpcy5kb20udXBwZXIuYXBwZW5kKHRoaXMuZG9tLnNlYXJjaENvbnQpKS5hcHBlbmQodGhpcy5kb20ubG93ZXIuYXBwZW5kKHRoaXMuZG9tLmJ1dHRvbkdyb3VwKSksKHRoaXMuYy5kdE9wdHMuc2VhcmNoaW5nPT09ITF8fHRoaXMucy5jb2xPcHRzLmR0T3B0cyYmdGhpcy5zLmNvbE9wdHMuZHRPcHRzLnNlYXJjaGluZz09PSExfHwhdGhpcy5jLmNvbnRyb2xzfHwhdGhpcy5zLmNvbE9wdHMuY29udHJvbHN8fHRoaXMucy5jdXN0b21QYW5lU2V0dGluZ3MmJnRoaXMucy5jdXN0b21QYW5lU2V0dGluZ3MuZHRPcHRzJiZ0aGlzLnMuY3VzdG9tUGFuZVNldHRpbmdzLmR0T3B0cy5zZWFyY2hpbmchPT12b2lkIDAmJiF0aGlzLnMuY3VzdG9tUGFuZVNldHRpbmdzLmR0T3B0cy5zZWFyY2hpbmcpJiZ0aGlzLmRvbS5zZWFyY2hCb3gucmVtb3ZlQ2xhc3ModGhpcy5jbGFzc2VzLnBhbmVJbnB1dEJ1dHRvbikuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmRpc2FibGVkQnV0dG9uKS5hdHRyKCJkaXNhYmxlZCIsInRydWUiKSx0aGlzLmRvbS5zZWFyY2hCb3guYXBwZW5kVG8odGhpcy5kb20uc2VhcmNoQ29udCksdGhpcy5fc2VhcmNoQ29udFNldHVwKCksdGhpcy5jLmNsZWFyJiZ0aGlzLmMuY29udHJvbHMmJnRoaXMucy5jb2xPcHRzLmNvbnRyb2xzJiZ0aGlzLmRvbS5jbGVhci5hcHBlbmRUbyh0aGlzLmRvbS5idXR0b25Hcm91cCksdGhpcy5jLm9yZGVyYWJsZSYmdGhpcy5zLmNvbE9wdHMub3JkZXJhYmxlJiZ0aGlzLmMuY29udHJvbHMmJnRoaXMucy5jb2xPcHRzLmNvbnRyb2xzJiZ0aGlzLmRvbS5uYW1lQnV0dG9uLmFwcGVuZFRvKHRoaXMuZG9tLmJ1dHRvbkdyb3VwKSx0aGlzLmMudmlld0NvdW50JiZ0aGlzLnMuY29sT3B0cy52aWV3Q291bnQmJnRoaXMuYy5vcmRlcmFibGUmJnRoaXMucy5jb2xPcHRzLm9yZGVyYWJsZSYmdGhpcy5jLmNvbnRyb2xzJiZ0aGlzLnMuY29sT3B0cy5jb250cm9scyYmdGhpcy5kb20uY291bnRCdXR0b24uYXBwZW5kVG8odGhpcy5kb20uYnV0dG9uR3JvdXApLCh0aGlzLmMuY29sbGFwc2UmJnRoaXMucy5jb2xPcHRzLmNvbGxhcHNlIT09ITF8fHRoaXMucy5jb2xPcHRzLmNvbGxhcHNlKSYmdGhpcy5jLmNvbnRyb2xzJiZ0aGlzLnMuY29sT3B0cy5jb250cm9scyYmdGhpcy5kb20uY29sbGFwc2VCdXR0b24uYXBwZW5kVG8odGhpcy5kb20uYnV0dG9uR3JvdXApLHRoaXMuZG9tLmNvbnRhaW5lci5wcmVwZW5kKHRoaXMuZG9tLnRvcFJvdykuYXBwZW5kKHRoaXMuZG9tLmR0UCkuc2hvdygpfSxfLnByb3RvdHlwZS5fZXNjYXBlSFRNTD1mdW5jdGlvbihTKXtyZXR1cm4gUy50b1N0cmluZygpLnJlcGxhY2UoLyZsdDsvZywiPCIpLnJlcGxhY2UoLyZndDsvZywiPiIpLnJlcGxhY2UoLyZxdW90Oy9nLCciJykucmVwbGFjZSgvJmFtcDsvZywiJiIpfSxfLnByb3RvdHlwZS5fZ2V0Qm9udXNPcHRpb25zPWZ1bmN0aW9uKCl7dmFyIFM9e3RocmVzaG9sZDpudWxsfTtyZXR1cm4gZS5leHRlbmQoITAse30sXy5kZWZhdWx0cyxTLHRoaXMuYz90aGlzLmM6e30pfSxfLnByb3RvdHlwZS5fZ2V0T3B0aW9ucz1mdW5jdGlvbigpe3ZhciBTPXRoaXMucy5kdCxrPXtjb2xsYXBzZTpudWxsLGVtcHR5TWVzc2FnZTohMSxpbml0Q29sbGFwc2VkOm51bGwsdGhyZXNob2xkOm51bGx9LEw9Uy5zZXR0aW5ncygpWzBdLmFvQ29sdW1uc1t0aGlzLnMuaW5kZXhdLnNlYXJjaFBhbmVzLFI9ZS5leHRlbmQoITAse30sXy5kZWZhdWx0cyxrLEwpO3JldHVybiBMJiZMLmhpZGVDb3VudCYmTC52aWV3Q291bnQ9PT12b2lkIDAmJihSLnZpZXdDb3VudD0hTC5oaWRlQ291bnQpLFJ9LF8ucHJvdG90eXBlLl9wb3B1bGF0ZVBhbmU9ZnVuY3Rpb24oKXt0aGlzLnMucm93RGF0YS5hcnJheUZpbHRlcj1bXSx0aGlzLnMucm93RGF0YS5iaW5zPXt9O3ZhciBTPXRoaXMucy5kdC5jb250ZXh0WzBdO2lmKCF0aGlzLnMuZHQucGFnZS5pbmZvKCkuc2VydmVyU2lkZSlmb3IodmFyIGs9MCxMPXRoaXMucy5kdC5yb3dzKCkuaW5kZXhlcygpLnRvQXJyYXkoKTtrPEwubGVuZ3RoO2srKyl7dmFyIFI9TFtrXTt0aGlzLl9wb3B1bGF0ZVBhbmVBcnJheShSLHRoaXMucy5yb3dEYXRhLmFycmF5RmlsdGVyLFMpfX0sXy5wcm90b3R5cGUuX3NlYXJjaD1mdW5jdGlvbihTLGspe2Zvcih2YXIgTD10aGlzLnMuY29sT3B0cyxSPXRoaXMucy5kdCxCPTAsRz10aGlzLnMuc2VsZWN0aW9ucztCPEcubGVuZ3RoO0IrKyl7dmFyIE09R1tCXTtpZih0eXBlb2YgTT09InN0cmluZyImJnR5cGVvZiBTPT0ic3RyaW5nIiYmKE09dGhpcy5fZXNjYXBlSFRNTChNKSksQXJyYXkuaXNBcnJheShTKSl7aWYoTC5jb21iaW5lcj09PSJhbmQiKXtpZighUy5pbmNsdWRlcyhNKSlyZXR1cm4hMX1lbHNlIGlmKFMuaW5jbHVkZXMoTSkpcmV0dXJuITB9ZWxzZSBpZih0eXBlb2YgTT09ImZ1bmN0aW9uIil7aWYoTS5jYWxsKFIsUi5yb3coaykuZGF0YSgpLGspKXtpZihMLmNvbWJpbmVyPT09Im9yIilyZXR1cm4hMH1lbHNlIGlmKEwuY29tYmluZXI9PT0iYW5kIilyZXR1cm4hMX1lbHNlIGlmKFM9PT1NfHwhKHR5cGVvZiBTPT0ic3RyaW5nIiYmUy5sZW5ndGg9PT0wKSYmUz09TXx8TT09PW51bGwmJnR5cGVvZiBTPT0ic3RyaW5nIiYmUz09PSIiKXJldHVybiEwfXJldHVybiBMLmNvbWJpbmVyPT09ImFuZCJ9LF8ucHJvdG90eXBlLl9zZWFyY2hDb250U2V0dXA9ZnVuY3Rpb24oKXt0aGlzLmMuY29udHJvbHMmJnRoaXMucy5jb2xPcHRzLmNvbnRyb2xzJiZ0aGlzLmRvbS5zZWFyY2hCdXR0b24uYXBwZW5kVG8odGhpcy5kb20uc2VhcmNoTGFiZWxDb250KSx0aGlzLmMuZHRPcHRzLnNlYXJjaGluZz09PSExfHx0aGlzLnMuY29sT3B0cy5kdE9wdHMuc2VhcmNoaW5nPT09ITF8fHRoaXMucy5jdXN0b21QYW5lU2V0dGluZ3MmJnRoaXMucy5jdXN0b21QYW5lU2V0dGluZ3MuZHRPcHRzJiZ0aGlzLnMuY3VzdG9tUGFuZVNldHRpbmdzLmR0T3B0cy5zZWFyY2hpbmchPT12b2lkIDAmJiF0aGlzLnMuY3VzdG9tUGFuZVNldHRpbmdzLmR0T3B0cy5zZWFyY2hpbmd8fHRoaXMuZG9tLnNlYXJjaExhYmVsQ29udC5hcHBlbmRUbyh0aGlzLmRvbS5zZWFyY2hDb250KX0sXy5wcm90b3R5cGUuX3NlYXJjaEV4dHJhcz1mdW5jdGlvbigpe3ZhciBTPXRoaXMucy51cGRhdGluZzt0aGlzLnMudXBkYXRpbmc9ITA7dmFyIGs9dGhpcy5zLmR0UGFuZS5yb3dzKHtzZWxlY3RlZDohMH0pLmRhdGEoKS5wbHVjaygiZmlsdGVyIikudG9BcnJheSgpLEw9ay5pbmRleE9mKHRoaXMuZW1wdHlNZXNzYWdlKCkpLFI9ZSh0aGlzLnMuZHRQYW5lLnRhYmxlKCkuY29udGFpbmVyKCkpO0w+LTEmJihrW0xdPSIiKSxrLmxlbmd0aD4wP1IuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLnNlbGVjdGVkKTprLmxlbmd0aD09PTAmJlIucmVtb3ZlQ2xhc3ModGhpcy5jbGFzc2VzLnNlbGVjdGVkKSx0aGlzLnMudXBkYXRpbmc9U30sXy52ZXJzaW9uPSIyLjEuMiIsXy5jbGFzc2VzPXtib3JkZXJlZDoiZHRzcC1ib3JkZXJlZCIsYnV0dG9uR3JvdXA6ImR0c3AtYnV0dG9uR3JvdXAiLGJ1dHRvblN1YjoiZHRzcC1idXR0b25TdWIiLGNhcmV0OiJkdHNwLWNhcmV0IixjbGVhcjoiZHRzcC1jbGVhciIsY2xlYXJBbGw6ImR0c3AtY2xlYXJBbGwiLGNsZWFyQnV0dG9uOiJjbGVhckJ1dHRvbiIsY29sbGFwc2VBbGw6ImR0c3AtY29sbGFwc2VBbGwiLGNvbGxhcHNlQnV0dG9uOiJkdHNwLWNvbGxhcHNlQnV0dG9uIixjb250YWluZXI6ImR0c3Atc2VhcmNoUGFuZSIsY291bnRCdXR0b246ImR0c3AtY291bnRCdXR0b24iLGRpc2FibGVkQnV0dG9uOiJkdHNwLWRpc2FibGVkQnV0dG9uIixoaWRkZW46ImR0c3AtaGlkZGVuIixoaWRlOiJkdHNwLWhpZGUiLGxheW91dDoiZHRzcC0iLG5hbWU6ImR0c3AtbmFtZSIsbmFtZUJ1dHRvbjoiZHRzcC1uYW1lQnV0dG9uIixuYW1lQ29udDoiZHRzcC1uYW1lQ29udCIsbmFycm93OiJkdHNwLW5hcnJvdyIscGFuZUJ1dHRvbjoiZHRzcC1wYW5lQnV0dG9uIixwYW5lSW5wdXRCdXR0b246ImR0c3AtcGFuZUlucHV0QnV0dG9uIixwaWxsOiJkdHNwLXBpbGwiLHJvdGF0ZWQ6ImR0c3Atcm90YXRlZCIsc2VhcmNoOiJkdHNwLXNlYXJjaCIsc2VhcmNoQ29udDoiZHRzcC1zZWFyY2hDb250IixzZWFyY2hJY29uOiJkdHNwLXNlYXJjaEljb24iLHNlYXJjaExhYmVsQ29udDoiZHRzcC1zZWFyY2hCdXR0b25Db250IixzZWxlY3RlZDoiZHRzcC1zZWxlY3RlZCIsc21hbGxHYXA6ImR0c3Atc21hbGxHYXAiLHN1YlJvdzE6ImR0c3Atc3ViUm93MSIsc3ViUm93MjoiZHRzcC1zdWJSb3cyIixzdWJSb3dzQ29udGFpbmVyOiJkdHNwLXN1YlJvd3NDb250YWluZXIiLHRpdGxlOiJkdHNwLXRpdGxlIix0b3BSb3c6ImR0c3AtdG9wUm93In0sXy5kZWZhdWx0cz17Y2xlYXI6ITAsY29sbGFwc2U6ITAsY29tYmluZXI6Im9yIixjb250YWluZXI6ZnVuY3Rpb24oUyl7cmV0dXJuIFMudGFibGUoKS5jb250YWluZXIoKX0sY29udHJvbHM6ITAsZHRPcHRzOnt9LGVtcHR5TWVzc2FnZTpudWxsLGhpZGVDb3VudDohMSxpMThuOnthcmlhOntjbGVhclBhbmU6IkNsZWFyIHNlbGVjdGlvbiIsY2xlYXJTZWFyY2g6IkNsZWFyIHNlYXJjaCIsY29sbGFwc2U6IkNvbGxhcHNlIC8gc2hvdyBwYW5lIixvcmRlckJ5Q291bnQ6Ik9yZGVyIGJ5IGNvdW50IixvcmRlckJ5TGFiZWw6Ik9yZGVyIGJ5IGxhYmVsIn0sY2xlYXJQYW5lOiImdGltZXM7Iixjb3VudDoie3RvdGFsfSIsZW1wdHlNZXNzYWdlOiI8ZW0+RW1wdHk8L2VtPiIsc2VhcmNoVGl0bGU6IlNlYXJjaDoge25hbWV9In0saW5pdENvbGxhcHNlZDohMSxsYXlvdXQ6ImF1dG8iLG5hbWU6dm9pZCAwLG9yZGVyYWJsZTohMCxvcnRob2dvbmFsOntkaXNwbGF5OiJkaXNwbGF5IixmaWx0ZXI6ImZpbHRlciIsaGlkZUNvdW50OiExLHNlYXJjaDoiZmlsdGVyIixzaG93OnZvaWQgMCxzb3J0OiJzb3J0Iix0aHJlc2hvbGQ6LjYsdHlwZToidHlwZSIsdmlld0NvdW50OiEwfSxwcmVTZWxlY3Q6W10sdGhyZXNob2xkOi42LHZpZXdDb3VudDohMH0sX30pKCksaT13aW5kb3cmJndpbmRvdy5fX2V4dGVuZHN8fChmdW5jdGlvbigpe3ZhciBfPWZ1bmN0aW9uKFMsayl7cmV0dXJuIF89T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKEwsUil7TC5fX3Byb3RvX189Un18fGZ1bmN0aW9uKEwsUil7Zm9yKHZhciBCIGluIFIpUi5oYXNPd25Qcm9wZXJ0eShCKSYmKExbQl09UltCXSl9LF8oUyxrKX07cmV0dXJuIGZ1bmN0aW9uKFMsayl7XyhTLGspO2Z1bmN0aW9uIEwoKXt0aGlzLmNvbnN0cnVjdG9yPVN9Uy5wcm90b3R5cGU9az09PW51bGw/T2JqZWN0LmNyZWF0ZShrKTooTC5wcm90b3R5cGU9ay5wcm90b3R5cGUsbmV3IEwpfX0pKCksYT0oZnVuY3Rpb24oXyl7aShTLF8pO2Z1bmN0aW9uIFMoayxMLFIsQixHKXtyZXR1cm4gXy5jYWxsKHRoaXMsayxMLFIsQixHKXx8dGhpc31yZXR1cm4gUy5wcm90b3R5cGUuX2VtcHR5UGFuZT1mdW5jdGlvbigpe3ZhciBrPXRoaXMucy5kdFBhbmU7aWYodGUudmVyc2lvbkNoZWNrKCIyIikpe3ZhciBMPWsuc2VsZWN0Lmxhc3QoKSxSO3JldHVybiBMJiZrLnJvdyhMLnJvdykuYW55KCkmJihSPWsucm93KEwucm93KS5kYXRhKCkuaW5kZXgpLGsucm93cygpLnJlbW92ZSgpLGZ1bmN0aW9uKCl7aWYoUiE9PXZvaWQgMCl7dmFyIEI9ay5yb3coZnVuY3Rpb24oRyxNKXtyZXR1cm4gTS5pbmRleD09PVJ9KS5pbmRleCgpO2suc2VsZWN0Lmxhc3Qoe3JvdzpCLGNvbHVtbjowfSl9fX1yZXR1cm4gay5yb3dzKCkucmVtb3ZlKCksZnVuY3Rpb24oKXt9fSxTLnByb3RvdHlwZS5fc2VydmVyUG9wdWxhdGU9ZnVuY3Rpb24oayl7dmFyIEwsUixCO3RoaXMucy5yb3dEYXRhLmJpbnNTaG93bj17fSx0aGlzLnMucm93RGF0YS5hcnJheUZpbHRlcj1bXSxrLnRhYmxlTGVuZ3RoIT09dm9pZCAwPyh0aGlzLnMudGFibGVMZW5ndGg9ay50YWJsZUxlbmd0aCx0aGlzLnMucm93RGF0YS50b3RhbE9wdGlvbnM9dGhpcy5zLnRhYmxlTGVuZ3RoKToodGhpcy5zLnRhYmxlTGVuZ3RoPT09bnVsbHx8dGhpcy5zLmR0LnJvd3MoKVswXS5sZW5ndGg+dGhpcy5zLnRhYmxlTGVuZ3RoKSYmKHRoaXMucy50YWJsZUxlbmd0aD10aGlzLnMuZHQucm93cygpWzBdLmxlbmd0aCx0aGlzLnMucm93RGF0YS50b3RhbE9wdGlvbnM9dGhpcy5zLnRhYmxlTGVuZ3RoKTt2YXIgRz10aGlzLnMuZHQuY29sdW1uKHRoaXMucy5pbmRleCkuZGF0YVNyYygpO2lmKGsuc2VhcmNoUGFuZXMub3B0aW9uc1tHXSE9PXZvaWQgMClmb3IodmFyIE09MCxxPWsuc2VhcmNoUGFuZXMub3B0aW9uc1tHXTtNPHEubGVuZ3RoO00rKyl7dmFyIGFlPXFbTV07dGhpcy5zLnJvd0RhdGEuYXJyYXlGaWx0ZXIucHVzaCh7ZGlzcGxheTphZS5sYWJlbCxmaWx0ZXI6YWUudmFsdWUsc2hvd246K2FlLmNvdW50LHNvcnQ6YWUubGFiZWwsdG90YWw6K2FlLnRvdGFsLHR5cGU6YWUubGFiZWx9KSx0aGlzLnMucm93RGF0YS5iaW5zU2hvd25bYWUudmFsdWVdPSthZS5jb3VudCx0aGlzLnMucm93RGF0YS5iaW5zW2FlLnZhbHVlXT0rYWUudG90YWx9dmFyIGVlPU9iamVjdC5rZXlzKHRoaXMucy5yb3dEYXRhLmJpbnMpLmxlbmd0aCxuZT10aGlzLl91bmlxdWVSYXRpbyhlZSx0aGlzLnMudGFibGVMZW5ndGgpO2lmKCF0aGlzLnMuY29sT3B0cy5zaG93JiZ0aGlzLnMuZGlzcGxheWVkPT09ITEmJigodGhpcy5zLmNvbE9wdHMuc2hvdz09PXZvaWQgMCYmdGhpcy5zLmNvbE9wdHMudGhyZXNob2xkPT09bnVsbD9uZT50aGlzLmMudGhyZXNob2xkOm5lPnRoaXMucy5jb2xPcHRzLnRocmVzaG9sZCl8fHRoaXMucy5jb2xPcHRzLnNob3chPT0hMCYmZWU8PTEpKXt0aGlzLmRvbS5jb250YWluZXIuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmhpZGRlbiksdGhpcy5zLmRpc3BsYXllZD0hMTtyZXR1cm59aWYodGhpcy5zLnJvd0RhdGEuYXJyYXlPcmlnaW5hbD10aGlzLnMucm93RGF0YS5hcnJheUZpbHRlcix0aGlzLnMucm93RGF0YS5iaW5zT3JpZ2luYWw9dGhpcy5zLnJvd0RhdGEuYmlucyx0aGlzLnMuZGlzcGxheWVkPSEwLHRoaXMucy5kdFBhbmUpe2Zvcih2YXIgeGU9dGhpcy5zLnNlcnZlclNlbGVjdCxJZT10aGlzLl9lbXB0eVBhbmUoKSxDZT0wLERlPXRoaXMucy5yb3dEYXRhLmFycmF5RmlsdGVyO0NlPERlLmxlbmd0aDtDZSsrKWlmKEI9RGVbQ2VdLHRoaXMuX3Nob3VsZEFkZFJvdyhCKSl7Uj10aGlzLmFkZFJvdyhCLmRpc3BsYXksQi5maWx0ZXIsQi5zb3J0LEIudHlwZSk7Zm9yKHZhciBMZT0wO0xlPHhlLmxlbmd0aDtMZSsrKWlmKEw9eGVbTGVdLEwuZmlsdGVyPT09Qi5maWx0ZXIpe3RoaXMucy5zZXJ2ZXJTZWxlY3Rpbmc9ITAsUi5zZWxlY3QoKSx0aGlzLnMuc2VydmVyU2VsZWN0aW5nPSExLHhlLnNwbGljZShMZSwxKSx0aGlzLnMuc2VsZWN0aW9ucy5wdXNoKEIuZmlsdGVyKTticmVha319Zm9yKHZhciBFZT0wLFllPXhlO0VlPFllLmxlbmd0aDtFZSsrKXtMPVllW0VlXTtmb3IodmFyIEplPTAsQT10aGlzLnMucm93RGF0YS5hcnJheU9yaWdpbmFsO0plPEEubGVuZ3RoO0plKyspQj1BW0plXSxCLmZpbHRlcj09PUwuZmlsdGVyJiYoUj10aGlzLmFkZFJvdyhCLmRpc3BsYXksQi5maWx0ZXIsQi5zb3J0LEIudHlwZSksdGhpcy5zLnNlcnZlclNlbGVjdGluZz0hMCxSLnNlbGVjdCgpLHRoaXMucy5zZXJ2ZXJTZWxlY3Rpbmc9ITEsdGhpcy5zLnNlbGVjdGlvbnMucHVzaChCLmZpbHRlcikpfXRoaXMucy5zZXJ2ZXJTZWxlY3Q9dGhpcy5zLmR0UGFuZS5yb3dzKHtzZWxlY3RlZDohMH0pLmRhdGEoKS50b0FycmF5KCksdGhpcy5zLmR0UGFuZS5kcmF3KCksSWUoKX19LFMucHJvdG90eXBlLnVwZGF0ZVJvd3M9ZnVuY3Rpb24oKXtpZighdGhpcy5zLmR0LnBhZ2UuaW5mbygpLnNlcnZlclNpZGUpe3RoaXMucy5yb3dEYXRhLmJpbnNTaG93bj17fTtmb3IodmFyIGs9MCxMPXRoaXMucy5kdC5yb3dzKHtzZWFyY2g6ImFwcGxpZWQifSkuaW5kZXhlcygpLnRvQXJyYXkoKTtrPEwubGVuZ3RoO2srKyl7dmFyIFI9TFtrXTt0aGlzLl91cGRhdGVTaG93bihSLHRoaXMucy5kdC5zZXR0aW5ncygpWzBdLHRoaXMucy5yb3dEYXRhLmJpbnNTaG93bil9fWZvcih2YXIgQj1mdW5jdGlvbihlZSl7ZWUuc2hvd249dHlwZW9mIEcucy5yb3dEYXRhLmJpbnNTaG93bltlZS5maWx0ZXJdPT0ibnVtYmVyIj9HLnMucm93RGF0YS5iaW5zU2hvd25bZWUuZmlsdGVyXTowLEcucy5kdFBhbmUucm93KGZ1bmN0aW9uKG5lLHhlKXtyZXR1cm4geGUmJnhlLmluZGV4PT09ZWUuaW5kZXh9KS5kYXRhKGVlKX0sRz10aGlzLE09MCxxPXRoaXMucy5kdFBhbmUucm93cygpLmRhdGEoKS50b0FycmF5KCk7TTxxLmxlbmd0aDtNKyspe3ZhciBhZT1xW01dO0IoYWUpfXRoaXMucy5kdFBhbmUuZHJhdygpLHRoaXMucy5kdFBhbmUudGFibGUoKS5ub2RlKCkucGFyZW50Tm9kZS5zY3JvbGxUb3A9dGhpcy5zLnNjcm9sbFRvcH0sUy5wcm90b3R5cGUuX21ha2VTZWxlY3Rpb249ZnVuY3Rpb24oKXt9LFMucHJvdG90eXBlLl9yZWxvYWRTZWxlY3Q9ZnVuY3Rpb24oKXt9LFMucHJvdG90eXBlLl9zaG91bGRBZGRSb3c9ZnVuY3Rpb24oayl7cmV0dXJuITB9LFMucHJvdG90eXBlLl91cGRhdGVTZWxlY3Rpb249ZnVuY3Rpb24oKXt0aGlzLnMuZHQucGFnZS5pbmZvKCkuc2VydmVyU2lkZSYmIXRoaXMucy51cGRhdGluZyYmIXRoaXMucy5zZXJ2ZXJTZWxlY3RpbmcmJih0aGlzLnMuc2VydmVyU2VsZWN0PXRoaXMucy5kdFBhbmUucm93cyh7c2VsZWN0ZWQ6ITB9KS5kYXRhKCkudG9BcnJheSgpKX0sUy5wcm90b3R5cGUuX3VwZGF0ZVNob3duPWZ1bmN0aW9uKGssTCxSKXtSPT09dm9pZCAwJiYoUj10aGlzLnMucm93RGF0YS5iaW5zU2hvd24pO3ZhciBCPXR5cGVvZiB0aGlzLnMuY29sT3B0cy5vcnRob2dvbmFsPT0ic3RyaW5nIj90aGlzLnMuY29sT3B0cy5vcnRob2dvbmFsOnRoaXMucy5jb2xPcHRzLm9ydGhvZ29uYWwuc2VhcmNoLEc9TC5mYXN0RGF0YT9MLmZhc3REYXRhOmZ1bmN0aW9uKHhlLEllLENlKXtyZXR1cm4gTC5vQXBpLl9mbkdldENlbGxEYXRhKEwseGUsSWUsQ2UpfSxNPUcoayx0aGlzLnMuaW5kZXgsQikscT1mdW5jdGlvbih4ZSl7Ult4ZV0/Ult4ZV0rKzpSW3hlXT0xfTtpZihBcnJheS5pc0FycmF5KE0pKWZvcih2YXIgYWU9MCxlZT1NO2FlPGVlLmxlbmd0aDthZSsrKXt2YXIgbmU9ZWVbYWVdO3EobmUpfWVsc2UgcShNKX0sU30pKHIpLHM9d2luZG93JiZ3aW5kb3cuX19leHRlbmRzfHwoZnVuY3Rpb24oKXt2YXIgXz1mdW5jdGlvbihTLGspe3JldHVybiBfPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihMLFIpe0wuX19wcm90b19fPVJ9fHxmdW5jdGlvbihMLFIpe2Zvcih2YXIgQiBpbiBSKVIuaGFzT3duUHJvcGVydHkoQikmJihMW0JdPVJbQl0pfSxfKFMsayl9O3JldHVybiBmdW5jdGlvbihTLGspe18oUyxrKTtmdW5jdGlvbiBMKCl7dGhpcy5jb25zdHJ1Y3Rvcj1TfVMucHJvdG90eXBlPWs9PT1udWxsP09iamVjdC5jcmVhdGUoayk6KEwucHJvdG90eXBlPWsucHJvdG90eXBlLG5ldyBMKX19KSgpLHU7ZnVuY3Rpb24gZChfKXt1PV99dmFyIG09KGZ1bmN0aW9uKF8pe3MoUyxfKTtmdW5jdGlvbiBTKGssTCxSLEIsRyl7dmFyIE09dGhpcyxxPXtpMThuOntjb3VudEZpbHRlcmVkOiJ7c2hvd259ICh7dG90YWx9KSJ9fTtyZXR1cm4gTT1fLmNhbGwodGhpcyxrLHUuZXh0ZW5kKHEsTCksUixCLEcpfHx0aGlzLE19cmV0dXJuIFMucHJvdG90eXBlLl9nZXRNZXNzYWdlPWZ1bmN0aW9uKGspe3ZhciBMPXRoaXMucy5kdC5pMThuKCJzZWFyY2hQYW5lcy5jb3VudCIsdGhpcy5jLmkxOG4uY291bnQpLFI9dGhpcy5zLmR0LmkxOG4oInNlYXJjaFBhbmVzLmNvdW50RmlsdGVyZWQiLHRoaXMuYy5pMThuLmNvdW50RmlsdGVyZWQpO3JldHVybih0aGlzLnMuZmlsdGVyaW5nQWN0aXZlP1I6TCkucmVwbGFjZSgve3RvdGFsfS9nLGsudG90YWwpLnJlcGxhY2UoL3tzaG93bn0vZyxrLnNob3duKX0sUy5wcm90b3R5cGUuX2dldFNob3duPWZ1bmN0aW9uKGspe3JldHVybiB0aGlzLnMucm93RGF0YS5iaW5zU2hvd24mJnRoaXMucy5yb3dEYXRhLmJpbnNTaG93bltrXT90aGlzLnMucm93RGF0YS5iaW5zU2hvd25ba106MH0sU30pKGEpLHY9d2luZG93JiZ3aW5kb3cuX19leHRlbmRzfHwoZnVuY3Rpb24oKXt2YXIgXz1mdW5jdGlvbihTLGspe3JldHVybiBfPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihMLFIpe0wuX19wcm90b19fPVJ9fHxmdW5jdGlvbihMLFIpe2Zvcih2YXIgQiBpbiBSKVIuaGFzT3duUHJvcGVydHkoQikmJihMW0JdPVJbQl0pfSxfKFMsayl9O3JldHVybiBmdW5jdGlvbihTLGspe18oUyxrKTtmdW5jdGlvbiBMKCl7dGhpcy5jb25zdHJ1Y3Rvcj1TfVMucHJvdG90eXBlPWs9PT1udWxsP09iamVjdC5jcmVhdGUoayk6KEwucHJvdG90eXBlPWsucHJvdG90eXBlLG5ldyBMKX19KSgpLGc7ZnVuY3Rpb24gdyhfKXtnPV99dmFyIGI9KGZ1bmN0aW9uKF8pe3YoUyxfKTtmdW5jdGlvbiBTKGssTCxSLEIsRyl7dmFyIE09dGhpcyxxPXtpMThuOntjb3VudDoie3Nob3dufSJ9fTtyZXR1cm4gTT1fLmNhbGwodGhpcyxrLGcuZXh0ZW5kKHEsTCksUixCLEcpfHx0aGlzLE19cmV0dXJuIFMucHJvdG90eXBlLnVwZGF0ZVJvd3M9ZnVuY3Rpb24oKXt2YXIgaz10aGlzLnMuZHRQYW5lLnJvd3Moe3NlbGVjdGVkOiEwfSkuZGF0YSgpLnRvQXJyYXkoKSxMO2lmKHRoaXMucy5jb2xPcHRzLm9wdGlvbnN8fHRoaXMucy5jdXN0b21QYW5lU2V0dGluZ3MmJnRoaXMucy5jdXN0b21QYW5lU2V0dGluZ3Mub3B0aW9ucyl7dGhpcy5fZ2V0Q29tcGFyaXNvblJvd3MoKTtmb3IodmFyIFI9dGhpcy5zLmR0UGFuZS5yb3dzKCkudG9BcnJheSgpWzBdLEI9MDtCPFIubGVuZ3RoO0IrKyl7dmFyIEc9dGhpcy5zLmR0UGFuZS5yb3coUltCXSksTT1HLmRhdGEoKTtpZihNIT09dm9pZCAwKXtpZihNLnNob3duPT09MCl7Ry5yZW1vdmUoKSxSPXRoaXMucy5kdFBhbmUucm93cygpLnRvQXJyYXkoKVswXSxCLS07Y29udGludWV9Zm9yKHZhciBxPTAsYWU9aztxPGFlLmxlbmd0aDtxKyspaWYoTD1hZVtxXSxNLmZpbHRlcj09PUwuZmlsdGVyKXtHLnNlbGVjdCgpLGsuc3BsaWNlKEIsMSksdGhpcy5zLnNlbGVjdGlvbnMucHVzaChNLmZpbHRlcik7YnJlYWt9fX19ZWxzZXtpZighdGhpcy5zLmR0LnBhZ2UuaW5mbygpLnNlcnZlclNpZGUpe3RoaXMuX2FjdGl2ZVBvcHVsYXRlUGFuZSgpLHRoaXMucy5yb3dEYXRhLmJpbnNTaG93bj17fTtmb3IodmFyIGVlPTAsbmU9dGhpcy5zLmR0LnJvd3Moe3NlYXJjaDoiYXBwbGllZCJ9KS5pbmRleGVzKCkudG9BcnJheSgpO2VlPG5lLmxlbmd0aDtlZSsrKXt2YXIgeGU9bmVbZWVdO3RoaXMuX3VwZGF0ZVNob3duKHhlLHRoaXMucy5kdC5zZXR0aW5ncygpWzBdLHRoaXMucy5yb3dEYXRhLmJpbnNTaG93bil9fXRoaXMucy5kdFBhbmUucm93cygpLnJlbW92ZSgpO2Zvcih2YXIgSWU9MCxDZT10aGlzLnMucm93RGF0YS5hcnJheUZpbHRlcjtJZTxDZS5sZW5ndGg7SWUrKyl7dmFyIERlPUNlW0llXTtpZihEZS5zaG93biE9PTApZm9yKHZhciBMZT10aGlzLmFkZFJvdyhEZS5kaXNwbGF5LERlLmZpbHRlcixEZS5zb3J0LERlLnR5cGUsdm9pZCAwKSxFZT0wO0VlPGsubGVuZ3RoO0VlKyspe3ZhciBZZT1rW0VlXTtpZihZZS5maWx0ZXI9PT1EZS5maWx0ZXIpe0xlLnNlbGVjdCgpLGsuc3BsaWNlKEVlLDEpLHRoaXMucy5zZWxlY3Rpb25zLnB1c2goRGUuZmlsdGVyKTticmVha319fWZvcih2YXIgSmU9MCxBPWs7SmU8QS5sZW5ndGg7SmUrKyl7TD1BW0plXTtmb3IodmFyIGRlPTAsbGU9dGhpcy5zLnJvd0RhdGEuYXJyYXlPcmlnaW5hbDtkZTxsZS5sZW5ndGg7ZGUrKyl7dmFyIHo9bGVbZGVdO2lmKHouZmlsdGVyPT09TC5maWx0ZXIpe3ZhciBqPXRoaXMuYWRkUm93KHouZGlzcGxheSx6LmZpbHRlcix6LnNvcnQsei50eXBlLHZvaWQgMCk7ai5zZWxlY3QoKSx0aGlzLnMuc2VsZWN0aW9ucy5wdXNoKHouZmlsdGVyKX19fX10aGlzLnMuZHRQYW5lLmRyYXcoKSx0aGlzLnMuZHRQYW5lLnRhYmxlKCkubm9kZSgpLnBhcmVudE5vZGUuc2Nyb2xsVG9wPXRoaXMucy5zY3JvbGxUb3AsdGhpcy5zLmR0LnBhZ2UuaW5mbygpLnNlcnZlclNpZGV8fHRoaXMucy5kdC5kcmF3KCExKX0sUy5wcm90b3R5cGUuX2FjdGl2ZVBvcHVsYXRlUGFuZT1mdW5jdGlvbigpe3RoaXMucy5yb3dEYXRhLmFycmF5RmlsdGVyPVtdLHRoaXMucy5yb3dEYXRhLmJpbnM9e307dmFyIGs9dGhpcy5zLmR0LnNldHRpbmdzKClbMF07aWYoIXRoaXMucy5kdC5wYWdlLmluZm8oKS5zZXJ2ZXJTaWRlKWZvcih2YXIgTD0wLFI9dGhpcy5zLmR0LnJvd3Moe3NlYXJjaDoiYXBwbGllZCJ9KS5pbmRleGVzKCkudG9BcnJheSgpO0w8Ui5sZW5ndGg7TCsrKXt2YXIgQj1SW0xdO3RoaXMuX3BvcHVsYXRlUGFuZUFycmF5KEIsdGhpcy5zLnJvd0RhdGEuYXJyYXlGaWx0ZXIsayl9fSxTLnByb3RvdHlwZS5fZ2V0Q29tcGFyaXNvblJvd3M9ZnVuY3Rpb24oKXt2YXIgaz10aGlzLnMuY29sT3B0cy5vcHRpb25zP3RoaXMucy5jb2xPcHRzLm9wdGlvbnM6dGhpcy5zLmN1c3RvbVBhbmVTZXR0aW5ncyYmdGhpcy5zLmN1c3RvbVBhbmVTZXR0aW5ncy5vcHRpb25zP3RoaXMucy5jdXN0b21QYW5lU2V0dGluZ3Mub3B0aW9uczp2b2lkIDA7aWYoayE9PXZvaWQgMCl7dmFyIEw9dGhpcy5zLmR0LnJvd3MoKSxSPXRoaXMucy5kdC5yb3dzKHtzZWFyY2g6ImFwcGxpZWQifSksQj1MLmRhdGEoKS50b0FycmF5KCksRz1SLmRhdGEoKS50b0FycmF5KCksTT1bXTt0aGlzLnMuZHRQYW5lLmNsZWFyKCksdGhpcy5zLmluZGV4ZXM9W107Zm9yKHZhciBxPTAsYWU9aztxPGFlLmxlbmd0aDtxKyspe3ZhciBlZT1hZVtxXSxuZT1lZS5sYWJlbCE9PSIiP2VlLmxhYmVsOnRoaXMuZW1wdHlNZXNzYWdlKCkseGU9e2NsYXNzTmFtZTplZS5jbGFzc05hbWUsZGlzcGxheTpuZSxmaWx0ZXI6dHlwZW9mIGVlLnZhbHVlPT0iZnVuY3Rpb24iP2VlLnZhbHVlOltdLHNob3duOjAsc29ydDpuZSx0b3RhbDowLHR5cGU6bmV9O2lmKHR5cGVvZiBlZS52YWx1ZT09ImZ1bmN0aW9uIil7Zm9yKHZhciBJZT0wO0llPEIubGVuZ3RoO0llKyspZWUudmFsdWUuY2FsbCh0aGlzLnMuZHQsQltJZV0sTFswXVtJZV0pJiZ4ZS50b3RhbCsrO2Zvcih2YXIgQ2U9MDtDZTxHLmxlbmd0aDtDZSsrKWVlLnZhbHVlLmNhbGwodGhpcy5zLmR0LEdbQ2VdLFJbMF1bQ2VdKSYmeGUuc2hvd24rKzt0eXBlb2YgeGUuZmlsdGVyIT0iZnVuY3Rpb24iJiZ4ZS5maWx0ZXIucHVzaChlZS5maWx0ZXIpfU0ucHVzaCh0aGlzLmFkZFJvdyh4ZS5kaXNwbGF5LHhlLmZpbHRlcix4ZS5zb3J0LHhlLnR5cGUseGUuY2xhc3NOYW1lLHhlLnRvdGFsLHhlLnNob3duKSl9cmV0dXJuIE19fSxTLnByb3RvdHlwZS5fZ2V0TWVzc2FnZT1mdW5jdGlvbihrKXtyZXR1cm4gdGhpcy5zLmR0LmkxOG4oInNlYXJjaFBhbmVzLmNvdW50Iix0aGlzLmMuaTE4bi5jb3VudCkucmVwbGFjZSgve3RvdGFsfS9nLGsudG90YWwpLnJlcGxhY2UoL3tzaG93bn0vZyxrLnNob3duKX0sUy5wcm90b3R5cGUuX2dldFNob3duPWZ1bmN0aW9uKGspe3JldHVybiB0aGlzLnMucm93RGF0YS5iaW5zU2hvd24mJnRoaXMucy5yb3dEYXRhLmJpbnNTaG93bltrXT90aGlzLnMucm93RGF0YS5iaW5zU2hvd25ba106MH0sUy5wcm90b3R5cGUuX3Nob3VsZEFkZFJvdz1mdW5jdGlvbihrKXtyZXR1cm4gay5zaG93bj4wfSxTfSkoYSksVD13aW5kb3cmJndpbmRvdy5fX2V4dGVuZHN8fChmdW5jdGlvbigpe3ZhciBfPWZ1bmN0aW9uKFMsayl7cmV0dXJuIF89T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKEwsUil7TC5fX3Byb3RvX189Un18fGZ1bmN0aW9uKEwsUil7Zm9yKHZhciBCIGluIFIpUi5oYXNPd25Qcm9wZXJ0eShCKSYmKExbQl09UltCXSl9LF8oUyxrKX07cmV0dXJuIGZ1bmN0aW9uKFMsayl7XyhTLGspO2Z1bmN0aW9uIEwoKXt0aGlzLmNvbnN0cnVjdG9yPVN9Uy5wcm90b3R5cGU9az09PW51bGw/T2JqZWN0LmNyZWF0ZShrKTooTC5wcm90b3R5cGU9ay5wcm90b3R5cGUsbmV3IEwpfX0pKCksRDtmdW5jdGlvbiBoKF8pe0Q9X312YXIgbD0oZnVuY3Rpb24oXyl7VChTLF8pO2Z1bmN0aW9uIFMoayxMLFIsQixHKXt2YXIgTT10aGlzLHE9e2kxOG46e2NvdW50OiJ7dG90YWx9Iixjb3VudEZpbHRlcmVkOiJ7c2hvd259ICh7dG90YWx9KSJ9fTtyZXR1cm4gTT1fLmNhbGwodGhpcyxrLEQuZXh0ZW5kKHEsTCksUixCLEcpfHx0aGlzLE19cmV0dXJuIFMucHJvdG90eXBlLl9hY3RpdmVQb3B1bGF0ZVBhbmU9ZnVuY3Rpb24oKXt0aGlzLnMucm93RGF0YS5hcnJheUZpbHRlcj1bXSx0aGlzLnMucm93RGF0YS5iaW5zU2hvd249e307dmFyIGs9dGhpcy5zLmR0LnNldHRpbmdzKClbMF07aWYoIXRoaXMucy5kdC5wYWdlLmluZm8oKS5zZXJ2ZXJTaWRlKWZvcih2YXIgTD0wLFI9dGhpcy5zLmR0LnJvd3Moe3NlYXJjaDoiYXBwbGllZCJ9KS5pbmRleGVzKCkudG9BcnJheSgpO0w8Ui5sZW5ndGg7TCsrKXt2YXIgQj1SW0xdO3RoaXMuX3BvcHVsYXRlUGFuZUFycmF5KEIsdGhpcy5zLnJvd0RhdGEuYXJyYXlGaWx0ZXIsayx0aGlzLnMucm93RGF0YS5iaW5zU2hvd24pfX0sUy5wcm90b3R5cGUuX2dldE1lc3NhZ2U9ZnVuY3Rpb24oayl7dmFyIEw9dGhpcy5zLmR0LmkxOG4oInNlYXJjaFBhbmVzLmNvdW50Iix0aGlzLmMuaTE4bi5jb3VudCksUj10aGlzLnMuZHQuaTE4bigic2VhcmNoUGFuZXMuY291bnRGaWx0ZXJlZCIsdGhpcy5jLmkxOG4uY291bnRGaWx0ZXJlZCk7cmV0dXJuKHRoaXMucy5maWx0ZXJpbmdBY3RpdmU/UjpMKS5yZXBsYWNlKC97dG90YWx9L2csay50b3RhbCkucmVwbGFjZSgve3Nob3dufS9nLGsuc2hvd24pfSxTfSkoYikscCxDO2Z1bmN0aW9uIEYoXyl7cD1fLEM9Xy5mbi5kYXRhVGFibGV9dmFyIFA9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gXyhTLGssTCxSKXt2YXIgQj10aGlzO2lmKEw9PT12b2lkIDAmJihMPSExKSxSPT09dm9pZCAwJiYoUj1yKSwhQ3x8IUMudmVyc2lvbkNoZWNrfHwhQy52ZXJzaW9uQ2hlY2soIjEuMTAuMCIpKXRocm93IG5ldyBFcnJvcigiU2VhcmNoUGFuZSByZXF1aXJlcyBEYXRhVGFibGVzIDEuMTAgb3IgbmV3ZXIiKTtpZighQy5zZWxlY3QpdGhyb3cgbmV3IEVycm9yKCJTZWFyY2hQYW5lIHJlcXVpcmVzIFNlbGVjdCIpO3ZhciBHPW5ldyBDLkFwaShTKTtpZih0aGlzLmNsYXNzZXM9cC5leHRlbmQoITAse30sXy5jbGFzc2VzKSx0aGlzLmM9cC5leHRlbmQoITAse30sXy5kZWZhdWx0cyxrKSx0aGlzLmRvbT17Y2xlYXJBbGw6cCgnPGJ1dHRvbiB0eXBlPSJidXR0b24iLz4nKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMuY2xlYXJBbGwpLmh0bWwoRy5pMThuKCJzZWFyY2hQYW5lcy5jbGVhck1lc3NhZ2UiLHRoaXMuYy5pMThuLmNsZWFyTWVzc2FnZSkpLGNvbGxhcHNlQWxsOnAoJzxidXR0b24gdHlwZT0iYnV0dG9uIi8+JykuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmNvbGxhcHNlQWxsKS5odG1sKEcuaTE4bigic2VhcmNoUGFuZXMuY29sbGFwc2VNZXNzYWdlIix0aGlzLmMuaTE4bi5jb2xsYXBzZU1lc3NhZ2UpKSxjb250YWluZXI6cCgiPGRpdi8+IikuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLnBhbmVzKS5odG1sKEcuaTE4bigic2VhcmNoUGFuZXMubG9hZE1lc3NhZ2UiLHRoaXMuYy5pMThuLmxvYWRNZXNzYWdlKSksZW1wdHlNZXNzYWdlOnAoIjxkaXYvPiIpLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5lbXB0eU1lc3NhZ2UpLHBhbmVzOnAoIjxkaXYvPiIpLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5jb250YWluZXIpLHNob3dBbGw6cCgnPGJ1dHRvbiB0eXBlPSJidXR0b24iLz4nKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMuc2hvd0FsbCkuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmRpc2FibGVkQnV0dG9uKS5hdHRyKCJkaXNhYmxlZCIsInRydWUiKS5odG1sKEcuaTE4bigic2VhcmNoUGFuZXMuc2hvd01lc3NhZ2UiLHRoaXMuYy5pMThuLnNob3dNZXNzYWdlKSksdGl0bGU6cCgiPGRpdi8+IikuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLnRpdGxlKSx0aXRsZVJvdzpwKCI8ZGl2Lz4iKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMudGl0bGVSb3cpfSx0aGlzLnM9e2NvbE9wdHM6W10sZHQ6RyxmaWx0ZXJDb3VudDowLG1pblBhbmVXaWR0aDoyNjAscGFnZTowLHBhZ2luZzohMSxwYWdpbmdTVDohMSxwYW5lQ2xhc3M6UixwYW5lczpbXSxzZWxlY3Rpb25MaXN0OltdLHNlcnZlckRhdGE6e30sc3RhdGVSZWFkOiExLHVwZGF0aW5nOiExfSwhRy5zZXR0aW5ncygpWzBdLl9zZWFyY2hQYW5lcyl7aWYocChkb2N1bWVudCkub24oImRyYXcuZHQiLGZ1bmN0aW9uKHEpe0IuZG9tLmNvbnRhaW5lci5maW5kKHEudGFyZ2V0KS5sZW5ndGgmJkIuX3VwZGF0ZUZpbHRlckNvdW50KCl9KSx0aGlzLl9nZXRTdGF0ZSgpLHRoaXMucy5kdC5wYWdlLmluZm8oKS5zZXJ2ZXJTaWRlKXt2YXIgTT10aGlzLnMuZHQuc2V0dGluZ3MoKVswXTt0aGlzLnMuZHQub24oInByZVhoci5kdHNwcyIsZnVuY3Rpb24ocSxhZSxlZSl7aWYoTT09PWFlKXtlZS5zZWFyY2hQYW5lcz09PXZvaWQgMCYmKGVlLnNlYXJjaFBhbmVzPXt9KSxlZS5zZWFyY2hQYW5lc19udWxsPT09dm9pZCAwJiYoZWUuc2VhcmNoUGFuZXNfbnVsbD17fSk7Zm9yKHZhciBuZSx4ZT0wLEllPUIucy5zZWxlY3Rpb25MaXN0O3hlPEllLmxlbmd0aDt4ZSsrKXt2YXIgQ2U9SWVbeGVdO25lPUIucy5kdC5jb2x1bW4oQ2UuY29sdW1uKS5kYXRhU3JjKCksZWUuc2VhcmNoUGFuZXNbbmVdPT09dm9pZCAwJiYoZWUuc2VhcmNoUGFuZXNbbmVdPXt9KSxlZS5zZWFyY2hQYW5lc19udWxsW25lXT09PXZvaWQgMCYmKGVlLnNlYXJjaFBhbmVzX251bGxbbmVdPXt9KTtmb3IodmFyIERlPTA7RGU8Q2Uucm93cy5sZW5ndGg7RGUrKyllZS5zZWFyY2hQYW5lc1tuZV1bRGVdPUNlLnJvd3NbRGVdLGVlLnNlYXJjaFBhbmVzW25lXVtEZV09PT1udWxsP2VlLnNlYXJjaFBhbmVzX251bGxbbmVdW0RlXT0hMDplZS5zZWFyY2hQYW5lc19udWxsW25lXVtEZV09ITF9Qi5zLnNlbGVjdGlvbkxpc3QubGVuZ3RoPjAmJihlZS5zZWFyY2hQYW5lc0xhc3Q9bmUpLGVlLnNlYXJjaFBhbmVzX29wdGlvbnM9e2Nhc2NhZGU6Qi5jLmNhc2NhZGVQYW5lcyx2aWV3Q291bnQ6Qi5jLnZpZXdDb3VudCx2aWV3VG90YWw6Qi5jLnZpZXdUb3RhbH19fSl9cmV0dXJuIHRoaXMuX3NldFhIUigpLEcuc2V0dGluZ3MoKVswXS5fc2VhcmNoUGFuZXM9dGhpcyx0aGlzLnMuZHQuc2V0dGluZ3MoKVswXS5fYkluaXRDb21wbGV0ZXx8TD90aGlzLl9wYW5lRGVjbGFyZShHLFMsayk6Ry5vbmUoInByZUluaXQuZHRzcHMiLGZ1bmN0aW9uKCl7Qi5fcGFuZURlY2xhcmUoRyxTLGspfSksdGhpc319cmV0dXJuIF8ucHJvdG90eXBlLmNsZWFyU2VsZWN0aW9ucz1mdW5jdGlvbigpe2Zvcih2YXIgUyxrPTAsTD10aGlzLnMucGFuZXM7azxMLmxlbmd0aDtrKyspUz1MW2tdLFMucy5kdFBhbmUmJihTLnMuc2Nyb2xsVG9wPVMucy5kdFBhbmUudGFibGUoKS5ub2RlKCkucGFyZW50Tm9kZS5zY3JvbGxUb3ApO3ZhciBSPXRoaXMuZG9tLmNvbnRhaW5lci5maW5kKCIuIit0aGlzLmNsYXNzZXMuc2VhcmNoLnJlcGxhY2UoL1xzKy9nLCIuIikpO1IuZWFjaChmdW5jdGlvbigpe3AodGhpcykudmFsKCIiKS50cmlnZ2VyKCJpbnB1dCIpfSksdGhpcy5zLnNlbGVjdGlvbkxpc3Q9W107Zm9yKHZhciBCPVtdLEc9MCxNPXRoaXMucy5wYW5lcztHPE0ubGVuZ3RoO0crKylTPU1bR10sUy5zLmR0UGFuZSYmQi5wdXNoKFMuY2xlYXJQYW5lKCkpO3JldHVybiBCfSxfLnByb3RvdHlwZS5nZXROb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tLmNvbnRhaW5lcn0sXy5wcm90b3R5cGUucmVidWlsZD1mdW5jdGlvbihTLGspe1M9PT12b2lkIDAmJihTPSExKSxrPT09dm9pZCAwJiYoaz0hMSksdGhpcy5kb20uZW1wdHlNZXNzYWdlLmRldGFjaCgpLFM9PT0hMSYmdGhpcy5kb20ucGFuZXMuZW1wdHkoKTtmb3IodmFyIEw9W10sUj0wLEI9dGhpcy5zLnBhbmVzO1I8Qi5sZW5ndGg7UisrKXt2YXIgRz1CW1JdOyhTPT09ITF8fEcucy5pbmRleD09PVMpJiYoRy5jbGVhckRhdGEoKSxHLnJlYnVpbGRQYW5lKHRoaXMucy5kdC5wYWdlLmluZm8oKS5zZXJ2ZXJTaWRlP3RoaXMucy5zZXJ2ZXJEYXRhOnZvaWQgMCxrKSx0aGlzLmRvbS5wYW5lcy5hcHBlbmQoRy5kb20uY29udGFpbmVyKSxMLnB1c2goRykpfXJldHVybiB0aGlzLl91cGRhdGVTZWxlY3Rpb24oKSx0aGlzLl91cGRhdGVGaWx0ZXJDb3VudCgpLHRoaXMuX2F0dGFjaFBhbmVDb250YWluZXIoKSx0aGlzLl9pbml0U2VsZWN0aW9uTGlzdGVuZXJzKCExKSx0aGlzLnMuZHQuZHJhdyghayksdGhpcy5yZXNpemVQYW5lcygpLEwubGVuZ3RoPT09MT9MWzBdOkx9LF8ucHJvdG90eXBlLnJlc2l6ZVBhbmVzPWZ1bmN0aW9uKCl7dmFyIFM7aWYodGhpcy5jLmxheW91dD09PSJhdXRvIil7Zm9yKHZhciBrPXAodGhpcy5zLmR0LnNlYXJjaFBhbmVzLmNvbnRhaW5lcigpKS53aWR0aCgpLEw9TWF0aC5mbG9vcihrL3RoaXMucy5taW5QYW5lV2lkdGgpLFI9MSxCPTAsRz1bXSxNPTAscT10aGlzLnMucGFuZXM7TTxxLmxlbmd0aDtNKyspUz1xW01dLFMucy5kaXNwbGF5ZWQmJkcucHVzaChTLnMuaW5kZXgpO3ZhciBhZT1HLmxlbmd0aDtpZihMPT09YWUpUj1MO2Vsc2UgZm9yKHZhciBlZT1MO2VlPjE7ZWUtLSl7dmFyIG5lPWFlJWVlO2lmKG5lPT09MCl7Uj1lZSxCPTA7YnJlYWt9ZWxzZSBuZT5CJiYoUj1lZSxCPW5lKX12YXIgeGU9QiE9PTA/Ry5zbGljZShHLmxlbmd0aC1CLEcubGVuZ3RoKTpbXTt0aGlzLnMucGFuZXMuZm9yRWFjaChmdW5jdGlvbihEZSl7RGUucy5kaXNwbGF5ZWQmJkRlLnJlc2l6ZSgiY29sdW1ucy0iKyh4ZS5pbmNsdWRlcyhEZS5zLmluZGV4KT9COlIpKX0pfWVsc2UgZm9yKHZhciBJZT0wLENlPXRoaXMucy5wYW5lcztJZTxDZS5sZW5ndGg7SWUrKylTPUNlW0llXSxTLmFkanVzdFRvcFJvdygpO3JldHVybiB0aGlzfSxfLnByb3RvdHlwZS5faW5pdFNlbGVjdGlvbkxpc3RlbmVycz1mdW5jdGlvbihTKXt9LF8ucHJvdG90eXBlLl9zZXJ2ZXJUb3RhbHM9ZnVuY3Rpb24oKXt9LF8ucHJvdG90eXBlLl9zZXRYSFI9ZnVuY3Rpb24oKXt2YXIgUz10aGlzLGs9dGhpcy5zLmR0LnNldHRpbmdzKClbMF0sTD1mdW5jdGlvbihSKXtSJiZSLnNlYXJjaFBhbmVzJiZSLnNlYXJjaFBhbmVzLm9wdGlvbnMmJihTLnMuc2VydmVyRGF0YT1SLFMucy5zZXJ2ZXJEYXRhLnRhYmxlTGVuZ3RoPVIucmVjb3Jkc1RvdGFsLFMuX3NlcnZlclRvdGFscygpKX07dGhpcy5zLmR0Lm9uKCJ4aHIuZHRzcHMiLGZ1bmN0aW9uKFIsQixHKXtrPT09QiYmTChHKX0pLEwodGhpcy5zLmR0LmFqYXguanNvbigpKX0sXy5wcm90b3R5cGUuX3N0YXRlTG9hZExpc3RlbmVyPWZ1bmN0aW9uKCl7dmFyIFM9dGhpcyxrPXRoaXMucy5kdC5zZXR0aW5ncygpWzBdO3RoaXMucy5kdC5vbigic3RhdGVMb2FkUGFyYW1zLmR0c3BzIixmdW5jdGlvbihMLFIsQil7aWYoIShCLnNlYXJjaFBhbmVzPT09dm9pZCAwfHxSIT09aykpe2lmKFMuY2xlYXJTZWxlY3Rpb25zKCksUy5zLnNlbGVjdGlvbkxpc3Q9Qi5zZWFyY2hQYW5lcy5zZWxlY3Rpb25MaXN0P0Iuc2VhcmNoUGFuZXMuc2VsZWN0aW9uTGlzdDpbXSxCLnNlYXJjaFBhbmVzLnBhbmVzKWZvcih2YXIgRz0wLE09Qi5zZWFyY2hQYW5lcy5wYW5lcztHPE0ubGVuZ3RoO0crKylmb3IodmFyIHE9TVtHXSxhZT0wLGVlPVMucy5wYW5lczthZTxlZS5sZW5ndGg7YWUrKyl7dmFyIG5lPWVlW2FlXTtxLmlkPT09bmUucy5pbmRleCYmbmUucy5kdFBhbmUmJihuZS5kb20uc2VhcmNoQm94LnZhbChxLnNlYXJjaFRlcm0pLG5lLnMuZHRQYW5lLm9yZGVyKHEub3JkZXIpKX1TLl9tYWtlU2VsZWN0aW9ucyhTLnMuc2VsZWN0aW9uTGlzdCl9fSl9LF8ucHJvdG90eXBlLl91cGRhdGVTZWxlY3Rpb249ZnVuY3Rpb24oKXt0aGlzLnMuc2VsZWN0aW9uTGlzdD1bXTtmb3IodmFyIFM9MCxrPXRoaXMucy5wYW5lcztTPGsubGVuZ3RoO1MrKyl7dmFyIEw9a1tTXTtpZihMLnMuZHRQYW5lKXt2YXIgUj1MLnMuZHRQYW5lLnJvd3Moe3NlbGVjdGVkOiEwfSkuZGF0YSgpLnRvQXJyYXkoKS5tYXAoZnVuY3Rpb24oQil7cmV0dXJuIEIuZmlsdGVyfSk7Ui5sZW5ndGgmJnRoaXMucy5zZWxlY3Rpb25MaXN0LnB1c2goe2NvbHVtbjpMLnMuaW5kZXgscm93czpSfSl9fX0sXy5wcm90b3R5cGUuX2F0dGFjaD1mdW5jdGlvbigpe3ZhciBTPXRoaXM7dGhpcy5kb20udGl0bGVSb3cucmVtb3ZlQ2xhc3ModGhpcy5jbGFzc2VzLmhpZGUpLmRldGFjaCgpLmFwcGVuZCh0aGlzLmRvbS50aXRsZSksdGhpcy5jLmNsZWFyJiZ0aGlzLmRvbS5jbGVhckFsbC5hcHBlbmRUbyh0aGlzLmRvbS50aXRsZVJvdykub2ZmKCJjbGljay5kdHNwcyIpLm9uKCJjbGljay5kdHNwcyIsZnVuY3Rpb24oKXtyZXR1cm4gUy5jbGVhclNlbGVjdGlvbnMoKX0pLHRoaXMuYy5jb2xsYXBzZSYmKHRoaXMuZG9tLnNob3dBbGwuYXBwZW5kVG8odGhpcy5kb20udGl0bGVSb3cpLHRoaXMuZG9tLmNvbGxhcHNlQWxsLmFwcGVuZFRvKHRoaXMuZG9tLnRpdGxlUm93KSx0aGlzLl9zZXRDb2xsYXBzZUxpc3RlbmVyKCkpO2Zvcih2YXIgaz0wLEw9dGhpcy5zLnBhbmVzO2s8TC5sZW5ndGg7aysrKXt2YXIgUj1MW2tdO3RoaXMuZG9tLnBhbmVzLmFwcGVuZChSLmRvbS5jb250YWluZXIpfXRoaXMuZG9tLmNvbnRhaW5lclswXS5jaGlsZE5vZGVzLmZvckVhY2goZnVuY3Rpb24oQil7cmV0dXJuIEIucmVtb3ZlKCl9KSx0aGlzLmRvbS5jb250YWluZXIucmVtb3ZlQ2xhc3ModGhpcy5jbGFzc2VzLmhpZGUpLmFwcGVuZCh0aGlzLmRvbS50aXRsZVJvdykuYXBwZW5kKHRoaXMuZG9tLnBhbmVzKSx0aGlzLnMucGFuZXMuZm9yRWFjaChmdW5jdGlvbihCKXtyZXR1cm4gQi5zZXRMaXN0ZW5lcnMoKX0pLHAoImRpdi4iK3RoaXMuY2xhc3Nlcy5jb250YWluZXIpLmxlbmd0aD09PTAmJnRoaXMuZG9tLmNvbnRhaW5lci5wcmVwZW5kVG8odGhpcy5zLmR0KX0sXy5wcm90b3R5cGUuX2F0dGFjaE1lc3NhZ2U9ZnVuY3Rpb24oKXt2YXIgUzt0cnl7Uz10aGlzLnMuZHQuaTE4bigic2VhcmNoUGFuZXMuZW1wdHlQYW5lcyIsdGhpcy5jLmkxOG4uZW1wdHlQYW5lcyl9Y2F0Y2h7Uz1udWxsfWlmKFM9PT1udWxsKXt0aGlzLmRvbS5jb250YWluZXIuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmhpZGUpLHRoaXMuZG9tLnRpdGxlUm93LnJlbW92ZUNsYXNzKHRoaXMuY2xhc3Nlcy5oaWRlKTtyZXR1cm59dGhpcy5kb20uY29udGFpbmVyLnJlbW92ZUNsYXNzKHRoaXMuY2xhc3Nlcy5oaWRlKSx0aGlzLmRvbS50aXRsZVJvdy5hZGRDbGFzcyh0aGlzLmNsYXNzZXMuaGlkZSksdGhpcy5kb20uZW1wdHlNZXNzYWdlLmh0bWwoUykuYXBwZW5kVG8odGhpcy5kb20uY29udGFpbmVyKX0sXy5wcm90b3R5cGUuX2F0dGFjaFBhbmVDb250YWluZXI9ZnVuY3Rpb24oKXtmb3IodmFyIFM9MCxrPXRoaXMucy5wYW5lcztTPGsubGVuZ3RoO1MrKyl7dmFyIEw9a1tTXTtpZihMLnMuZGlzcGxheWVkPT09ITApe3RoaXMuX2F0dGFjaCgpO3JldHVybn19dGhpcy5fYXR0YWNoTWVzc2FnZSgpfSxfLnByb3RvdHlwZS5fY2hlY2tDb2xsYXBzZT1mdW5jdGlvbigpe2Zvcih2YXIgUz0hMCxrPSEwLEw9MCxSPXRoaXMucy5wYW5lcztMPFIubGVuZ3RoO0wrKyl7dmFyIEI9UltMXTtCLnMuZGlzcGxheWVkJiYoQi5kb20uY29sbGFwc2VCdXR0b24uaGFzQ2xhc3MoQi5jbGFzc2VzLnJvdGF0ZWQpPyh0aGlzLmRvbS5zaG93QWxsLnJlbW92ZUNsYXNzKHRoaXMuY2xhc3Nlcy5kaXNhYmxlZEJ1dHRvbikucmVtb3ZlQXR0cigiZGlzYWJsZWQiKSxrPSExKToodGhpcy5kb20uY29sbGFwc2VBbGwucmVtb3ZlQ2xhc3ModGhpcy5jbGFzc2VzLmRpc2FibGVkQnV0dG9uKS5yZW1vdmVBdHRyKCJkaXNhYmxlZCIpLFM9ITEpKX1TJiZ0aGlzLmRvbS5jb2xsYXBzZUFsbC5hZGRDbGFzcyh0aGlzLmNsYXNzZXMuZGlzYWJsZWRCdXR0b24pLmF0dHIoImRpc2FibGVkIiwidHJ1ZSIpLGsmJnRoaXMuZG9tLnNob3dBbGwuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmRpc2FibGVkQnV0dG9uKS5hdHRyKCJkaXNhYmxlZCIsInRydWUiKX0sXy5wcm90b3R5cGUuX2NoZWNrTWVzc2FnZT1mdW5jdGlvbigpe2Zvcih2YXIgUz0wLGs9dGhpcy5zLnBhbmVzO1M8ay5sZW5ndGg7UysrKXt2YXIgTD1rW1NdO2lmKEwucy5kaXNwbGF5ZWQ9PT0hMCl7dGhpcy5kb20uZW1wdHlNZXNzYWdlLmRldGFjaCgpLHRoaXMuZG9tLnRpdGxlUm93LnJlbW92ZUNsYXNzKHRoaXMuY2xhc3Nlcy5oaWRlKTtyZXR1cm59fXRoaXMuX2F0dGFjaE1lc3NhZ2UoKX0sXy5wcm90b3R5cGUuX2NvbGxhcHNlQWxsPWZ1bmN0aW9uKCl7Zm9yKHZhciBTPTAsaz10aGlzLnMucGFuZXM7UzxrLmxlbmd0aDtTKyspe3ZhciBMPWtbU107TC5jb2xsYXBzZSgpfX0sXy5wcm90b3R5cGUuX2ZpbmRQYW5lPWZ1bmN0aW9uKFMpe2Zvcih2YXIgaz0wLEw9dGhpcy5zLnBhbmVzO2s8TC5sZW5ndGg7aysrKXt2YXIgUj1MW2tdO2lmKFM9PT1SLnMubmFtZSlyZXR1cm4gUn19LF8ucHJvdG90eXBlLl9nZXRTdGF0ZT1mdW5jdGlvbigpe3ZhciBTPXRoaXMucy5kdC5zdGF0ZS5sb2FkZWQoKTtTJiZTLnNlYXJjaFBhbmVzJiZTLnNlYXJjaFBhbmVzLnNlbGVjdGlvbkxpc3QmJih0aGlzLnMuc2VsZWN0aW9uTGlzdD1TLnNlYXJjaFBhbmVzLnNlbGVjdGlvbkxpc3QpfSxfLnByb3RvdHlwZS5fbWFrZVNlbGVjdGlvbnM9ZnVuY3Rpb24oUyl7Zm9yKHZhciBrPTAsTD1TO2s8TC5sZW5ndGg7aysrKXtmb3IodmFyIFI9TFtrXSxCPXZvaWQgMCxHPTAsTT10aGlzLnMucGFuZXM7RzxNLmxlbmd0aDtHKyspe3ZhciBxPU1bR107aWYocS5zLmluZGV4PT09Ui5jb2x1bW4pe0I9cTticmVha319aWYoQiYmQi5zLmR0UGFuZSl7Zm9yKHZhciBhZT0wO2FlPEIucy5kdFBhbmUucm93cygpLmRhdGEoKS50b0FycmF5KCkubGVuZ3RoO2FlKyspUi5yb3dzLmluY2x1ZGVzKHR5cGVvZiBCLnMuZHRQYW5lLnJvdyhhZSkuZGF0YSgpLmZpbHRlcj09ImZ1bmN0aW9uIj9CLnMuZHRQYW5lLmNlbGwoYWUsMCkuZGF0YSgpOkIucy5kdFBhbmUucm93KGFlKS5kYXRhKCkuZmlsdGVyKSYmQi5zLmR0UGFuZS5yb3coYWUpLnNlbGVjdCgpO0IudXBkYXRlVGFibGUoKX19fSxfLnByb3RvdHlwZS5fcGFuZURlY2xhcmU9ZnVuY3Rpb24oUyxrLEwpe3ZhciBSPXRoaXM7Uy5jb2x1bW5zKHRoaXMuYy5jb2x1bW5zLmxlbmd0aD4wP3RoaXMuYy5jb2x1bW5zOnZvaWQgMCkuZXEoMCkuZWFjaChmdW5jdGlvbihxKXtSLnMucGFuZXMucHVzaChuZXcgUi5zLnBhbmVDbGFzcyhrLEwscSxSLmRvbS5wYW5lcykpfSk7Zm9yKHZhciBCPVMuY29sdW1ucygpLmVxKDApLnRvQXJyYXkoKS5sZW5ndGgsRz0wO0c8dGhpcy5jLnBhbmVzLmxlbmd0aDtHKyspe3ZhciBNPUIrRzt0aGlzLnMucGFuZXMucHVzaChuZXcgdGhpcy5zLnBhbmVDbGFzcyhrLEwsTSx0aGlzLmRvbS5wYW5lcyx0aGlzLmMucGFuZXNbR10pKX10aGlzLmMub3JkZXIubGVuZ3RoPjAmJih0aGlzLnMucGFuZXM9dGhpcy5jLm9yZGVyLm1hcChmdW5jdGlvbihxKXtyZXR1cm4gUi5fZmluZFBhbmUocSl9KSksdGhpcy5zLmR0LnNldHRpbmdzKClbMF0uX2JJbml0Q29tcGxldGU/dGhpcy5fc3RhcnR1cChTKTpDLnZlcnNpb25DaGVjaygiMiIpP3RoaXMucy5kdC5zZXR0aW5ncygpWzBdLmFvSW5pdENvbXBsZXRlLnB1c2goZnVuY3Rpb24oKXtyZXR1cm4gUi5fc3RhcnR1cChTKX0pOnRoaXMucy5kdC5zZXR0aW5ncygpWzBdLmFvSW5pdENvbXBsZXRlLnB1c2goe2ZuOmZ1bmN0aW9uKCl7cmV0dXJuIFIuX3N0YXJ0dXAoUyl9fSl9LF8ucHJvdG90eXBlLl9zZXRDb2xsYXBzZUxpc3RlbmVyPWZ1bmN0aW9uKCl7dmFyIFM9dGhpczt0aGlzLmRvbS5jb2xsYXBzZUFsbC5vZmYoImNsaWNrLmR0c3BzIikub24oImNsaWNrLmR0c3BzIixmdW5jdGlvbigpe1MuX2NvbGxhcHNlQWxsKCksUy5kb20uY29sbGFwc2VBbGwuYWRkQ2xhc3MoUy5jbGFzc2VzLmRpc2FibGVkQnV0dG9uKS5hdHRyKCJkaXNhYmxlZCIsInRydWUiKSxTLmRvbS5zaG93QWxsLnJlbW92ZUNsYXNzKFMuY2xhc3Nlcy5kaXNhYmxlZEJ1dHRvbikucmVtb3ZlQXR0cigiZGlzYWJsZWQiKSxTLnMuZHQuc3RhdGUuc2F2ZSgpfSksdGhpcy5kb20uc2hvd0FsbC5vZmYoImNsaWNrLmR0c3BzIikub24oImNsaWNrLmR0c3BzIixmdW5jdGlvbigpe1MuX3Nob3dBbGwoKSxTLmRvbS5zaG93QWxsLmFkZENsYXNzKFMuY2xhc3Nlcy5kaXNhYmxlZEJ1dHRvbikuYXR0cigiZGlzYWJsZWQiLCJ0cnVlIiksUy5kb20uY29sbGFwc2VBbGwucmVtb3ZlQ2xhc3MoUy5jbGFzc2VzLmRpc2FibGVkQnV0dG9uKS5yZW1vdmVBdHRyKCJkaXNhYmxlZCIpLFMucy5kdC5zdGF0ZS5zYXZlKCl9KTtmb3IodmFyIGs9MCxMPXRoaXMucy5wYW5lcztrPEwubGVuZ3RoO2srKyl7dmFyIFI9TFtrXTtSLmRvbS50b3BSb3cub2ZmKCJjb2xsYXBzZS5kdHNwcyIpLm9uKCJjb2xsYXBzZS5kdHNwcyIsZnVuY3Rpb24oKXtyZXR1cm4gUy5fY2hlY2tDb2xsYXBzZSgpfSl9dGhpcy5fY2hlY2tDb2xsYXBzZSgpfSxfLnByb3RvdHlwZS5fc2hvd0FsbD1mdW5jdGlvbigpe2Zvcih2YXIgUz0wLGs9dGhpcy5zLnBhbmVzO1M8ay5sZW5ndGg7UysrKXt2YXIgTD1rW1NdO0wuc2hvdygpfX0sXy5wcm90b3R5cGUuX3N0YXJ0dXA9ZnVuY3Rpb24oUyl7dmFyIGs9dGhpczt0aGlzLl9hdHRhY2goKSx0aGlzLmRvbS5wYW5lcy5lbXB0eSgpO2Zvcih2YXIgTD10aGlzLnMuZHQuc2V0dGluZ3MoKVswXSxSPTAsQj10aGlzLnMucGFuZXM7UjxCLmxlbmd0aDtSKyspe3ZhciBHPUJbUl07Ry5yZWJ1aWxkUGFuZShPYmplY3Qua2V5cyh0aGlzLnMuc2VydmVyRGF0YSkubGVuZ3RoPjA/dGhpcy5zLnNlcnZlckRhdGE6dm9pZCAwKSx0aGlzLmRvbS5wYW5lcy5hcHBlbmQoRy5kb20uY29udGFpbmVyKX10aGlzLmMubGF5b3V0PT09ImF1dG8iJiZ0aGlzLnJlc2l6ZVBhbmVzKCk7dmFyIE09dGhpcy5zLmR0LnN0YXRlLmxvYWRlZCgpOyF0aGlzLnMuc3RhdGVSZWFkJiZNJiZ0aGlzLnMuZHQucGFnZShNLnN0YXJ0L3RoaXMucy5kdC5wYWdlLmxlbigpKS5kcmF3KCJwYWdlIiksdGhpcy5zLnN0YXRlUmVhZD0hMCx0aGlzLl9jaGVja01lc3NhZ2UoKSxTLm9uKCJwcmVEcmF3LmR0c3BzIixmdW5jdGlvbigpeyFrLnMudXBkYXRpbmcmJiFrLnMucGFnaW5nJiYoay5fdXBkYXRlRmlsdGVyQ291bnQoKSxrLl91cGRhdGVTZWxlY3Rpb24oKSksay5zLnBhZ2luZz0hMX0pLHAod2luZG93KS5vbigicmVzaXplLmR0c3BzIixDLnV0aWwudGhyb3R0bGUoZnVuY3Rpb24oKXtyZXR1cm4gay5yZXNpemVQYW5lcygpfSkpLHRoaXMucy5kdC5vbigic3RhdGVTYXZlUGFyYW1zLmR0c3BzIixmdW5jdGlvbihhZSxlZSxuZSl7ZWU9PT1MJiYobmUuc2VhcmNoUGFuZXM9PT12b2lkIDAmJihuZS5zZWFyY2hQYW5lcz17fSksbmUuc2VhcmNoUGFuZXMuc2VsZWN0aW9uTGlzdD1rLnMuc2VsZWN0aW9uTGlzdCl9KSx0aGlzLl9zdGF0ZUxvYWRMaXN0ZW5lcigpLFMub2ZmKCJwYWdlLmR0c3BzIHBhZ2UtbmMuZHRzcHMiKS5vbigicGFnZS5kdHNwcyBwYWdlLW5jLmR0c3BzIixmdW5jdGlvbihhZSxlZSl7ay5zLnBhZ2luZz0hMCxrLnMucGFnaW5nU1Q9ITAsay5zLnBhZ2U9ay5zLmR0LnBhZ2UoKX0pLHRoaXMucy5kdC5wYWdlLmluZm8oKS5zZXJ2ZXJTaWRlP1Mub2ZmKCJwcmVYaHIuZHRzcHMiKS5vbigicHJlWGhyLmR0c3BzIixmdW5jdGlvbihhZSxlZSxuZSl7aWYoZWU9PT1MKXtuZS5zZWFyY2hQYW5lc3x8KG5lLnNlYXJjaFBhbmVzPXt9KSxuZS5zZWFyY2hQYW5lc19udWxsfHwobmUuc2VhcmNoUGFuZXNfbnVsbD17fSk7Zm9yKHZhciB4ZT0wLEllPTAsQ2U9ay5zLnBhbmVzO0llPENlLmxlbmd0aDtJZSsrKXt2YXIgRGU9Q2VbSWVdLExlPWsucy5kdC5jb2x1bW4oRGUucy5pbmRleCkuZGF0YVNyYygpO2lmKG5lLnNlYXJjaFBhbmVzW0xlXXx8KG5lLnNlYXJjaFBhbmVzW0xlXT17fSksbmUuc2VhcmNoUGFuZXNfbnVsbFtMZV18fChuZS5zZWFyY2hQYW5lc19udWxsW0xlXT17fSksRGUucy5kdFBhbmUpZm9yKHZhciBFZT1EZS5zLmR0UGFuZS5yb3dzKHtzZWxlY3RlZDohMH0pLmRhdGEoKS50b0FycmF5KCksWWU9MDtZZTxFZS5sZW5ndGg7WWUrKyluZS5zZWFyY2hQYW5lc1tMZV1bWWVdPUVlW1llXS5maWx0ZXIsbmUuc2VhcmNoUGFuZXNbTGVdW1llXT9uZS5zZWFyY2hQYW5lc19udWxsW0xlXVtZZV09ITE6bmUuc2VhcmNoUGFuZXNfbnVsbFtMZV1bWWVdPSEwLHhlKyt9eGU+MCYmKHhlIT09ay5zLmZpbHRlckNvdW50JiYobmUuc3RhcnQ9MCxrLnMucGFnZT0wLGsucy5kdC5wYWdlKGsucy5wYWdlKSksay5zLmZpbHRlckNvdW50PXhlKSxrLnMuc2VsZWN0aW9uTGlzdC5sZW5ndGg+MCYmKG5lLnNlYXJjaFBhbmVzTGFzdD1rLnMuZHQuY29sdW1uKGsucy5zZWxlY3Rpb25MaXN0W2sucy5zZWxlY3Rpb25MaXN0Lmxlbmd0aC0xXS5jb2x1bW4pLmRhdGFTcmMoKSksbmUuc2VhcmNoUGFuZXNfb3B0aW9ucz17Y2FzY2FkZTprLmMuY2FzY2FkZVBhbmVzLHZpZXdDb3VudDprLmMudmlld0NvdW50LHZpZXdUb3RhbDprLmMudmlld1RvdGFsfX19KTpTLm9uKCJwcmVYaHIuZHRzcHMiLGZ1bmN0aW9uKCl7cmV0dXJuIGsucy5wYW5lcy5mb3JFYWNoKGZ1bmN0aW9uKGFlKXtyZXR1cm4gYWUuY2xlYXJEYXRhKCl9KX0pLHRoaXMucy5kdC5vbigieGhyLmR0c3BzIixmdW5jdGlvbihhZSxlZSl7aWYoZWUublRhYmxlPT09ay5zLmR0LnRhYmxlKCkubm9kZSgpJiYhay5zLmR0LnBhZ2UuaW5mbygpLnNlcnZlclNpZGUpe3ZhciBuZT0hMTtrLnMuZHQub25lKCJwcmVEcmF3LmR0c3BzIixmdW5jdGlvbigpe2lmKCFuZSl7dmFyIHhlPWsucy5kdC5wYWdlKCk7bmU9ITAsay5zLnVwZGF0aW5nPSEwLGsuZG9tLnBhbmVzLmVtcHR5KCk7Zm9yKHZhciBJZT0wLENlPWsucy5wYW5lcztJZTxDZS5sZW5ndGg7SWUrKyl7dmFyIERlPUNlW0llXTtEZS5jbGVhckRhdGEoKSxEZS5yZWJ1aWxkUGFuZSh2b2lkIDAsITApLGsuZG9tLnBhbmVzLmFwcGVuZChEZS5kb20uY29udGFpbmVyKX1rLnMuZHQucGFnZS5pbmZvKCkuc2VydmVyU2lkZXx8ay5zLmR0LmRyYXcoKSxrLnMudXBkYXRpbmc9ITEsay5fdXBkYXRlU2VsZWN0aW9uKCksay5fY2hlY2tNZXNzYWdlKCksay5zLmR0Lm9uZSgiZHJhdy5kdHNwcyIsZnVuY3Rpb24oKXtrLnMudXBkYXRpbmc9ITAsay5zLmR0LnBhZ2UoeGUpLmRyYXcoITEpLGsucy51cGRhdGluZz0hMX0pfX0pfX0pO3ZhciBxPXRoaXMuYy5wcmVTZWxlY3Q7TSYmTS5zZWFyY2hQYW5lcyYmTS5zZWFyY2hQYW5lcy5zZWxlY3Rpb25MaXN0JiYocT1NLnNlYXJjaFBhbmVzLnNlbGVjdGlvbkxpc3QpLHRoaXMuX21ha2VTZWxlY3Rpb25zKHEpLHRoaXMuX3VwZGF0ZUZpbHRlckNvdW50KCksUy5vbigiZGVzdHJveS5kdHNwcyIsZnVuY3Rpb24oYWUsZWUpe2lmKGVlPT09TCl7Zm9yKHZhciBuZT0wLHhlPWsucy5wYW5lcztuZTx4ZS5sZW5ndGg7bmUrKyl7dmFyIEllPXhlW25lXTtJZS5kZXN0cm95KCl9Uy5vZmYoIi5kdHNwcyIpLGsuZG9tLnNob3dBbGwub2ZmKCIuZHRzcHMiKSxrLmRvbS5jbGVhckFsbC5vZmYoIi5kdHNwcyIpLGsuZG9tLmNvbGxhcHNlQWxsLm9mZigiLmR0c3BzIikscChTLnRhYmxlKCkubm9kZSgpKS5vZmYoIi5kdHNwcyIpLGsuZG9tLmNvbnRhaW5lci5kZXRhY2goKSxrLmNsZWFyU2VsZWN0aW9ucygpfX0pLHRoaXMuYy5jb2xsYXBzZSYmdGhpcy5fc2V0Q29sbGFwc2VMaXN0ZW5lcigpLHRoaXMuYy5jbGVhciYmdGhpcy5kb20uY2xlYXJBbGwub2ZmKCJjbGljay5kdHNwcyIpLm9uKCJjbGljay5kdHNwcyIsZnVuY3Rpb24oKXtyZXR1cm4gay5jbGVhclNlbGVjdGlvbnMoKX0pLEwuX3NlYXJjaFBhbmVzPXRoaXMsdGhpcy5zLmR0LnN0YXRlLnNhdmUoKX0sXy5wcm90b3R5cGUuX3VwZGF0ZUZpbHRlckNvdW50PWZ1bmN0aW9uKCl7Zm9yKHZhciBTPTAsaz0wLEw9MCxSPXRoaXMucy5wYW5lcztMPFIubGVuZ3RoO0wrKyl7dmFyIEI9UltMXTtCLnMuZHRQYW5lJiYoUys9Qi5nZXRQYW5lQ291bnQoKSxCLnMuZHRQYW5lLnNlYXJjaCgpJiZrKyspfXRoaXMuZG9tLnRpdGxlLmh0bWwodGhpcy5zLmR0LmkxOG4oInNlYXJjaFBhbmVzLnRpdGxlIix0aGlzLmMuaTE4bi50aXRsZSxTKSksdGhpcy5jLmZpbHRlckNoYW5nZWQmJnR5cGVvZiB0aGlzLmMuZmlsdGVyQ2hhbmdlZD09ImZ1bmN0aW9uIiYmdGhpcy5jLmZpbHRlckNoYW5nZWQuY2FsbCh0aGlzLnMuZHQsUyksUz09PTAmJms9PT0wP3RoaXMuZG9tLmNsZWFyQWxsLmFkZENsYXNzKHRoaXMuY2xhc3Nlcy5kaXNhYmxlZEJ1dHRvbikuYXR0cigiZGlzYWJsZWQiLCJ0cnVlIik6dGhpcy5kb20uY2xlYXJBbGwucmVtb3ZlQ2xhc3ModGhpcy5jbGFzc2VzLmRpc2FibGVkQnV0dG9uKS5yZW1vdmVBdHRyKCJkaXNhYmxlZCIpfSxfLnZlcnNpb249IjIuMy41IixfLmNsYXNzZXM9e2NsZWFyOiJkdHNwLWNsZWFyIixjbGVhckFsbDoiZHRzcC1jbGVhckFsbCIsY29sbGFwc2VBbGw6ImR0c3AtY29sbGFwc2VBbGwiLGNvbnRhaW5lcjoiZHRzcC1zZWFyY2hQYW5lcyIsZGlzYWJsZWRCdXR0b246ImR0c3AtZGlzYWJsZWRCdXR0b24iLGVtcHR5TWVzc2FnZToiZHRzcC1lbXB0eU1lc3NhZ2UiLGhpZGU6ImR0c3AtaGlkZGVuIixwYW5lczoiZHRzcC1wYW5lc0NvbnRhaW5lciIsc2VhcmNoOiJkdHNwLXNlYXJjaCIsc2hvd0FsbDoiZHRzcC1zaG93QWxsIix0aXRsZToiZHRzcC10aXRsZSIsdGl0bGVSb3c6ImR0c3AtdGl0bGVSb3cifSxfLmRlZmF1bHRzPXtjYXNjYWRlUGFuZXM6ITEsY2xlYXI6ITAsY29sbGFwc2U6ITAsY29sdW1uczpbXSxjb250YWluZXI6ZnVuY3Rpb24oUyl7cmV0dXJuIFMudGFibGUoKS5jb250YWluZXIoKX0sZmlsdGVyQ2hhbmdlZDp2b2lkIDAsaTE4bjp7Y2xlYXJNZXNzYWdlOiJDbGVhciBBbGwiLGNsZWFyUGFuZToiJnRpbWVzOyIsY29sbGFwc2U6ezA6IlNlYXJjaFBhbmVzIixfOiJTZWFyY2hQYW5lcyAoJWQpIn0sY29sbGFwc2VNZXNzYWdlOiJDb2xsYXBzZSBBbGwiLGNvdW50OiJ7dG90YWx9IixlbXB0eU1lc3NhZ2U6IjxlbT5FbXB0eTwvZW0+IixlbXB0eVBhbmVzOiJObyBTZWFyY2hQYW5lcyIsbG9hZE1lc3NhZ2U6IkxvYWRpbmcgU2VhcmNoIFBhbmVzLi4uIixzaG93TWVzc2FnZToiU2hvdyBBbGwiLHRpdGxlOiJGaWx0ZXJzIEFjdGl2ZSAtICVkIn0sbGF5b3V0OiJhdXRvIixvcmRlcjpbXSxwYW5lczpbXSxwcmVTZWxlY3Q6W10sdmlld0NvdW50OiEwLHZpZXdUb3RhbDohMX0sX30pKCksZj13aW5kb3cmJndpbmRvdy5fX2V4dGVuZHN8fChmdW5jdGlvbigpe3ZhciBfPWZ1bmN0aW9uKFMsayl7cmV0dXJuIF89T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKEwsUil7TC5fX3Byb3RvX189Un18fGZ1bmN0aW9uKEwsUil7Zm9yKHZhciBCIGluIFIpUi5oYXNPd25Qcm9wZXJ0eShCKSYmKExbQl09UltCXSl9LF8oUyxrKX07cmV0dXJuIGZ1bmN0aW9uKFMsayl7XyhTLGspO2Z1bmN0aW9uIEwoKXt0aGlzLmNvbnN0cnVjdG9yPVN9Uy5wcm90b3R5cGU9az09PW51bGw/T2JqZWN0LmNyZWF0ZShrKTooTC5wcm90b3R5cGU9ay5wcm90b3R5cGUsbmV3IEwpfX0pKCksVz0oZnVuY3Rpb24oXyl7ZihTLF8pO2Z1bmN0aW9uIFMoayxMLFIpe1I9PT12b2lkIDAmJihSPSExKTt2YXIgQj10aGlzLEc7TC5jYXNjYWRlUGFuZXMmJkwudmlld1RvdGFsP0c9bDpMLmNhc2NhZGVQYW5lcz9HPWI6TC52aWV3VG90YWwmJihHPW0pLEI9Xy5jYWxsKHRoaXMsayxMLFIsRyl8fHRoaXM7dmFyIE09Qi5zLmR0LHE9TS5zdGF0ZS5sb2FkZWQoKSxhZT1mdW5jdGlvbigpe3JldHVybiBCLl9pbml0U2VsZWN0aW9uTGlzdGVuZXJzKCEwLHEmJnEuc2VhcmNoUGFuZXMmJnEuc2VhcmNoUGFuZXMuc2VsZWN0aW9uTGlzdD9xLnNlYXJjaFBhbmVzLnNlbGVjdGlvbkxpc3Q6Qi5jLnByZVNlbGVjdCl9O3JldHVybiBNLnNldHRpbmdzKClbMF0uX2JJbml0Q29tcGxldGU/YWUoKTpNLm9mZigiaW5pdC5kdHNwcyIpLm9uKCJpbml0LmR0c3BzIixhZSksQn1yZXR1cm4gUy5wcm90b3R5cGUuX2luaXRTZWxlY3Rpb25MaXN0ZW5lcnM9ZnVuY3Rpb24oayxMKXtrPT09dm9pZCAwJiYoaz0hMCksTD09PXZvaWQgMCYmKEw9W10pLGsmJih0aGlzLnMuc2VsZWN0aW9uTGlzdD1MKTtmb3IodmFyIFI9MCxCPXRoaXMucy5wYW5lcztSPEIubGVuZ3RoO1IrKyl7dmFyIEc9QltSXTtHLnMuZGlzcGxheWVkJiZHLnMuZHRQYW5lLm9mZigic2VsZWN0LmR0c3AiKS5vbigic2VsZWN0LmR0c3AiLHRoaXMuX3VwZGF0ZShHKSkub2ZmKCJkZXNlbGVjdC5kdHNwIikub24oImRlc2VsZWN0LmR0c3AiLHRoaXMuX3VwZGF0ZVRpbWVvdXQoRykpfXRoaXMucy5kdC5vZmYoImRyYXcuZHRzcHMiKS5vbigiZHJhdy5kdHNwcyIsdGhpcy5fdXBkYXRlKCkpLHRoaXMuX3VwZGF0ZVNlbGVjdGlvbkxpc3QoKX0sUy5wcm90b3R5cGUuX3NlcnZlclRvdGFscz1mdW5jdGlvbigpe2Zvcih2YXIgaz0wLEw9dGhpcy5zLnBhbmVzO2s8TC5sZW5ndGg7aysrKXt2YXIgUj1MW2tdO2lmKFIucy5jb2xPcHRzLnNob3cpe3ZhciBCPXRoaXMucy5kdC5jb2x1bW4oUi5zLmluZGV4KS5kYXRhU3JjKCksRz0hMDtpZih0aGlzLnMuc2VydmVyRGF0YS5zZWFyY2hQYW5lcy5vcHRpb25zW0JdKWZvcih2YXIgTT0wLHE9dGhpcy5zLnNlcnZlckRhdGEuc2VhcmNoUGFuZXMub3B0aW9uc1tCXTtNPHEubGVuZ3RoO00rKyl7dmFyIGFlPXFbTV07aWYoYWUudG90YWwhPT1hZS5jb3VudCl7Rz0hMTticmVha319Ui5zLmZpbHRlcmluZ0FjdGl2ZT0hRyxSLl9zZXJ2ZXJQb3B1bGF0ZSh0aGlzLnMuc2VydmVyRGF0YSl9fX0sUy5wcm90b3R5cGUuX3N0YXRlTG9hZExpc3RlbmVyPWZ1bmN0aW9uKCl7dmFyIGs9dGhpcyxMPWZ1bmN0aW9uKFIsQixHKXtpZihHLnNlYXJjaFBhbmVzIT09dm9pZCAwKXtpZihrLnMuc2VsZWN0aW9uTGlzdD1HLnNlYXJjaFBhbmVzLnNlbGVjdGlvbkxpc3Q/Ry5zZWFyY2hQYW5lcy5zZWxlY3Rpb25MaXN0OltdLEcuc2VhcmNoUGFuZXMucGFuZXMpZm9yKHZhciBNPTAscT1HLnNlYXJjaFBhbmVzLnBhbmVzO008cS5sZW5ndGg7TSsrKWZvcih2YXIgYWU9cVtNXSxlZT0wLG5lPWsucy5wYW5lcztlZTxuZS5sZW5ndGg7ZWUrKyl7dmFyIHhlPW5lW2VlXTthZS5pZD09PXhlLnMuaW5kZXgmJnhlLnMuZHRQYW5lJiYoeGUuZG9tLnNlYXJjaEJveC52YWwoYWUuc2VhcmNoVGVybSkseGUucy5kdFBhbmUub3JkZXIoYWUub3JkZXIpKX1rLl91cGRhdGVTZWxlY3Rpb25MaXN0KCl9fTt0aGlzLnMuZHQub2ZmKCJzdGF0ZUxvYWRQYXJhbXMuZHRzcHMiLEwpLm9uKCJzdGF0ZUxvYWRQYXJhbXMuZHRzcHMiLEwpfSxTLnByb3RvdHlwZS5fdXBkYXRlU2VsZWN0aW9uPWZ1bmN0aW9uKCl7fSxTLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKGspe3ZhciBMPXRoaXM7cmV0dXJuIGs9PT12b2lkIDAmJihrPXZvaWQgMCksZnVuY3Rpb24oKXtrJiZjbGVhclRpbWVvdXQoay5zLmRlc2VsZWN0VGltZW91dCksTC5fdXBkYXRlU2VsZWN0aW9uTGlzdChrKX19LFMucHJvdG90eXBlLl91cGRhdGVUaW1lb3V0PWZ1bmN0aW9uKGspe3ZhciBMPXRoaXM7cmV0dXJuIGs9PT12b2lkIDAmJihrPXZvaWQgMCksZnVuY3Rpb24oKXtyZXR1cm4gaz9rLnMuZGVzZWxlY3RUaW1lb3V0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtyZXR1cm4gTC5fdXBkYXRlU2VsZWN0aW9uTGlzdChrKX0sNTApOkwuX3VwZGF0ZVNlbGVjdGlvbkxpc3QoKX19LFMucHJvdG90eXBlLl91cGRhdGVTZWxlY3Rpb25MaXN0PWZ1bmN0aW9uKGspe2lmKGs9PT12b2lkIDAmJihrPXZvaWQgMCksdGhpcy5zLnBhZ2luZ1NUKXt0aGlzLnMucGFnaW5nU1Q9ITE7cmV0dXJufWVsc2UgaWYodGhpcy5zLnVwZGF0aW5nfHxrJiZrLnMuc2VydmVyU2VsZWN0aW5nKXJldHVybjtpZihrIT09dm9pZCAwKXt0aGlzLnMuZHQucGFnZS5pbmZvKCkuc2VydmVyU2lkZSYmay5fdXBkYXRlU2VsZWN0aW9uKCk7dmFyIEw9ay5zLmR0UGFuZS5yb3dzKHtzZWxlY3RlZDohMH0pLmRhdGEoKS50b0FycmF5KCkubWFwKGZ1bmN0aW9uKFIpe3JldHVybiBSLmZpbHRlcn0pO3RoaXMucy5zZWxlY3Rpb25MaXN0PXRoaXMucy5zZWxlY3Rpb25MaXN0LmZpbHRlcihmdW5jdGlvbihSKXtyZXR1cm4gUi5jb2x1bW4hPT1rLnMuaW5kZXh9KSxMLmxlbmd0aD4wPyh0aGlzLnMuc2VsZWN0aW9uTGlzdC5wdXNoKHtjb2x1bW46ay5zLmluZGV4LHJvd3M6TH0pLGsuZG9tLmNsZWFyLnJlbW92ZUNsYXNzKHRoaXMuY2xhc3Nlcy5kaXNhYmxlZEJ1dHRvbikucmVtb3ZlQXR0cigiZGlzYWJsZWQiKSk6ay5kb20uY2xlYXIuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmRpc2FibGVkQnV0dG9uKS5hdHRyKCJkaXNhYmxlZCIsInRydWUiKSx0aGlzLnMuZHQucGFnZS5pbmZvKCkuc2VydmVyU2lkZSYmdGhpcy5zLmR0LmRyYXcoITEpfXRoaXMuX3JlbWFrZVNlbGVjdGlvbnMoKSx0aGlzLl91cGRhdGVGaWx0ZXJDb3VudCgpfSxTLnByb3RvdHlwZS5fcmVtYWtlU2VsZWN0aW9ucz1mdW5jdGlvbigpe3ZhciBrLEw7aWYodGhpcy5zLnVwZGF0aW5nPSEwLHRoaXMucy5kdC5wYWdlLmluZm8oKS5zZXJ2ZXJTaWRlKXt0aGlzLnMuc2VsZWN0aW9uTGlzdC5sZW5ndGg+MCYmKEw9dGhpcy5zLnBhbmVzW3RoaXMucy5zZWxlY3Rpb25MaXN0W3RoaXMucy5zZWxlY3Rpb25MaXN0Lmxlbmd0aC0xXS5jb2x1bW5dKTtmb3IodmFyIFRlPTAsX2U9dGhpcy5zLnBhbmVzO1RlPF9lLmxlbmd0aDtUZSsrKWs9X2VbVGVdLGsucy5kaXNwbGF5ZWQmJighTHx8ay5zLmluZGV4IT09TC5zLmluZGV4KSYmay51cGRhdGVSb3dzKCl9ZWxzZXt2YXIgUj10aGlzLnMuc2VsZWN0aW9uTGlzdCxCPSExO3RoaXMuY2xlYXJTZWxlY3Rpb25zKCksdGhpcy5zLmR0LmRyYXcoITEpLHRoaXMucy5kdC5yb3dzKCkudG9BcnJheSgpWzBdLmxlbmd0aD50aGlzLnMuZHQucm93cyh7c2VhcmNoOiJhcHBsaWVkIn0pLnRvQXJyYXkoKVswXS5sZW5ndGgmJihCPSEwKSx0aGlzLnMuc2VsZWN0aW9uTGlzdD1SO2Zvcih2YXIgRz0wLE09dGhpcy5zLnBhbmVzO0c8TS5sZW5ndGg7RysrKUw9TVtHXSxMLnMuZGlzcGxheWVkJiYoTC5zLmZpbHRlcmluZ0FjdGl2ZT1CLEwudXBkYXRlUm93cygpKTtmb3IodmFyIHE9MCxhZT10aGlzLnMuc2VsZWN0aW9uTGlzdDtxPGFlLmxlbmd0aDtxKyspe3ZhciBlZT1hZVtxXTtMPW51bGw7Zm9yKHZhciBuZT0wLHhlPXRoaXMucy5wYW5lcztuZTx4ZS5sZW5ndGg7bmUrKyl7dmFyIEllPXhlW25lXTtpZihJZS5zLmluZGV4PT09ZWUuY29sdW1uKXtMPUllO2JyZWFrfX1pZihMLnMuZHRQYW5lKXtmb3IodmFyIENlPUwucy5kdFBhbmUucm93cygpLmluZGV4ZXMoKS50b0FycmF5KCksRGU9MDtEZTxlZS5yb3dzLmxlbmd0aDtEZSsrKXtmb3IodmFyIExlPSExLEVlPTAsWWU9Q2U7RWU8WWUubGVuZ3RoO0VlKyspe3ZhciBKZT1ZZVtFZV0sQT1MLnMuZHRQYW5lLnJvdyhKZSksZGU9QS5kYXRhKCk7ZWUucm93c1tEZV09PT1kZS5maWx0ZXImJihBLnNlbGVjdCgpLExlPSEwKX1MZXx8KGVlLnJvd3Muc3BsaWNlKERlLDEpLERlLS0pfWlmKEwucy5zZWxlY3Rpb25zPWVlLnJvd3MsZWUucm93cy5sZW5ndGghPT0wKXt0aGlzLnMuZHQuZHJhdygpO2Zvcih2YXIgbGU9ITEsej0wLGo9MCxLPTAsbWU9MCx5ZT10aGlzLnMucGFuZXM7bWU8eWUubGVuZ3RoO21lKyspaz15ZVttZV0say5zLmR0UGFuZSYmKHorPWsuZ2V0UGFuZUNvdW50KCksej5qJiYoSysrLGo9eikpO2xlPXo+MDtmb3IodmFyIHJlPTAsYmU9dGhpcy5zLnBhbmVzO3JlPGJlLmxlbmd0aDtyZSsrKWs9YmVbcmVdLGsucy5kaXNwbGF5ZWQmJihCfHxMLnMuaW5kZXghPT1rLnMuaW5kZXh8fCFsZT9rLnMuZmlsdGVyaW5nQWN0aXZlPWxlfHxCOks9PT0xJiYoay5zLmZpbHRlcmluZ0FjdGl2ZT0hMSksay5zLmluZGV4IT09TC5zLmluZGV4JiZrLnVwZGF0ZVJvd3MoKSl9fX10aGlzLnMuZHQuZHJhdyghMSl9dGhpcy5zLnVwZGF0aW5nPSExfSxTfSkoUCk7bihubiksRihubiksZChubiksdyhubiksaChubik7dmFyIFo9bm4uZm4uZGF0YVRhYmxlO1ouU2VhcmNoUGFuZXM9UCx0ZS5TZWFyY2hQYW5lcz1QLFouU2VhcmNoUGFuZXNTVD1XLHRlLlNlYXJjaFBhbmVzU1Q9VyxaLlNlYXJjaFBhbmU9cix0ZS5TZWFyY2hQYW5lPXIsWi5TZWFyY2hQYW5lVmlld1RvdGFsPW0sdGUuU2VhcmNoUGFuZVZpZXdUb3RhbD1tLFouU2VhcmNoUGFuZUNhc2NhZGU9Yix0ZS5TZWFyY2hQYW5lQ2FzY2FkZT1iLFouU2VhcmNoUGFuZUNhc2NhZGVWaWV3VG90YWw9bCx0ZS5TZWFyY2hQYW5lQ2FzY2FkZVZpZXdUb3RhbD1sO3ZhciBpZT1ubi5mbi5kYXRhVGFibGUuQXBpLnJlZ2lzdGVyO2llKCJzZWFyY2hQYW5lcygpIixmdW5jdGlvbigpe3JldHVybiB0aGlzfSksaWUoInNlYXJjaFBhbmVzLmNsZWFyU2VsZWN0aW9ucygpIixmdW5jdGlvbigpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oXyl7Xy5fc2VhcmNoUGFuZXMmJl8uX3NlYXJjaFBhbmVzLmNsZWFyU2VsZWN0aW9ucygpfSl9KSxpZSgic2VhcmNoUGFuZXMucmVidWlsZFBhbmUoKSIsZnVuY3Rpb24oXyxTKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGspe2suX3NlYXJjaFBhbmVzJiZrLl9zZWFyY2hQYW5lcy5yZWJ1aWxkKF8sUyl9KX0pLGllKCJzZWFyY2hQYW5lcy5yZXNpemVQYW5lcygpIixmdW5jdGlvbigpe3ZhciBfPXRoaXMuY29udGV4dFswXTtyZXR1cm4gXy5fc2VhcmNoUGFuZXM/Xy5fc2VhcmNoUGFuZXMucmVzaXplUGFuZXMoKTpudWxsfSksaWUoInNlYXJjaFBhbmVzLmNvbnRhaW5lcigpIixmdW5jdGlvbigpe3ZhciBfPXRoaXMuY29udGV4dFswXTtyZXR1cm4gXy5fc2VhcmNoUGFuZXM/Xy5fc2VhcmNoUGFuZXMuZ2V0Tm9kZSgpOm51bGx9KSx0ZS5leHQuYnV0dG9ucy5zZWFyY2hQYW5lc0NsZWFyPXthY3Rpb246ZnVuY3Rpb24oXyxTKXtTLnNlYXJjaFBhbmVzLmNsZWFyU2VsZWN0aW9ucygpfSx0ZXh0OiJDbGVhciBQYW5lcyJ9LHRlLmV4dC5idXR0b25zLnNlYXJjaFBhbmVzPXthY3Rpb246ZnVuY3Rpb24oXyxTLGssTCl7dmFyIFI9dGhpcyxCPXRoaXM7TC5fcGFuZXM/KHRoaXMucG9wb3ZlcihMLl9wYW5lcy5nZXROb2RlKCkse2FsaWduOiJjb250YWluZXIiLHNwYW46ImNvbnRhaW5lciJ9KSxMLl9wYW5lcy5yZWJ1aWxkKHZvaWQgMCwhMCkpOih0aGlzLnByb2Nlc3NpbmcoITApLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtFKFMsayxMKSxSLnBvcG92ZXIoTC5fcGFuZXMuZ2V0Tm9kZSgpLHthbGlnbjoiY29udGFpbmVyIixzcGFuOiJjb250YWluZXIifSksTC5fcGFuZXMucmVidWlsZCh2b2lkIDAsITApLG5uKCJ0YWJsZS5kYXRhVGFibGUiLEwuX3BhbmVzLmdldE5vZGUoKSkuRGF0YVRhYmxlKCkuY29sdW1ucy5hZGp1c3QoKSxCLnByb2Nlc3NpbmcoITEpfSwxMCkpfSxpbml0OmZ1bmN0aW9uKF8sUyxrKXtfLmJ1dHRvbihTKS50ZXh0KGsudGV4dHx8Xy5pMThuKCJzZWFyY2hQYW5lcy5jb2xsYXBzZSIsIlNlYXJjaFBhbmVzIiwwKSksKF8uaW5pdCgpLnN0YXRlU2F2ZXx8ay5kZWxheUluaXQ9PT0hMSkmJkUoXyxTLGspfSxjb25maWc6e30sdGV4dDoiIixkZWxheUluaXQ6ITB9O2Z1bmN0aW9uIEUoXyxTLGspe3ZhciBMPW5uLmV4dGVuZCh7ZmlsdGVyQ2hhbmdlZDpmdW5jdGlvbihCKXtfLmJ1dHRvbihTKS50ZXh0KF8uaTE4bigic2VhcmNoUGFuZXMuY29sbGFwc2UiLF8uY29udGV4dFswXS5vTGFuZ3VhZ2Uuc2VhcmNoUGFuZXMhPT12b2lkIDA/Xy5jb250ZXh0WzBdLm9MYW5ndWFnZS5zZWFyY2hQYW5lcy5jb2xsYXBzZTpfLmNvbnRleHRbMF0uX3NlYXJjaFBhbmVzLmMuaTE4bi5jb2xsYXBzZSxCKSl9fSxrLmNvbmZpZyksUj1MJiYoTC5jYXNjYWRlUGFuZXN8fEwudmlld1RvdGFsKT9uZXcgdGUuU2VhcmNoUGFuZXNTVChfLEwpOm5ldyB0ZS5TZWFyY2hQYW5lcyhfLEwpO18uYnV0dG9uKFMpLnRleHQoay50ZXh0fHxfLmkxOG4oInNlYXJjaFBhbmVzLmNvbGxhcHNlIixSLmMuaTE4bi5jb2xsYXBzZSwwKSksay5fcGFuZXM9Un1mdW5jdGlvbiBKKF8sUyxrKXtTPT09dm9pZCAwJiYoUz1udWxsKSxrPT09dm9pZCAwJiYoaz0hMSk7dmFyIEw9bmV3IFouQXBpKF8pLFI9U3x8TC5pbml0KCkuc2VhcmNoUGFuZXN8fFouZGVmYXVsdHMuc2VhcmNoUGFuZXMsQj1SJiYoUi5jYXNjYWRlUGFuZXN8fFIudmlld1RvdGFsKT9uZXcgVyhMLFIsayk6bmV3IFAoTCxSLGspLEc9Qi5nZXROb2RlKCk7cmV0dXJuIEd9bm4oZG9jdW1lbnQpLm9uKCJwcmVJbml0LmR0LmR0c3AiLGZ1bmN0aW9uKF8sUyl7Xy5uYW1lc3BhY2U9PT0iZHQiJiYoUy5vSW5pdC5zZWFyY2hQYW5lc3x8dGUuZGVmYXVsdHMuc2VhcmNoUGFuZXMpJiYoUy5fc2VhcmNoUGFuZXN8fEooUyxudWxsLCEwKSl9KSx0ZS5leHQuZmVhdHVyZS5wdXNoKHtjRmVhdHVyZToiUCIsZm5Jbml0Okp9KSx0ZS5mZWF0dXJlJiZ0ZS5mZWF0dXJlLnJlZ2lzdGVyKCJzZWFyY2hQYW5lcyIsSil9KSgpO3ZhciBJYz1zdChvdCgpLDEpO3ZhciB6bz1zdChvdCgpLDEpO3ZhciBPZT16by5kZWZhdWx0O3RlLnNlbGVjdD17fTt0ZS5zZWxlY3QuY2xhc3Nlcz17Y2hlY2tib3g6ImR0LXNlbGVjdC1jaGVja2JveCJ9O3RlLnNlbGVjdC52ZXJzaW9uPSIzLjEuMCI7dGUuc2VsZWN0LmluaXQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zZXR0aW5ncygpWzBdO2lmKCF0ZS52ZXJzaW9uQ2hlY2soIjIiKSl0aHJvdyJXYXJuaW5nOiBTZWxlY3QgcmVxdWlyZXMgRGF0YVRhYmxlcyAyIG9yIG5ld2VyIjtpZighdC5fc2VsZWN0KXt2YXIgbj1lLnN0YXRlLmxvYWRlZCgpLHI9ZnVuY3Rpb24oQyxGLFApe2lmKCEoUD09PW51bGx8fFAuc2VsZWN0PT09dm9pZCAwKSl7aWYoZS5yb3dzKHtzZWxlY3RlZDohMH0pLmFueSgpJiZlLnJvd3MoKS5kZXNlbGVjdCgpLFAuc2VsZWN0LnJvd3MhPT12b2lkIDAmJmUucm93cyhQLnNlbGVjdC5yb3dzKS5zZWxlY3QoKSxlLmNvbHVtbnMoe3NlbGVjdGVkOiEwfSkuYW55KCkmJmUuY29sdW1ucygpLmRlc2VsZWN0KCksUC5zZWxlY3QuY29sdW1ucyE9PXZvaWQgMCYmZS5jb2x1bW5zKFAuc2VsZWN0LmNvbHVtbnMpLnNlbGVjdCgpLGUuY2VsbHMoe3NlbGVjdGVkOiEwfSkuYW55KCkmJmUuY2VsbHMoKS5kZXNlbGVjdCgpLFAuc2VsZWN0LmNlbGxzIT09dm9pZCAwKWZvcih2YXIgZj0wO2Y8UC5zZWxlY3QuY2VsbHMubGVuZ3RoO2YrKyllLmNlbGwoUC5zZWxlY3QuY2VsbHNbZl0ucm93LFAuc2VsZWN0LmNlbGxzW2ZdLmNvbHVtbikuc2VsZWN0KCk7ZS5zdGF0ZS5zYXZlKCl9fTtlLm9uKCJzdGF0ZVNhdmVQYXJhbXMiLGZ1bmN0aW9uKEMsRixQKXtQLnNlbGVjdD17fSxQLnNlbGVjdC5yb3dzPWUucm93cyh7c2VsZWN0ZWQ6ITB9KS5pZHMoITApLnRvQXJyYXkoKSxQLnNlbGVjdC5jb2x1bW5zPWUuY29sdW1ucyh7c2VsZWN0ZWQ6ITB9KVswXSxQLnNlbGVjdC5jZWxscz1lLmNlbGxzKHtzZWxlY3RlZDohMH0pWzBdLm1hcChmdW5jdGlvbihmKXtyZXR1cm57cm93OmUucm93KGYucm93KS5pZCghMCksY29sdW1uOmYuY29sdW1ufX0pfSkub24oInN0YXRlTG9hZFBhcmFtcyIscikub25lKCJpbml0IixmdW5jdGlvbigpe3Iodm9pZCAwLHZvaWQgMCxuKX0pO3ZhciBpPXQub0luaXQuc2VsZWN0LGE9dGUuZGVmYXVsdHMuc2VsZWN0LHM9aT09PXZvaWQgMD9hOmksdT0icm93IixkPSJhcGkiLG09ITEsdj0hMCxnPW51bGwsdz0hMCxiPSJ0ZCwgdGgiLFQ9InNlbGVjdGVkIixEPSEwLGg9ITEsbD0hMSxwPSExO3QuX3NlbGVjdD17aW5mb0VsczpbXX0scz09PSEwPyhkPSJvcyIsaD0hMCk6dHlwZW9mIHM9PSJzdHJpbmciPyhkPXMsaD0hMCk6T2UuaXNQbGFpbk9iamVjdChzKSYmKHMuYmx1cmFibGUhPT12b2lkIDAmJihtPXMuYmx1cmFibGUpLHMudG9nZ2xlYWJsZSE9PXZvaWQgMCYmKHY9cy50b2dnbGVhYmxlKSxzLmluZm8hPT12b2lkIDAmJih3PXMuaW5mbykscy5pdGVtcyE9PXZvaWQgMCYmKHU9cy5pdGVtcykscy5zdHlsZSE9PXZvaWQgMD8oZD1zLnN0eWxlLGg9ITApOihkPSJvcyIsaD0hMCkscy5zZWxlY3RvciE9PXZvaWQgMCYmKGI9cy5zZWxlY3Rvcikscy5jbGFzc05hbWUhPT12b2lkIDAmJihUPXMuY2xhc3NOYW1lKSxzLmhlYWRlckNoZWNrYm94IT09dm9pZCAwJiYoRD1zLmhlYWRlckNoZWNrYm94KSxzLnNlbGVjdGFibGUhPT12b2lkIDAmJihnPXMuc2VsZWN0YWJsZSkscy5rZXlzIT09dm9pZCAwJiYobD1zLmtleXMpLHMua2V5c1dyYXAhPT12b2lkIDAmJihwPXMua2V5c1dyYXApKSxlLnNlbGVjdC5zZWxlY3RvcihiKSxlLnNlbGVjdC5pdGVtcyh1KSxlLnNlbGVjdC5zdHlsZShkKSxlLnNlbGVjdC5ibHVyYWJsZShtKSxlLnNlbGVjdC50b2dnbGVhYmxlKHYpLGUuc2VsZWN0LmluZm8odyksZS5zZWxlY3Qua2V5cyhsLHApLGUuc2VsZWN0LnNlbGVjdGFibGUoZyksdC5fc2VsZWN0LmNsYXNzTmFtZT1ULCFoJiZPZShlLnRhYmxlKCkubm9kZSgpKS5oYXNDbGFzcygic2VsZWN0YWJsZSIpJiZlLnNlbGVjdC5zdHlsZSgib3MiKSwoRHx8RD09PSJzZWxlY3QtcGFnZSJ8fEQ9PT0ic2VsZWN0LWFsbCIpJiZlLnJlYWR5KGZ1bmN0aW9uKCl7Q2MoZSxEKX0pfX07ZnVuY3Rpb24gUm8oZSx0LG4pe3ZhciByLGksYSxzPWZ1bmN0aW9uKGQsbSl7aWYoZD5tKXt2YXIgdj1tO209ZCxkPXZ9dmFyIGc9ITE7cmV0dXJuIGUuY29sdW1ucygiOnZpc2libGUiKS5pbmRleGVzKCkuZmlsdGVyKGZ1bmN0aW9uKHcpe3JldHVybiB3PT09ZCYmKGc9ITApLHc9PT1tPyhnPSExLCEwKTpnfSl9LHU9ZnVuY3Rpb24oZCxtKXt2YXIgdj1lLnJvd3Moe3NlYXJjaDoiYXBwbGllZCJ9KS5pbmRleGVzKCk7aWYodi5pbmRleE9mKGQpPnYuaW5kZXhPZihtKSl7dmFyIGc9bTttPWQsZD1nfXZhciB3PSExO3JldHVybiB2LmZpbHRlcihmdW5jdGlvbihiKXtyZXR1cm4gYj09PWQmJih3PSEwKSxiPT09bT8odz0hMSwhMCk6d30pfTshZS5jZWxscyh7c2VsZWN0ZWQ6ITB9KS5hbnkoKSYmIW4/KGk9cygwLHQuY29sdW1uKSxhPXUoMCx0LnJvdykpOihpPXMobi5jb2x1bW4sdC5jb2x1bW4pLGE9dShuLnJvdyx0LnJvdykpLHI9ZS5jZWxscyhhLGkpLmZsYXR0ZW4oKSxlLmNlbGxzKHQse3NlbGVjdGVkOiEwfSkuYW55KCk/ZS5jZWxscyhyKS5kZXNlbGVjdCgpOmUuY2VsbHMocikuc2VsZWN0KCl9ZnVuY3Rpb24gUW4oZSl7dmFyIHQ9dGUuc2VsZWN0LmNsYXNzZXMuY2hlY2tib3g7cmV0dXJuIGU/dC5yZXBsYWNlKC8gL2csIi4iKTp0fWZ1bmN0aW9uIEpuKGUpe3ZhciB0PWUuc2V0dGluZ3MoKVswXSxuPXQuX3NlbGVjdC5zZWxlY3RvcjtPZShlLnRhYmxlKCkuY29udGFpbmVyKCkpLm9mZigibW91c2Vkb3duLmR0U2VsZWN0IixuKS5vZmYoIm1vdXNldXAuZHRTZWxlY3QiLG4pLm9mZigiY2xpY2suZHRTZWxlY3QiLG4pLE9lKCJib2R5Iikub2ZmKCJjbGljay5kdFNlbGVjdCIrQ2EoZS50YWJsZSgpLm5vZGUoKSkpfWZ1bmN0aW9uIFdvKGUpe3ZhciB0PU9lKGUudGFibGUoKS5jb250YWluZXIoKSksbj1lLnNldHRpbmdzKClbMF0scj1uLl9zZWxlY3Quc2VsZWN0b3IsaTt0Lm9uKCJtb3VzZWRvd24uZHRTZWxlY3QiLHIsZnVuY3Rpb24oYSl7KGEuc2hpZnRLZXl8fGEubWV0YUtleXx8YS5jdHJsS2V5KSYmdC5jc3MoIi1tb3otdXNlci1zZWxlY3QiLCJub25lIikub25lKCJzZWxlY3RzdGFydC5kdFNlbGVjdCIscixmdW5jdGlvbigpe3JldHVybiExfSksd2luZG93LmdldFNlbGVjdGlvbiYmKGk9d2luZG93LmdldFNlbGVjdGlvbigpKX0pLm9uKCJtb3VzZXVwLmR0U2VsZWN0IixyLGZ1bmN0aW9uKCl7dC5jc3MoIi1tb3otdXNlci1zZWxlY3QiLCIiKX0pLm9uKCJjbGljay5kdFNlbGVjdCIscixmdW5jdGlvbihhKXt2YXIgcz1lLnNlbGVjdC5pdGVtcygpLHU7aWYoaSl7dmFyIGQ9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCghZC5hbmNob3JOb2RlfHxPZShkLmFuY2hvck5vZGUpLmNsb3Nlc3QoInRhYmxlIilbMF09PT1lLnRhYmxlKCkubm9kZSgpKSYmZCE9PWkpcmV0dXJufXZhciBtPWUuc2V0dGluZ3MoKVswXSx2PWUudGFibGUoKS5jb250YWluZXIoKTtpZihPZShhLnRhcmdldCkuY2xvc2VzdCgiZGl2LmR0LWNvbnRhaW5lciIpWzBdPT12KXt2YXIgZz1lLmNlbGwoT2UoYS50YXJnZXQpLmNsb3Nlc3QoInRkLCB0aCIpKTtpZihnLmFueSgpKXt2YXIgdz1PZS5FdmVudCgidXNlci1zZWxlY3QuZHQiKTtpZihybihlLHcsW3MsZyxhXSksIXcuaXNEZWZhdWx0UHJldmVudGVkKCkpe3ZhciBiPWcuaW5kZXgoKTtzPT09InJvdyI/KHU9Yi5yb3csX2EoYSxlLG0sInJvdyIsdSkpOnM9PT0iY29sdW1uIj8odT1nLmluZGV4KCkuY29sdW1uLF9hKGEsZSxtLCJjb2x1bW4iLHUpKTpzPT09ImNlbGwiJiYodT1nLmluZGV4KCksX2EoYSxlLG0sImNlbGwiLHUpKSxtLl9zZWxlY3RfbGFzdENlbGw9Yn19fX0pLE9lKCJib2R5Iikub24oImNsaWNrLmR0U2VsZWN0IitDYShlLnRhYmxlKCkubm9kZSgpKSxmdW5jdGlvbihhKXtpZihuLl9zZWxlY3QuYmx1cmFibGUpe2lmKE9lKGEudGFyZ2V0KS5wYXJlbnRzKCkuZmlsdGVyKGUudGFibGUoKS5jb250YWluZXIoKSkubGVuZ3RofHxPZShhLnRhcmdldCkucGFyZW50cygiaHRtbCIpLmxlbmd0aD09PTB8fE9lKGEudGFyZ2V0KS5wYXJlbnRzKCJkaXYuRFRFIikubGVuZ3RoKXJldHVybjt2YXIgcz1PZS5FdmVudCgic2VsZWN0LWJsdXIuZHQiKTtpZihybihlLHMsW2EudGFyZ2V0LGFdKSxzLmlzRGVmYXVsdFByZXZlbnRlZCgpKXJldHVybjtfcihuLCEwKX19KX1mdW5jdGlvbiBybihlLHQsbixyKXtyJiYhZS5mbGF0dGVuKCkubGVuZ3RofHwodHlwZW9mIHQ9PSJzdHJpbmciJiYodD10KyIuZHQiKSxuLnVuc2hpZnQoZSksT2UoZS50YWJsZSgpLm5vZGUoKSkudHJpZ2dlcih0LG4pKX1mdW5jdGlvbiBvaShlKXtyZXR1cm4gZS5tUmVuZGVyJiZlLm1SZW5kZXIuX25hbWU9PT0ic2VsZWN0Q2hlY2tib3gifWZ1bmN0aW9uIE1vKGUsdCl7aWYoIShlLnNlbGVjdC5zdHlsZSgpPT09ImFwaSJ8fGUuc2VsZWN0LmluZm8oKT09PSExKSl7Zm9yKHZhciBuPWUuc2V0dGluZ3MoKVswXSxyPW4uX3NlbGVjdF9zZXQsaT1yLmxlbmd0aC0xO2k+PTA7aS0tKW4uYUlkc1tyW2ldXXx8ci5zcGxpY2UoaSwxKTt2YXIgYT1yLmxlbmd0aD9yLmxlbmd0aDplLnJvd3Moe3NlbGVjdGVkOiEwfSkuY291bnQoKSxzPWUuY29sdW1ucyh7c2VsZWN0ZWQ6ITB9KS5jb3VudCgpLHU9ZS5jZWxscyh7c2VsZWN0ZWQ6ITB9KS5jb3VudCgpO24uX3NlbGVjdF9tb2RlPT09InN1YnRyYWN0aXZlIiYmKGE9ZS5wYWdlLmluZm8oKS5yZWNvcmRzRGlzcGxheS1yLmxlbmd0aCk7dmFyIGQ9ZnVuY3Rpb24odyxiLFQpe3cuYXBwZW5kKE9lKCc8c3BhbiBjbGFzcz0ic2VsZWN0LWl0ZW0iLz4nKS5hcHBlbmQoZS5pMThuKCJzZWxlY3QuIitiKyJzIix7XzoiJWQgIitiKyJzIHNlbGVjdGVkIiwwOiIiLDE6IjEgIitiKyIgc2VsZWN0ZWQifSxUKSkpfSxtPU9lKHQpLHY9T2UoJzxzcGFuIGNsYXNzPSJzZWxlY3QtaW5mbyIvPicpO2Qodiwicm93IixhKSxkKHYsImNvbHVtbiIscyksZCh2LCJjZWxsIix1KTt2YXIgZz1tLmNoaWxkcmVuKCJzcGFuLnNlbGVjdC1pbmZvIik7Zy5sZW5ndGgmJmcucmVtb3ZlKCksdi50ZXh0KCkhPT0iIiYmbS5hcHBlbmQodil9fWZ1bmN0aW9uIENjKGUsdCl7dmFyIG49ZS5zZXR0aW5ncygpWzBdLHI9bi5hb0NvbHVtbnM7ZS5jb2x1bW5zKCkuaXRlcmF0b3IoImNvbHVtbiIsZnVuY3Rpb24oaSxhKXt2YXIgcz1yW2FdO2lmKG9pKHMpKXt2YXIgdT1lLmNvbHVtbihhKS5oZWFkZXIoKSxkPU9lKCJkaXYuZHQtY29sdW1uLWhlYWRlciIsdSk7aWYoZC5sZW5ndGgmJih1PWQpLCFPZSgiaW5wdXQiLHUpLmxlbmd0aCl7dmFyIG09T2UoIjxpbnB1dD4iKS5hdHRyKHtjbGFzczpRbighMSksdHlwZToiY2hlY2tib3giLCJhcmlhLWxhYmVsIjplLmkxOG4oInNlbGVjdC5hcmlhLmhlYWRlckNoZWNrYm94Iil8fCJTZWxlY3QgYWxsIHJvd3MifSkuYXBwZW5kVG8odSkub24oImNoYW5nZSIsZnVuY3Rpb24oKXt0aGlzLmNoZWNrZWQ/dD09InNlbGVjdC1wYWdlIj9lLnJvd3Moe3BhZ2U6ImN1cnJlbnQifSkuc2VsZWN0KCk6ZS5yb3dzKHtzZWFyY2g6ImFwcGxpZWQifSkuc2VsZWN0KCk6dD09InNlbGVjdC1wYWdlIj9lLnJvd3Moe3BhZ2U6ImN1cnJlbnQiLHNlbGVjdGVkOiEwfSkuZGVzZWxlY3QoKTplLnJvd3Moe3NlbGVjdGVkOiEwfSkuZGVzZWxlY3QoKX0pLm9uKCJjbGljayIsZnVuY3Rpb24odil7di5zdG9wUHJvcGFnYXRpb24oKX0pO2Uub24oImRyYXcgc2VsZWN0IGRlc2VsZWN0IixmdW5jdGlvbih2LGcsdyl7aWYodz09PSJyb3cifHwhdyl7dmFyIGI9VGMoZSx0KTtiLnNlYXJjaCYmYi5zZWFyY2g8PWIuY291bnQmJmIuc2VhcmNoPT09Yi5hdmFpbGFibGU/bS5wcm9wKCJjaGVja2VkIiwhMCkucHJvcCgiaW5kZXRlcm1pbmF0ZSIsITEpOmIuc2VhcmNoPT09MCYmYi5jb3VudD09PTA/bS5wcm9wKCJjaGVja2VkIiwhMSkucHJvcCgiaW5kZXRlcm1pbmF0ZSIsITEpOm0ucHJvcCgiY2hlY2tlZCIsITEpLnByb3AoImluZGV0ZXJtaW5hdGUiLCEwKX19KX19fSl9ZnVuY3Rpb24gU2MoZSl7dmFyIHQ9ZS5zZXR0aW5ncygpWzBdLG49dC5fc2VsZWN0LmtleXMscj10Ll9zZWxlY3Qua2V5c1dyYXAsaT0iZHRzLWtleXMtIit0LnNUYWJsZUlkO24/KE9lKGUucm93cyh7cGFnZToiY3VycmVudCJ9KS5ub2RlcygpKS5hdHRyKCJ0YWJpbmRleCIsMCksZS5vbigiZHJhdy4iK2ksZnVuY3Rpb24oKXtPZShlLnJvd3Moe3BhZ2U6ImN1cnJlbnQifSkubm9kZXMoKSkuYXR0cigidGFiaW5kZXgiLDApfSksT2UoZG9jdW1lbnQpLm9uKCJrZXlkb3duLiIraSxmdW5jdGlvbihhKXt2YXIgcz1hLmtleUNvZGUsdT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O2lmKFs5LDEzLDMyLDM4LDQwXS5pbmNsdWRlcyhzKSl7dmFyIGQ9ZS5yb3dzKHtwYWdlOiJjdXJyZW50In0pLm5vZGVzKCkudG9BcnJheSgpLG09ZC5pbmRleE9mKHUpLHY9ITAsZz1lLnBhZ2UuaW5mbygpO2lmKG0hPT0tMSl7aWYocz09PTkpYS5zaGlmdD09PSExJiZtPT09ZC5sZW5ndGgtMT9ZbihlLCJuZXh0IiwiOmZpcnN0LWNoaWxkIik6YS5zaGlmdD09PSEwJiZtPT09MD9ZbihlLCJwcmV2aW91cyIsIjpsYXN0LWNoaWxkIik6dj0hMTtlbHNlIGlmKHM9PT0xM3x8cz09PTMyKXt2YXIgdz1lLnJvdyh1KTt3LnNlbGVjdGVkKCk/dy5kZXNlbGVjdCgpOncuc2VsZWN0KCl9ZWxzZSBzPT09Mzg/bT4wP2RbbS0xXS5mb2N1cygpOmcuc3RhcnQ+MD9ZbihlLCJwcmV2aW91cyIsIjpsYXN0LWNoaWxkIik6ciYmWW4oZSwibGFzdCIsIjpsYXN0LWNoaWxkIik6bTxkLmxlbmd0aC0xP2RbbSsxXS5mb2N1cygpOmcucGFnZTxnLnBhZ2VzLTE/WW4oZSwibmV4dCIsIjpmaXJzdC1jaGlsZCIpOnImJlluKGUsImZpcnN0IiwiOmZpcnN0LWNoaWxkIik7diYmKGEuc3RvcFByb3BhZ2F0aW9uKCksYS5wcmV2ZW50RGVmYXVsdCgpKX19fSkpOihPZShlLnJvd3MoKS5ub2RlcygpKS5yZW1vdmVBdHRyKCJ0YWJpbmRleCIpLGUub2ZmKCJkcmF3LiIraSksT2UoZG9jdW1lbnQpLm9mZigia2V5ZG93bi4iK2kpKX1mdW5jdGlvbiBZbihlLHQsbil7ZS5vbmUoImRyYXciLGZ1bmN0aW9uKCl7ZS5yb3cobikubm9kZSgpLmZvY3VzKCl9KS5wYWdlKHQpLmRyYXcoITEpfWZ1bmN0aW9uIFRjKGUsdCl7dmFyIG49ZS5zZXR0aW5ncygpWzBdLHI9bi5fc2VsZWN0LnNlbGVjdGFibGUsaT0wLGE9dD09InNlbGVjdC1wYWdlIj9lLnJvd3Moe3BhZ2U6ImN1cnJlbnQiLHNlbGVjdGVkOiEwfSkuY291bnQoKTplLnJvd3Moe3NlbGVjdGVkOiEwfSkuY291bnQoKSxzPXQ9PSJzZWxlY3QtcGFnZSI/ZS5yb3dzKHtwYWdlOiJjdXJyZW50IixzZWxlY3RlZDohMH0pLmNvdW50KCk6ZS5yb3dzKHtzZWFyY2g6ImFwcGxpZWQiLHNlbGVjdGVkOiEwfSkuY291bnQoKTtpZighcilpPXQ9PSJzZWxlY3QtcGFnZSI/ZS5yb3dzKHtwYWdlOiJjdXJyZW50In0pLmNvdW50KCk6ZS5yb3dzKHtzZWFyY2g6ImFwcGxpZWQifSkuY291bnQoKTtlbHNlIGZvcih2YXIgdT10PT0ic2VsZWN0LXBhZ2UiP2Uucm93cyh7cGFnZToiY3VycmVudCJ9KS5pbmRleGVzKCk6ZS5yb3dzKHtzZWFyY2g6ImFwcGxpZWQifSkuaW5kZXhlcygpLGQ9MDtkPHUubGVuZ3RoO2QrKyl7dmFyIG09bi5hb0RhdGFbdVtkXV0sdj1yKG0uX2FEYXRhLG0ublRyLHVbZF0pO3YmJmkrK31yZXR1cm57YXZhaWxhYmxlOmksY291bnQ6YSxzZWFyY2g6c319ZnVuY3Rpb24gRGMoZSl7dmFyIHQ9bmV3IHRlLkFwaShlKTtlLl9zZWxlY3RfaW5pdD0hMCxlLl9zZWxlY3RfbW9kZT0iYWRkaXRpdmUiLGUuX3NlbGVjdF9zZXQ9W10sZS5hb1Jvd0NyZWF0ZWRDYWxsYmFjay5wdXNoKGZ1bmN0aW9uKG4scixpKXt2YXIgYSxzLHU9ZS5hb0RhdGFbaV0sZD10LnJvdyhpKS5pZCgpO2ZvcigodS5fc2VsZWN0X3NlbGVjdGVkfHxlLl9zZWxlY3RfbW9kZT09PSJhZGRpdGl2ZSImJmUuX3NlbGVjdF9zZXQuaW5jbHVkZXMoZCl8fGUuX3NlbGVjdF9tb2RlPT09InN1YnRyYWN0aXZlIiYmIWUuX3NlbGVjdF9zZXQuaW5jbHVkZXMoZCkpJiYodS5fc2VsZWN0X3NlbGVjdGVkPSEwLE9lKG4pLmFkZENsYXNzKGUuX3NlbGVjdC5jbGFzc05hbWUpLmZpbmQoImlucHV0LiIrUW4oITApKS5wcm9wKCJjaGVja2VkIiwhMCkpLGE9MCxzPWUuYW9Db2x1bW5zLmxlbmd0aDthPHM7YSsrKShlLmFvQ29sdW1uc1thXS5fc2VsZWN0X3NlbGVjdGVkfHx1Ll9zZWxlY3RlZF9jZWxscyYmdS5fc2VsZWN0ZWRfY2VsbHNbYV0pJiZPZSh1LmFuQ2VsbHNbYV0pLmFkZENsYXNzKGUuX3NlbGVjdC5jbGFzc05hbWUpfSksa2ModCksdC5vbigiaW5mby5kdCIsZnVuY3Rpb24obixyLGkpe3IuX3NlbGVjdC5pbmZvRWxzLmluY2x1ZGVzKGkpfHxyLl9zZWxlY3QuaW5mb0Vscy5wdXNoKGkpLE1vKHQsaSl9KSx0Lm9uKCJzZWxlY3QuZHRTZWxlY3QuZHQgZGVzZWxlY3QuZHRTZWxlY3QuZHQiLGZ1bmN0aW9uKCl7ZS5fc2VsZWN0LmluZm9FbHMuZm9yRWFjaChmdW5jdGlvbihuKXtNbyh0LG4pfSksdC5zdGF0ZS5zYXZlKCl9KSx0Lm9uKCJkZXN0cm95LmR0U2VsZWN0IixmdW5jdGlvbigpe09lKHQucm93cyh7c2VsZWN0ZWQ6ITB9KS5ub2RlcygpKS5yZW1vdmVDbGFzcyh0LnNldHRpbmdzKClbMF0uX3NlbGVjdC5jbGFzc05hbWUpLE9lKCJpbnB1dC4iK1FuKCEwKSx0LnRhYmxlKCkuaGVhZGVyKCkpLnJlbW92ZSgpLEpuKHQpLHQub2ZmKCIuZHRTZWxlY3QiKSxPZSgiYm9keSIpLm9mZigiLmR0U2VsZWN0IitDYSh0LnRhYmxlKCkubm9kZSgpKSl9KX1mdW5jdGlvbiBqbyhlLHQsbixyKXt2YXIgaT1lW3QrInMiXSh7c2VhcmNoOiJhcHBsaWVkIn0pLmluZGV4ZXMoKSxhPWkuaW5kZXhPZihyKSxzPWkuaW5kZXhPZihuKTtpZighZVt0KyJzIl0oe3NlbGVjdGVkOiEwfSkuYW55KCkmJmE9PT0tMSlpLnNwbGljZShpLmluZGV4T2YobikrMSxpLmxlbmd0aCk7ZWxzZXtpZihhPnMpe3ZhciB1PXM7cz1hLGE9dX1pLnNwbGljZShzKzEsaS5sZW5ndGgpLGkuc3BsaWNlKDAsYSl9ZVt0XShuLHtzZWxlY3RlZDohMH0pLmFueSgpPyhpLnNwbGljZShpLmluZGV4T2YobiksMSksZVt0KyJzIl0oaSkuZGVzZWxlY3QoKSk6ZVt0KyJzIl0oaSkuc2VsZWN0KCl9ZnVuY3Rpb24gX3IoZSx0KXtpZih0fHxlLl9zZWxlY3Quc3R5bGU9PT0ic2luZ2xlIil7dmFyIG49bmV3IHRlLkFwaShlKTtuLnJvd3Moe3NlbGVjdGVkOiEwfSkuZGVzZWxlY3QoKSxuLmNvbHVtbnMoe3NlbGVjdGVkOiEwfSkuZGVzZWxlY3QoKSxuLmNlbGxzKHtzZWxlY3RlZDohMH0pLmRlc2VsZWN0KCl9fWZ1bmN0aW9uIF9hKGUsdCxuLHIsaSl7dmFyIGE9dC5zZWxlY3Quc3R5bGUoKSxzPXQuc2VsZWN0LnRvZ2dsZWFibGUoKSx1PXRbcl0oaSx7c2VsZWN0ZWQ6ITB9KS5hbnkoKTtpZighKHUmJiFzKSlpZihhPT09Im9zIilpZihlLmN0cmxLZXl8fGUubWV0YUtleSl0W3JdKGkpLnNlbGVjdCghdSk7ZWxzZSBpZihlLnNoaWZ0S2V5KXI9PT0iY2VsbCI/Um8odCxpLG4uX3NlbGVjdF9sYXN0Q2VsbHx8bnVsbCk6am8odCxyLGksbi5fc2VsZWN0X2xhc3RDZWxsP24uX3NlbGVjdF9sYXN0Q2VsbFtyXTpudWxsKTtlbHNle3ZhciBkPXRbcisicyJdKHtzZWxlY3RlZDohMH0pO3UmJmQuZmxhdHRlbigpLmxlbmd0aD09PTE/dFtyXShpKS5kZXNlbGVjdCgpOihkLmRlc2VsZWN0KCksdFtyXShpKS5zZWxlY3QoKSl9ZWxzZSBhPT0ibXVsdGkrc2hpZnQiJiZlLnNoaWZ0S2V5P3I9PT0iY2VsbCI/Um8odCxpLG4uX3NlbGVjdF9sYXN0Q2VsbHx8bnVsbCk6am8odCxyLGksbi5fc2VsZWN0X2xhc3RDZWxsP24uX3NlbGVjdF9sYXN0Q2VsbFtyXTpudWxsKTp0W3JdKGkpLnNlbGVjdCghdSl9ZnVuY3Rpb24gQ2EoZSl7cmV0dXJuIGUuaWQucmVwbGFjZSgvW15hLXpBLVowLTlcLVxfXS9nLCItIil9ZnVuY3Rpb24ga2MoZSl7ZS5vbigic2VsZWN0IixmdW5jdGlvbih0LG4scixpKXtpZihyPT09InJvdyIpe3ZhciBhPWUuc2V0dGluZ3MoKVswXTthLl9zZWxlY3RfbW9kZT09PSJhZGRpdGl2ZSI/Vm8oZSxhLl9zZWxlY3Rfc2V0LGkpOkhvKGUsYS5fc2VsZWN0X3NldCxpKX19KSxlLm9uKCJkZXNlbGVjdCIsZnVuY3Rpb24odCxuLHIsaSl7aWYocj09PSJyb3ciKXt2YXIgYT1lLnNldHRpbmdzKClbMF07YS5fc2VsZWN0X21vZGU9PT0iYWRkaXRpdmUiP0hvKGUsYS5fc2VsZWN0X3NldCxpKTpWbyhlLGEuX3NlbGVjdF9zZXQsaSl9fSl9ZnVuY3Rpb24gVm8oZSx0LG4pe2Zvcih2YXIgcj0wO3I8bi5sZW5ndGg7cisrKXt2YXIgaT1lLnJvdyhuW3JdKS5pZCgpO2kmJmkhPT0idW5kZWZpbmVkIiYmIXQuaW5jbHVkZXMoaSkmJnQucHVzaChpKX19ZnVuY3Rpb24gSG8oZSx0LG4pe2Zvcih2YXIgcj0wO3I8bi5sZW5ndGg7cisrKXt2YXIgaT1lLnJvdyhuW3JdKS5pZCgpLGE9dC5pbmRleE9mKGkpO2EhPT0tMSYmdC5zcGxpY2UoYSwxKX19T2UuZWFjaChbe3R5cGU6InJvdyIscHJvcDoiYW9EYXRhIn0se3R5cGU6ImNvbHVtbiIscHJvcDoiYW9Db2x1bW5zIn1dLGZ1bmN0aW9uKGUsdCl7dGUuZXh0LnNlbGVjdG9yW3QudHlwZV0ucHVzaChmdW5jdGlvbihuLHIsaSl7dmFyIGE9ci5zZWxlY3RlZCxzLHU9W107aWYoYSE9PSEwJiZhIT09ITEpcmV0dXJuIGk7Zm9yKHZhciBkPTAsbT1pLmxlbmd0aDtkPG07ZCsrKXM9blt0LnByb3BdW2lbZF1dLHMmJihhPT09ITAmJnMuX3NlbGVjdF9zZWxlY3RlZD09PSEwfHxhPT09ITEmJiFzLl9zZWxlY3Rfc2VsZWN0ZWQpJiZ1LnB1c2goaVtkXSk7cmV0dXJuIHV9KX0pO3RlLmV4dC5zZWxlY3Rvci5jZWxsLnB1c2goZnVuY3Rpb24oZSx0LG4pe3ZhciByPXQuc2VsZWN0ZWQsaSxhPVtdO2lmKHI9PT12b2lkIDApcmV0dXJuIG47Zm9yKHZhciBzPTAsdT1uLmxlbmd0aDtzPHU7cysrKWk9ZS5hb0RhdGFbbltzXS5yb3ddLGkmJihyPT09ITAmJmkuX3NlbGVjdGVkX2NlbGxzJiZpLl9zZWxlY3RlZF9jZWxsc1tuW3NdLmNvbHVtbl09PT0hMHx8cj09PSExJiYoIWkuX3NlbGVjdGVkX2NlbGxzfHwhaS5fc2VsZWN0ZWRfY2VsbHNbbltzXS5jb2x1bW5dKSkmJmEucHVzaChuW3NdKTtyZXR1cm4gYX0pO3ZhciBidD10ZS5BcGkucmVnaXN0ZXIsZXI9dGUuQXBpLnJlZ2lzdGVyUGx1cmFsO2J0KCJzZWxlY3QoKSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGUpe3RlLnNlbGVjdC5pbml0KG5ldyB0ZS5BcGkoZSkpfSl9KTtidCgic2VsZWN0LmJsdXJhYmxlKCkiLGZ1bmN0aW9uKGUpe3JldHVybiBlPT09dm9pZCAwP3RoaXMuY29udGV4dFswXS5fc2VsZWN0LmJsdXJhYmxlOnRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbih0KXt0Ll9zZWxlY3QuYmx1cmFibGU9ZX0pfSk7YnQoInNlbGVjdC50b2dnbGVhYmxlKCkiLGZ1bmN0aW9uKGUpe3JldHVybiBlPT09dm9pZCAwP3RoaXMuY29udGV4dFswXS5fc2VsZWN0LnRvZ2dsZWFibGU6dGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKHQpe3QuX3NlbGVjdC50b2dnbGVhYmxlPWV9KX0pO2J0KCJzZWxlY3QuaW5mbygpIixmdW5jdGlvbihlKXtyZXR1cm4gZT09PXZvaWQgMD90aGlzLmNvbnRleHRbMF0uX3NlbGVjdC5pbmZvOnRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbih0KXt0Ll9zZWxlY3QuaW5mbz1lfSl9KTtidCgic2VsZWN0Lml0ZW1zKCkiLGZ1bmN0aW9uKGUpe3JldHVybiBlPT09dm9pZCAwP3RoaXMuY29udGV4dFswXS5fc2VsZWN0Lml0ZW1zOnRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbih0KXt0Ll9zZWxlY3QuaXRlbXM9ZSxybihuZXcgdGUuQXBpKHQpLCJzZWxlY3RJdGVtcyIsW2VdKX0pfSk7YnQoInNlbGVjdC5rZXlzKCkiLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9PT12b2lkIDA/dGhpcy5jb250ZXh0WzBdLl9zZWxlY3Qua2V5czp0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24obil7bi5fc2VsZWN0fHx0ZS5zZWxlY3QuaW5pdChuZXcgdGUuQXBpKG4pKSxuLl9zZWxlY3Qua2V5cz1lLG4uX3NlbGVjdC5rZXlzV3JhcD10LFNjKG5ldyB0ZS5BcGkobikpfSl9KTtidCgic2VsZWN0LnN0eWxlKCkiLGZ1bmN0aW9uKGUpe3JldHVybiBlPT09dm9pZCAwP3RoaXMuY29udGV4dFswXS5fc2VsZWN0LnN0eWxlOnRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbih0KXt0Ll9zZWxlY3R8fHRlLnNlbGVjdC5pbml0KG5ldyB0ZS5BcGkodCkpLHQuX3NlbGVjdF9pbml0fHxEYyh0KSx0Ll9zZWxlY3Quc3R5bGU9ZTt2YXIgbj1uZXcgdGUuQXBpKHQpO2UhPT0iYXBpIj9uLnJlYWR5KGZ1bmN0aW9uKCl7Sm4obiksV28obil9KTpKbihuKSxybihuZXcgdGUuQXBpKHQpLCJzZWxlY3RTdHlsZSIsW2VdKX0pfSk7YnQoInNlbGVjdC5zZWxlY3RvcigpIixmdW5jdGlvbihlKXtyZXR1cm4gZT09PXZvaWQgMD90aGlzLmNvbnRleHRbMF0uX3NlbGVjdC5zZWxlY3Rvcjp0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24odCl7dmFyIG49bmV3IHRlLkFwaSh0KSxyPXQuX3NlbGVjdC5zdHlsZTtKbihuKSx0Ll9zZWxlY3Quc2VsZWN0b3I9ZSxyJiZyIT09ImFwaSI/bi5yZWFkeShmdW5jdGlvbigpe0puKG4pLFdvKG4pfSk6Sm4obil9KX0pO2J0KCJzZWxlY3Quc2VsZWN0YWJsZSgpIixmdW5jdGlvbihlKXtsZXQgdD10aGlzLmNvbnRleHRbMF07cmV0dXJuIGU/KHQuX3NlbGVjdC5zZWxlY3RhYmxlPWUsdGhpcyk6dC5fc2VsZWN0LnNlbGVjdGFibGV9KTtidCgic2VsZWN0Lmxhc3QoKSIsZnVuY3Rpb24oZSl7bGV0IHQ9dGhpcy5jb250ZXh0WzBdO3JldHVybiBlPyh0Ll9zZWxlY3RfbGFzdENlbGw9ZSx0aGlzKTp0Ll9zZWxlY3RfbGFzdENlbGx9KTtidCgic2VsZWN0LmN1bXVsYXRpdmUoKSIsZnVuY3Rpb24oZSl7aWYoZSlyZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKG4pe2lmKG4uX3NlbGVjdF9tb2RlIT09ZSl7dmFyIHI9bmV3IHRlLkFwaShuKTtpZihlPT09InN1YnRyYWN0aXZlIil7dmFyIGk9ci5yb3dzKHtzZWxlY3RlZDohMX0pLmlkcygpLnRvQXJyYXkoKTtuLl9zZWxlY3RfbW9kZT1lLG4uX3NlbGVjdF9zZXQubGVuZ3RoPTAsbi5fc2VsZWN0X3NldC5wdXNoLmFwcGx5KG4uX3NlbGVjdF9zZXQsaSl9ZWxzZXt2YXIgYT1yLnJvd3Moe3NlbGVjdGVkOiEwfSkuaWRzKCkudG9BcnJheSgpO24uX3NlbGVjdF9tb2RlPWUsbi5fc2VsZWN0X3NldC5sZW5ndGg9MCxuLl9zZWxlY3Rfc2V0LnB1c2guYXBwbHkobi5fc2VsZWN0X3NldCxhKX19fSkuZHJhdyghMSk7bGV0IHQ9dGhpcy5jb250ZXh0WzBdO3JldHVybiB0JiZ0Ll9zZWxlY3Rfc2V0P3ttb2RlOnQuX3NlbGVjdF9tb2RlLHJvd3M6dC5fc2VsZWN0X3NldH06bnVsbH0pO2VyKCJyb3dzKCkuc2VsZWN0KCkiLCJyb3coKS5zZWxlY3QoKSIsZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxuPVtdO3JldHVybiBlPT09ITE/dGhpcy5kZXNlbGVjdCgpOih0aGlzLml0ZXJhdG9yKCJyb3ciLGZ1bmN0aW9uKHIsaSl7X3Iocik7dmFyIGE9ci5hb0RhdGFbaV0scz1yLmFvQ29sdW1ucztpZihyLl9zZWxlY3Quc2VsZWN0YWJsZSl7dmFyIHU9ci5fc2VsZWN0LnNlbGVjdGFibGUoYS5fYURhdGEsYS5uVHIsaSk7aWYodT09PSExKXJldHVybn1PZShhLm5UcikuYWRkQ2xhc3Moci5fc2VsZWN0LmNsYXNzTmFtZSksYS5fc2VsZWN0X3NlbGVjdGVkPSEwLG4ucHVzaChpKTtmb3IodmFyIGQ9MDtkPHMubGVuZ3RoO2QrKyl7dmFyIG09c1tkXTtpZihtLnNUeXBlPT09bnVsbCYmdC5jb2x1bW5zKCkudHlwZXMoKSxvaShtKSl7dmFyIHY9YS5hbkNlbGxzO3YmJnZbZF0mJk9lKCJpbnB1dC4iK1FuKCEwKSx2W2RdKS5wcm9wKCJjaGVja2VkIiwhMCksYS5fYVNvcnREYXRhIT09bnVsbCYmKGEuX2FTb3J0RGF0YVtkXT1udWxsKX19fSksdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKHIpe3JuKHQsInNlbGVjdCIsWyJyb3ciLG5dLCEwKX0pLHRoaXMpfSk7YnQoInJvdygpLnNlbGVjdGVkKCkiLGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5jb250ZXh0WzBdO3JldHVybiEhKGUmJnRoaXMubGVuZ3RoJiZlLmFvRGF0YVt0aGlzWzBdXSYmZS5hb0RhdGFbdGhpc1swXV0uX3NlbGVjdF9zZWxlY3RlZCl9KTtidCgicm93KCkuZm9jdXMoKSIsZnVuY3Rpb24oKXt2YXIgZT10aGlzLmNvbnRleHRbMF07ZSYmdGhpcy5sZW5ndGgmJmUuYW9EYXRhW3RoaXNbMF1dJiZlLmFvRGF0YVt0aGlzWzBdXS5uVHImJmUuYW9EYXRhW3RoaXNbMF1dLm5Uci5mb2N1cygpfSk7YnQoInJvdygpLmJsdXIoKSIsZnVuY3Rpb24oKXt2YXIgZT10aGlzLmNvbnRleHRbMF07ZSYmdGhpcy5sZW5ndGgmJmUuYW9EYXRhW3RoaXNbMF1dJiZlLmFvRGF0YVt0aGlzWzBdXS5uVHImJmUuYW9EYXRhW3RoaXNbMF1dLm5Uci5ibHVyKCl9KTtlcigiY29sdW1ucygpLnNlbGVjdCgpIiwiY29sdW1uKCkuc2VsZWN0KCkiLGZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIGU9PT0hMT90aGlzLmRlc2VsZWN0KCk6KHRoaXMuaXRlcmF0b3IoImNvbHVtbiIsZnVuY3Rpb24obixyKXtfcihuKSxuLmFvQ29sdW1uc1tyXS5fc2VsZWN0X3NlbGVjdGVkPSEwO3ZhciBpPW5ldyB0ZS5BcGkobikuY29sdW1uKHIpO09lKGkuaGVhZGVyKCkpLmFkZENsYXNzKG4uX3NlbGVjdC5jbGFzc05hbWUpLE9lKGkuZm9vdGVyKCkpLmFkZENsYXNzKG4uX3NlbGVjdC5jbGFzc05hbWUpLGkubm9kZXMoKS50byQoKS5hZGRDbGFzcyhuLl9zZWxlY3QuY2xhc3NOYW1lKX0pLHRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihuLHIpe3JuKHQsInNlbGVjdCIsWyJjb2x1bW4iLHRbcl1dLCEwKX0pLHRoaXMpfSk7YnQoImNvbHVtbigpLnNlbGVjdGVkKCkiLGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5jb250ZXh0WzBdO3JldHVybiEhKGUmJnRoaXMubGVuZ3RoJiZlLmFvQ29sdW1uc1t0aGlzWzBdXSYmZS5hb0NvbHVtbnNbdGhpc1swXV0uX3NlbGVjdF9zZWxlY3RlZCl9KTtlcigiY2VsbHMoKS5zZWxlY3QoKSIsImNlbGwoKS5zZWxlY3QoKSIsZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztyZXR1cm4gZT09PSExP3RoaXMuZGVzZWxlY3QoKToodGhpcy5pdGVyYXRvcigiY2VsbCIsZnVuY3Rpb24obixyLGkpe19yKG4pO3ZhciBhPW4uYW9EYXRhW3JdO2EuX3NlbGVjdGVkX2NlbGxzPT09dm9pZCAwJiYoYS5fc2VsZWN0ZWRfY2VsbHM9W10pLGEuX3NlbGVjdGVkX2NlbGxzW2ldPSEwLGEuYW5DZWxscyYmT2UoYS5hbkNlbGxzW2ldKS5hZGRDbGFzcyhuLl9zZWxlY3QuY2xhc3NOYW1lKX0pLHRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihuLHIpe3JuKHQsInNlbGVjdCIsWyJjZWxsIix0LmNlbGxzKHRbcl0pLmluZGV4ZXMoKS50b0FycmF5KCldLCEwKX0pLHRoaXMpfSk7YnQoImNlbGwoKS5zZWxlY3RlZCgpIixmdW5jdGlvbigpe3ZhciBlPXRoaXMuY29udGV4dFswXTtpZihlJiZ0aGlzLmxlbmd0aCl7dmFyIHQ9ZS5hb0RhdGFbdGhpc1swXVswXS5yb3ddO2lmKHQmJnQuX3NlbGVjdGVkX2NlbGxzJiZ0Ll9zZWxlY3RlZF9jZWxsc1t0aGlzWzBdWzBdLmNvbHVtbl0pcmV0dXJuITB9cmV0dXJuITF9KTtlcigicm93cygpLmRlc2VsZWN0KCkiLCJyb3coKS5kZXNlbGVjdCgpIixmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIHRoaXMuaXRlcmF0b3IoInJvdyIsZnVuY3Rpb24odCxuKXt2YXIgcj10LmFvRGF0YVtuXSxpPXQuYW9Db2x1bW5zO09lKHIublRyKS5yZW1vdmVDbGFzcyh0Ll9zZWxlY3QuY2xhc3NOYW1lKSxyLl9zZWxlY3Rfc2VsZWN0ZWQ9ITEsdC5fc2VsZWN0X2xhc3RDZWxsPW51bGw7Zm9yKHZhciBhPTA7YTxpLmxlbmd0aDthKyspe3ZhciBzPWlbYV07aWYocy5zVHlwZT09PW51bGwmJmUuY29sdW1ucygpLnR5cGVzKCksb2kocykpe3ZhciB1PXIuYW5DZWxsczt1JiZ1W2FdJiZPZSgiaW5wdXQuIitRbighMCksci5hbkNlbGxzW2FdKS5wcm9wKCJjaGVja2VkIiwhMSksci5fYVNvcnREYXRhIT09bnVsbCYmKHIuX2FTb3J0RGF0YVthXT1udWxsKX19fSksdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKHQsbil7cm4oZSwiZGVzZWxlY3QiLFsicm93IixlW25dXSwhMCl9KSx0aGlzfSk7ZXIoImNvbHVtbnMoKS5kZXNlbGVjdCgpIiwiY29sdW1uKCkuZGVzZWxlY3QoKSIsZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiB0aGlzLml0ZXJhdG9yKCJjb2x1bW4iLGZ1bmN0aW9uKHQsbil7dC5hb0NvbHVtbnNbbl0uX3NlbGVjdF9zZWxlY3RlZD0hMTt2YXIgcj1uZXcgdGUuQXBpKHQpLGk9ci5jb2x1bW4obik7T2UoaS5oZWFkZXIoKSkucmVtb3ZlQ2xhc3ModC5fc2VsZWN0LmNsYXNzTmFtZSksT2UoaS5mb290ZXIoKSkucmVtb3ZlQ2xhc3ModC5fc2VsZWN0LmNsYXNzTmFtZSksci5jZWxscyhudWxsLG4pLmluZGV4ZXMoKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBzPXQuYW9EYXRhW2Eucm93XSx1PXMuX3NlbGVjdGVkX2NlbGxzO3MuYW5DZWxscyYmKCF1fHwhdVthLmNvbHVtbl0pJiZPZShzLmFuQ2VsbHNbYS5jb2x1bW5dKS5yZW1vdmVDbGFzcyh0Ll9zZWxlY3QuY2xhc3NOYW1lKX0pfSksdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKHQsbil7cm4oZSwiZGVzZWxlY3QiLFsiY29sdW1uIixlW25dXSwhMCl9KSx0aGlzfSk7ZXIoImNlbGxzKCkuZGVzZWxlY3QoKSIsImNlbGwoKS5kZXNlbGVjdCgpIixmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNlbGwiLGZ1bmN0aW9uKHQsbixyKXt2YXIgaT10LmFvRGF0YVtuXTtpLl9zZWxlY3RlZF9jZWxscyE9PXZvaWQgMCYmKGkuX3NlbGVjdGVkX2NlbGxzW3JdPSExKSxpLmFuQ2VsbHMmJiF0LmFvQ29sdW1uc1tyXS5fc2VsZWN0X3NlbGVjdGVkJiZPZShpLmFuQ2VsbHNbcl0pLnJlbW92ZUNsYXNzKHQuX3NlbGVjdC5jbGFzc05hbWUpfSksdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKHQsbil7cm4oZSwiZGVzZWxlY3QiLFsiY2VsbCIsZVtuXV0sITApfSksdGhpc30pO2Z1bmN0aW9uIEtuKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBuLmkxOG4oImJ1dHRvbnMuIitlLHQpfX1mdW5jdGlvbiB3YShlKXt2YXIgdD1lLl9ldmVudE5hbWVzcGFjZTtyZXR1cm4iZHJhdy5kdC5EVCIrdCsiIHNlbGVjdC5kdC5EVCIrdCsiIGRlc2VsZWN0LmR0LkRUIit0fWZ1bmN0aW9uIEFjKGUsdCl7cmV0dXJuISEodC5saW1pdFRvLmluZGV4T2YoInJvd3MiKSE9PS0xJiZlLnJvd3Moe3NlbGVjdGVkOiEwfSkuYW55KCl8fHQubGltaXRUby5pbmRleE9mKCJjb2x1bW5zIikhPT0tMSYmZS5jb2x1bW5zKHtzZWxlY3RlZDohMH0pLmFueSgpfHx0LmxpbWl0VG8uaW5kZXhPZigiY2VsbHMiKSE9PS0xJiZlLmNlbGxzKHtzZWxlY3RlZDohMH0pLmFueSgpKX12YXIgeGE9MDtPZS5leHRlbmQodGUuZXh0LmJ1dHRvbnMse3NlbGVjdGVkOnt0ZXh0OktuKCJzZWxlY3RlZCIsIlNlbGVjdGVkIiksY2xhc3NOYW1lOiJidXR0b25zLXNlbGVjdGVkIixsaW1pdFRvOlsicm93cyIsImNvbHVtbnMiLCJjZWxscyJdLGluaXQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRoaXM7bi5fZXZlbnROYW1lc3BhY2U9Ii5zZWxlY3QiK3hhKyssZS5vbih3YShuKSxmdW5jdGlvbigpe3IuZW5hYmxlKEFjKGUsbikpfSksdGhpcy5kaXNhYmxlKCl9LGRlc3Ryb3k6ZnVuY3Rpb24oZSx0LG4pe2Uub2ZmKG4uX2V2ZW50TmFtZXNwYWNlKX19LHNlbGVjdGVkU2luZ2xlOnt0ZXh0OktuKCJzZWxlY3RlZFNpbmdsZSIsIlNlbGVjdGVkIHNpbmdsZSIpLGNsYXNzTmFtZToiYnV0dG9ucy1zZWxlY3RlZC1zaW5nbGUiLGluaXQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRoaXM7bi5fZXZlbnROYW1lc3BhY2U9Ii5zZWxlY3QiK3hhKyssZS5vbih3YShuKSxmdW5jdGlvbigpe3ZhciBpPWUucm93cyh7c2VsZWN0ZWQ6ITB9KS5mbGF0dGVuKCkubGVuZ3RoK2UuY29sdW1ucyh7c2VsZWN0ZWQ6ITB9KS5mbGF0dGVuKCkubGVuZ3RoK2UuY2VsbHMoe3NlbGVjdGVkOiEwfSkuZmxhdHRlbigpLmxlbmd0aDtyLmVuYWJsZShpPT09MSl9KSx0aGlzLmRpc2FibGUoKX0sZGVzdHJveTpmdW5jdGlvbihlLHQsbil7ZS5vZmYobi5fZXZlbnROYW1lc3BhY2UpfX0sc2VsZWN0QWxsOnt0ZXh0OktuKCJzZWxlY3RBbGwiLCJTZWxlY3QgYWxsIiksY2xhc3NOYW1lOiJidXR0b25zLXNlbGVjdC1hbGwiLGFjdGlvbjpmdW5jdGlvbihlLHQsbixyKXt2YXIgaT10aGlzLnNlbGVjdC5pdGVtcygpLGE9ci5zZWxlY3Rvck1vZGlmaWVyO2E/KHR5cGVvZiBhPT0iZnVuY3Rpb24iJiYoYT1hLmNhbGwodCxlLHQsbixyKSksdGhpc1tpKyJzIl0oYSkuc2VsZWN0KCkpOnRoaXNbaSsicyJdKCkuc2VsZWN0KCl9fSxzZWxlY3ROb25lOnt0ZXh0OktuKCJzZWxlY3ROb25lIiwiRGVzZWxlY3QgYWxsIiksY2xhc3NOYW1lOiJidXR0b25zLXNlbGVjdC1ub25lIixhY3Rpb246ZnVuY3Rpb24oKXtfcih0aGlzLnNldHRpbmdzKClbMF0sITApfSxpbml0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10aGlzO24uX2V2ZW50TmFtZXNwYWNlPSIuc2VsZWN0Iit4YSsrLGUub24od2EobiksZnVuY3Rpb24oKXt2YXIgaT1lLnJvd3Moe3NlbGVjdGVkOiEwfSkuZmxhdHRlbigpLmxlbmd0aCtlLmNvbHVtbnMoe3NlbGVjdGVkOiEwfSkuZmxhdHRlbigpLmxlbmd0aCtlLmNlbGxzKHtzZWxlY3RlZDohMH0pLmZsYXR0ZW4oKS5sZW5ndGg7ci5lbmFibGUoaT4wKX0pLHRoaXMuZGlzYWJsZSgpfSxkZXN0cm95OmZ1bmN0aW9uKGUsdCxuKXtlLm9mZihuLl9ldmVudE5hbWVzcGFjZSl9fSxzaG93U2VsZWN0ZWQ6e3RleHQ6S24oInNob3dTZWxlY3RlZCIsIlNob3cgb25seSBzZWxlY3RlZCIpLGNsYXNzTmFtZToiYnV0dG9ucy1zaG93LXNlbGVjdGVkIixhY3Rpb246ZnVuY3Rpb24oZSx0KXtpZih0LnNlYXJjaC5maXhlZCgiZHQtc2VsZWN0IikpdC5zZWFyY2guZml4ZWQoImR0LXNlbGVjdCIsbnVsbCksdGhpcy5hY3RpdmUoITEpO2Vsc2V7dmFyIG49dC5zZXR0aW5ncygpWzBdLmFvRGF0YTt0LnNlYXJjaC5maXhlZCgiZHQtc2VsZWN0IixmdW5jdGlvbihyLGksYSl7cmV0dXJuIG5bYV0uX3NlbGVjdF9zZWxlY3RlZH0pLHRoaXMuYWN0aXZlKCEwKX10LmRyYXcoKX19fSk7T2UuZWFjaChbIlJvdyIsIkNvbHVtbiIsIkNlbGwiXSxmdW5jdGlvbihlLHQpe3ZhciBuPXQudG9Mb3dlckNhc2UoKTt0ZS5leHQuYnV0dG9uc1sic2VsZWN0Iit0KyJzIl09e3RleHQ6S24oInNlbGVjdCIrdCsicyIsIlNlbGVjdCAiK24rInMiKSxjbGFzc05hbWU6ImJ1dHRvbnMtc2VsZWN0LSIrbisicyIsYWN0aW9uOmZ1bmN0aW9uKCl7dGhpcy5zZWxlY3QuaXRlbXMobil9LGluaXQ6ZnVuY3Rpb24ocil7dmFyIGk9dGhpczt0aGlzLmFjdGl2ZShyLnNlbGVjdC5pdGVtcygpPT09biksci5vbigic2VsZWN0SXRlbXMuZHQuRFQiLGZ1bmN0aW9uKGEscyx1KXtpLmFjdGl2ZSh1PT09bil9KX19fSk7dGUudHlwZSgic2VsZWN0LWNoZWNrYm94Iix7Y2xhc3NOYW1lOiJkdC1zZWxlY3QiLGRldGVjdDp0ZS52ZXJzaW9uQ2hlY2soIjIuMSIpP3tvbmVPZjpmdW5jdGlvbigpe3JldHVybiExfSxhbGxPZjpmdW5jdGlvbigpe3JldHVybiExfSxpbml0OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gb2kodCl9fTpmdW5jdGlvbihlKXtyZXR1cm4gZT09PSJzZWxlY3QtY2hlY2tib3giP2U6ITF9LG9yZGVyOntwcmU6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT0iWCI/LTE6MH19fSk7T2UuZXh0ZW5kKCEwLHRlLmRlZmF1bHRzLm9MYW5ndWFnZSx7c2VsZWN0OnthcmlhOntyb3dDaGVja2JveDoiU2VsZWN0IHJvdyJ9fX0pO3RlLnJlbmRlci5zZWxlY3Q9ZnVuY3Rpb24oZSx0KXt2YXIgbj1lP3RlLnV0aWwuZ2V0KGUpOm51bGwscj10P3RlLnV0aWwuZ2V0KHQpOm51bGwsaT1mdW5jdGlvbihhLHMsdSxkKXt2YXIgbT1kLnNldHRpbmdzLmFvRGF0YVtkLnJvd10sdj1tLl9zZWxlY3Rfc2VsZWN0ZWQsZz1kLnNldHRpbmdzLm9MYW5ndWFnZS5zZWxlY3QuYXJpYS5yb3dDaGVja2JveCx3PWQuc2V0dGluZ3MuX3NlbGVjdC5zZWxlY3RhYmxlO2lmKHM9PT0iZGlzcGxheSIpe2lmKHcpe3ZhciBiPXcodSxtLm5UcixkLnJvdyk7aWYoYj09PSExKXJldHVybiIifXJldHVybiBPZSgiPGlucHV0PiIpLmF0dHIoeyJhcmlhLWxhYmVsIjpnLGNsYXNzOlFuKCksbmFtZTpyP3IodSk6bnVsbCx0eXBlOiJjaGVja2JveCIsdmFsdWU6bj9uKHUpOm51bGwsY2hlY2tlZDp2fSkub24oImlucHV0IixmdW5jdGlvbihUKXtULnByZXZlbnREZWZhdWx0KCksdGhpcy5jaGVja2VkPU9lKHRoaXMpLmNsb3Nlc3QoInRyIikuaGFzQ2xhc3MoInNlbGVjdGVkIil9KVswXX1lbHNle2lmKHM9PT0idHlwZSIpcmV0dXJuInNlbGVjdC1jaGVja2JveCI7aWYocz09PSJmaWx0ZXIiKXJldHVybiIifXJldHVybiB2PyJYIjoiIn07cmV0dXJuIGkuX25hbWU9InNlbGVjdENoZWNrYm94IixpfTt0ZS5leHQub3JkZXJbInNlbGVjdC1jaGVja2JveCJdPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuYXBpKCkuY29sdW1uKHQse29yZGVyOiJpbmRleCJ9KS5ub2RlcygpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gZS5fc2VsZWN0Lml0ZW1zPT09InJvdyI/T2UobikucGFyZW50KCkuaGFzQ2xhc3MoZS5fc2VsZWN0LmNsYXNzTmFtZSkudG9TdHJpbmcoKTplLl9zZWxlY3QuaXRlbXM9PT0iY2VsbCI/T2UobikuaGFzQ2xhc3MoZS5fc2VsZWN0LmNsYXNzTmFtZSkudG9TdHJpbmcoKTohMX0pfTtPZS5mbi5EYXRhVGFibGUuc2VsZWN0PXRlLnNlbGVjdDtPZShkb2N1bWVudCkub24oImkxOG4uZHQuZHRTZWxlY3QgcHJlSW5pdC5kdC5kdFNlbGVjdCIsZnVuY3Rpb24oZSx0KXtlLm5hbWVzcGFjZT09PSJkdCImJnRlLnNlbGVjdC5pbml0KG5ldyB0ZS5BcGkodCkpfSk7cXQuQnV0dG9ucy5qc3ppcChxby5kZWZhdWx0KTtmdW5jdGlvbiBOYyhlKXtyZXR1cm4gSlNPTi5wYXJzZShlLCh0LG4scik9PnR5cGVvZiBuPT0ibnVtYmVyIiYmIU51bWJlci5pc1NhZmVJbnRlZ2VyKG4pJiYvXi0/XGQrJC8udGVzdChyLnNvdXJjZSk/QmlnSW50KHIuc291cmNlKTpuPT09Il9fX05hTl9fXyI/TmFOOm49PT0iX19fSW5maW5pdHlfX18iPzEvMDpuPT09Il9fXy1JbmZpbml0eV9fXyI/LTEvMDpuKX13aW5kb3cuJD1fdC5kZWZhdWx0O2Z1bmN0aW9uIEdvKGUsdCxuKXtsZXRbciwuLi5pXT10O2lmKFsiX19wcm90b19fIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiXS5pbmNsdWRlcyhyKSl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQga2V5ICcke3J9JyBpbiBjb250ZXh0ICcke259Jy4gUHJvdG90eXBlIHBvbGx1dGlvbiBhdHRlbXB0IGRldGVjdGVkLmApO2lmKGkubGVuZ3RoPT09MCl0cnl7bGV0IGE9ZVtyXTtpZih0eXBlb2YgYSE9InN0cmluZyIpdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBhIHN0cmluZyB0byBldmFsdWF0ZSBpbiBjb250ZXh0ICcke259JywgYnV0IGdvdCAke3R5cGVvZiBhfS5gKTsvXlxzKmZ1bmN0aW9uXHMqXCgvLnRlc3QoYSkmJihhPWAoJHthfSlgKSxlW3JdPXdpbmRvdy5ldmFsKGEpfWNhdGNoKGEpe2NvbnNvbGUuZXJyb3IoYEVycm9yIGV2YWx1YXRpbmcgJHtufT0nJHtlW3JdfSciOiAke2EubWVzc2FnZX1gKX1lbHNlIEdvKGVbcl0saSxuKX12YXIgVW89Y2xhc3N7Y29uc3RydWN0b3IodCxuKXtsZXR7ZGF0YTpyLGNhcHRpb246aSxjbGFzc2VzOmEsc3R5bGU6cyxkYXRhX2pzb246dSx0YWJsZV9odG1sOmQsdGFibGVfc3R5bGU6bSxzZWxlY3RlZF9yb3dzOnYsZmlsdGVyZWRfcm93X2NvdW50Omcsa2V5c190b19iZV9ldmFsdWF0ZWQ6dyxjb2x1bW5fZmlsdGVyczpiLHRleHRfaW5faGVhZGVyX2Nhbl9iZV9zZWxlY3RlZDpULGluaXRDb21wbGV0ZTpELGRvd25zYW1wbGluZ193YXJuaW5nOmgsLi4ubH09bjtpZihyIT09dm9pZCAwKXRocm93IG5ldyBFcnJvcigiVGhlICdkYXRhJyBwcm9wZXJ0eSBpcyBub3QgYWxsb3dlZCBpbiBkdF9hcmdzLiIpO2lmKHUmJihsLmRhdGE9TmModSkpLHcmJncuZm9yRWFjaChwPT5HbyhsLHAscC5qb2luKCIuIikpKSx0aGlzLmZpbHRlcmVkX3Jvd19jb3VudD1nfHwwLChUfHxiKSYmKGwuaW5pdENvbXBsZXRlPWZ1bmN0aW9uKHAsQyl7aWYoYj09ImhlYWRlciI/dGhpcy5hcGkoKS5jb2x1bW5zKCkuZXZlcnkoZnVuY3Rpb24oKXtsZXQgRj10aGlzOygwLF90LmRlZmF1bHQpKCJpbnB1dCIsdGhpcy5oZWFkZXIoKSkub24oImtleXVwIGNoYW5nZSBjbGVhciIsZnVuY3Rpb24oKXtGLnNlYXJjaCgpIT09dGhpcy52YWx1ZSYmRi5zZWFyY2godGhpcy52YWx1ZSkuZHJhdygpfSl9KTpiPT0iZm9vdGVyIiYmdGhpcy5hcGkoKS5jb2x1bW5zKCkuZXZlcnkoZnVuY3Rpb24oKXtsZXQgRj10aGlzOygwLF90LmRlZmF1bHQpKCJpbnB1dCIsdGhpcy5mb290ZXIoKSkub24oImtleXVwIGNoYW5nZSBjbGVhciIsZnVuY3Rpb24oKXtGLnNlYXJjaCgpIT09dGhpcy52YWx1ZSYmRi5zZWFyY2godGhpcy52YWx1ZSkuZHJhdygpfSl9KSxUKXtsZXQgRj10aGlzLmFwaSgpOygwLF90LmRlZmF1bHQpKCJ0aGVhZCB0aCIsRi50YWJsZSgpLmNvbnRhaW5lcigpKS5lYWNoKGZ1bmN0aW9uKCl7aWYoKDAsX3QuZGVmYXVsdCkodGhpcykuYXR0cigiY29sU3BhbiIpPjEpKDAsX3QuZGVmYXVsdCkodGhpcykuYXR0cigiZGF0YS1kdC1vcmRlciIsImRpc2FibGUiKTtlbHNlIGlmKCgwLF90LmRlZmF1bHQpKHRoaXMpLmZpbmQoInNwYW4uZHQtY29sdW1uLXRpdGxlIikudGV4dCgpPT09IiImJigwLF90LmRlZmF1bHQpKHRoaXMpLmZpbmQoInNwYW4uZHQtY29sdW1uLXRpdGxlIikuY2hpbGRyZW4oKS5sZW5ndGg9PT0wKSgwLF90LmRlZmF1bHQpKHRoaXMpLmF0dHIoImRhdGEtZHQtb3JkZXIiLCJkaXNhYmxlIiksKDAsX3QuZGVmYXVsdCkodGhpcykuZW1wdHkoKTtlbHNleygwLF90LmRlZmF1bHQpKHRoaXMpLmF0dHIoImRhdGEtZHQtb3JkZXIiLCJpY29uLW9ubHkiKTtsZXQgUD1GLmNvbHVtbih0aGlzKS5pbmRleCgidmlzaWJsZSIpO0Yub3JkZXIubGlzdGVuZXIoKDAsX3QuZGVmYXVsdCkoInNwYW4uZHQtY29sdW1uLW9yZGVyIix0aGlzKSxQKX19KX1EIT09dm9pZCAwJiZEKHAsQyl9KSxoJiYobC5mbkluZm9DYWxsYmFjaz1mdW5jdGlvbihwLEMsRixQLGYsVyl7cmV0dXJuIFcrIiAoIitoKyIpIn0pLHRoaXMudGFibGU9KDAsX3QuZGVmYXVsdCkodCksZCYmdGhpcy50YWJsZS5odG1sKGQpLGEmJmEuZm9yRWFjaChwPT57dGhpcy50YWJsZS5hZGRDbGFzcyhwKX0pLHMmJnRoaXMudGFibGUuY3NzKHMpLG0mJiQoJzxzdHlsZSBpZD0iJyt0aGlzLnRhYmxlLmF0dHIoImlkIikrJy1zdHlsZSI+JykudGV4dChtKS5hcHBlbmRUbyh0aGlzLnRhYmxlKSxiPT09ImhlYWRlciJ8fGI9PT0iZm9vdGVyIil7bGV0IHA9Yj09PSJoZWFkZXIiPyJ0aGVhZCI6InRmb290Ijt0aGlzLnRhYmxlLmZpbmQocCsiIHRoIikuZWFjaChmdW5jdGlvbigpe2xldCBDPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7Qy50eXBlPSJ0ZXh0IixDLnBsYWNlaG9sZGVyPSgwLF90LmRlZmF1bHQpKHRoaXMpLnRleHQoKSwoMCxfdC5kZWZhdWx0KSh0aGlzKS5odG1sKEMpfSl9dGhpcy5kdD1uZXcgcXQodCxsKSxpIT09dm9pZCAwJiZ0aGlzLmR0LmNhcHRpb24oaSksdiE9PXZvaWQgMCYmKHRoaXMuc2VsZWN0ZWRfcm93cz12KX1kZXN0cm95KCl7dGhpcy5kdCYmKHRoaXMuZHQuZGVzdHJveSgpLHRoaXMudGFibGUuZW1wdHkoKSx0aGlzLmR0PW51bGwpfXNldCBzZWxlY3RlZF9yb3dzKHQpe2xldCBuPXRoaXMuZHQucm93cygpLmNvdW50KCkscj1uLzIsaT1yK3RoaXMuZmlsdGVyZWRfcm93X2NvdW50LGE9bit0aGlzLmZpbHRlcmVkX3Jvd19jb3VudDt0PUFycmF5LmZyb20odC5maWx0ZXIocz0+cz49MCYmczxhJiYoczxyfHxzPj1pKSkubWFwKHM9PnM8cj9zOnMtdGhpcy5maWx0ZXJlZF9yb3dfY291bnQpKSx0aGlzLmR0LnJvd3MoKS5kZXNlbGVjdCgpLHRoaXMuZHQucm93cyh0KS5zZWxlY3QoKX1nZXQgc2VsZWN0ZWRfcm93cygpe2xldCBuPXRoaXMuZHQucm93cygpLmNvdW50KCkvMjtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmR0LnJvd3Moe3NlbGVjdGVkOiEwfSkuaW5kZXhlcygpLm1hcChyPT5yPG4/cjpyK3RoaXMuZmlsdGVyZWRfcm93X2NvdW50KSl9fTtmdW5jdGlvbiBuZigpeyhmdW5jdGlvbigpe3JldHVybiJqcFRoZW1lTGlnaHQiaW4gZG9jdW1lbnQuYm9keS5kYXRhc2V0P2RvY3VtZW50LmJvZHkuZGF0YXNldC5qcFRoZW1lTGlnaHQ9PT0iZmFsc2UiOiJ2c2NvZGVUaGVtZUtpbmQiaW4gZG9jdW1lbnQuYm9keS5kYXRhc2V0P2RvY3VtZW50LmJvZHkuZGF0YXNldC52c2NvZGVUaGVtZUtpbmQuaW5jbHVkZXMoImRhcmsiKToidGhlbWUiaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQ/ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQudGhlbWUuaW5jbHVkZXMoImRhcmsiKTp3aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIpLm1hdGNoZXN9KSgpP2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCJkYXJrIik6ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoImRhcmsiKX12YXIgcmY9cXQ7dmFyIGV4cG9ydF9qUXVlcnk9X3QuZGVmYXVsdDtleHBvcnR7X2MgYXMgRGF0ZVRpbWUsVW8gYXMgSVRhYmxlLHJmIGFzIGRlZmF1bHQsZXhwb3J0X2pRdWVyeSBhcyBqUXVlcnksbmYgYXMgc2V0X29yX3JlbW92ZV9kYXJrX2NsYXNzfTsKLyohIEJ1bmRsZWQgbGljZW5zZSBpbmZvcm1hdGlvbjoKCmpzemlwL2Rpc3QvanN6aXAubWluLmpzOgogICgqIQogIAogIEpTWmlwIHYzLjEwLjEgLSBBIEphdmFTY3JpcHQgY2xhc3MgZm9yIGdlbmVyYXRpbmcgYW5kIHJlYWRpbmcgemlwIGZpbGVzCiAgPGh0dHA6Ly9zdHVhcnRrLmNvbS9qc3ppcD4KICAKICAoYykgMjAwOS0yMDE2IFN0dWFydCBLbmlnaHRsZXkgPHN0dWFydCBbYXRdIHN0dWFydGsuY29tPgogIER1YWwgbGljZW5jZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIG9yIEdQTHYzLiBTZWUgaHR0cHM6Ly9yYXcuZ2l0aHViLmNvbS9TdHVrL2pzemlwL21haW4vTElDRU5TRS5tYXJrZG93bi4KICAKICBKU1ppcCB1c2VzIHRoZSBsaWJyYXJ5IHBha28gcmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIDoKICBodHRwczovL2dpdGh1Yi5jb20vbm9kZWNhL3Bha28vYmxvYi9tYWluL0xJQ0VOU0UKICAqKQoKanF1ZXJ5L2Rpc3QvanF1ZXJ5LmpzOgogICgqIQogICAqIGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkgdjMuNy4xCiAgICogaHR0cHM6Ly9qcXVlcnkuY29tLwogICAqCiAgICogQ29weXJpZ2h0IE9wZW5KUyBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMKICAgKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UKICAgKiBodHRwczovL2pxdWVyeS5vcmcvbGljZW5zZQogICAqCiAgICogRGF0ZTogMjAyMy0wOC0yOFQxMzozN1oKICAgKikKCmRhdGF0YWJsZXMubmV0L2pzL2RhdGFUYWJsZXMubWpzOgogICgqISBEYXRhVGFibGVzIDIuMy4zCiAgICogwqkgU3ByeU1lZGlhIEx0ZCAtIGRhdGF0YWJsZXMubmV0L2xpY2Vuc2UKICAgKikKCmRhdGF0YWJsZXMubmV0LWR0L2pzL2RhdGFUYWJsZXMuZGF0YVRhYmxlcy5tanM6CiAgKCohIERhdGFUYWJsZXMgc3R5bGluZyBpbnRlZ3JhdGlvbgogICAqIMKpIFNwcnlNZWRpYSBMdGQgLSBkYXRhdGFibGVzLm5ldC9saWNlbnNlCiAgICopCgpkYXRhdGFibGVzLm5ldC1idXR0b25zL2pzL2RhdGFUYWJsZXMuYnV0dG9ucy5tanM6CiAgKCohIEJ1dHRvbnMgZm9yIERhdGFUYWJsZXMgMy4yLjQKICAgKiDCqSBTcHJ5TWVkaWEgTHRkIC0gZGF0YXRhYmxlcy5uZXQvbGljZW5zZQogICAqKQoKZGF0YXRhYmxlcy5uZXQtYnV0dG9ucy1kdC9qcy9idXR0b25zLmRhdGFUYWJsZXMubWpzOgogICgqISBEYXRhVGFibGVzIHN0eWxpbmcgd3JhcHBlciBmb3IgQnV0dG9ucwogICAqIMKpIFNwcnlNZWRpYSBMdGQgLSBkYXRhdGFibGVzLm5ldC9saWNlbnNlCiAgICopCgpkYXRhdGFibGVzLm5ldC1idXR0b25zL2pzL2J1dHRvbnMuaHRtbDUubWluLm1qczoKICAoKiEKICAgKiBIVE1MNSBleHBvcnQgYnV0dG9ucyBmb3IgQnV0dG9ucyBhbmQgRGF0YVRhYmxlcy4KICAgKiDCqSBTcHJ5TWVkaWEgTHRkIC0gZGF0YXRhYmxlcy5uZXQvbGljZW5zZQogICAqCiAgICogRmlsZVNhdmVyLmpzICgxLjMuMykgLSBNSVQgbGljZW5zZQogICAqIENvcHlyaWdodCDCqSAyMDE2IEVsaSBHcmV5IC0gaHR0cDovL2VsaWdyZXkuY29tCiAgICopCgpkYXRhdGFibGVzLm5ldC1idXR0b25zL2pzL2J1dHRvbnMucHJpbnQubWluLm1qczoKICAoKiEKICAgKiBQcmludCBidXR0b24gZm9yIEJ1dHRvbnMgYW5kIERhdGFUYWJsZXMuCiAgICogwqkgU3ByeU1lZGlhIEx0ZCAtIGRhdGF0YWJsZXMubmV0L2xpY2Vuc2UKICAgKikKCmRhdGF0YWJsZXMubmV0LWJ1dHRvbnMvanMvYnV0dG9ucy5jb2xWaXMubWluLm1qczoKICAoKiEKICAgKiBDb2x1bW4gdmlzaWJpbGl0eSBidXR0b25zIGZvciBCdXR0b25zIGFuZCBEYXRhVGFibGVzLgogICAqIMKpIFNwcnlNZWRpYSBMdGQgLSBkYXRhdGFibGVzLm5ldC9saWNlbnNlCiAgICopCgpkYXRhdGFibGVzLm5ldC1jb2x1bW5jb250cm9sL2pzL2RhdGFUYWJsZXMuY29sdW1uQ29udHJvbC5tanM6CiAgKCohIENvbHVtbkNvbnRyb2wgMS4wLjcKICAgKiBDb3B5cmlnaHQgKGMpIFNwcnlNZWRpYSBMdGQgLSBkYXRhdGFibGVzLm5ldC9saWNlbnNlCiAgICoKICAgKiBTVkcgaWNvbnM6IElTQyBMaWNlbnNlCiAgICogQ29weXJpZ2h0IChjKSBmb3IgcG9ydGlvbnMgb2YgTHVjaWRlIGFyZSBoZWxkIGJ5IENvbGUgQmVtaXMgMjAxMy0yMDIyIGFzIHBhcnQgb2YgRmVhdGhlciAoTUlUKS4KICAgKiBBbGwgb3RoZXIgY29weXJpZ2h0IChjKSBmb3IgTHVjaWRlIGFyZSBoZWxkIGJ5IEx1Y2lkZSBDb250cmlidXRvcnMgMjAyMi4KICAgKikKCmRhdGF0YWJsZXMubmV0LWNvbHVtbmNvbnRyb2wtZHQvanMvY29sdW1uQ29udHJvbC5kYXRhVGFibGVzLm1qczoKICAoKiEgRGF0YVRhYmxlcyBzdHlsaW5nIHdyYXBwZXIgZm9yIENvbFJlb3JkZXIKICAgKiDCqSBTcHJ5TWVkaWEgTHRkIC0gZGF0YXRhYmxlcy5uZXQvbGljZW5zZQogICAqKQoKZGF0YXRhYmxlcy5uZXQtZml4ZWRjb2x1bW5zL2pzL2RhdGFUYWJsZXMuZml4ZWRDb2x1bW5zLm1qczoKICAoKiEgRml4ZWRDb2x1bW5zIDUuMC40CiAgICogwqkgU3ByeU1lZGlhIEx0ZCAtIGRhdGF0YWJsZXMubmV0L2xpY2Vuc2UKICAgKikKCmRhdGF0YWJsZXMubmV0LWZpeGVkY29sdW1ucy1kdC9qcy9maXhlZENvbHVtbnMuZGF0YVRhYmxlcy5tanM6CiAgKCohIERhdGFUYWJsZXMgaW50ZWdyYXRpb24gZm9yIERhdGFUYWJsZXMnIEZpeGVkQ29sdW1ucwogICAqIMKpIFNwcnlNZWRpYSBMdGQgLSBkYXRhdGFibGVzLm5ldC9saWNlbnNlCiAgICopCgpkYXRhdGFibGVzLm5ldC1rZXl0YWJsZS9qcy9kYXRhVGFibGVzLmtleVRhYmxlLm1qczoKICAoKiEgS2V5VGFibGUgMi4xMi4xCiAgICogwqkgU3ByeU1lZGlhIEx0ZCAtIGRhdGF0YWJsZXMubmV0L2xpY2Vuc2UKICAgKikKCmRhdGF0YWJsZXMubmV0LWtleXRhYmxlLWR0L2pzL2tleVRhYmxlLmRhdGFUYWJsZXMubWpzOgogICgqISBEYXRhVGFibGVzIHN0eWxpbmcgd3JhcHBlciBmb3IgS2V5VGFibGUKICAgKiDCqSBTcHJ5TWVkaWEgTHRkIC0gZGF0YXRhYmxlcy5uZXQvbGljZW5zZQogICAqKQoKZGF0YXRhYmxlcy5uZXQtcm93Z3JvdXAvanMvZGF0YVRhYmxlcy5yb3dHcm91cC5tanM6CiAgKCohIFJvd0dyb3VwIDEuNS4yCiAgICogwqkgU3ByeU1lZGlhIEx0ZCAtIGRhdGF0YWJsZXMubmV0L2xpY2Vuc2UKICAgKikKCmRhdGF0YWJsZXMubmV0LXJvd2dyb3VwLWR0L2pzL3Jvd0dyb3VwLmRhdGFUYWJsZXMubWpzOgogICgqISBEYXRhVGFibGVzIHN0eWxpbmcgd3JhcHBlciBmb3IgUm93R3JvdXAKICAgKiDCqSBTcHJ5TWVkaWEgTHRkIC0gZGF0YXRhYmxlcy5uZXQvbGljZW5zZQogICAqKQoKZGF0YXRhYmxlcy5uZXQtZGF0ZXRpbWUvZGlzdC9kYXRhVGFibGVzLmRhdGVUaW1lLm1qczoKICAoKiEgRGF0ZVRpbWUgcGlja2VyIGZvciBEYXRhVGFibGVzLm5ldCB2MS41LjYKICAgKgogICAqIMKpIFNwcnlNZWRpYSBMdGQsIGFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICogTGljZW5zZTogTUlUIGRhdGF0YWJsZXMubmV0L2xpY2Vuc2UvbWl0CiAgICopCgpkYXRhdGFibGVzLm5ldC1zZWFyY2hidWlsZGVyL2pzL2RhdGFUYWJsZXMuc2VhcmNoQnVpbGRlci5tanM6CiAgKCohIFNlYXJjaEJ1aWxkZXIgMS44LjMKICAgKiDCqVNwcnlNZWRpYSBMdGQgLSBkYXRhdGFibGVzLm5ldC9saWNlbnNlL21pdAogICAqKQoKZGF0YXRhYmxlcy5uZXQtc2VhcmNoYnVpbGRlci1kdC9qcy9zZWFyY2hCdWlsZGVyLmRhdGFUYWJsZXMubWpzOgogICgqISBEYXRhVGFibGVzIGludGVncmF0aW9uIGZvciBEYXRhVGFibGVzJyBTZWFyY2hCdWlsZGVyCiAgICogwqkgU3ByeU1lZGlhIEx0ZCAtIGRhdGF0YWJsZXMubmV0L2xpY2Vuc2UKICAgKikKCmRhdGF0YWJsZXMubmV0LXNlYXJjaHBhbmVzL2pzL2RhdGFUYWJsZXMuc2VhcmNoUGFuZXMubWpzOgogICgqISBTZWFyY2hQYW5lcyAyLjMuNQogICAqIMKpIFNwcnlNZWRpYSBMdGQgLSBkYXRhdGFibGVzLm5ldC9saWNlbnNlCiAgICopCgpkYXRhdGFibGVzLm5ldC1zZWFyY2hwYW5lcy1kdC9qcy9zZWFyY2hQYW5lcy5kYXRhVGFibGVzLm1qczoKICAoKiEgQm9vdHN0cmFwIGludGVncmF0aW9uIGZvciBEYXRhVGFibGVzJyBTZWFyY2hQYW5lcwogICAqIMKpIFNwcnlNZWRpYSBMdGQgLSBkYXRhdGFibGVzLm5ldC9saWNlbnNlCiAgICopCgpkYXRhdGFibGVzLm5ldC1zZWxlY3QvanMvZGF0YVRhYmxlcy5zZWxlY3QubWpzOgogICgqISBTZWxlY3QgZm9yIERhdGFUYWJsZXMgMy4xLjAKICAgKiDCqSBTcHJ5TWVkaWEgTHRkIC0gZGF0YXRhYmxlcy5uZXQvbGljZW5zZS9taXQKICAgKikKCmRhdGF0YWJsZXMubmV0LXNlbGVjdC1kdC9qcy9zZWxlY3QuZGF0YVRhYmxlcy5tanM6CiAgKCohIERhdGFUYWJsZXMgc3R5bGluZyB3cmFwcGVyIGZvciBTZWxlY3QKICAgKiDCqSBTcHJ5TWVkaWEgTHRkIC0gZGF0YXRhYmxlcy5uZXQvbGljZW5zZQogICAqKQoqLwo=\");\n",
|
||
" window._itables_2_6_2.then(() => {\n",
|
||
" window.dispatchEvent(new Event(\"itables-2.6.2-ready\"));\n",
|
||
" });\n",
|
||
"}\n",
|
||
"</script>\n",
|
||
"\n",
|
||
"<div style=\"vertical-align:middle; text-align:left\">\n",
|
||
"<noscript>\n",
|
||
"<a href=https://mwouts.github.io/itables/><svg class=\"main-svg\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n",
|
||
"width=\"64\" viewBox=\"0 0 500 400\" style=\"font-family: 'Droid Sans', sans-serif;\">\n",
|
||
" <g style=\"fill:#d9d7fc\">\n",
|
||
" <path d=\"M100,400H500V357H100Z\" />\n",
|
||
" <path d=\"M100,300H400V257H100Z\" />\n",
|
||
" <path d=\"M0,200H400V157H0Z\" />\n",
|
||
" <path d=\"M100,100H500V57H100Z\" />\n",
|
||
" <path d=\"M100,350H500V307H100Z\" />\n",
|
||
" <path d=\"M100,250H400V207H100Z\" />\n",
|
||
" <path d=\"M0,150H400V107H0Z\" />\n",
|
||
" <path d=\"M100,50H500V7H100Z\" />\n",
|
||
" </g>\n",
|
||
" <g style=\"fill:#1a1366;stroke:#1a1366;\">\n",
|
||
" <rect x=\"100\" y=\"7\" width=\"400\" height=\"43\">\n",
|
||
" <animate\n",
|
||
" attributeName=\"width\"\n",
|
||
" values=\"0;400;0\"\n",
|
||
" dur=\"5s\"\n",
|
||
" repeatCount=\"indefinite\" />\n",
|
||
" <animate\n",
|
||
" attributeName=\"x\"\n",
|
||
" values=\"100;100;500\"\n",
|
||
" dur=\"5s\"\n",
|
||
" repeatCount=\"indefinite\" />\n",
|
||
" </rect>\n",
|
||
" <rect x=\"0\" y=\"107\" width=\"400\" height=\"43\">\n",
|
||
" <animate\n",
|
||
" attributeName=\"width\"\n",
|
||
" values=\"0;400;0\"\n",
|
||
" dur=\"3.5s\"\n",
|
||
" repeatCount=\"indefinite\" />\n",
|
||
" <animate\n",
|
||
" attributeName=\"x\"\n",
|
||
" values=\"0;0;400\"\n",
|
||
" dur=\"3.5s\"\n",
|
||
" repeatCount=\"indefinite\" />\n",
|
||
" </rect>\n",
|
||
" <rect x=\"100\" y=\"207\" width=\"300\" height=\"43\">\n",
|
||
" <animate\n",
|
||
" attributeName=\"width\"\n",
|
||
" values=\"0;300;0\"\n",
|
||
" dur=\"3s\"\n",
|
||
" repeatCount=\"indefinite\" />\n",
|
||
" <animate\n",
|
||
" attributeName=\"x\"\n",
|
||
" values=\"100;100;400\"\n",
|
||
" dur=\"3s\"\n",
|
||
" repeatCount=\"indefinite\" />\n",
|
||
" </rect>\n",
|
||
" <rect x=\"100\" y=\"307\" width=\"400\" height=\"43\">\n",
|
||
" <animate\n",
|
||
" attributeName=\"width\"\n",
|
||
" values=\"0;400;0\"\n",
|
||
" dur=\"4s\"\n",
|
||
" repeatCount=\"indefinite\" />\n",
|
||
" <animate\n",
|
||
" attributeName=\"x\"\n",
|
||
" values=\"100;100;500\"\n",
|
||
" dur=\"4s\"\n",
|
||
" repeatCount=\"indefinite\" />\n",
|
||
" </rect>\n",
|
||
" <g style=\"fill:transparent;stroke-width:8; stroke-linejoin:round\" rx=\"5\">\n",
|
||
" <g transform=\"translate(45 50) rotate(-45)\">\n",
|
||
" <circle r=\"33\" cx=\"0\" cy=\"0\" />\n",
|
||
" <rect x=\"-8\" y=\"32\" width=\"16\" height=\"30\" />\n",
|
||
" </g>\n",
|
||
"\n",
|
||
" <g transform=\"translate(450 152)\">\n",
|
||
" <polyline points=\"-15,-20 -35,-20 -35,40 25,40 25,20\" />\n",
|
||
" <rect x=\"-15\" y=\"-40\" width=\"60\" height=\"60\" />\n",
|
||
" </g>\n",
|
||
"\n",
|
||
" <g transform=\"translate(50 352)\">\n",
|
||
" <polygon points=\"-35,-5 0,-40 35,-5\" />\n",
|
||
" <polygon points=\"-35,10 0,45 35,10\" />\n",
|
||
" </g>\n",
|
||
"\n",
|
||
" <g transform=\"translate(75 250)\">\n",
|
||
" <polyline points=\"-30,30 -60,0 -30,-30\" />\n",
|
||
" <polyline points=\"0,30 -30,0 0,-30\" />\n",
|
||
" </g>\n",
|
||
"\n",
|
||
" <g transform=\"translate(425 250) rotate(180)\">\n",
|
||
" <polyline points=\"-30,30 -60,0 -30,-30\" />\n",
|
||
" <polyline points=\"0,30 -30,0 0,-30\" />\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
"</svg>\n",
|
||
"</a>\n",
|
||
"This is the <code>init_notebook_mode</code> cell from ITables v2.6.2<br>\n",
|
||
"(you should not see this message - is your notebook <it>trusted</it>?)\n",
|
||
"</noscript>\n",
|
||
"</div>\n"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data",
|
||
"jetTransient": {
|
||
"display_id": null
|
||
}
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"VBox(children=(<itables.widget.ITable object at 0x000002551998FC50>, HBox(children=(Button(description='Auswah…"
|
||
],
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"version_major": 2,
|
||
"version_minor": 0,
|
||
"model_id": "9ad0ee197ec2414c90bd55951592e0ae"
|
||
}
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data",
|
||
"jetTransient": {
|
||
"display_id": null
|
||
}
|
||
}
|
||
],
|
||
"execution_count": 51
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "ebf2c9ef0a1899dc",
|
||
"metadata": {},
|
||
"source": [
|
||
"importlib.reload(Datenbank)\n",
|
||
"db_zugriff = Datenbank.Datenbankzugriff(pfad_datenbank)\n",
|
||
"\n",
|
||
"db_zugriff.set_beobachtung_ausschalten(ausschalten_dict)"
|
||
],
|
||
"outputs": [],
|
||
"execution_count": null
|
||
},
|
||
{
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2026-01-30T18:54:03.563068Z",
|
||
"start_time": "2026-01-30T18:54:03.546475Z"
|
||
}
|
||
},
|
||
"cell_type": "code",
|
||
"source": [
|
||
"# Varianzkomponentenschätzung\n",
|
||
"\n",
|
||
"#print(res[\"v\"])\n",
|
||
"def varianzkomponten():\n",
|
||
" for beobachtungsgruppe, indizes in dict_indizes_beobachtungsgruppen.items():\n",
|
||
" z_start, z_ende = indizes[0], indizes[1] # Zeile 2 bis inklusive 5\n",
|
||
" s_start, s_ende = indizes[0], indizes[1] # Spalte 1 bis inklusive 4\n",
|
||
"\n",
|
||
" if beobachtungsgruppe == \"SD\":\n",
|
||
" aufgeteilt_v_SD = res[\"v\"][z_start: z_ende + 1, :]\n",
|
||
" aufgeteilt_P_SD = res[\"P\"][z_start: z_ende + 1, s_start: s_ende + 1]\n",
|
||
" aufgeteilt_R_SD = R[z_start: z_ende + 1, s_start: s_ende + 1]\n",
|
||
" ri_SD = sum(np.diag(aufgeteilt_R_SD))\n",
|
||
" s0_aposteriori_SD = Genauigkeitsmaße.berechne_s0apost(aufgeteilt_v_SD, aufgeteilt_P_SD, ri_SD)\n",
|
||
" print(f\"s0 aposteriori der Beobachtungsgruppe {beobachtungsgruppe} beträgt: {s0_aposteriori_SD:.4f}\")\n",
|
||
" print(f\"Varianz aposteriori der Beobachtungsgruppe {beobachtungsgruppe} beträgt: {s0_aposteriori_SD ** 2:.4f}\")\n",
|
||
"\n",
|
||
"\n",
|
||
"\n",
|
||
"\n",
|
||
" if beobachtungsgruppe == \"R\":\n",
|
||
" aufgeteilt_v_R = res[\"v\"][z_start: z_ende + 1, :]\n",
|
||
" aufgeteilt_P_R = res[\"P\"][z_start: z_ende + 1, s_start: s_ende + 1]\n",
|
||
" aufgeteilt_R_R = R[z_start: z_ende + 1, s_start: s_ende + 1]\n",
|
||
" ri_R = sum(np.diag(aufgeteilt_R_R))\n",
|
||
" s0_aposteriori_R = Genauigkeitsmaße.berechne_s0apost(aufgeteilt_v_R, aufgeteilt_P_R, ri_R)\n",
|
||
" print(f\"s0 aposteriori der Beobachtungsgruppe {beobachtungsgruppe} beträgt: {s0_aposteriori_R:.4f}\")\n",
|
||
" print(f\"Varianz aposteriori der Beobachtungsgruppe {beobachtungsgruppe} beträgt: {s0_aposteriori_R ** 2:.4f}\")\n",
|
||
"\n",
|
||
"\n",
|
||
"\n",
|
||
" if beobachtungsgruppe == \"ZW\":\n",
|
||
" aufgeteilt_v_ZW = res[\"v\"][z_start: z_ende + 1, :]\n",
|
||
" aufgeteilt_P_ZW = res[\"P\"][z_start: z_ende + 1, s_start: s_ende + 1]\n",
|
||
" aufgeteilt_R_ZW = R[z_start: z_ende + 1, s_start: s_ende + 1]\n",
|
||
" ri_ZW = sum(np.diag(aufgeteilt_R_ZW))\n",
|
||
" s0_aposteriori_ZW = Genauigkeitsmaße.berechne_s0apost(aufgeteilt_v_ZW, aufgeteilt_P_ZW, ri_ZW)\n",
|
||
" print(f\"s0 aposteriori der Beobachtungsgruppe {beobachtungsgruppe} beträgt: {s0_aposteriori_ZW:.4f}\")\n",
|
||
" print(f\"Varianz aposteriori der Beobachtungsgruppe {beobachtungsgruppe} beträgt: {s0_aposteriori_ZW ** 2:.4f}\")\n",
|
||
"\n",
|
||
"\n",
|
||
"\n",
|
||
" if beobachtungsgruppe == \"gnss\":\n",
|
||
" aufgeteilt_v_gnss = res[\"v\"][z_start: z_ende + 1, :]\n",
|
||
" aufgeteilt_P_gnss = res[\"P\"][z_start: z_ende + 1, s_start: s_ende + 1]\n",
|
||
" aufgeteilt_R_gnss = R[z_start: z_ende + 1, s_start: s_ende + 1]\n",
|
||
" ri_gnss = sum(np.diag(aufgeteilt_R_gnss))\n",
|
||
" s0_aposteriori_gnss = Genauigkeitsmaße.berechne_s0apost(aufgeteilt_v_gnss, aufgeteilt_P_gnss, ri_gnss)\n",
|
||
" print(f\"s0 aposteriori der Beobachtungsgruppe {beobachtungsgruppe} beträgt: {s0_aposteriori_gnss:.4f}\")\n",
|
||
" print(f\"Varianz aposteriori der Beobachtungsgruppe {beobachtungsgruppe} beträgt: {s0_aposteriori_gnss ** 2:.4f}\")\n",
|
||
"\n",
|
||
"\n",
|
||
"\n",
|
||
" if beobachtungsgruppe == \"niv\":\n",
|
||
" aufgeteilt_v_niv = res[\"v\"][z_start: z_ende + 1, :]\n",
|
||
" aufgeteilt_P_niv = res[\"P\"][z_start: z_ende + 1, s_start: s_ende + 1]\n",
|
||
" aufgeteilt_R_niv = R[z_start: z_ende + 1, s_start: s_ende + 1]\n",
|
||
" ri_niv = sum(np.diag(aufgeteilt_R_niv))\n",
|
||
" s0_aposteriori_niv = Genauigkeitsmaße.berechne_s0apost(aufgeteilt_v_niv, aufgeteilt_P_niv, ri_niv)\n",
|
||
" print(f\"s0 aposteriori der Beobachtungsgruppe {beobachtungsgruppe} beträgt: {s0_aposteriori_niv:.4f}\")\n",
|
||
" print(f\"Varianz aposteriori der Beobachtungsgruppe {beobachtungsgruppe} beträgt: {s0_aposteriori_niv ** 2:.4f}\")\n",
|
||
"\n",
|
||
"\n",
|
||
" if beobachtungsgruppe == \"lA\":\n",
|
||
" aufgeteilt_v_lA = res[\"v\"][z_start: z_ende + 1, :]\n",
|
||
" aufgeteilt_P_lA = res[\"P\"][z_start: z_ende + 1, s_start: s_ende + 1]\n",
|
||
" aufgeteilt_R_lA = R[z_start: z_ende + 1, s_start: s_ende + 1]\n",
|
||
" ri_lA = sum(np.diag(aufgeteilt_R_lA))\n",
|
||
" s0_aposteriori_lA = Genauigkeitsmaße.berechne_s0apost(aufgeteilt_v_lA, aufgeteilt_P_lA, ri_lA)\n",
|
||
" print(f\"s0 aposteriori der Beobachtungsgruppe {beobachtungsgruppe} beträgt: {s0_aposteriori_lA:.4f}\")\n",
|
||
" print(f\"Varianz aposteriori der Beobachtungsgruppe {beobachtungsgruppe} beträgt: {s0_aposteriori_lA ** 2:.4f}\")\n",
|
||
"\n",
|
||
"varianzkomponten()"
|
||
],
|
||
"id": "dd7bfa4df762a4a7",
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"s0 aposteriori der Beobachtungsgruppe SD beträgt: 1.9434\n",
|
||
"Varianz aposteriori der Beobachtungsgruppe SD beträgt: 3.7769\n",
|
||
"s0 aposteriori der Beobachtungsgruppe R beträgt: 3.1203\n",
|
||
"Varianz aposteriori der Beobachtungsgruppe R beträgt: 9.7362\n",
|
||
"s0 aposteriori der Beobachtungsgruppe ZW beträgt: 1.1694\n",
|
||
"Varianz aposteriori der Beobachtungsgruppe ZW beträgt: 1.3674\n",
|
||
"s0 aposteriori der Beobachtungsgruppe gnss beträgt: 1.0663\n",
|
||
"Varianz aposteriori der Beobachtungsgruppe gnss beträgt: 1.1370\n",
|
||
"s0 aposteriori der Beobachtungsgruppe niv beträgt: 0.7167\n",
|
||
"Varianz aposteriori der Beobachtungsgruppe niv beträgt: 0.5137\n",
|
||
"s0 aposteriori der Beobachtungsgruppe lA beträgt: 1.2431\n",
|
||
"Varianz aposteriori der Beobachtungsgruppe lA beträgt: 1.5454\n"
|
||
]
|
||
}
|
||
],
|
||
"execution_count": 52
|
||
},
|
||
{
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2026-01-30T18:38:15.009629Z",
|
||
"start_time": "2026-01-30T18:38:14.986903Z"
|
||
}
|
||
},
|
||
"cell_type": "code",
|
||
"source": [
|
||
"# Varianzkomponten für nächste Iteration anpassen\n",
|
||
"# InstrumenteID, beobachtungsgruppe, varianzkomponte\n",
|
||
"# Varianzkomponente = None bewirkt, dass diese nicht geändert wird\n",
|
||
"\n",
|
||
"#ToDo: Bei Importmethode fehlerüberprüfung implementieren!\n",
|
||
"\n",
|
||
"importlib.reload(Datenbank)\n",
|
||
"db_zugriff = Datenbank.Datenbankzugriff(pfad_datenbank)\n",
|
||
"\n",
|
||
"anschlusspunkte = (2, \"Anschlusspunkte\", None)\n",
|
||
"tachymeter_streckenbeobachtungen = (1, \"Tachymeter_Streckenbeobachtungen\", None)\n",
|
||
"tachymeter_richtungsbeobachtungen = (1, \"Tachymeter_Richtungsbeobachtungen\", None)\n",
|
||
"tachymeter_zenitwinkelbeobachtungen = (1, \"Tachymeter_Zenitwinkelbeobachtungen\", 20)\n",
|
||
"nivellier_hoehendifferenzbeobachtungen = (3, \"Nivellier_Hoehendifferenzbeobachtungen\", None)\n",
|
||
"gnssrover_basislinienbeobachtungen = (4, \"GNSS-Rover_Basislinienbeobachtungen\", 2)\n",
|
||
"\n",
|
||
"liste_varianzkomponten_anpassen = []\n",
|
||
"if anschlusspunkte[2] != None:\n",
|
||
" liste_varianzkomponten_anpassen.append(anschlusspunkte)\n",
|
||
"if tachymeter_streckenbeobachtungen[2] != None:\n",
|
||
" liste_varianzkomponten_anpassen.append(tachymeter_streckenbeobachtungen)\n",
|
||
"if tachymeter_richtungsbeobachtungen[2] != None:\n",
|
||
" liste_varianzkomponten_anpassen.append(tachymeter_richtungsbeobachtungen)\n",
|
||
"if tachymeter_zenitwinkelbeobachtungen[2] != None:\n",
|
||
" liste_varianzkomponten_anpassen.append(tachymeter_zenitwinkelbeobachtungen)\n",
|
||
"if nivellier_hoehendifferenzbeobachtungen[2] != None:\n",
|
||
" liste_varianzkomponten_anpassen.append(nivellier_hoehendifferenzbeobachtungen)\n",
|
||
"if gnssrover_basislinienbeobachtungen[2] != None:\n",
|
||
" liste_varianzkomponten_anpassen.append(gnssrover_basislinienbeobachtungen)\n",
|
||
"\n",
|
||
"db_zugriff.set_varianzkomponente(liste_varianzkomponten_anpassen)"
|
||
],
|
||
"id": "edb14958ee00130c",
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Folgende Varianzkomponente wurde für die nächste Iteration gespeichert: [(1, 'Tachymeter_Zenitwinkelbeobachtungen', 20), (4, 'GNSS-Rover_Basislinienbeobachtungen', 2)].\n"
|
||
]
|
||
}
|
||
],
|
||
"execution_count": 41
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "256f4a0805b69e14",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Äußere Zuverlässigkeit: Einfluss auf die Punktlage (EP)\n",
|
||
"from Netzqualität_Zuverlässigkeit import Zuverlaessigkeit\n",
|
||
"import Netzqualität_Zuverlässigkeit\n",
|
||
"labels = [str(s) for s in Jacobimatrix_symbolisch_liste_beobachtungsvektor]\n",
|
||
"\n",
|
||
"Aussen = Netzqualität_Zuverlässigkeit.Zuverlaessigkeit.aeussere_zuverlaessigkeit_EF_EP_stabil(\n",
|
||
" Lokaltest=Lokaltest,\n",
|
||
" labels=labels,\n",
|
||
" Qxx=res[\"Q_xx\"],\n",
|
||
" A=A_matrix_numerisch_iteration0,\n",
|
||
" P=res[\"P\"],\n",
|
||
" s0_apost=s0_aposteriori,\n",
|
||
" unbekannten_liste=Jacobimatrix_symbolisch_liste_unbekannte,\n",
|
||
" x=x\n",
|
||
")\n",
|
||
"\n",
|
||
"display(HTML(Aussen.to_html(index=False)))\n",
|
||
"Aussen.to_excel(r\"Zwischenergebnisse\\Aeussere_Zuverlaessigkeit.xlsx\", index=False)"
|
||
],
|
||
"outputs": [],
|
||
"execution_count": null
|
||
},
|
||
{
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2026-01-30T18:55:40.874364Z",
|
||
"start_time": "2026-01-30T18:55:37.614742Z"
|
||
}
|
||
},
|
||
"cell_type": "code",
|
||
"source": [
|
||
"importlib.reload(Netzqualität_Genauigkeit)\n",
|
||
"\n",
|
||
"# Standardabweichungen der einzelnen Punkte und Helmert'scher Punktfehler (3D)\n",
|
||
"dim = int(input(\"Helmertscher Punktfehler (2 = 2D, 3 = 3D): \"))\n",
|
||
"\n",
|
||
"Helmertscher_Punktfehler = Netzqualität_Genauigkeit.Genauigkeitsmaße.helmert_punktfehler(\n",
|
||
" Qxx=res[\"Q_xx\"],\n",
|
||
" s0_apost=s0_aposteriori,\n",
|
||
" unbekannten_liste=Jacobimatrix_symbolisch_liste_unbekannte,\n",
|
||
" dim=dim)\n",
|
||
"\n",
|
||
"display(HTML(Helmertscher_Punktfehler.to_html(index=False)))\n",
|
||
"Helmertscher_Punktfehler.to_excel(r\"Zwischenergebnisse\\Standardabweichungen_Helmertscher_Punktfehler.xlsx\", index=False)\n",
|
||
"#print(res[\"Q_xx\"])"
|
||
],
|
||
"id": "9e6624251a23847d",
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"<IPython.core.display.HTML object>"
|
||
],
|
||
"text/html": [
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th>Punkt</th>\n",
|
||
" <th>σx</th>\n",
|
||
" <th>σy</th>\n",
|
||
" <th>σz</th>\n",
|
||
" <th>σP_3D</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <td>10009</td>\n",
|
||
" <td>0.004943</td>\n",
|
||
" <td>0.004866</td>\n",
|
||
" <td>0.003702</td>\n",
|
||
" <td>0.007863</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10006</td>\n",
|
||
" <td>0.005091</td>\n",
|
||
" <td>0.004875</td>\n",
|
||
" <td>0.003800</td>\n",
|
||
" <td>0.008008</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10010</td>\n",
|
||
" <td>0.004840</td>\n",
|
||
" <td>0.004885</td>\n",
|
||
" <td>0.003628</td>\n",
|
||
" <td>0.007775</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10018</td>\n",
|
||
" <td>0.004753</td>\n",
|
||
" <td>0.004867</td>\n",
|
||
" <td>0.003574</td>\n",
|
||
" <td>0.007685</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10008</td>\n",
|
||
" <td>0.004906</td>\n",
|
||
" <td>0.004828</td>\n",
|
||
" <td>0.003686</td>\n",
|
||
" <td>0.007808</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10005</td>\n",
|
||
" <td>0.005008</td>\n",
|
||
" <td>0.004813</td>\n",
|
||
" <td>0.003763</td>\n",
|
||
" <td>0.007900</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10003</td>\n",
|
||
" <td>0.004935</td>\n",
|
||
" <td>0.004837</td>\n",
|
||
" <td>0.003743</td>\n",
|
||
" <td>0.007858</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10004</td>\n",
|
||
" <td>0.005048</td>\n",
|
||
" <td>0.004809</td>\n",
|
||
" <td>0.003801</td>\n",
|
||
" <td>0.007941</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10007</td>\n",
|
||
" <td>0.004847</td>\n",
|
||
" <td>0.004816</td>\n",
|
||
" <td>0.003669</td>\n",
|
||
" <td>0.007755</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10001</td>\n",
|
||
" <td>0.004879</td>\n",
|
||
" <td>0.005132</td>\n",
|
||
" <td>0.003739</td>\n",
|
||
" <td>0.008008</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10002</td>\n",
|
||
" <td>0.004957</td>\n",
|
||
" <td>0.004941</td>\n",
|
||
" <td>0.003783</td>\n",
|
||
" <td>0.007956</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10016</td>\n",
|
||
" <td>0.004755</td>\n",
|
||
" <td>0.004809</td>\n",
|
||
" <td>0.003598</td>\n",
|
||
" <td>0.007660</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10011</td>\n",
|
||
" <td>0.004672</td>\n",
|
||
" <td>0.005106</td>\n",
|
||
" <td>0.003546</td>\n",
|
||
" <td>0.007776</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10026</td>\n",
|
||
" <td>0.004689</td>\n",
|
||
" <td>0.004886</td>\n",
|
||
" <td>0.003530</td>\n",
|
||
" <td>0.007636</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10027</td>\n",
|
||
" <td>0.004654</td>\n",
|
||
" <td>0.004866</td>\n",
|
||
" <td>0.003519</td>\n",
|
||
" <td>0.007597</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10043</td>\n",
|
||
" <td>0.004686</td>\n",
|
||
" <td>0.004893</td>\n",
|
||
" <td>0.003555</td>\n",
|
||
" <td>0.007651</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10044</td>\n",
|
||
" <td>0.004759</td>\n",
|
||
" <td>0.004862</td>\n",
|
||
" <td>0.003613</td>\n",
|
||
" <td>0.007703</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10021</td>\n",
|
||
" <td>0.004683</td>\n",
|
||
" <td>0.004830</td>\n",
|
||
" <td>0.003532</td>\n",
|
||
" <td>0.007598</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10020</td>\n",
|
||
" <td>0.004681</td>\n",
|
||
" <td>0.004818</td>\n",
|
||
" <td>0.003531</td>\n",
|
||
" <td>0.007589</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10024</td>\n",
|
||
" <td>0.004668</td>\n",
|
||
" <td>0.004841</td>\n",
|
||
" <td>0.003525</td>\n",
|
||
" <td>0.007593</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10025</td>\n",
|
||
" <td>0.004660</td>\n",
|
||
" <td>0.004829</td>\n",
|
||
" <td>0.003521</td>\n",
|
||
" <td>0.007578</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10022</td>\n",
|
||
" <td>0.004678</td>\n",
|
||
" <td>0.004831</td>\n",
|
||
" <td>0.003531</td>\n",
|
||
" <td>0.007595</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10023</td>\n",
|
||
" <td>0.004671</td>\n",
|
||
" <td>0.004827</td>\n",
|
||
" <td>0.003527</td>\n",
|
||
" <td>0.007587</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10019</td>\n",
|
||
" <td>0.004678</td>\n",
|
||
" <td>0.004802</td>\n",
|
||
" <td>0.003532</td>\n",
|
||
" <td>0.007578</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10033</td>\n",
|
||
" <td>0.004657</td>\n",
|
||
" <td>0.004801</td>\n",
|
||
" <td>0.003517</td>\n",
|
||
" <td>0.007557</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10017</td>\n",
|
||
" <td>0.004671</td>\n",
|
||
" <td>0.004809</td>\n",
|
||
" <td>0.003531</td>\n",
|
||
" <td>0.007577</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10052</td>\n",
|
||
" <td>0.004845</td>\n",
|
||
" <td>0.004899</td>\n",
|
||
" <td>0.003689</td>\n",
|
||
" <td>0.007816</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10042</td>\n",
|
||
" <td>0.004721</td>\n",
|
||
" <td>0.004858</td>\n",
|
||
" <td>0.003580</td>\n",
|
||
" <td>0.007662</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10053</td>\n",
|
||
" <td>0.004976</td>\n",
|
||
" <td>0.004880</td>\n",
|
||
" <td>0.003784</td>\n",
|
||
" <td>0.007930</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10037</td>\n",
|
||
" <td>0.004780</td>\n",
|
||
" <td>0.004798</td>\n",
|
||
" <td>0.003606</td>\n",
|
||
" <td>0.007673</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10040</td>\n",
|
||
" <td>0.004767</td>\n",
|
||
" <td>0.004813</td>\n",
|
||
" <td>0.003605</td>\n",
|
||
" <td>0.007674</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10041</td>\n",
|
||
" <td>0.004708</td>\n",
|
||
" <td>0.004821</td>\n",
|
||
" <td>0.003563</td>\n",
|
||
" <td>0.007622</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10038</td>\n",
|
||
" <td>0.004713</td>\n",
|
||
" <td>0.004807</td>\n",
|
||
" <td>0.003557</td>\n",
|
||
" <td>0.007614</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10051</td>\n",
|
||
" <td>0.004868</td>\n",
|
||
" <td>0.004835</td>\n",
|
||
" <td>0.003690</td>\n",
|
||
" <td>0.007791</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10036</td>\n",
|
||
" <td>0.004814</td>\n",
|
||
" <td>0.004821</td>\n",
|
||
" <td>0.003613</td>\n",
|
||
" <td>0.007711</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10035</td>\n",
|
||
" <td>0.004796</td>\n",
|
||
" <td>0.004897</td>\n",
|
||
" <td>0.003589</td>\n",
|
||
" <td>0.007737</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10039</td>\n",
|
||
" <td>0.004688</td>\n",
|
||
" <td>0.004805</td>\n",
|
||
" <td>0.003539</td>\n",
|
||
" <td>0.007589</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10059</td>\n",
|
||
" <td>0.005304</td>\n",
|
||
" <td>0.004920</td>\n",
|
||
" <td>0.004046</td>\n",
|
||
" <td>0.008289</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10050</td>\n",
|
||
" <td>0.004964</td>\n",
|
||
" <td>0.004836</td>\n",
|
||
" <td>0.003762</td>\n",
|
||
" <td>0.007885</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10013</td>\n",
|
||
" <td>0.004685</td>\n",
|
||
" <td>0.004882</td>\n",
|
||
" <td>0.003548</td>\n",
|
||
" <td>0.007641</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10028</td>\n",
|
||
" <td>0.004691</td>\n",
|
||
" <td>0.005101</td>\n",
|
||
" <td>0.003523</td>\n",
|
||
" <td>0.007774</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10012</td>\n",
|
||
" <td>0.004714</td>\n",
|
||
" <td>0.004887</td>\n",
|
||
" <td>0.003576</td>\n",
|
||
" <td>0.007674</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10014</td>\n",
|
||
" <td>0.004699</td>\n",
|
||
" <td>0.004831</td>\n",
|
||
" <td>0.003559</td>\n",
|
||
" <td>0.007621</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10031</td>\n",
|
||
" <td>0.004658</td>\n",
|
||
" <td>0.004815</td>\n",
|
||
" <td>0.003515</td>\n",
|
||
" <td>0.007565</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10015</td>\n",
|
||
" <td>0.004744</td>\n",
|
||
" <td>0.004838</td>\n",
|
||
" <td>0.003595</td>\n",
|
||
" <td>0.007670</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10032</td>\n",
|
||
" <td>0.004665</td>\n",
|
||
" <td>0.004806</td>\n",
|
||
" <td>0.003521</td>\n",
|
||
" <td>0.007567</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10030</td>\n",
|
||
" <td>0.004678</td>\n",
|
||
" <td>0.004885</td>\n",
|
||
" <td>0.003523</td>\n",
|
||
" <td>0.007626</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10029</td>\n",
|
||
" <td>0.004695</td>\n",
|
||
" <td>0.004888</td>\n",
|
||
" <td>0.003530</td>\n",
|
||
" <td>0.007641</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10034</td>\n",
|
||
" <td>0.004820</td>\n",
|
||
" <td>0.005115</td>\n",
|
||
" <td>0.003589</td>\n",
|
||
" <td>0.007892</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10045</td>\n",
|
||
" <td>0.005042</td>\n",
|
||
" <td>0.005140</td>\n",
|
||
" <td>0.003730</td>\n",
|
||
" <td>0.008109</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10049</td>\n",
|
||
" <td>0.005013</td>\n",
|
||
" <td>0.004821</td>\n",
|
||
" <td>0.003781</td>\n",
|
||
" <td>0.007916</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10047</td>\n",
|
||
" <td>0.005018</td>\n",
|
||
" <td>0.004893</td>\n",
|
||
" <td>0.003751</td>\n",
|
||
" <td>0.007950</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10046</td>\n",
|
||
" <td>0.005000</td>\n",
|
||
" <td>0.004951</td>\n",
|
||
" <td>0.003728</td>\n",
|
||
" <td>0.007963</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10048</td>\n",
|
||
" <td>0.005003</td>\n",
|
||
" <td>0.004837</td>\n",
|
||
" <td>0.003757</td>\n",
|
||
" <td>0.007908</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10057</td>\n",
|
||
" <td>0.005335</td>\n",
|
||
" <td>0.004833</td>\n",
|
||
" <td>0.004005</td>\n",
|
||
" <td>0.008238</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10055</td>\n",
|
||
" <td>0.005377</td>\n",
|
||
" <td>0.004934</td>\n",
|
||
" <td>0.004000</td>\n",
|
||
" <td>0.008322</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10054</td>\n",
|
||
" <td>0.005440</td>\n",
|
||
" <td>0.005252</td>\n",
|
||
" <td>0.003994</td>\n",
|
||
" <td>0.008551</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10058</td>\n",
|
||
" <td>0.005405</td>\n",
|
||
" <td>0.004853</td>\n",
|
||
" <td>0.004093</td>\n",
|
||
" <td>0.008338</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>10056</td>\n",
|
||
" <td>0.005454</td>\n",
|
||
" <td>0.004891</td>\n",
|
||
" <td>0.004067</td>\n",
|
||
" <td>0.008379</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>812</td>\n",
|
||
" <td>0.005010</td>\n",
|
||
" <td>0.005015</td>\n",
|
||
" <td>0.003735</td>\n",
|
||
" <td>0.008012</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>816</td>\n",
|
||
" <td>0.004987</td>\n",
|
||
" <td>0.004901</td>\n",
|
||
" <td>0.003741</td>\n",
|
||
" <td>0.007930</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>FH3</td>\n",
|
||
" <td>0.005005</td>\n",
|
||
" <td>0.004884</td>\n",
|
||
" <td>0.003758</td>\n",
|
||
" <td>0.007939</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>666</td>\n",
|
||
" <td>0.005407</td>\n",
|
||
" <td>0.005171</td>\n",
|
||
" <td>0.003994</td>\n",
|
||
" <td>0.008481</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>FH11</td>\n",
|
||
" <td>0.004854</td>\n",
|
||
" <td>0.004992</td>\n",
|
||
" <td>0.003626</td>\n",
|
||
" <td>0.007850</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>FH14</td>\n",
|
||
" <td>0.004854</td>\n",
|
||
" <td>0.004982</td>\n",
|
||
" <td>0.003627</td>\n",
|
||
" <td>0.007844</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>FH4</td>\n",
|
||
" <td>0.004912</td>\n",
|
||
" <td>0.004874</td>\n",
|
||
" <td>0.003720</td>\n",
|
||
" <td>0.007856</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>FH13</td>\n",
|
||
" <td>0.004887</td>\n",
|
||
" <td>0.004855</td>\n",
|
||
" <td>0.003700</td>\n",
|
||
" <td>0.007819</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>FH15</td>\n",
|
||
" <td>0.004705</td>\n",
|
||
" <td>0.004884</td>\n",
|
||
" <td>0.003547</td>\n",
|
||
" <td>0.007653</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>0645</td>\n",
|
||
" <td>0.008391</td>\n",
|
||
" <td>0.006782</td>\n",
|
||
" <td>0.012059</td>\n",
|
||
" <td>0.016182</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>0656</td>\n",
|
||
" <td>0.005338</td>\n",
|
||
" <td>0.004944</td>\n",
|
||
" <td>0.005553</td>\n",
|
||
" <td>0.009153</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>0995</td>\n",
|
||
" <td>0.008336</td>\n",
|
||
" <td>0.006553</td>\n",
|
||
" <td>0.011447</td>\n",
|
||
" <td>0.015603</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>1675</td>\n",
|
||
" <td>0.007400</td>\n",
|
||
" <td>0.005866</td>\n",
|
||
" <td>0.009799</td>\n",
|
||
" <td>0.013608</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>ESTE</td>\n",
|
||
" <td>0.007339</td>\n",
|
||
" <td>0.005851</td>\n",
|
||
" <td>0.009577</td>\n",
|
||
" <td>0.013409</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <td>GNA2</td>\n",
|
||
" <td>0.007513</td>\n",
|
||
" <td>0.005999</td>\n",
|
||
" <td>0.009985</td>\n",
|
||
" <td>0.013861</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data",
|
||
"jetTransient": {
|
||
"display_id": null
|
||
}
|
||
}
|
||
],
|
||
"execution_count": 53
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "89fbcfe85fb6e4bb",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Standardellipse bzw. Helmert'sche Fehlerellipsen\n",
|
||
"Standardellipse = Netzqualität_Genauigkeit.Genauigkeitsmaße.standardellipse(\n",
|
||
" Qxx=res[\"Q_xx\"],\n",
|
||
" s0_apost=s0_aposteriori,\n",
|
||
" unbekannten_liste=Jacobimatrix_symbolisch_liste_unbekannte)\n",
|
||
"\n",
|
||
"Standardellipse[\"σx\"] = Standardellipse[\"σx\"].astype(float).round(4)\n",
|
||
"Standardellipse[\"σy\"] = Standardellipse[\"σy\"].astype(float).round(4)\n",
|
||
"Standardellipse[\"σxy\"] = Standardellipse[\"σxy\"].astype(float).round(4)\n",
|
||
"Standardellipse[\"s_max\"] = Standardellipse[\"s_max\"].astype(float).round(4)\n",
|
||
"Standardellipse[\"s_min\"] = Standardellipse[\"s_min\"].astype(float).round(4)\n",
|
||
"Standardellipse[\"θ [gon]\"] = Standardellipse[\"θ [gon]\"].astype(float).round(3)\n",
|
||
"\n",
|
||
"display(HTML(Standardellipse.to_html(index=False)))\n",
|
||
"\n",
|
||
"Standardellipse.to_excel(r\"Zwischenergebnisse\\Standardellipse.xlsx\", index=False)"
|
||
],
|
||
"outputs": [],
|
||
"execution_count": null
|
||
},
|
||
{
|
||
"metadata": {},
|
||
"cell_type": "code",
|
||
"source": [
|
||
"# Plot der Standardellipse bzw. Helmert'sche Fehlerellipsen (im ENU-System)\n",
|
||
"\n",
|
||
"\n"
|
||
],
|
||
"id": "65c2e855318021ff",
|
||
"outputs": [],
|
||
"execution_count": null
|
||
},
|
||
{
|
||
"metadata": {},
|
||
"cell_type": "code",
|
||
"source": [
|
||
"# AUFRUF: Hier kannst du den v_faktor händisch anpassen (z.B. 500, 1000, 5000)\n",
|
||
"Netzqualität_Genauigkeit.plot_netz_komplett_final(\n",
|
||
" x,\n",
|
||
" Jacobimatrix_symbolisch_liste_unbekannte,\n",
|
||
" Jacobimatrix_symbolisch_liste_beobachtungsvektor,\n",
|
||
" res[\"Q_xx\"],\n",
|
||
" s0_aposteriori,\n",
|
||
" k_faktor=2.447,\n",
|
||
" v_faktor=100 # <--- HIER ANPASSEN\n",
|
||
")\n"
|
||
],
|
||
"id": "609575fa17b836a5",
|
||
"outputs": [],
|
||
"execution_count": null
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "7de561d7eaebb1c2",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Konfidenzellipse\n",
|
||
"alpha_input = input(\"Konfidenzniveau wählen (z.B. 0.05 für 95%, 0.01 für 99%) [Standard=0.05]: \")\n",
|
||
"if alpha_input.strip() == \"\":\n",
|
||
" alpha = 0.05\n",
|
||
"else:\n",
|
||
" alpha = float(alpha_input)\n",
|
||
"print(f\"→ Verwende alpha = {alpha} (Konfidenz = {(1-alpha)*100:.1f}%)\")\n",
|
||
"\n",
|
||
"Konfidenzellipse = Netzqualität_Genauigkeit.Genauigkeitsmaße.konfidenzellipse(\n",
|
||
" Qxx=res[\"Q_xx\"],\n",
|
||
" s0_apost=s0_aposteriori,\n",
|
||
" unbekannten_liste=Jacobimatrix_symbolisch_liste_unbekannte,\n",
|
||
" R=r_gesamt,\n",
|
||
" alpha=alpha)\n",
|
||
"\n",
|
||
"Konfidenzellipse[\"a_K\"] = Konfidenzellipse[\"a_K\"].round(4)\n",
|
||
"Konfidenzellipse[\"b_K\"] = Konfidenzellipse[\"b_K\"].round(4)\n",
|
||
"Konfidenzellipse[\"θ [gon]\"] = Konfidenzellipse[\"θ [gon]\"].round(3)\n",
|
||
"\n",
|
||
"display(HTML(Konfidenzellipse.to_html(index=False)))\n",
|
||
"\n",
|
||
"Konfidenzellipse.to_excel(r\"Zwischenergebnisse\\Konfidenzellipse.xlsx\", index=False)"
|
||
],
|
||
"outputs": [],
|
||
"execution_count": null
|
||
},
|
||
{
|
||
"metadata": {},
|
||
"cell_type": "code",
|
||
"source": [
|
||
"# Plot neu\n",
|
||
"Netzqualität_Genauigkeit.plot_netz_3D(\n",
|
||
" x,\n",
|
||
" Jacobimatrix_symbolisch_liste_unbekannte,\n",
|
||
" Jacobimatrix_symbolisch_liste_beobachtungsvektor,\n",
|
||
" Konfidenzellipse,\n",
|
||
" v_faktor=100 # Hier kannst du die Ellipsen skalieren\n",
|
||
")"
|
||
],
|
||
"id": "de6f192d07277f83",
|
||
"outputs": [],
|
||
"execution_count": null
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "efef62555453950e",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Erzeugung eines Protokolls der hybriden Netzausgleichung\n",
|
||
"\n",
|
||
"# Input (später: an den Anfang des Notebooks schieben)\n",
|
||
"bearbeiter = input(\"Bearbeiter: \")\n",
|
||
"projekt = input(\"Projektname: \")\n",
|
||
"\n",
|
||
"metadaten = {\n",
|
||
" \"bearbeiter\": bearbeiter,\n",
|
||
" \"projekt\": projekt,\n",
|
||
" \"datum\": datetime.now().strftime(\"%d.%m.%Y\")\n",
|
||
"}\n",
|
||
"\n",
|
||
"\n",
|
||
"ergebnisse = {\n",
|
||
" \"df_globaltest\": df_globaltest,\n",
|
||
" \"df_redundanz\": Redundanzanteile,\n",
|
||
" \"df_ellipsen\": Standardellipse,\n",
|
||
" \"df_konfidenzellipsen\": Konfidenzellipse\n",
|
||
"}\n",
|
||
"\n",
|
||
"Export.Export.speichere_html_protokoll(metadaten, ergebnisse)"
|
||
],
|
||
"outputs": [],
|
||
"execution_count": null
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "Python 3 (ipykernel)",
|
||
"language": "python",
|
||
"name": "python3"
|
||
},
|
||
"language_info": {
|
||
"codemirror_mode": {
|
||
"name": "ipython",
|
||
"version": 3
|
||
},
|
||
"file_extension": ".py",
|
||
"mimetype": "text/x-python",
|
||
"name": "python",
|
||
"nbconvert_exporter": "python",
|
||
"pygments_lexer": "ipython3",
|
||
"version": "3.14.0"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 5
|
||
}
|