master-control 0.4.93 → 0.4.95
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/annuity-calculator-radio/annuity-calculator-radio.component.mjs +29 -8
- package/esm2022/lib/annuity-premium-calculator/annuity-premium-calculator.component.mjs +212 -12
- package/esm2022/lib/pay-get-card/pay-get-card.component.mjs +6 -6
- package/fesm2022/master-control.mjs +240 -22
- package/fesm2022/master-control.mjs.map +1 -1
- package/lib/annuity-calculator-radio/annuity-calculator-radio.component.d.ts +1 -1
- package/lib/annuity-premium-calculator/annuity-premium-calculator.component.d.ts +2 -0
- package/master-control-0.4.95.tgz +0 -0
- package/package.json +1 -1
- package/master-control-0.4.93.tgz +0 -0
|
@@ -8,6 +8,9 @@ import { RadioComponent } from '../radio/radio.component';
|
|
|
8
8
|
import { CommonModule } from '@angular/common';
|
|
9
9
|
import { FormsModule } from '@angular/forms';
|
|
10
10
|
import { AnnuityCalculatorRadioComponent } from '../annuity-calculator-radio/annuity-calculator-radio.component';
|
|
11
|
+
import { AmountTextboxComponent } from '../amount-textbox/amount-textbox.component';
|
|
12
|
+
import { SelectComponent } from '../select/select.component';
|
|
13
|
+
import { InfoComponent } from '../info/info.component';
|
|
11
14
|
import * as i0 from "@angular/core";
|
|
12
15
|
import * as i1 from "../master-control.service";
|
|
13
16
|
import * as i2 from "@angular/common";
|
|
@@ -168,8 +171,9 @@ export class AnnuityPremiumCalculatorComponent {
|
|
|
168
171
|
digitBossSwitch = {
|
|
169
172
|
isVisible: false,
|
|
170
173
|
isSwitchOn: false,
|
|
171
|
-
|
|
172
|
-
|
|
174
|
+
icon: '',
|
|
175
|
+
digitBossText: '',
|
|
176
|
+
digitBossValue: ''
|
|
173
177
|
};
|
|
174
178
|
digitBossToggleConfig = {
|
|
175
179
|
controlType: 'toggle',
|
|
@@ -342,7 +346,7 @@ export class AnnuityPremiumCalculatorComponent {
|
|
|
342
346
|
cssClass: null,
|
|
343
347
|
},
|
|
344
348
|
fieldName: 'minimumGuaranteedAnnuityPayout',
|
|
345
|
-
label: 'Annuity
|
|
349
|
+
label: 'Annuity',
|
|
346
350
|
placeHolder: '',
|
|
347
351
|
metaId: 'ALL_DP_DP_CTRL_amountTextbox_minimumGuaranteedAnnuityPayout_V1',
|
|
348
352
|
isVisible: true,
|
|
@@ -923,6 +927,197 @@ export class AnnuityPremiumCalculatorComponent {
|
|
|
923
927
|
"isMasterControl": true,
|
|
924
928
|
"controlType": "hrLine"
|
|
925
929
|
};
|
|
930
|
+
annuitypayoutObj = {
|
|
931
|
+
"controlType": "select",
|
|
932
|
+
"fieldName": "annuityPayoutOption",
|
|
933
|
+
"label": "Premium Payment Frequency",
|
|
934
|
+
"placeHolder": "Select",
|
|
935
|
+
"metaId": "ALL_COM_GEN_CTRL_select_annuityPayoutOption_V1",
|
|
936
|
+
"isVisible": true,
|
|
937
|
+
"isDisable": false,
|
|
938
|
+
"validators": {
|
|
939
|
+
"isRequired": true,
|
|
940
|
+
"requiredMessage": "Please select Minimum Guaranteed Annuity Payout",
|
|
941
|
+
"minLength": null,
|
|
942
|
+
"minLengthMessage": null,
|
|
943
|
+
"maxLength": null,
|
|
944
|
+
"maxLengthMessage": null,
|
|
945
|
+
"pattern": null,
|
|
946
|
+
"patternMessage": ""
|
|
947
|
+
},
|
|
948
|
+
"options": [{
|
|
949
|
+
value: 'Monthly',
|
|
950
|
+
label: 'Monthly',
|
|
951
|
+
},
|
|
952
|
+
{
|
|
953
|
+
value: 'One Time',
|
|
954
|
+
label: 'One Time',
|
|
955
|
+
},
|
|
956
|
+
{
|
|
957
|
+
value: 'Quarterly',
|
|
958
|
+
label: 'Quarterly',
|
|
959
|
+
},
|
|
960
|
+
{
|
|
961
|
+
value: 'Half Yearly',
|
|
962
|
+
label: 'Half Yearly',
|
|
963
|
+
},
|
|
964
|
+
{
|
|
965
|
+
value: 'Yearly',
|
|
966
|
+
label: 'Yearly',
|
|
967
|
+
},],
|
|
968
|
+
"cssClass": " col-sm-12 col-md-3 col-lg-3 col-xl-3 mt-4 pr-0 pt-2",
|
|
969
|
+
"value": null,
|
|
970
|
+
"style": null,
|
|
971
|
+
"imageUrl": null,
|
|
972
|
+
"isShowLabel": true,
|
|
973
|
+
"controlStyle": {
|
|
974
|
+
"controlType": null,
|
|
975
|
+
"borderColor": null,
|
|
976
|
+
"borderWidth": "0.094rem",
|
|
977
|
+
"borderRadius": null,
|
|
978
|
+
"fontSize": "12px",
|
|
979
|
+
"fontWeight": null,
|
|
980
|
+
"fontFamily": null,
|
|
981
|
+
"color": null,
|
|
982
|
+
"background": null,
|
|
983
|
+
"caretColor": null,
|
|
984
|
+
"nudgeDisplayImage": null,
|
|
985
|
+
"dropdownOptionBgColor": null,
|
|
986
|
+
"dropdownOptionColor": null,
|
|
987
|
+
"dropdownOptionFontWeight": null,
|
|
988
|
+
"width": null,
|
|
989
|
+
"focusBorderWidth": "0.094rem",
|
|
990
|
+
"focusBorderColor": null,
|
|
991
|
+
"focusBackground": null,
|
|
992
|
+
"focusColor": null,
|
|
993
|
+
"focusDropdownOptionBgColor": null,
|
|
994
|
+
"focusDropdownOptionColor": null,
|
|
995
|
+
"focusDropdownOptionFontWeight": null,
|
|
996
|
+
"focusDropdownOptionBorderLeft": null,
|
|
997
|
+
"focusDropdownOptionBorderRadius": null,
|
|
998
|
+
"hoverBorderColor": null,
|
|
999
|
+
"hoverBorderWidth": "0.094rem",
|
|
1000
|
+
"hoverColor": null,
|
|
1001
|
+
"disableColor": null,
|
|
1002
|
+
"disableBackground": null,
|
|
1003
|
+
"errorBorderColor": null,
|
|
1004
|
+
"errorBorderWidth": "0.094rem",
|
|
1005
|
+
"errorColor": null,
|
|
1006
|
+
"createdDate": null,
|
|
1007
|
+
"padding": null,
|
|
1008
|
+
"margin": null,
|
|
1009
|
+
"isMasterCss": null,
|
|
1010
|
+
"controlMetaId": "ALL_COM_GEN_CTRL_multipleSelect_sourceOfFundForPremium_V1",
|
|
1011
|
+
"borderStyle": null,
|
|
1012
|
+
"height": null,
|
|
1013
|
+
"minHeight": null,
|
|
1014
|
+
"maxHeight": null,
|
|
1015
|
+
"minWidth": null,
|
|
1016
|
+
"maxWidth": null,
|
|
1017
|
+
"cssClass": null
|
|
1018
|
+
},
|
|
1019
|
+
"columnIndex": 2,
|
|
1020
|
+
"configData": {
|
|
1021
|
+
"subText": "Discount available on some options"
|
|
1022
|
+
},
|
|
1023
|
+
"controlStyles": null
|
|
1024
|
+
};
|
|
1025
|
+
minimumAnnuityPayoutfrequencyObj = {
|
|
1026
|
+
"controlType": "select",
|
|
1027
|
+
"fieldName": "annuityPayoutFrequencyOption",
|
|
1028
|
+
"label": "Annuity Payout Frequency",
|
|
1029
|
+
"placeHolder": "Select",
|
|
1030
|
+
"metaId": "ALL_COM_GEN_CTRL_select_annuityPayoutFrequencyOption_V1",
|
|
1031
|
+
"isVisible": true,
|
|
1032
|
+
"isDisable": false,
|
|
1033
|
+
"validators": {
|
|
1034
|
+
"isRequired": true,
|
|
1035
|
+
"requiredMessage": "Please select Minimum Guaranteed Annuity Payout",
|
|
1036
|
+
"minLength": null,
|
|
1037
|
+
"minLengthMessage": null,
|
|
1038
|
+
"maxLength": null,
|
|
1039
|
+
"maxLengthMessage": null,
|
|
1040
|
+
"pattern": null,
|
|
1041
|
+
"patternMessage": ""
|
|
1042
|
+
},
|
|
1043
|
+
"options": [{
|
|
1044
|
+
value: 'Monthly',
|
|
1045
|
+
label: 'Monthly',
|
|
1046
|
+
},
|
|
1047
|
+
{
|
|
1048
|
+
value: 'One Time',
|
|
1049
|
+
label: 'One Time',
|
|
1050
|
+
},
|
|
1051
|
+
{
|
|
1052
|
+
value: 'Quarterly',
|
|
1053
|
+
label: 'Quarterly',
|
|
1054
|
+
},
|
|
1055
|
+
{
|
|
1056
|
+
value: 'Half Yearly',
|
|
1057
|
+
label: 'Half Yearly',
|
|
1058
|
+
},
|
|
1059
|
+
{
|
|
1060
|
+
value: 'Yearly',
|
|
1061
|
+
label: 'Yearly',
|
|
1062
|
+
},
|
|
1063
|
+
],
|
|
1064
|
+
"cssClass": " col-sm-12 col-md-3 col-lg-3 col-xl-3 mt-4 pr-0 pt-2",
|
|
1065
|
+
"value": null,
|
|
1066
|
+
"style": null,
|
|
1067
|
+
"imageUrl": null,
|
|
1068
|
+
"isShowLabel": true,
|
|
1069
|
+
"controlStyle": {
|
|
1070
|
+
"controlType": null,
|
|
1071
|
+
"borderColor": null,
|
|
1072
|
+
"borderWidth": "0.094rem",
|
|
1073
|
+
"borderRadius": null,
|
|
1074
|
+
"fontSize": "12px",
|
|
1075
|
+
"fontWeight": null,
|
|
1076
|
+
"fontFamily": null,
|
|
1077
|
+
"color": null,
|
|
1078
|
+
"background": null,
|
|
1079
|
+
"caretColor": null,
|
|
1080
|
+
"nudgeDisplayImage": null,
|
|
1081
|
+
"dropdownOptionBgColor": null,
|
|
1082
|
+
"dropdownOptionColor": null,
|
|
1083
|
+
"dropdownOptionFontWeight": null,
|
|
1084
|
+
"width": null,
|
|
1085
|
+
"focusBorderWidth": "0.094rem",
|
|
1086
|
+
"focusBorderColor": null,
|
|
1087
|
+
"focusBackground": null,
|
|
1088
|
+
"focusColor": null,
|
|
1089
|
+
"focusDropdownOptionBgColor": null,
|
|
1090
|
+
"focusDropdownOptionColor": null,
|
|
1091
|
+
"focusDropdownOptionFontWeight": null,
|
|
1092
|
+
"focusDropdownOptionBorderLeft": null,
|
|
1093
|
+
"focusDropdownOptionBorderRadius": null,
|
|
1094
|
+
"hoverBorderColor": null,
|
|
1095
|
+
"hoverBorderWidth": "0.094rem",
|
|
1096
|
+
"hoverColor": null,
|
|
1097
|
+
"disableColor": null,
|
|
1098
|
+
"disableBackground": null,
|
|
1099
|
+
"errorBorderColor": null,
|
|
1100
|
+
"errorBorderWidth": "0.094rem",
|
|
1101
|
+
"errorColor": null,
|
|
1102
|
+
"createdDate": null,
|
|
1103
|
+
"padding": null,
|
|
1104
|
+
"margin": null,
|
|
1105
|
+
"isMasterCss": null,
|
|
1106
|
+
"controlMetaId": "ALL_COM_GEN_CTRL_multipleSelect_sourceOfFundForPremium_V1",
|
|
1107
|
+
"borderStyle": null,
|
|
1108
|
+
"height": null,
|
|
1109
|
+
"minHeight": null,
|
|
1110
|
+
"maxHeight": null,
|
|
1111
|
+
"minWidth": null,
|
|
1112
|
+
"maxWidth": null,
|
|
1113
|
+
"cssClass": null
|
|
1114
|
+
},
|
|
1115
|
+
"columnIndex": 2,
|
|
1116
|
+
"configData": {
|
|
1117
|
+
"subText": "Discount available on some options"
|
|
1118
|
+
},
|
|
1119
|
+
"controlStyles": null
|
|
1120
|
+
};
|
|
926
1121
|
constructor(masterService) {
|
|
927
1122
|
this.masterService = masterService;
|
|
928
1123
|
}
|
|
@@ -957,7 +1152,7 @@ export class AnnuityPremiumCalculatorComponent {
|
|
|
957
1152
|
this.annuityPremiumObj['configData']['isDisableDropdown'] = this.premiumDetails()?.Premium['isDisableDropdown'];
|
|
958
1153
|
}
|
|
959
1154
|
if (Object.hasOwn(this.premiumDetails()?.Premium, 'options')) {
|
|
960
|
-
this.
|
|
1155
|
+
this.annuitypayoutObj['options'] = this.premiumDetails()?.Premium['options'];
|
|
961
1156
|
}
|
|
962
1157
|
}
|
|
963
1158
|
if (!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.annuity)) {
|
|
@@ -977,7 +1172,10 @@ export class AnnuityPremiumCalculatorComponent {
|
|
|
977
1172
|
this.minimumAnnuityPayoutObj['configData']['isDisableDropdown'] = this.premiumDetails()?.annuity['isDisableDropdown'];
|
|
978
1173
|
}
|
|
979
1174
|
if (Object.hasOwn(this.premiumDetails()?.annuity, 'options')) {
|
|
980
|
-
this.
|
|
1175
|
+
this.minimumAnnuityPayoutfrequencyObj['options'] = this.premiumDetails()?.annuity['options'];
|
|
1176
|
+
}
|
|
1177
|
+
if (Object.hasOwn(this.premiumDetails()?.annuity, 'isVisible')) {
|
|
1178
|
+
this.minimumAnnuityPayoutObj['isVisible'] = this.premiumDetails()?.annuity['isVisible'];
|
|
981
1179
|
}
|
|
982
1180
|
}
|
|
983
1181
|
if (!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.annuityTableCalculator)) {
|
|
@@ -1081,12 +1279,12 @@ export class AnnuityPremiumCalculatorComponent {
|
|
|
1081
1279
|
this.onGrowthRateOptionSelected.emit();
|
|
1082
1280
|
}
|
|
1083
1281
|
onAnnuityPremiumValueChange(value) {
|
|
1084
|
-
this.annuityPremium = value;
|
|
1282
|
+
this.annuityPremium['textValue'] = value;
|
|
1085
1283
|
this.validations.ispremiumEntry = false;
|
|
1086
1284
|
if (this.masterService.checkIfValueIsEmpty(this.annuityPremium['textValue'])) {
|
|
1087
1285
|
this.validations.ispremiumEntry = true;
|
|
1088
1286
|
}
|
|
1089
|
-
this.onAnnuityPremiumChange.emit(
|
|
1287
|
+
this.onAnnuityPremiumChange.emit(this.annuityPremium);
|
|
1090
1288
|
//convert to words
|
|
1091
1289
|
if (!this.masterService.checkIfValueIsEmpty(this.annuityPremium['textValue']) && !this.masterService.checkIfValueIsEmpty(this.annuityPremium['selectValue'])) {
|
|
1092
1290
|
const freq = ` per ${this.annuityPremium['selectValue']}`;
|
|
@@ -1097,8 +1295,7 @@ export class AnnuityPremiumCalculatorComponent {
|
|
|
1097
1295
|
}
|
|
1098
1296
|
}
|
|
1099
1297
|
onMinPremiumValueChange(value) {
|
|
1100
|
-
this.minumumAnnuityPayout
|
|
1101
|
-
this.onMinimumPremiumValueChange.emit(value);
|
|
1298
|
+
this.onMinimumPremiumValueChange.emit(this.minumumAnnuityPayout);
|
|
1102
1299
|
//convert to words
|
|
1103
1300
|
if (!this.masterService.checkIfValueIsEmpty(this.minumumAnnuityPayout['textValue']) && !this.masterService.checkIfValueIsEmpty(this.minumumAnnuityPayout['selectValue'])) {
|
|
1104
1301
|
const freq = ` per ${this.minumumAnnuityPayout['selectValue']}`;
|
|
@@ -1146,11 +1343,14 @@ export class AnnuityPremiumCalculatorComponent {
|
|
|
1146
1343
|
return str ? str + ' Only' : '';
|
|
1147
1344
|
}
|
|
1148
1345
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnnuityPremiumCalculatorComponent, deps: [{ token: i1.MasterControlService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1149
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: AnnuityPremiumCalculatorComponent, isStandalone: true, selector: "lib-annuity-premium-calculator", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, triggerValidation: { classPropertyName: "triggerValidation", publicName: "triggerValidation", isSignal: false, isRequired: false, transformFunction: null }, premiumDetails: { classPropertyName: "premiumDetails", publicName: "premiumDetails", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onCalcualteButtonClick: "onCalcualteButtonClick", onGenerateSummaryClick: "onGenerateSummaryClick", onAnnuityPremiumChange: "onAnnuityPremiumChange", onMinimumPremiumValueChange: "onMinimumPremiumValueChange", onAutioDebitValueChange: "onAutioDebitValueChange", onGuranteedAnnuityValueChange: "onGuranteedAnnuityValueChange", onDigitBossSwitchToggle: "onDigitBossSwitchToggle", onGrowthRateOptionSelected: "onGrowthRateOptionSelected" }, viewQueries: [{ propertyName: "annuityRadioRef", first: true, predicate: AnnuityCalculatorRadioComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"card px-3\" style=\"padding: 16px;\">\n <div class=\"row\">\n <h4 class=\"card-main-title\"><span style=\"margin-right: 12px;\"><img\n src=\"https://cdn.godigit.com/retail-life/calculator.svg\" alt=\"annuity calculator\"></span>Here's Your Premium to Annuity Calculator</h4>\n </div>\n <!-- <div class=\"row\"> -->\n <div class=\"card pb-4 px-4\" style=\"border-bottom-left-radius: 0px; border-bottom-right-radius: 0px;\">\n <!-- <div class=\"custom-grid-template\">\n\n </div> -->\n\n <div class=\"row mx-auto\" style=\"transform: translate(0px, -58%);\">\n <lib-toggle class=\"col-auto\" [field]=\"annuityPremiumToggleObj\" />\n </div>\n <!-- </div> -->\n <div class=\" col-12\" style=\"\n justify-content: center;\n flex-direction: row;\n display: flex;\n\">\n <div class=\"col-5 col-lg-5 d-flex flex-column p-0\">\n <lib-select-textbox [field]=\"annuityPremiumObj\" [(ngModel)]=\"annuityPremium\"\n (ngModelChange)=\"onAnnuityPremiumValueChange($event)\" />\n <div class=\"error-message\" *ngIf=\"validations.ispremiumEntry\">\n Please enter Premium amount\n </div>\n <div class=\"annuity-mat-hint\" *ngIf=\"annuityPremiumObj?.configData?.numbertoword\">{{annuityPremiumObj?.configData?.numbertoword}}</div>\n <div>\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\"\n (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\n </div>\n </div>\n <div class=\"col-2 col-lg-2 d-flex justify-content-center align-items-center\"\n style=\"display: flex; align-items: flex-end; transform: translate(0px, 6px); position: relative; height: auto; min-height: 100%;\">\n <!-- Top line -->\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px; height: calc(50% + 24px); top: -37px; background: rgba(221, 221, 221, 1); pointer-events: none;\"></div>\n <!-- Bottom line -->\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px; height: calc(50% + 24px); bottom: -37px; background: rgba(221, 221, 221, 1); pointer-events: none;\"></div>\n <lib-icon-button [field]=\"interchangeButtonObj\" />\n </div>\n <div class=\"col-5 col-lg-5 d-flex flex-column p-0\">\n <lib-select-textbox [field]=\"minimumAnnuityPayoutObj\" [(ngModel)]=\"minumumAnnuityPayout\"\n (ngModelChange)=\"onMinPremiumValueChange($event)\" />\n <div class=\"annuity-mat-hint\" *ngIf=\"minimumAnnuityPayoutObj?.configData?.numbertoword\">{{minimumAnnuityPayoutObj?.configData?.numbertoword}}</div>\n <div class=\"minium-annuity mt-3\" *ngIf=\"guranteedannuityObj['isVisible']\">\n <div class=\"annuity-msg w-100 px-2 py-1\">\n Value based on assumed 10% annual growth of Nifty 50 index.\n </div>\n <div class=\"w-100 px-2 py-1\">\n <lib-radio [field]=\"guranteedannuityObj\" [(ngModel)]=\"selectedGuranteedAnnuity\"\n (ngModelChange)=\"onGuranteedAnnuityChange($event)\" />\n </div>\n <div class=\"annuity-msg-1 d-flex align-items-center flex-nowrap w-100 px-2 py-1\">\n <img src=\"https://cdn.godigit.com/digitPlusAssets/streamline_graph-arrow-increase-remix.png\"\n style=\"max-width: 24px;\" />\n <span>Potential for higher returns by lowering the minimum guaranteed annuity rate.</span>\n </div>\n </div>\n\n </div>\n </div>\n <!-- <div class=\"vertical-line\"></div> -->\n <!-- <div class=\"custom-grid-template\">\n <div>\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\"\n (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\n </div>\n </div> -->\n\n </div>\n\n\n <div class=\"card py-3 mb-4 border-top-0\" style=\"border-top-left-radius: 0px; border-top-right-radius: 0px;\">\n <div class=\"mx-4\">\n <div class=\"digit-boss-banner\" *ngIf=\"digitBossSwitch?.isVisible\">\n <lib-toggle [field]=\"digitBossToggleConfig\" [(ngModel)]=\"this.digitBossSwitch.isSwitchOn\" (ngModelChange)=\"onDigitBossSwitchChange($event)\"></lib-toggle>\n <div class=\"digit-boss-text\">\n {{this.digitBossSwitch?.prefixText}}\n <span class=\"highlight\">{{this.digitBossSwitch?.highlightText}}</span>\n {{this.digitBossSwitch?.subText}}\n <span class=\"arrow-icon\">\u2197</span>\n </div>\n </div>\n <lib-button [field]=\"recalculateButton\" (click)=\"calculateButtonClicked()\" />\n <div class=\"card mb-0 mt-2\"\n style=\"align-items: center;border:none;font-size: 8px;font-weight: 400;color:rgba(68, 68, 68, 1) \"\n >\n <div class=\"mx-4\" *ngIf=\"recalculateSubTextObj?.isVisible\"><img src=\"https://cdn.godigit.com/digitPlusAssets/Group+1010106336.png\"\n style=\"margin-left: 3px;\" />\n <span style=\"margin-left: 6px;\">Every time you make a change above, please click recalculate.</span>\n </div>\n </div>\n </div>\n <div\n style=\"display: flex;align-items: center;justify-content: center;border:none;font-size: 10px;font-weight: 700;height:32px;background-color: rgba(255, 250, 235, 1);gap: 8px;margin: 4px;\"\n *ngIf=\"annuityTableCalculator?.isVisible\">\n <img src=\"https://cdn.godigit.com/retail-life/calculator.svg\" />\n Minimum Guaranteed Payout(A) + Variable Payout(B) = Total Payout(C)\n </div>\n <!-- annuity calculator table -->\n <div class=\"annuity-tables-main-container\" *ngIf=\"annuityTableCalculator?.isVisible\">\n <div class=\"d-flex flex-row annuity-tables-container\">\n <!-- Table 1 -->\n <div class=\"annuity-calculator-table1\">\n <div class=\"table-header annuitytable1-header\">Minimum Guaranteed Annuity Payout(A)</div>\n <div class=\"table-body\">\n <div class=\"table-cell\"><span class=\"rupee-icon\">\u20B9</span><span\n style=\"font-size:12px; color: rgba(68, 68, 68, 1);\">\n <{{annuityTableCalculator.annuitycalculatorTable1val1}}>\n </span></div>\n <button class=\"annuitytable-button\">{{annuityTableCalculator.annuitycalculatorTable1val2}}</button>\n </div>\n </div>\n\n <div class=\"operator-symbol\">+</div>\n\n <!-- Table 2 -->\n <div class=\"annuity-calculator-table2\">\n <div class=\"table-header annuitytable1-header\">Assume growth of BenchMark index</div>\n <div class=\"table-body\">\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val1}}</div>\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val2}}</div>\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val3}}</div>\n </div>\n </div>\n\n <!-- Table 3 -->\n <div class=\"annuity-calculator-table3\">\n <div class=\"table-header annuitytable1-header\">1st Variable Annuity Payout(B)</div>\n <div class=\"table-body\">\n <div class=\"table-row\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val1}}</div>\n <div class=\"table-row\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val2}}</div>\n <div class=\"table-row\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val3}}</div>\n </div>\n </div>\n\n <div class=\"operator-symbol\">=</div>\n\n <!-- Table 4 -->\n <div class=\"annuity-calculator-table4\">\n <div class=\"table-header annuitytable4-header\">1st TotalPayout/Frequency(C)</div>\n <div class=\"table-body\">\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val1}}</div>\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val2}}</div>\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val3}}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"annuity-calculator-paragraph\" *ngIf=\"annuityTableCalculator?.isVisible\">\n <span class=\"annuity-calculator-paragraph1\">This is an assumed growth percentage for the index basis which the\n values in columns B and C are calculated.</span> Actual growth will depend on index performance and may affect\n your variable annuity payout and total annuity payout.\n </div>\n\n <div *ngIf=\"growthRateObj.isVisible\">\n <lib-annuity-calculator-radio\n [field]=\"growthRateObj\"\n [(ngModel)]=\"growthRateOption\"\n (change)=\"onGrowthRateRadioChange($event)\"\n (growthRateChange)=\"onGrowthRateCardChange($event)\" />\n </div>\n\n <div *ngIf=\"hrLineObj.isVisible\" class=\"generateSummary\">\n <lib-hr-line [field]=\"hrLineObj\" />\n </div>\n\n <div *ngIf=\"generateSummaryObj.isVisible\" class=\"generateSummary\">\n <lib-button [field]=\"generateSummaryObj\" (click)=\"generateSummaryClicked()\" />\n </div>\n </div>\n", styles: [".card-main-title{font-size:16px;font-family:Mulish!important;letter-spacing:0px!important;font-weight:800;line-height:24px;padding-bottom:16px}.col-5-5{flex:0 0 auto;max-width:44.16666667%}.custom-grid-template{display:grid;grid-template-columns:4fr .5fr 4fr;align-items:end}.vertical-line{border-left:2px solid #ccc;height:100px;margin:0 10px}.error-message{font-size:12px;font-weight:500;color:#e00;letter-spacing:0px}.annuity-msg{padding:4px 6px;margin-top:8px;font-size:10px;font-weight:400;color:#444;background-color:#e5f0fa;height:fit-content}.annuity-msg-1{padding:4px 6px;margin-top:8px;font-size:10px;font-weight:400;color:#444;background-color:#e6f7f3;height:fit-content;flex-wrap:nowrap!important}.annuity-tables-main-container{border:2px solid rgba(221,221,221,1);border-radius:8px;display:flex}.annuity-tables-container{display:flex;align-items:stretch;gap:0;width:100%}.annuity-calculator-table1,.annuity-calculator-table2,.annuity-calculator-table3,.annuity-calculator-table4{display:flex;flex-direction:column;height:100%;flex:1;color:#444;font-weight:400;font-size:10px}.annuity-calculator-table1{border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table2{border-left:1px solid rgba(221,221,221,1);border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table3{border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table4{border-left:1px solid rgba(221,221,221,1)}.table-header{padding:12px;font-size:10px;font-weight:700;text-align:center;border-bottom:1px solid rgba(221,221,221,1);height:60px;display:flex;align-items:center;justify-content:center;word-wrap:break-word;word-break:break-word;hyphens:auto}.annuitytable1-header{background-color:#ececec;color:#444}.annuitytable4-header{background-color:#fb03;color:#444}.table-body{display:flex;flex-direction:column;flex:1}.table-cell{padding:12px;text-align:center;font-size:16px;font-weight:600;flex:1;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:4px}.annuity-mat-hint{font-size:8px;text-align:start;font-weight:400;color:#444;letter-spacing:0px}.table-row{padding:12px;text-align:center;font-size:14px;font-weight:500;background-color:#fff;border-bottom:1px solid #999;flex:1;display:flex;align-items:center;justify-content:center}.table-row:last-child{border-bottom:none}.annuitytable4-bg{background-color:#e6f7f3!important;color:#444}.annuitytable-button{background-color:#ececec;border:none;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700;cursor:pointer;margin-top:0;width:auto;min-width:30%;max-width:90%;height:24px;display:block;margin-left:auto;margin-right:auto;position:relative;bottom:40px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rupee-icon{font-weight:700;margin-right:2px;font-size:12px;color:#444}.operator-symbol{display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;padding:0 16px;color:#f90}.annuity-calculator-paragraph{padding:16px 8px 4px;font-size:10px;margin:0 0 20px auto;width:73%;font-weight:400;color:#444;background-color:#ebf1ff}.annuity-calculator-paragraph1{font-weight:700;font-size:10px}.minium-annuity{display:flex;flex-direction:column}@media (max-width: 991px) and (min-width: 768px){.table-header{padding:8px 4px;font-size:9px;line-height:1.1}}@media (max-width: 767px) and (min-width: 576px){.table-header{padding:10px 6px;font-size:9px}}@media (max-width: 575px){.table-header{padding:8px 4px;font-size:8px}}@media (max-width: 575px){.annuity-msg{font-size:10px;line-height:1;height:fit-content}}@media (max-width: 575px){.annuity-msg-1{font-size:10px;line-height:1;flex-wrap:nowrap!important;height:fit-content}.annuity-msg-1 .img{width:4px;height:4px}}@media (max-width: 991px) and (min-width: 768px){.annuity-msg,.annuity-msg-1{font-size:9px;line-height:1.1;height:fit-content}}@media (max-width: 767px) and (min-width: 576px){.annuity-msg,.annuity-msg-1{font-size:10px;line-height:1.1;height:fit-content}}.digit-boss-banner{background-color:#333;color:#fff;display:flex;align-items:center;padding:8px 16px;border-radius:4px;margin-bottom:16px;gap:8px;font-size:12px;min-height:16px;opacity:1;transform:rotate(0)}.digit-boss-banner ::ng-deep .toggle-background{margin-top:0!important;padding:0!important;background-color:transparent!important;border:none!important}.digit-boss-banner ::ng-deep .toggle_switch{margin-top:0!important;gap:0!important}.digit-boss-text{display:flex;align-items:center;gap:4px;white-space:nowrap}.highlight{color:#fb0;font-weight:700}.arrow-icon{color:#fb0;margin-left:4px;font-size:14px}.generateSummary{margin-right:.4rem;margin-left:.4rem}\n"], dependencies: [{ kind: "component", type: AnnuityCalculatorRadioComponent, selector: "lib-annuity-calculator-radio", inputs: ["reactiveFormControlobject", "field"], outputs: ["change", "growthRateChange"] }, { kind: "component", type: HrLineComponent, selector: "lib-hr-line", inputs: ["field"] }, { kind: "component", type: ToggleComponent, selector: "lib-toggle", inputs: ["field", "reactiveFormControlobject"], outputs: ["change"] }, { kind: "component", type: SelectTextboxComponent, selector: "lib-select-textbox", inputs: ["field", "reactiveFormControlobject"], outputs: ["selectionChange"] }, { kind: "component", type: ButtonComponent, selector: "lib-button", inputs: ["field"] }, { kind: "component", type: IconButtonComponent, selector: "lib-icon-button", inputs: ["field"] }, { kind: "component", type: RadioComponent, selector: "lib-radio", inputs: ["reactiveFormControlobject", "field"], outputs: ["change"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
1346
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: AnnuityPremiumCalculatorComponent, isStandalone: true, selector: "lib-annuity-premium-calculator", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, triggerValidation: { classPropertyName: "triggerValidation", publicName: "triggerValidation", isSignal: false, isRequired: false, transformFunction: null }, premiumDetails: { classPropertyName: "premiumDetails", publicName: "premiumDetails", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onCalcualteButtonClick: "onCalcualteButtonClick", onGenerateSummaryClick: "onGenerateSummaryClick", onAnnuityPremiumChange: "onAnnuityPremiumChange", onMinimumPremiumValueChange: "onMinimumPremiumValueChange", onAutioDebitValueChange: "onAutioDebitValueChange", onGuranteedAnnuityValueChange: "onGuranteedAnnuityValueChange", onDigitBossSwitchToggle: "onDigitBossSwitchToggle", onGrowthRateOptionSelected: "onGrowthRateOptionSelected" }, viewQueries: [{ propertyName: "annuityRadioRef", first: true, predicate: AnnuityCalculatorRadioComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"card px-3\" style=\"padding: 16px;\">\n <div class=\"row\">\n <h4 class=\"card-main-title\"><span style=\"margin-right: 12px;\"><img\n src=\"https://cdn.godigit.com/retail-life/calculator.svg\" alt=\"annuity calculator\"></span>Here's Your Premium to Annuity Calculator</h4>\n </div>\n <!-- <div class=\"row\"> -->\n <div class=\"card pb-4 px-4\" style=\"border-bottom-left-radius: 0px; border-bottom-right-radius: 0px;\">\n <!-- <div class=\"custom-grid-template\">\n\n </div> -->\n\n <div class=\"row mx-auto\" style=\"transform: translate(0px, -58%);\">\n <lib-toggle class=\"col-auto\" [field]=\"annuityPremiumToggleObj\" />\n </div>\n <!-- </div> -->\n <div class=\" col-12\" style=\"\n justify-content: center;\n flex-direction: row;\n display: flex;\n\">\n <div class=\"col-5 col-lg-5 d-flex flex-column p-0\">\n <lib-amount-textbox [field]=\"annuityPremiumObj\" [(ngModel)]=\"annuityPremium['textValue']\"\n (ngModelChange)=\"onAnnuityPremiumValueChange($event)\" />\n <div class=\"error-message\" *ngIf=\"validations.ispremiumEntry\">\n Please enter Premium amount\n </div>\n <div class=\"annuity-mat-hint\" *ngIf=\"annuityPremiumObj?.configData?.numbertoword\">{{annuityPremiumObj?.configData?.numbertoword}}</div>\n\n <lib-select [field]=\"annuitypayoutObj\" [(ngModel)]=\"annuityPremium['selectValue']\"\n (ngModelChange)=\"onAnnuityPremiumValueChange($event)\" />\n <div>\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\"\n (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\n </div>\n </div>\n <div class=\"col-2 col-lg-2 d-flex justify-content-center align-items-center\"\n style=\"display: flex; align-items: flex-end; transform: translate(0px, 6px); position: relative; height: auto; min-height: 100%;\">\n <!-- Top line -->\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px; height: calc(50% + 24px); top: -37px; background: rgba(221, 221, 221, 1); pointer-events: none;\"></div>\n <!-- Bottom line -->\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px; height: calc(50% + 24px); bottom: -37px; background: rgba(221, 221, 221, 1); pointer-events: none;\"></div>\n <lib-icon-button [field]=\"interchangeButtonObj\" />\n </div>\n <div class=\"col-5 col-lg-5 d-flex flex-column p-0\">\n <lib-amount-textbox [field]=\"minimumAnnuityPayoutObj\" [(ngModel)]=\"minumumAnnuityPayout['textValue']\"\n (ngModelChange)=\"onMinPremiumValueChange($event)\" *ngIf=\"minimumAnnuityPayoutObj.isVisible;\"/>\n <div class=\"annuity-mat-hint\" *ngIf=\"minimumAnnuityPayoutObj.isVisible && minimumAnnuityPayoutObj?.configData?.numbertoword\">{{minimumAnnuityPayoutObj?.configData?.numbertoword}}</div>\n <lib-select [field]=\"minimumAnnuityPayoutfrequencyObj\" [(ngModel)]=\"minumumAnnuityPayout['selectValue']\"\n (ngModelChange)=\"onMinPremiumValueChange($event)\" />\n <div class=\"minium-annuity mt-3\" *ngIf=\"guranteedannuityObj['isVisible']\">\n <div class=\"annuity-msg w-100 px-2 py-1\">\n Value based on assumed 10% annual growth of Nifty 50 index.\n </div>\n <div class=\"w-100 px-2 py-1\">\n <lib-radio [field]=\"guranteedannuityObj\" [(ngModel)]=\"selectedGuranteedAnnuity\"\n (ngModelChange)=\"onGuranteedAnnuityChange($event)\" />\n </div>\n <div class=\"annuity-msg-1 d-flex align-items-center flex-nowrap w-100 px-2 py-1\">\n <img src=\"https://cdn.godigit.com/digitPlusAssets/streamline_graph-arrow-increase-remix.png\"\n style=\"max-width: 24px;\" />\n <span>Potential for higher returns by lowering the minimum guaranteed annuity rate.</span>\n </div>\n </div>\n\n </div>\n <!-- <ng-template #emptyRightCol>\n <div class=\"col-5 col-lg-5 p-0\"></div>\n </ng-template> -->\n </div>\n <!-- <div class=\"vertical-line\"></div> -->\n <!-- <div class=\"custom-grid-template\">\n <div>\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\"\n (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\n </div>\n </div> -->\n\n </div>\n\n\n <div class=\"card py-3 mb-4 border-top-0\" style=\"border-top-left-radius: 0px; border-top-right-radius: 0px;\">\n <div class=\"mx-4\">\n <div class=\"digit-boss-banner\" *ngIf=\"digitBossSwitch?.isVisible\">\n <lib-toggle [field]=\"digitBossToggleConfig\" [(ngModel)]=\"this.digitBossSwitch.isSwitchOn\" (ngModelChange)=\"onDigitBossSwitchChange($event)\"></lib-toggle>\n <div class=\"digit-boss-text\">\n {{this.digitBossSwitch?.prefixText}}\n <span class=\"highlight\">{{this.digitBossSwitch?.highlightText}}</span>\n {{this.digitBossSwitch?.subText}}\n <span class=\"arrow-icon\">\u2197</span>\n </div>\n </div>\n <lib-button [field]=\"recalculateButton\" (click)=\"calculateButtonClicked()\" />\n\n <!-- //digit boss updated design -->\n <div class=\"col-12 mt-3\" style=\"\n justify-content: center;\n flex-direction: row;\n display: flex;\" *ngIf=\"!minimumAnnuityPayoutObj.isVisible\">\n <div class=\"col-12 col-lg-12 d-flex flex-column justify-content-center p-0\">\n <div class=\"realistic-picture-card\">\n <div class=\"realistic-picture-header\">\n <img *ngIf=\"digitBossSwitch?.icon\" [src]=\"digitBossSwitch?.icon\" style=\"width:12px;height:12px;object-fit:contain;flex-shrink:0;\" />\n <span class=\"realistic-picture-label\">Realistic Picture:</span>\n </div>\n <span class=\"realistic-picture-text\">{{digitBossSwitch?.digitBossText}} <span class=\"realistic-picture-highlight\">{{digitBossSwitch?.digitBossValue}}</span></span>\n </div>\n </div>\n\n</div>\n\n <div class=\"card mb-0 mt-2\"\n style=\"align-items: center;border:none;font-size: 8px;font-weight: 400;color:rgba(68, 68, 68, 1) \"\n >\n <div class=\"mx-4\" *ngIf=\"recalculateSubTextObj?.isVisible\"><img src=\"https://cdn.godigit.com/digitPlusAssets/Group+1010106336.png\"\n style=\"margin-left: 3px;\" />\n <span style=\"margin-left: 6px;\">Every time you make a change above, please click recalculate.</span>\n </div>\n </div>\n </div>\n <div\n style=\"display: flex;align-items: center;justify-content: center;border:none;font-size: 10px;font-weight: 700;height:32px;background-color: rgba(255, 250, 235, 1);gap: 8px;margin: 4px;\"\n *ngIf=\"annuityTableCalculator?.isVisible\">\n <img src=\"https://cdn.godigit.com/retail-life/calculator.svg\" />\n Minimum Guaranteed Payout(A) + Variable Payout(B) = Total Payout(C)\n </div>\n <!-- annuity calculator table -->\n <div class=\"annuity-tables-main-container\" *ngIf=\"annuityTableCalculator?.isVisible\">\n <div class=\"d-flex flex-row annuity-tables-container\">\n <!-- Table 1 -->\n <div class=\"annuity-calculator-table1\">\n <div class=\"table-header annuitytable1-header\">Minimum Guaranteed Annuity Payout(A)</div>\n <div class=\"table-body\">\n <div class=\"table-cell\"><span class=\"rupee-icon\">\u20B9</span><span\n style=\"font-size:12px; color: rgba(68, 68, 68, 1);\">\n <{{annuityTableCalculator.annuitycalculatorTable1val1}}>\n </span></div>\n <button class=\"annuitytable-button\">{{annuityTableCalculator.annuitycalculatorTable1val2}}</button>\n </div>\n </div>\n\n <div class=\"operator-symbol\">+</div>\n\n <!-- Table 2 -->\n <div class=\"annuity-calculator-table2\">\n <div class=\"table-header annuitytable1-header\">Assume growth of BenchMark index</div>\n <div class=\"table-body\">\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val1}}</div>\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val2}}</div>\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val3}}</div>\n </div>\n </div>\n\n <!-- Table 3 -->\n <div class=\"annuity-calculator-table3\">\n <div class=\"table-header annuitytable1-header\">1st Variable Annuity Payout(B)</div>\n <div class=\"table-body\">\n <div class=\"table-row\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val1}}</div>\n <div class=\"table-row\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val2}}</div>\n <div class=\"table-row\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val3}}</div>\n </div>\n </div>\n\n <div class=\"operator-symbol\">=</div>\n\n <!-- Table 4 -->\n <div class=\"annuity-calculator-table4\">\n <div class=\"table-header annuitytable4-header\">1st TotalPayout/Frequency(C)</div>\n <div class=\"table-body\">\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val1}}</div>\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val2}}</div>\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val3}}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"annuity-calculator-paragraph\" *ngIf=\"annuityTableCalculator?.isVisible\">\n <span class=\"annuity-calculator-paragraph1\">This is an assumed growth percentage for the index basis which the\n values in columns B and C are calculated.</span> Actual growth will depend on index performance and may affect\n your variable annuity payout and total annuity payout.\n </div>\n\n <div *ngIf=\"growthRateObj.isVisible\">\n <lib-annuity-calculator-radio\n [field]=\"growthRateObj\"\n [(ngModel)]=\"growthRateOption\"\n (change)=\"onGrowthRateRadioChange($event)\"\n (growthRateChange)=\"onGrowthRateCardChange($event)\" />\n </div>\n\n <div *ngIf=\"hrLineObj.isVisible\" class=\"generateSummary\">\n <lib-hr-line [field]=\"hrLineObj\" />\n </div>\n\n <div *ngIf=\"generateSummaryObj.isVisible\" class=\"generateSummary\">\n <lib-button [field]=\"generateSummaryObj\" (click)=\"generateSummaryClicked()\" />\n </div>\n </div>\n", styles: [".card-main-title{font-size:16px;font-family:Mulish!important;letter-spacing:0px!important;font-weight:800;line-height:24px;padding-bottom:16px}.col-5-5{flex:0 0 auto;max-width:44.16666667%}.custom-grid-template{display:grid;grid-template-columns:4fr .5fr 4fr;align-items:end}.vertical-line{border-left:2px solid #ccc;height:100px;margin:0 10px}.error-message{font-size:12px;font-weight:500;color:#e00;letter-spacing:0px}.annuity-msg{padding:4px 6px;margin-top:8px;font-size:10px;font-weight:400;color:#444;background-color:#e5f0fa;height:fit-content}.annuity-msg-1{padding:4px 6px;margin-top:8px;font-size:10px;font-weight:400;color:#444;background-color:#e6f7f3;height:fit-content;flex-wrap:nowrap!important}.annuity-tables-main-container{border:2px solid rgba(221,221,221,1);border-radius:8px;display:flex}.annuity-tables-container{display:flex;align-items:stretch;gap:0;width:100%}.annuity-calculator-table1,.annuity-calculator-table2,.annuity-calculator-table3,.annuity-calculator-table4{display:flex;flex-direction:column;height:100%;flex:1;color:#444;font-weight:400;font-size:10px}.annuity-calculator-table1{border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table2{border-left:1px solid rgba(221,221,221,1);border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table3{border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table4{border-left:1px solid rgba(221,221,221,1)}.table-header{padding:12px;font-size:10px;font-weight:700;text-align:center;border-bottom:1px solid rgba(221,221,221,1);height:60px;display:flex;align-items:center;justify-content:center;word-wrap:break-word;word-break:break-word;hyphens:auto}.annuitytable1-header{background-color:#ececec;color:#444}.annuitytable4-header{background-color:#fb03;color:#444}.table-body{display:flex;flex-direction:column;flex:1}.table-cell{padding:12px;text-align:center;font-size:16px;font-weight:600;flex:1;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:4px}.annuity-mat-hint{font-size:8px;text-align:start;font-weight:400;color:#444;letter-spacing:0px}.table-row{padding:12px;text-align:center;font-size:14px;font-weight:500;background-color:#fff;border-bottom:1px solid #999;flex:1;display:flex;align-items:center;justify-content:center}.table-row:last-child{border-bottom:none}.annuitytable4-bg{background-color:#e6f7f3!important;color:#444}.annuitytable-button{background-color:#ececec;border:none;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700;cursor:pointer;margin-top:0;width:auto;min-width:30%;max-width:90%;height:24px;display:block;margin-left:auto;margin-right:auto;position:relative;bottom:40px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rupee-icon{font-weight:700;margin-right:2px;font-size:12px;color:#444}.operator-symbol{display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;padding:0 16px;color:#f90}.annuity-calculator-paragraph{padding:16px 8px 4px;font-size:10px;margin:0 0 20px auto;width:73%;font-weight:400;color:#444;background-color:#ebf1ff}.annuity-calculator-paragraph1{font-weight:700;font-size:10px}.minium-annuity{display:flex;flex-direction:column}@media (max-width: 991px) and (min-width: 768px){.table-header{padding:8px 4px;font-size:9px;line-height:1.1}}@media (max-width: 767px) and (min-width: 576px){.table-header{padding:10px 6px;font-size:9px}}@media (max-width: 575px){.table-header{padding:8px 4px;font-size:8px}}@media (max-width: 575px){.annuity-msg{font-size:10px;line-height:1;height:fit-content}}@media (max-width: 575px){.annuity-msg-1{font-size:10px;line-height:1;flex-wrap:nowrap!important;height:fit-content}.annuity-msg-1 .img{width:4px;height:4px}}@media (max-width: 991px) and (min-width: 768px){.annuity-msg,.annuity-msg-1{font-size:9px;line-height:1.1;height:fit-content}}@media (max-width: 767px) and (min-width: 576px){.annuity-msg,.annuity-msg-1{font-size:10px;line-height:1.1;height:fit-content}}.digit-boss-banner{background-color:#333;color:#fff;display:flex;align-items:center;padding:8px 16px;border-radius:4px;margin-bottom:16px;gap:8px;font-size:12px;min-height:16px;opacity:1;transform:rotate(0)}.digit-boss-banner ::ng-deep .toggle-background{margin-top:0!important;padding:0!important;background-color:transparent!important;border:none!important}.digit-boss-banner ::ng-deep .toggle_switch{margin-top:0!important;gap:0!important}.digit-boss-text{display:flex;align-items:center;gap:4px;white-space:nowrap}.highlight{color:#fb0;font-weight:700}.arrow-icon{color:#fb0;margin-left:4px;font-size:14px}.generateSummary{margin-right:.4rem;margin-left:.4rem}.realistic-picture-card{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:4px;background-color:#cce0f5;border-radius:4px;padding:4px 6px;font-size:8px;color:#06c;line-height:1.5;box-sizing:border-box}.realistic-picture-header{display:flex;align-items:center;gap:4px}.realistic-picture-content{display:flex;flex-direction:column;gap:2px}.realistic-picture-label{font-weight:700;font-size:8px;line-height:8px;color:#06c}.realistic-picture-text{font-weight:600;font-size:10px;line-height:14px;color:#222}.realistic-picture-highlight{font-weight:800;font-size:10px;line-height:14px;color:#0048ad}\n"], dependencies: [{ kind: "component", type: SelectComponent, selector: "lib-select", inputs: ["field", "reactiveFormControlobject"], outputs: ["selectionChange", "infoClick"] }, { kind: "component", type: AmountTextboxComponent, selector: "lib-amount-textbox", inputs: ["field", "reactiveFormControlobject"], outputs: ["blur"] }, { kind: "component", type: AnnuityCalculatorRadioComponent, selector: "lib-annuity-calculator-radio", inputs: ["reactiveFormControlobject", "field"], outputs: ["change", "growthRateChange"] }, { kind: "component", type: HrLineComponent, selector: "lib-hr-line", inputs: ["field"] }, { kind: "component", type: ToggleComponent, selector: "lib-toggle", inputs: ["field", "reactiveFormControlobject"], outputs: ["change"] }, { kind: "component", type: ButtonComponent, selector: "lib-button", inputs: ["field"] }, { kind: "component", type: IconButtonComponent, selector: "lib-icon-button", inputs: ["field"] }, { kind: "component", type: RadioComponent, selector: "lib-radio", inputs: ["reactiveFormControlobject", "field"], outputs: ["change"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
1150
1347
|
}
|
|
1151
1348
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnnuityPremiumCalculatorComponent, decorators: [{
|
|
1152
1349
|
type: Component,
|
|
1153
1350
|
args: [{ selector: 'lib-annuity-premium-calculator', standalone: true, imports: [
|
|
1351
|
+
InfoComponent,
|
|
1352
|
+
SelectComponent,
|
|
1353
|
+
AmountTextboxComponent,
|
|
1154
1354
|
AnnuityCalculatorRadioComponent,
|
|
1155
1355
|
HrLineComponent,
|
|
1156
1356
|
ToggleComponent,
|
|
@@ -1160,7 +1360,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1160
1360
|
RadioComponent,
|
|
1161
1361
|
CommonModule,
|
|
1162
1362
|
FormsModule
|
|
1163
|
-
], template: "<div class=\"card px-3\" style=\"padding: 16px;\">\n <div class=\"row\">\n <h4 class=\"card-main-title\"><span style=\"margin-right: 12px;\"><img\n src=\"https://cdn.godigit.com/retail-life/calculator.svg\" alt=\"annuity calculator\"></span>Here's Your Premium to Annuity Calculator</h4>\n </div>\n <!-- <div class=\"row\"> -->\n <div class=\"card pb-4 px-4\" style=\"border-bottom-left-radius: 0px; border-bottom-right-radius: 0px;\">\n <!-- <div class=\"custom-grid-template\">\n\n </div> -->\n\n <div class=\"row mx-auto\" style=\"transform: translate(0px, -58%);\">\n <lib-toggle class=\"col-auto\" [field]=\"annuityPremiumToggleObj\" />\n </div>\n <!-- </div> -->\n <div class=\" col-12\" style=\"\n justify-content: center;\n flex-direction: row;\n display: flex;\n\">\n <div class=\"col-5 col-lg-5 d-flex flex-column p-0\">\n <lib-select-textbox [field]=\"annuityPremiumObj\" [(ngModel)]=\"annuityPremium\"\n (ngModelChange)=\"onAnnuityPremiumValueChange($event)\" />\n <div class=\"error-message\" *ngIf=\"validations.ispremiumEntry\">\n Please enter Premium amount\n </div>\n <div class=\"annuity-mat-hint\" *ngIf=\"annuityPremiumObj?.configData?.numbertoword\">{{annuityPremiumObj?.configData?.numbertoword}}</div>\n <div>\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\"\n (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\n </div>\n </div>\n <div class=\"col-2 col-lg-2 d-flex justify-content-center align-items-center\"\n style=\"display: flex; align-items: flex-end; transform: translate(0px, 6px); position: relative; height: auto; min-height: 100%;\">\n <!-- Top line -->\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px; height: calc(50% + 24px); top: -37px; background: rgba(221, 221, 221, 1); pointer-events: none;\"></div>\n <!-- Bottom line -->\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px; height: calc(50% + 24px); bottom: -37px; background: rgba(221, 221, 221, 1); pointer-events: none;\"></div>\n <lib-icon-button [field]=\"interchangeButtonObj\" />\n </div>\n <div class=\"col-5 col-lg-5 d-flex flex-column p-0\">\n <lib-select-textbox [field]=\"minimumAnnuityPayoutObj\" [(ngModel)]=\"minumumAnnuityPayout\"\n (ngModelChange)=\"onMinPremiumValueChange($event)\" />\n <div class=\"annuity-mat-hint\" *ngIf=\"minimumAnnuityPayoutObj?.configData?.numbertoword\">{{minimumAnnuityPayoutObj?.configData?.numbertoword}}</div>\n <div class=\"minium-annuity mt-3\" *ngIf=\"guranteedannuityObj['isVisible']\">\n <div class=\"annuity-msg w-100 px-2 py-1\">\n Value based on assumed 10% annual growth of Nifty 50 index.\n </div>\n <div class=\"w-100 px-2 py-1\">\n <lib-radio [field]=\"guranteedannuityObj\" [(ngModel)]=\"selectedGuranteedAnnuity\"\n (ngModelChange)=\"onGuranteedAnnuityChange($event)\" />\n </div>\n <div class=\"annuity-msg-1 d-flex align-items-center flex-nowrap w-100 px-2 py-1\">\n <img src=\"https://cdn.godigit.com/digitPlusAssets/streamline_graph-arrow-increase-remix.png\"\n style=\"max-width: 24px;\" />\n <span>Potential for higher returns by lowering the minimum guaranteed annuity rate.</span>\n </div>\n </div>\n\n </div>\n </div>\n <!-- <div class=\"vertical-line\"></div> -->\n <!-- <div class=\"custom-grid-template\">\n <div>\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\"\n (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\n </div>\n </div> -->\n\n </div>\n\n\n <div class=\"card py-3 mb-4 border-top-0\" style=\"border-top-left-radius: 0px; border-top-right-radius: 0px;\">\n <div class=\"mx-4\">\n <div class=\"digit-boss-banner\" *ngIf=\"digitBossSwitch?.isVisible\">\n <lib-toggle [field]=\"digitBossToggleConfig\" [(ngModel)]=\"this.digitBossSwitch.isSwitchOn\" (ngModelChange)=\"onDigitBossSwitchChange($event)\"></lib-toggle>\n <div class=\"digit-boss-text\">\n {{this.digitBossSwitch?.prefixText}}\n <span class=\"highlight\">{{this.digitBossSwitch?.highlightText}}</span>\n {{this.digitBossSwitch?.subText}}\n <span class=\"arrow-icon\">\u2197</span>\n </div>\n </div>\n <lib-button [field]=\"recalculateButton\" (click)=\"calculateButtonClicked()\" />\n <div class=\"card mb-0 mt-2\"\n style=\"align-items: center;border:none;font-size: 8px;font-weight: 400;color:rgba(68, 68, 68, 1) \"\n >\n <div class=\"mx-4\" *ngIf=\"recalculateSubTextObj?.isVisible\"><img src=\"https://cdn.godigit.com/digitPlusAssets/Group+1010106336.png\"\n style=\"margin-left: 3px;\" />\n <span style=\"margin-left: 6px;\">Every time you make a change above, please click recalculate.</span>\n </div>\n </div>\n </div>\n <div\n style=\"display: flex;align-items: center;justify-content: center;border:none;font-size: 10px;font-weight: 700;height:32px;background-color: rgba(255, 250, 235, 1);gap: 8px;margin: 4px;\"\n *ngIf=\"annuityTableCalculator?.isVisible\">\n <img src=\"https://cdn.godigit.com/retail-life/calculator.svg\" />\n Minimum Guaranteed Payout(A) + Variable Payout(B) = Total Payout(C)\n </div>\n <!-- annuity calculator table -->\n <div class=\"annuity-tables-main-container\" *ngIf=\"annuityTableCalculator?.isVisible\">\n <div class=\"d-flex flex-row annuity-tables-container\">\n <!-- Table 1 -->\n <div class=\"annuity-calculator-table1\">\n <div class=\"table-header annuitytable1-header\">Minimum Guaranteed Annuity Payout(A)</div>\n <div class=\"table-body\">\n <div class=\"table-cell\"><span class=\"rupee-icon\">\u20B9</span><span\n style=\"font-size:12px; color: rgba(68, 68, 68, 1);\">\n <{{annuityTableCalculator.annuitycalculatorTable1val1}}>\n </span></div>\n <button class=\"annuitytable-button\">{{annuityTableCalculator.annuitycalculatorTable1val2}}</button>\n </div>\n </div>\n\n <div class=\"operator-symbol\">+</div>\n\n <!-- Table 2 -->\n <div class=\"annuity-calculator-table2\">\n <div class=\"table-header annuitytable1-header\">Assume growth of BenchMark index</div>\n <div class=\"table-body\">\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val1}}</div>\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val2}}</div>\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val3}}</div>\n </div>\n </div>\n\n <!-- Table 3 -->\n <div class=\"annuity-calculator-table3\">\n <div class=\"table-header annuitytable1-header\">1st Variable Annuity Payout(B)</div>\n <div class=\"table-body\">\n <div class=\"table-row\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val1}}</div>\n <div class=\"table-row\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val2}}</div>\n <div class=\"table-row\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val3}}</div>\n </div>\n </div>\n\n <div class=\"operator-symbol\">=</div>\n\n <!-- Table 4 -->\n <div class=\"annuity-calculator-table4\">\n <div class=\"table-header annuitytable4-header\">1st TotalPayout/Frequency(C)</div>\n <div class=\"table-body\">\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val1}}</div>\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val2}}</div>\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val3}}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"annuity-calculator-paragraph\" *ngIf=\"annuityTableCalculator?.isVisible\">\n <span class=\"annuity-calculator-paragraph1\">This is an assumed growth percentage for the index basis which the\n values in columns B and C are calculated.</span> Actual growth will depend on index performance and may affect\n your variable annuity payout and total annuity payout.\n </div>\n\n <div *ngIf=\"growthRateObj.isVisible\">\n <lib-annuity-calculator-radio\n [field]=\"growthRateObj\"\n [(ngModel)]=\"growthRateOption\"\n (change)=\"onGrowthRateRadioChange($event)\"\n (growthRateChange)=\"onGrowthRateCardChange($event)\" />\n </div>\n\n <div *ngIf=\"hrLineObj.isVisible\" class=\"generateSummary\">\n <lib-hr-line [field]=\"hrLineObj\" />\n </div>\n\n <div *ngIf=\"generateSummaryObj.isVisible\" class=\"generateSummary\">\n <lib-button [field]=\"generateSummaryObj\" (click)=\"generateSummaryClicked()\" />\n </div>\n </div>\n", styles: [".card-main-title{font-size:16px;font-family:Mulish!important;letter-spacing:0px!important;font-weight:800;line-height:24px;padding-bottom:16px}.col-5-5{flex:0 0 auto;max-width:44.16666667%}.custom-grid-template{display:grid;grid-template-columns:4fr .5fr 4fr;align-items:end}.vertical-line{border-left:2px solid #ccc;height:100px;margin:0 10px}.error-message{font-size:12px;font-weight:500;color:#e00;letter-spacing:0px}.annuity-msg{padding:4px 6px;margin-top:8px;font-size:10px;font-weight:400;color:#444;background-color:#e5f0fa;height:fit-content}.annuity-msg-1{padding:4px 6px;margin-top:8px;font-size:10px;font-weight:400;color:#444;background-color:#e6f7f3;height:fit-content;flex-wrap:nowrap!important}.annuity-tables-main-container{border:2px solid rgba(221,221,221,1);border-radius:8px;display:flex}.annuity-tables-container{display:flex;align-items:stretch;gap:0;width:100%}.annuity-calculator-table1,.annuity-calculator-table2,.annuity-calculator-table3,.annuity-calculator-table4{display:flex;flex-direction:column;height:100%;flex:1;color:#444;font-weight:400;font-size:10px}.annuity-calculator-table1{border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table2{border-left:1px solid rgba(221,221,221,1);border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table3{border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table4{border-left:1px solid rgba(221,221,221,1)}.table-header{padding:12px;font-size:10px;font-weight:700;text-align:center;border-bottom:1px solid rgba(221,221,221,1);height:60px;display:flex;align-items:center;justify-content:center;word-wrap:break-word;word-break:break-word;hyphens:auto}.annuitytable1-header{background-color:#ececec;color:#444}.annuitytable4-header{background-color:#fb03;color:#444}.table-body{display:flex;flex-direction:column;flex:1}.table-cell{padding:12px;text-align:center;font-size:16px;font-weight:600;flex:1;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:4px}.annuity-mat-hint{font-size:8px;text-align:start;font-weight:400;color:#444;letter-spacing:0px}.table-row{padding:12px;text-align:center;font-size:14px;font-weight:500;background-color:#fff;border-bottom:1px solid #999;flex:1;display:flex;align-items:center;justify-content:center}.table-row:last-child{border-bottom:none}.annuitytable4-bg{background-color:#e6f7f3!important;color:#444}.annuitytable-button{background-color:#ececec;border:none;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700;cursor:pointer;margin-top:0;width:auto;min-width:30%;max-width:90%;height:24px;display:block;margin-left:auto;margin-right:auto;position:relative;bottom:40px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rupee-icon{font-weight:700;margin-right:2px;font-size:12px;color:#444}.operator-symbol{display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;padding:0 16px;color:#f90}.annuity-calculator-paragraph{padding:16px 8px 4px;font-size:10px;margin:0 0 20px auto;width:73%;font-weight:400;color:#444;background-color:#ebf1ff}.annuity-calculator-paragraph1{font-weight:700;font-size:10px}.minium-annuity{display:flex;flex-direction:column}@media (max-width: 991px) and (min-width: 768px){.table-header{padding:8px 4px;font-size:9px;line-height:1.1}}@media (max-width: 767px) and (min-width: 576px){.table-header{padding:10px 6px;font-size:9px}}@media (max-width: 575px){.table-header{padding:8px 4px;font-size:8px}}@media (max-width: 575px){.annuity-msg{font-size:10px;line-height:1;height:fit-content}}@media (max-width: 575px){.annuity-msg-1{font-size:10px;line-height:1;flex-wrap:nowrap!important;height:fit-content}.annuity-msg-1 .img{width:4px;height:4px}}@media (max-width: 991px) and (min-width: 768px){.annuity-msg,.annuity-msg-1{font-size:9px;line-height:1.1;height:fit-content}}@media (max-width: 767px) and (min-width: 576px){.annuity-msg,.annuity-msg-1{font-size:10px;line-height:1.1;height:fit-content}}.digit-boss-banner{background-color:#333;color:#fff;display:flex;align-items:center;padding:8px 16px;border-radius:4px;margin-bottom:16px;gap:8px;font-size:12px;min-height:16px;opacity:1;transform:rotate(0)}.digit-boss-banner ::ng-deep .toggle-background{margin-top:0!important;padding:0!important;background-color:transparent!important;border:none!important}.digit-boss-banner ::ng-deep .toggle_switch{margin-top:0!important;gap:0!important}.digit-boss-text{display:flex;align-items:center;gap:4px;white-space:nowrap}.highlight{color:#fb0;font-weight:700}.arrow-icon{color:#fb0;margin-left:4px;font-size:14px}.generateSummary{margin-right:.4rem;margin-left:.4rem}\n"] }]
|
|
1363
|
+
], template: "<div class=\"card px-3\" style=\"padding: 16px;\">\n <div class=\"row\">\n <h4 class=\"card-main-title\"><span style=\"margin-right: 12px;\"><img\n src=\"https://cdn.godigit.com/retail-life/calculator.svg\" alt=\"annuity calculator\"></span>Here's Your Premium to Annuity Calculator</h4>\n </div>\n <!-- <div class=\"row\"> -->\n <div class=\"card pb-4 px-4\" style=\"border-bottom-left-radius: 0px; border-bottom-right-radius: 0px;\">\n <!-- <div class=\"custom-grid-template\">\n\n </div> -->\n\n <div class=\"row mx-auto\" style=\"transform: translate(0px, -58%);\">\n <lib-toggle class=\"col-auto\" [field]=\"annuityPremiumToggleObj\" />\n </div>\n <!-- </div> -->\n <div class=\" col-12\" style=\"\n justify-content: center;\n flex-direction: row;\n display: flex;\n\">\n <div class=\"col-5 col-lg-5 d-flex flex-column p-0\">\n <lib-amount-textbox [field]=\"annuityPremiumObj\" [(ngModel)]=\"annuityPremium['textValue']\"\n (ngModelChange)=\"onAnnuityPremiumValueChange($event)\" />\n <div class=\"error-message\" *ngIf=\"validations.ispremiumEntry\">\n Please enter Premium amount\n </div>\n <div class=\"annuity-mat-hint\" *ngIf=\"annuityPremiumObj?.configData?.numbertoword\">{{annuityPremiumObj?.configData?.numbertoword}}</div>\n\n <lib-select [field]=\"annuitypayoutObj\" [(ngModel)]=\"annuityPremium['selectValue']\"\n (ngModelChange)=\"onAnnuityPremiumValueChange($event)\" />\n <div>\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\"\n (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\n </div>\n </div>\n <div class=\"col-2 col-lg-2 d-flex justify-content-center align-items-center\"\n style=\"display: flex; align-items: flex-end; transform: translate(0px, 6px); position: relative; height: auto; min-height: 100%;\">\n <!-- Top line -->\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px; height: calc(50% + 24px); top: -37px; background: rgba(221, 221, 221, 1); pointer-events: none;\"></div>\n <!-- Bottom line -->\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px; height: calc(50% + 24px); bottom: -37px; background: rgba(221, 221, 221, 1); pointer-events: none;\"></div>\n <lib-icon-button [field]=\"interchangeButtonObj\" />\n </div>\n <div class=\"col-5 col-lg-5 d-flex flex-column p-0\">\n <lib-amount-textbox [field]=\"minimumAnnuityPayoutObj\" [(ngModel)]=\"minumumAnnuityPayout['textValue']\"\n (ngModelChange)=\"onMinPremiumValueChange($event)\" *ngIf=\"minimumAnnuityPayoutObj.isVisible;\"/>\n <div class=\"annuity-mat-hint\" *ngIf=\"minimumAnnuityPayoutObj.isVisible && minimumAnnuityPayoutObj?.configData?.numbertoword\">{{minimumAnnuityPayoutObj?.configData?.numbertoword}}</div>\n <lib-select [field]=\"minimumAnnuityPayoutfrequencyObj\" [(ngModel)]=\"minumumAnnuityPayout['selectValue']\"\n (ngModelChange)=\"onMinPremiumValueChange($event)\" />\n <div class=\"minium-annuity mt-3\" *ngIf=\"guranteedannuityObj['isVisible']\">\n <div class=\"annuity-msg w-100 px-2 py-1\">\n Value based on assumed 10% annual growth of Nifty 50 index.\n </div>\n <div class=\"w-100 px-2 py-1\">\n <lib-radio [field]=\"guranteedannuityObj\" [(ngModel)]=\"selectedGuranteedAnnuity\"\n (ngModelChange)=\"onGuranteedAnnuityChange($event)\" />\n </div>\n <div class=\"annuity-msg-1 d-flex align-items-center flex-nowrap w-100 px-2 py-1\">\n <img src=\"https://cdn.godigit.com/digitPlusAssets/streamline_graph-arrow-increase-remix.png\"\n style=\"max-width: 24px;\" />\n <span>Potential for higher returns by lowering the minimum guaranteed annuity rate.</span>\n </div>\n </div>\n\n </div>\n <!-- <ng-template #emptyRightCol>\n <div class=\"col-5 col-lg-5 p-0\"></div>\n </ng-template> -->\n </div>\n <!-- <div class=\"vertical-line\"></div> -->\n <!-- <div class=\"custom-grid-template\">\n <div>\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\"\n (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\n </div>\n </div> -->\n\n </div>\n\n\n <div class=\"card py-3 mb-4 border-top-0\" style=\"border-top-left-radius: 0px; border-top-right-radius: 0px;\">\n <div class=\"mx-4\">\n <div class=\"digit-boss-banner\" *ngIf=\"digitBossSwitch?.isVisible\">\n <lib-toggle [field]=\"digitBossToggleConfig\" [(ngModel)]=\"this.digitBossSwitch.isSwitchOn\" (ngModelChange)=\"onDigitBossSwitchChange($event)\"></lib-toggle>\n <div class=\"digit-boss-text\">\n {{this.digitBossSwitch?.prefixText}}\n <span class=\"highlight\">{{this.digitBossSwitch?.highlightText}}</span>\n {{this.digitBossSwitch?.subText}}\n <span class=\"arrow-icon\">\u2197</span>\n </div>\n </div>\n <lib-button [field]=\"recalculateButton\" (click)=\"calculateButtonClicked()\" />\n\n <!-- //digit boss updated design -->\n <div class=\"col-12 mt-3\" style=\"\n justify-content: center;\n flex-direction: row;\n display: flex;\" *ngIf=\"!minimumAnnuityPayoutObj.isVisible\">\n <div class=\"col-12 col-lg-12 d-flex flex-column justify-content-center p-0\">\n <div class=\"realistic-picture-card\">\n <div class=\"realistic-picture-header\">\n <img *ngIf=\"digitBossSwitch?.icon\" [src]=\"digitBossSwitch?.icon\" style=\"width:12px;height:12px;object-fit:contain;flex-shrink:0;\" />\n <span class=\"realistic-picture-label\">Realistic Picture:</span>\n </div>\n <span class=\"realistic-picture-text\">{{digitBossSwitch?.digitBossText}} <span class=\"realistic-picture-highlight\">{{digitBossSwitch?.digitBossValue}}</span></span>\n </div>\n </div>\n\n</div>\n\n <div class=\"card mb-0 mt-2\"\n style=\"align-items: center;border:none;font-size: 8px;font-weight: 400;color:rgba(68, 68, 68, 1) \"\n >\n <div class=\"mx-4\" *ngIf=\"recalculateSubTextObj?.isVisible\"><img src=\"https://cdn.godigit.com/digitPlusAssets/Group+1010106336.png\"\n style=\"margin-left: 3px;\" />\n <span style=\"margin-left: 6px;\">Every time you make a change above, please click recalculate.</span>\n </div>\n </div>\n </div>\n <div\n style=\"display: flex;align-items: center;justify-content: center;border:none;font-size: 10px;font-weight: 700;height:32px;background-color: rgba(255, 250, 235, 1);gap: 8px;margin: 4px;\"\n *ngIf=\"annuityTableCalculator?.isVisible\">\n <img src=\"https://cdn.godigit.com/retail-life/calculator.svg\" />\n Minimum Guaranteed Payout(A) + Variable Payout(B) = Total Payout(C)\n </div>\n <!-- annuity calculator table -->\n <div class=\"annuity-tables-main-container\" *ngIf=\"annuityTableCalculator?.isVisible\">\n <div class=\"d-flex flex-row annuity-tables-container\">\n <!-- Table 1 -->\n <div class=\"annuity-calculator-table1\">\n <div class=\"table-header annuitytable1-header\">Minimum Guaranteed Annuity Payout(A)</div>\n <div class=\"table-body\">\n <div class=\"table-cell\"><span class=\"rupee-icon\">\u20B9</span><span\n style=\"font-size:12px; color: rgba(68, 68, 68, 1);\">\n <{{annuityTableCalculator.annuitycalculatorTable1val1}}>\n </span></div>\n <button class=\"annuitytable-button\">{{annuityTableCalculator.annuitycalculatorTable1val2}}</button>\n </div>\n </div>\n\n <div class=\"operator-symbol\">+</div>\n\n <!-- Table 2 -->\n <div class=\"annuity-calculator-table2\">\n <div class=\"table-header annuitytable1-header\">Assume growth of BenchMark index</div>\n <div class=\"table-body\">\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val1}}</div>\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val2}}</div>\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val3}}</div>\n </div>\n </div>\n\n <!-- Table 3 -->\n <div class=\"annuity-calculator-table3\">\n <div class=\"table-header annuitytable1-header\">1st Variable Annuity Payout(B)</div>\n <div class=\"table-body\">\n <div class=\"table-row\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val1}}</div>\n <div class=\"table-row\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val2}}</div>\n <div class=\"table-row\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val3}}</div>\n </div>\n </div>\n\n <div class=\"operator-symbol\">=</div>\n\n <!-- Table 4 -->\n <div class=\"annuity-calculator-table4\">\n <div class=\"table-header annuitytable4-header\">1st TotalPayout/Frequency(C)</div>\n <div class=\"table-body\">\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val1}}</div>\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val2}}</div>\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val3}}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"annuity-calculator-paragraph\" *ngIf=\"annuityTableCalculator?.isVisible\">\n <span class=\"annuity-calculator-paragraph1\">This is an assumed growth percentage for the index basis which the\n values in columns B and C are calculated.</span> Actual growth will depend on index performance and may affect\n your variable annuity payout and total annuity payout.\n </div>\n\n <div *ngIf=\"growthRateObj.isVisible\">\n <lib-annuity-calculator-radio\n [field]=\"growthRateObj\"\n [(ngModel)]=\"growthRateOption\"\n (change)=\"onGrowthRateRadioChange($event)\"\n (growthRateChange)=\"onGrowthRateCardChange($event)\" />\n </div>\n\n <div *ngIf=\"hrLineObj.isVisible\" class=\"generateSummary\">\n <lib-hr-line [field]=\"hrLineObj\" />\n </div>\n\n <div *ngIf=\"generateSummaryObj.isVisible\" class=\"generateSummary\">\n <lib-button [field]=\"generateSummaryObj\" (click)=\"generateSummaryClicked()\" />\n </div>\n </div>\n", styles: [".card-main-title{font-size:16px;font-family:Mulish!important;letter-spacing:0px!important;font-weight:800;line-height:24px;padding-bottom:16px}.col-5-5{flex:0 0 auto;max-width:44.16666667%}.custom-grid-template{display:grid;grid-template-columns:4fr .5fr 4fr;align-items:end}.vertical-line{border-left:2px solid #ccc;height:100px;margin:0 10px}.error-message{font-size:12px;font-weight:500;color:#e00;letter-spacing:0px}.annuity-msg{padding:4px 6px;margin-top:8px;font-size:10px;font-weight:400;color:#444;background-color:#e5f0fa;height:fit-content}.annuity-msg-1{padding:4px 6px;margin-top:8px;font-size:10px;font-weight:400;color:#444;background-color:#e6f7f3;height:fit-content;flex-wrap:nowrap!important}.annuity-tables-main-container{border:2px solid rgba(221,221,221,1);border-radius:8px;display:flex}.annuity-tables-container{display:flex;align-items:stretch;gap:0;width:100%}.annuity-calculator-table1,.annuity-calculator-table2,.annuity-calculator-table3,.annuity-calculator-table4{display:flex;flex-direction:column;height:100%;flex:1;color:#444;font-weight:400;font-size:10px}.annuity-calculator-table1{border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table2{border-left:1px solid rgba(221,221,221,1);border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table3{border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table4{border-left:1px solid rgba(221,221,221,1)}.table-header{padding:12px;font-size:10px;font-weight:700;text-align:center;border-bottom:1px solid rgba(221,221,221,1);height:60px;display:flex;align-items:center;justify-content:center;word-wrap:break-word;word-break:break-word;hyphens:auto}.annuitytable1-header{background-color:#ececec;color:#444}.annuitytable4-header{background-color:#fb03;color:#444}.table-body{display:flex;flex-direction:column;flex:1}.table-cell{padding:12px;text-align:center;font-size:16px;font-weight:600;flex:1;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:4px}.annuity-mat-hint{font-size:8px;text-align:start;font-weight:400;color:#444;letter-spacing:0px}.table-row{padding:12px;text-align:center;font-size:14px;font-weight:500;background-color:#fff;border-bottom:1px solid #999;flex:1;display:flex;align-items:center;justify-content:center}.table-row:last-child{border-bottom:none}.annuitytable4-bg{background-color:#e6f7f3!important;color:#444}.annuitytable-button{background-color:#ececec;border:none;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700;cursor:pointer;margin-top:0;width:auto;min-width:30%;max-width:90%;height:24px;display:block;margin-left:auto;margin-right:auto;position:relative;bottom:40px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rupee-icon{font-weight:700;margin-right:2px;font-size:12px;color:#444}.operator-symbol{display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;padding:0 16px;color:#f90}.annuity-calculator-paragraph{padding:16px 8px 4px;font-size:10px;margin:0 0 20px auto;width:73%;font-weight:400;color:#444;background-color:#ebf1ff}.annuity-calculator-paragraph1{font-weight:700;font-size:10px}.minium-annuity{display:flex;flex-direction:column}@media (max-width: 991px) and (min-width: 768px){.table-header{padding:8px 4px;font-size:9px;line-height:1.1}}@media (max-width: 767px) and (min-width: 576px){.table-header{padding:10px 6px;font-size:9px}}@media (max-width: 575px){.table-header{padding:8px 4px;font-size:8px}}@media (max-width: 575px){.annuity-msg{font-size:10px;line-height:1;height:fit-content}}@media (max-width: 575px){.annuity-msg-1{font-size:10px;line-height:1;flex-wrap:nowrap!important;height:fit-content}.annuity-msg-1 .img{width:4px;height:4px}}@media (max-width: 991px) and (min-width: 768px){.annuity-msg,.annuity-msg-1{font-size:9px;line-height:1.1;height:fit-content}}@media (max-width: 767px) and (min-width: 576px){.annuity-msg,.annuity-msg-1{font-size:10px;line-height:1.1;height:fit-content}}.digit-boss-banner{background-color:#333;color:#fff;display:flex;align-items:center;padding:8px 16px;border-radius:4px;margin-bottom:16px;gap:8px;font-size:12px;min-height:16px;opacity:1;transform:rotate(0)}.digit-boss-banner ::ng-deep .toggle-background{margin-top:0!important;padding:0!important;background-color:transparent!important;border:none!important}.digit-boss-banner ::ng-deep .toggle_switch{margin-top:0!important;gap:0!important}.digit-boss-text{display:flex;align-items:center;gap:4px;white-space:nowrap}.highlight{color:#fb0;font-weight:700}.arrow-icon{color:#fb0;margin-left:4px;font-size:14px}.generateSummary{margin-right:.4rem;margin-left:.4rem}.realistic-picture-card{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:4px;background-color:#cce0f5;border-radius:4px;padding:4px 6px;font-size:8px;color:#06c;line-height:1.5;box-sizing:border-box}.realistic-picture-header{display:flex;align-items:center;gap:4px}.realistic-picture-content{display:flex;flex-direction:column;gap:2px}.realistic-picture-label{font-weight:700;font-size:8px;line-height:8px;color:#06c}.realistic-picture-text{font-weight:600;font-size:10px;line-height:14px;color:#222}.realistic-picture-highlight{font-weight:800;font-size:10px;line-height:14px;color:#0048ad}\n"] }]
|
|
1164
1364
|
}], ctorParameters: () => [{ type: i1.MasterControlService }], propDecorators: { triggerValidation: [{
|
|
1165
1365
|
type: Input
|
|
1166
1366
|
}], annuityRadioRef: [{
|
|
@@ -1183,4 +1383,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1183
1383
|
}], onGrowthRateOptionSelected: [{
|
|
1184
1384
|
type: Output
|
|
1185
1385
|
}] } });
|
|
1186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5udWl0eS1wcmVtaXVtLWNhbGN1bGF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFzdGVyLWNvbnRyb2wvc3JjL2xpYi9hbm51aXR5LXByZW1pdW0tY2FsY3VsYXRvci9hbm51aXR5LXByZW1pdW0tY2FsY3VsYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL2FubnVpdHktcHJlbWl1bS1jYWxjdWxhdG9yL2FubnVpdHktcHJlbWl1bS1jYWxjdWxhdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFpQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7Ozs7O0FBb0JqSCxNQUFNLE9BQU8saUNBQWlDO0lBbTZCekI7SUFsNkJqQixxQkFBcUIsR0FBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNuRCxLQUFLLEdBQVEsS0FBSyxDQUFDLFFBQVEsRUFBTyxDQUFDO0lBQzFCLGlCQUFpQixDQUFpQjtJQUNDLGVBQWUsQ0FBbUM7SUFDOUYsY0FBYyxHQUFRLEtBQUssQ0FBTSxFQUFFLENBQUMsQ0FBQztJQUNyQyxjQUFjLEdBQVM7UUFDckIsU0FBUyxFQUFHLEVBQUU7UUFDZCxXQUFXLEVBQUUsRUFBRTtLQUNoQixDQUFDO0lBQ0Ysb0JBQW9CLEdBQVM7UUFDM0IsU0FBUyxFQUFHLEVBQUU7UUFDZCxXQUFXLEVBQUUsRUFBRTtLQUNoQixDQUFDO0lBRUYsZ0JBQWdCLEdBQU87UUFDckIsV0FBVyxFQUFFLEtBQUs7UUFDbEIsY0FBYyxFQUFDLEVBQUU7UUFDakIsWUFBWSxFQUFFO1lBQ1osYUFBYSxFQUFFLElBQUk7WUFDbEIsbUJBQW1CLEVBQUUsSUFBSTtZQUN6QixhQUFhLEVBQUUsSUFBSTtZQUNsQixZQUFZLEVBQUU7Z0JBQ1o7b0JBQ0UsV0FBVyxFQUFFLEVBQUU7b0JBQ2YsT0FBTyxFQUFFLE1BQU07b0JBQ2YsVUFBVSxFQUFFLEVBQUU7b0JBQ2QsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLFlBQVksRUFBRSxFQUFFO29CQUNoQixVQUFVLEVBQUUsRUFBRTtpQkFDZjtnQkFDSDtvQkFDRyxXQUFXLEVBQUUsRUFBRTtvQkFDZCxPQUFPLEVBQUUsUUFBUTtvQkFDakIsVUFBVSxFQUFFLEVBQUU7b0JBQ2QsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLFlBQVksRUFBRSxFQUFFO29CQUNoQixVQUFVLEVBQUUsRUFBRTtpQkFDZjtnQkFDRDtvQkFDRSxXQUFXLEVBQUUsRUFBRTtvQkFDZixPQUFPLEVBQUUsS0FBSztvQkFDZCxVQUFVLEVBQUUsRUFBRTtvQkFDZCxZQUFZLEVBQUUsRUFBRTtvQkFDaEIsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLFVBQVUsRUFBRSxFQUFFO2lCQUNmO2FBQ0Y7U0FDSjtLQUNGLENBQUE7SUFDUyxzQkFBc0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ2pELHNCQUFzQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDakQsc0JBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUNqRCwyQkFBMkIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3RELHVCQUF1QixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDbEQsNkJBQTZCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUN4RCx1QkFBdUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ2xELDBCQUEwQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDL0QsV0FBVyxHQUFTO1FBQ2xCLGNBQWMsRUFBRyxLQUFLO0tBQ3ZCLENBQUE7SUFDRCxpQkFBaUIsR0FBUyxLQUFLLENBQUM7SUFDaEMsd0JBQXdCLEdBQVEsSUFBSSxDQUFDO0lBQ3JDLHVCQUF1QixHQUFRO1FBQzdCLFdBQVcsRUFBRSxRQUFRO1FBQ3JCLFNBQVMsRUFBRSxzQkFBc0I7UUFDakMsS0FBSyxFQUFFLGVBQWU7UUFDdEIsV0FBVyxFQUFFLElBQUk7UUFDakIsTUFBTSxFQUFFLCtDQUErQztRQUN2RCxTQUFTLEVBQUUsSUFBSTtRQUNmLFNBQVMsRUFBRSxJQUFJO1FBQ2YsVUFBVSxFQUFFO1lBQ1YsVUFBVSxFQUFFLEtBQUs7WUFDakIsZUFBZSxFQUFFLDRCQUE0QjtZQUM3QyxTQUFTLEVBQUUsSUFBSTtZQUNmLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsU0FBUyxFQUFFLEdBQUc7WUFDZCxnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsY0FBYyxFQUFFLEVBQUU7U0FDbkI7UUFDRCxPQUFPLEVBQUUsSUFBSTtRQUNiLFFBQVEsRUFDTixtR0FBbUc7UUFDckcsS0FBSyxFQUFFLElBQUk7UUFDWCxLQUFLLEVBQUUsSUFBSTtRQUNYLFFBQVEsRUFBRSxJQUFJO1FBQ2QsV0FBVyxFQUFFLElBQUk7UUFDakIsWUFBWSxFQUFFO1lBQ1osV0FBVyxFQUFFLFFBQVE7WUFDckIsV0FBVyxFQUFFLFNBQVM7WUFDdEIsV0FBVyxFQUFFLEtBQUs7WUFDbEIsWUFBWSxFQUFFLE9BQU87WUFDckIsUUFBUSxFQUFFLE1BQU07WUFDaEIsVUFBVSxFQUFFLEtBQUs7WUFDakIsVUFBVSxFQUFFLFFBQVE7WUFDcEIsS0FBSyxFQUFFLFNBQVM7WUFDaEIsVUFBVSxFQUFFLFNBQVM7WUFDckIsVUFBVSxFQUFFLElBQUk7WUFDaEIsaUJBQWlCLEVBQUUsSUFBSTtZQUN2QixxQkFBcUIsRUFBRSxJQUFJO1lBQzNCLG1CQUFtQixFQUFFLElBQUk7WUFDekIsd0JBQXdCLEVBQUUsSUFBSTtZQUM5QixLQUFLLEVBQUUsYUFBYTtZQUNwQixnQkFBZ0IsRUFBRSxVQUFVO1lBQzVCLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsZUFBZSxFQUFFLElBQUk7WUFDckIsVUFBVSxFQUFFLElBQUk7WUFDaEIsMEJBQTBCLEVBQUUsSUFBSTtZQUNoQyx3QkFBd0IsRUFBRSxJQUFJO1lBQzlCLDZCQUE2QixFQUFFLElBQUk7WUFDbkMsNkJBQTZCLEVBQUUsSUFBSTtZQUNuQywrQkFBK0IsRUFBRSxJQUFJO1lBQ3JDLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsZ0JBQWdCLEVBQUUsVUFBVTtZQUM1QixVQUFVLEVBQUUsSUFBSTtZQUNoQixZQUFZLEVBQUUsU0FBUztZQUN2QixpQkFBaUIsRUFBRSxTQUFTO1lBQzVCLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsZ0JBQWdCLEVBQUUsVUFBVTtZQUM1QixVQUFVLEVBQUUsSUFBSTtZQUNoQixXQUFXLEVBQUUsSUFBSTtZQUNqQixPQUFPLEVBQUUsSUFBSTtZQUNiLE1BQU0sRUFBRSxJQUFJO1lBQ1osV0FBVyxFQUFFLElBQUk7WUFDakIsYUFBYSxFQUFFLCtDQUErQztZQUM5RCxXQUFXLEVBQUUsSUFBSTtZQUNqQixNQUFNLEVBQUUsSUFBSTtZQUNaLFNBQVMsRUFBRSxJQUFJO1lBQ2YsU0FBUyxFQUFFLElBQUk7WUFDZixRQUFRLEVBQUUsSUFBSTtZQUNkLFFBQVEsRUFBRSxJQUFJO1lBQ2QsUUFBUSxFQUFFLElBQUk7U0FDZjtRQUNELFdBQVcsRUFBRSxDQUFDO1FBQ2QsVUFBVSxFQUFFO1lBQ1YsU0FBUyxFQUFFLGVBQWU7U0FDM0I7UUFDRCxhQUFhLEVBQUUsSUFBSTtLQUNwQixDQUFDO0lBRUYsc0JBQXNCLEdBQVE7UUFDNUIsV0FBVyxFQUFFLEtBQUs7UUFDbEIsNkJBQTZCLEVBQUUsRUFBRTtRQUNqQyw2QkFBNkIsRUFBRSxFQUFFO1FBQ2pDLDZCQUE2QixFQUFFLEVBQUU7UUFDakMsNkJBQTZCLEVBQUUsRUFBRTtRQUNqQyw2QkFBNkIsRUFBRSxFQUFFO1FBQ2pDLDZCQUE2QixFQUFFLEVBQUU7UUFDakMsNkJBQTZCLEVBQUUsRUFBRTtRQUNqQyw2QkFBNkIsRUFBRSxFQUFFO1FBQ2pDLDZCQUE2QixFQUFFLEVBQUU7UUFDakMsNkJBQTZCLEVBQUUsRUFBRTtRQUNqQyw2QkFBNkIsRUFBRSxFQUFFO0tBR2xDLENBQUM7SUFFRixlQUFlLEdBQVM7UUFDdEIsU0FBUyxFQUFHLEtBQUs7UUFDakIsVUFBVSxFQUFFLEtBQUs7UUFDakIsYUFBYSxFQUFFLEVBQUU7UUFDakIsT0FBTyxFQUFFLEVBQUU7S0FDWixDQUFBO0lBRUQscUJBQXFCLEdBQVE7UUFDM0IsV0FBVyxFQUFFLFFBQVE7UUFDckIsU0FBUyxFQUFFLGlCQUFpQjtRQUM1QixTQUFTLEVBQUUsSUFBSTtRQUNmLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFVBQVUsRUFBRTtZQUNWLFNBQVMsRUFBRSxFQUFFO1NBQ2Q7UUFDRCxZQUFZLEVBQUU7WUFDWixVQUFVLEVBQUUsYUFBYTtZQUN6QixXQUFXLEVBQUUsYUFBYTtZQUMxQixLQUFLLEVBQUUsYUFBYTtZQUNwQixXQUFXLEVBQUUsS0FBSztTQUNuQjtLQUNGLENBQUM7SUFFRix1QkFBdUIsQ0FBQyxLQUFVO1FBQ2hDLHNFQUFzRTtRQUNuRSxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxJQUFJO0lBQ04sQ0FBQztJQUVELGlCQUFpQixHQUFRO1FBQ3ZCLFlBQVksRUFBRTtZQUNaLFdBQVcsRUFBRSxlQUFlO1lBQzVCLFdBQVcsRUFBRSxTQUFTO1lBQ3RCLFdBQVcsRUFBRSxVQUFVO1lBQ3ZCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFVBQVUsRUFBRSxRQUFRO1lBQ3BCLEtBQUssRUFBRSxTQUFTO1lBQ2hCLFVBQVUsRUFBRSxTQUFTO1lBQ3JCLFVBQVUsRUFBRSxTQUFTO1lBQ3JCLGlCQUFpQixFQUFFLElBQUk7WUFDdkIscUJBQXFCLEVBQUUsSUFBSTtZQUMzQixtQkFBbUIsRUFBRSxJQUFJO1lBQ3pCLHdCQUF3QixFQUFFLElBQUk7WUFDOUIsS0FBSyxFQUFFLElBQUk7WUFDWCxnQkFBZ0IsRUFBRSxVQUFVO1lBQzVCLGdCQUFnQixFQUFFLFNBQVM7WUFDM0IsZUFBZSxFQUFFLElBQUk7WUFDckIsVUFBVSxFQUFFLFNBQVM7WUFDckIsMEJBQTBCLEVBQUUsSUFBSTtZQUNoQyx3QkFBd0IsRUFBRSxJQUFJO1lBQzlCLDZCQUE2QixFQUFFLElBQUk7WUFDbkMsNkJBQTZCLEVBQUUsSUFBSTtZQUNuQywrQkFBK0IsRUFBRSxJQUFJO1lBQ3JDLGdCQUFnQixFQUFFLFNBQVM7WUFDM0IsZ0JBQWdCLEVBQUUsVUFBVTtZQUM1QixVQUFVLEVBQUUsU0FBUztZQUNyQixZQUFZLEVBQUUsU0FBUztZQUN2QixpQkFBaUIsRUFBRSxTQUFTO1lBQzVCLGdCQUFnQixFQUFFLFNBQVM7WUFDM0IsZ0JBQWdCLEVBQUUsVUFBVTtZQUM1QixVQUFVLEVBQUUsU0FBUztZQUNyQixXQUFXLEVBQUUsSUFBSTtZQUNqQixPQUFPLEVBQUUsSUFBSTtZQUNiLE1BQU0sRUFBRSxJQUFJO1lBQ1osV0FBVyxFQUFFLElBQUk7WUFDakIsYUFBYSxFQUFFLGdEQUFnRDtZQUMvRCxXQUFXLEVBQUUsSUFBSTtZQUNqQixNQUFNLEVBQUUsSUFBSTtZQUNaLFNBQVMsRUFBRSxJQUFJO1lBQ2YsU0FBUyxFQUFFLElBQUk7WUFDZixRQUFRLEVBQUUsSUFBSTtZQUNkLFFBQVEsRUFBRSxJQUFJO1lBQ2QsUUFBUSxFQUFFLElBQUk7U0FDZjtRQUNELFNBQVMsRUFBRSxnQkFBZ0I7UUFDM0IsS0FBSyxFQUFFLFNBQVM7UUFDaEIsV0FBVyxFQUFFLE9BQU87UUFDcEIsTUFBTSxFQUFFLGdEQUFnRDtRQUN4RCxTQUFTLEVBQUUsSUFBSTtRQUNmLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLFlBQVksRUFBRSxJQUFJO1FBQ2xCLFVBQVUsRUFBRTtZQUNWLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLGVBQWUsRUFBRSxlQUFlO1lBQ2hDLFNBQVMsRUFBRSxDQUFDO1lBQ1osZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixTQUFTLEVBQUUsRUFBRTtZQUNiLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsT0FBTyxFQUFFLElBQUk7WUFDYixjQUFjLEVBQUUsSUFBSTtTQUNyQjtRQUNELE9BQU8sRUFBRTtZQUNQO2dCQUNFLEtBQUssRUFBRSxTQUFTO2dCQUNoQixLQUFLLEVBQUUsU0FBUzthQUNqQjtZQUNEO2dCQUNFLEtBQUssRUFBRSxVQUFVO2dCQUNqQixLQUFLLEVBQUUsVUFBVTthQUNsQjtZQUNEO2dCQUNFLEtBQUssRUFBRSxXQUFXO2dCQUNsQixLQUFLLEVBQUUsV0FBVzthQUNuQjtZQUNEO2dCQUNFLEtBQUssRUFBRSxhQUFhO2dCQUNwQixLQUFLLEVBQUUsYUFBYTthQUNyQjtZQUNEO2dCQUNFLEtBQUssRUFBRSxRQUFRO2dCQUNmLEtBQUssRUFBRSxRQUFRO2FBQ2hCO1NBQ0Y7UUFDRCxRQUFRLEVBQUUsZ0VBQWdFO1FBQzFFLEtBQUssRUFBRSxJQUFJO1FBQ1gsS0FBSyxFQUFFLElBQUk7UUFDWCxRQUFRLEVBQUUsSUFBSTtRQUNkLFVBQVUsRUFBRTtZQUNWLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLDBCQUEwQixFQUFFLElBQUk7WUFDaEMsVUFBVSxFQUFFLEVBQUU7WUFDZCxZQUFZLEVBQUUsRUFBRTtTQUNqQjtRQUNELFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLGVBQWUsRUFBRSxLQUFLO1FBQ3RCLFdBQVcsRUFBRSxlQUFlO0tBQzdCLENBQUM7SUFFRix1QkFBdUIsR0FBUTtRQUM3QixZQUFZLEVBQUU7WUFDWixXQUFXLEVBQUUsZUFBZTtZQUM1QixXQUFXLEVBQUUsU0FBUztZQUN0QixXQUFXLEVBQUUsVUFBVTtZQUN2QixZQUFZLEVBQUUsSUFBSTtZQUNsQixRQUFRLEVBQUUsTUFBTTtZQUNoQixVQUFVLEVBQUUsS0FBSztZQUNqQixVQUFVLEVBQUUsUUFBUTtZQUNwQixLQUFLLEVBQUUsU0FBUztZQUNoQixVQUFVLEVBQUUsU0FBUztZQUNyQixVQUFVLEVBQUUsU0FBUztZQUNyQixpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLHFCQUFxQixFQUFFLElBQUk7WUFDM0IsbUJBQW1CLEVBQUUsSUFBSTtZQUN6Qix3QkFBd0IsRUFBRSxJQUFJO1lBQzlCLEtBQUssRUFBRSxJQUFJO1lBQ1gsZ0JBQWdCLEVBQUUsVUFBVTtZQUM1QixnQkFBZ0IsRUFBRSxTQUFTO1lBQzNCLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLFVBQVUsRUFBRSxTQUFTO1lBQ3JCLDBCQUEwQixFQUFFLElBQUk7WUFDaEMsd0JBQXdCLEVBQUUsSUFBSTtZQUM5Qiw2QkFBNkIsRUFBRSxJQUFJO1lBQ25DLDZCQUE2QixFQUFFLElBQUk7WUFDbkMsK0JBQStCLEVBQUUsSUFBSTtZQUNyQyxnQkFBZ0IsRUFBRSxTQUFTO1lBQzNCLGdCQUFnQixFQUFFLFVBQVU7WUFDNUIsVUFBVSxFQUFFLFNBQVM7WUFDckIsWUFBWSxFQUFFLFNBQVM7WUFDdkIsaUJBQWlCLEVBQUUsU0FBUztZQUM1QixnQkFBZ0IsRUFBRSxTQUFTO1lBQzNCLGdCQUFnQixFQUFFLFVBQVU7WUFDNUIsVUFBVSxFQUFFLFNBQVM7WUFDckIsV0FBVyxFQUFFLElBQUk7WUFDakIsT0FBTyxFQUFFLElBQUk7WUFDYixNQUFNLEVBQUUsSUFBSTtZQUNaLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLGFBQWEsRUFDWCxnRUFBZ0U7WUFDbEUsV0FBVyxFQUFFLElBQUk7WUFDakIsTUFBTSxFQUFFLElBQUk7WUFDWixTQUFTLEVBQUUsSUFBSTtZQUNmLFNBQVMsRUFBRSxJQUFJO1lBQ2YsUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsSUFBSTtZQUNkLFFBQVEsRUFBRSxJQUFJO1NBQ2Y7UUFDRCxTQUFTLEVBQUUsZ0NBQWdDO1FBQzNDLEtBQUssRUFBRSxnQkFBZ0I7UUFDdkIsV0FBVyxFQUFFLEVBQUU7UUFDZixNQUFNLEVBQUUsZ0VBQWdFO1FBQ3hFLFNBQVMsRUFBRSxJQUFJO1FBQ2YsU0FBUyxFQUFFLElBQUk7UUFDZixZQUFZLEVBQUUsSUFBSTtRQUNsQixVQUFVLEVBQUU7WUFDVixVQUFVLEVBQUUsS0FBSztZQUNqQixlQUFlLEVBQUUsc0JBQXNCO1lBQ3ZDLFNBQVMsRUFBRSxDQUFDO1lBQ1osZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixTQUFTLEVBQUUsRUFBRTtZQUNiLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsT0FBTyxFQUFFLElBQUk7WUFDYixjQUFjLEVBQUUsSUFBSTtTQUNyQjtRQUNELE9BQU8sRUFBRTtZQUNQO2dCQUNFLEtBQUssRUFBRSxTQUFTO2dCQUNoQixLQUFLLEVBQUUsU0FBUzthQUNqQjtZQUNEO2dCQUNFLEtBQUssRUFBRSxVQUFVO2dCQUNqQixLQUFLLEVBQUUsVUFBVTthQUNsQjtZQUNEO2dCQUNFLEtBQUssRUFBRSxXQUFXO2dCQUNsQixLQUFLLEVBQUUsV0FBVzthQUNuQjtZQUNEO2dCQUNFLEtBQUssRUFBRSxhQUFhO2dCQUNwQixLQUFLLEVBQUUsYUFBYTthQUNyQjtZQUNEO2dCQUNFLEtBQUssRUFBRSxRQUFRO2dCQUNmLEtBQUssRUFBRSxRQUFRO2FBQ2hCO1NBQ0Y7UUFDRCxRQUFRLEVBQ04sMEZBQTBGO1FBQzVGLEtBQUssRUFBRSxJQUFJO1FBQ1gsS0FBSyxFQUFFLElBQUk7UUFDWCxRQUFRLEVBQUUsSUFBSTtRQUNkLFVBQVUsRUFBRTtZQUNWLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLDBCQUEwQixFQUFFLElBQUk7WUFDaEMsVUFBVSxFQUFFLEVBQUU7WUFDZCxZQUFZLEVBQUUsRUFBRTtTQUNqQjtRQUNELFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLGVBQWUsRUFBRSxLQUFLO1FBQ3RCLFdBQVcsRUFBRSxlQUFlO0tBQzdCLENBQUM7SUFFRixrQkFBa0IsR0FBUTtRQUN4QixXQUFXLEVBQUUsUUFBUTtRQUNyQixTQUFTLEVBQUUsV0FBVztRQUN0QixLQUFLLEVBQUUsNENBQTRDO1FBQ25ELFdBQVcsRUFBRSxFQUFFO1FBQ2YsTUFBTSxFQUFFLHNDQUFzQztRQUM5QyxTQUFTLEVBQUUsSUFBSTtRQUNmLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLFVBQVUsRUFBRTtZQUNWLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLGVBQWUsRUFBRSw0QkFBNEI7WUFDN0MsU0FBUyxFQUFFLElBQUk7WUFDZixnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixPQUFPLEVBQUUsSUFBSTtZQUNiLGNBQWMsRUFBRSxFQUFFO1NBQ25CO1FBQ0QsT0FBTyxFQUFFLElBQUk7UUFDYixRQUFRLEVBQUUsbURBQW1EO1FBQzdELEtBQUssRUFBRSxLQUFLO1FBQ1osS0FBSyxFQUFFLElBQUk7UUFDWCxRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFlBQVksRUFBRTtZQUNaLFdBQVcsRUFBRSxRQUFRO1lBQ3JCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLFdBQVcsRUFBRSxVQUFVO1lBQ3ZCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFVBQVUsRUFBRSxRQUFRO1lBQ3BCLEtBQUssRUFBRSxTQUFTO1lBQ2hCLFVBQVUsRUFBRSxTQUFTO1lBQ3JCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGlCQUFpQixFQUFFLElBQUk7WUFDdkIscUJBQXFCLEVBQUUsSUFBSTtZQUMzQixtQkFBbUIsRUFBRSxJQUFJO1lBQ3pCLHdCQUF3QixFQUFFLElBQUk7WUFDOUIsS0FBSyxFQUFFLElBQUk7WUFDWCxnQkFBZ0IsRUFBRSxVQUFVO1lBQzVCLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsZUFBZSxFQUFFLElBQUk7WUFDckIsVUFBVSxFQUFFLElBQUk7WUFDaEIsMEJBQTBCLEVBQUUsSUFBSTtZQUNoQyx3QkFBd0IsRUFBRSxJQUFJO1lBQzlCLDZCQUE2QixFQUFFLElBQUk7WUFDbkMsNkJBQTZCLEVBQUUsSUFBSTtZQUNuQywrQkFBK0IsRUFBRSxJQUFJO1lBQ3JDLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsZ0JBQWdCLEVBQUUsVUFBVTtZQUM1QixVQUFVLEVBQUUsSUFBSTtZQUNoQixZQUFZLEVBQUUsU0FBUztZQUN2QixpQkFBaUIsRUFBRSxTQUFTO1lBQzVCLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsZ0JBQWdCLEVBQUUsVUFBVTtZQUM1QixVQUFVLEVBQUUsSUFBSTtZQUNoQixXQUFXLEVBQUUsSUFBSTtZQUNqQixPQUFPLEVBQUUsSUFBSTtZQUNiLE1BQU0sRUFBRSxJQUFJO1lBQ1osV0FBVyxFQUFFLElBQUk7WUFDakIsYUFBYSxFQUFFLGlEQUFpRDtZQUNoRSxXQUFXLEVBQUUsSUFBSTtZQUNqQixNQUFNLEVBQUUsSUFBSTtZQUNaLFNBQVMsRUFBRSxJQUFJO1lBQ2YsU0FBUyxFQUFFLElBQUk7WUFDZixRQUFRLEVBQUUsSUFBSTtZQUNkLFFBQVEsRUFBRSxJQUFJO1lBQ2QsUUFBUSxFQUFFLElBQUk7U0FDZjtRQUNELFdBQVcsRUFBRSxDQUFDO1FBQ2QsVUFBVSxFQUFFLEVBQUU7UUFDZCxhQUFhLEVBQUUsSUFBSTtLQUNwQixDQUFDO0lBRUYsaUJBQWlCLEdBQVE7UUFDdkIsV0FBVyxFQUFFLFFBQVE7UUFDckIsU0FBUyxFQUFFLHdCQUF3QjtRQUNuQyxLQUFLLEVBQUUsMEJBQTBCO1FBQ2pDLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLE1BQU0sRUFBRSxpREFBaUQ7UUFDekQsU0FBUyxFQUFFLElBQUk7UUFDZixTQUFTLEVBQUUsS0FBSztRQUNoQixVQUFVLEVBQUU7WUFDVixVQUFVLEVBQUUsS0FBSztZQUNqQixlQUFlLEVBQUUsNEJBQTRCO1lBQzdDLFNBQVMsRUFBRSxJQUFJO1lBQ2YsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixTQUFTLEVBQUUsSUFBSTtZQUNmLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsT0FBTyxFQUFFLElBQUk7WUFDYixjQUFjLEVBQUUsRUFBRTtTQUNuQjtRQUNELE9BQU8sRUFBRSxJQUFJO1FBQ2IsUUFBUSxFQUFFLCtDQUErQztRQUN6RCxLQUFLLEVBQUUsSUFBSTtRQUNYLEtBQUssRUFBRSxJQUFJO1FBQ1gsUUFBUSxFQUFFLElBQUk7UUFDZCxXQUFXLEVBQUUsSUFBSTtRQUNqQixZQUFZLEVBQUU7WUFDWixXQUFXLEVBQUUsSUFBSTtZQUNqQixXQUFXLEVBQUUsSUFBSTtZQUNqQixXQUFXLEVBQUUsSUFBSTtZQUNqQixZQUFZLEVBQUUsS0FBSztZQUNuQixRQUFRLEVBQUUsTUFBTTtZQUNoQixVQUFVLEVBQUUsSUFBSTtZQUNoQixVQUFVLEVBQUUsSUFBSTtZQUNoQixLQUFLLEVBQUUsSUFBSTtZQUNYLFVBQVUsRUFBRSxTQUFTO1lBQ3JCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGlCQUFpQixFQUFFLElBQUk7WUFDdkIscUJBQXFCLEVBQUUsSUFBSTtZQUMzQixtQkFBbUIsRUFBRSxJQUFJO1lBQ3pCLHdCQUF3QixFQUFFLElBQUk7WUFDOUIsS0FBSyxFQUFFLE1BQU07WUFDYixnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsZUFBZSxFQUFFLElBQUk7WUFDckIsVUFBVSxFQUFFLElBQUk7WUFDaEIsMEJBQTBCLEVBQUUsSUFBSTtZQUNoQyx3QkFBd0IsRUFBRSxJQUFJO1lBQzlCLDZCQUE2QixFQUFFLElBQUk7WUFDbkMsNkJBQTZCLEVBQUUsSUFBSTtZQUNuQywrQkFBK0IsRUFBRSxJQUFJO1lBQ3JDLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixVQUFVLEVBQUUsSUFBSTtZQUNoQixZQUFZLEVBQUUsSUFBSTtZQUNsQixpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixVQUFVLEVBQUUsSUFBSTtZQUNoQixXQUFXLEVBQUUsSUFBSTtZQUNqQixPQUFPLEVBQUUsSUFBSTtZQUNiLE1BQU0sRUFBRSxJQUFJO1lBQ1osV0FBVyxFQUFFLElBQUk7WUFDakIsYUFBYSxFQUFFLGlEQUFpRDtZQUNoRSxXQUFXLEVBQUUsSUFBSTtZQUNqQixNQUFNLEVBQUUsSUFBSTtZQUNaLFNBQVMsRUFBRSxJQUFJO1lBQ2YsU0FBUyxFQUFFLElBQUk7WUFDZixRQUFRLEVBQUUsSUFBSTtZQUNkLFFBQVEsRUFBRSxJQUFJO1lBQ2QsUUFBUSxFQUFFLElBQUk7U0FDZjtRQUNELFdBQVcsRUFBRSxDQUFDO1FBQ2QsVUFBVSxFQUFFLEVBQUU7UUFDZCxhQUFhLEVBQUUsSUFBSTtLQUNwQixDQUFDO0lBRUYsb0JBQW9CLEdBQVE7UUFDMUIsWUFBWSxFQUFFO1lBQ1osV0FBVyxFQUFFLElBQUk7WUFDakIsV0FBVyxFQUFFLFNBQVM7WUFDdEIsV0FBVyxFQUFFLEtBQUs7WUFDbEIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsUUFBUSxFQUFFLElBQUk7WUFDZCxVQUFVLEVBQUUsSUFBSTtZQUNoQixVQUFVLEVBQUUsSUFBSTtZQUNoQixLQUFLLEVBQUUsSUFBSTtZQUNYLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGlCQUFpQixFQUFFLElBQUk7WUFDdkIscUJBQXFCLEVBQUUsSUFBSTtZQUMzQixtQkFBbUIsRUFBRSxJQUFJO1lBQ3pCLHdCQUF3QixFQUFFLElBQUk7WUFDOUIsS0FBSyxFQUFFLE1BQU07WUFDYixnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsZUFBZSxFQUFFLElBQUk7WUFDckIsVUFBVSxFQUFFLElBQUk7WUFDaEIsMEJBQTBCLEVBQUUsSUFBSTtZQUNoQyx3QkFBd0IsRUFBRSxJQUFJO1lBQzlCLDZCQUE2QixFQUFFLElBQUk7WUFDbkMsNkJBQTZCLEVBQUUsSUFBSTtZQUNuQywrQkFBK0IsRUFBRSxJQUFJO1lBQ3JDLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixVQUFVLEVBQUUsSUFBSTtZQUNoQixZQUFZLEVBQUUsSUFBSTtZQUNsQixpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixVQUFVLEVBQUUsSUFBSTtZQUNoQixXQUFXLEVBQUUsSUFBSTtZQUNqQixPQUFPLEVBQUUsSUFBSTtZQUNiLE1BQU0sRUFBRSxJQUFJO1lBQ1osV0FBVyxFQUFFLElBQUk7WUFDakIsYUFBYSxFQUFFLElBQUk7WUFDbkIsV0FBVyxFQUFFLElBQUk7WUFDakIsTUFBTSxFQUFFLE1BQU07WUFDZCxTQUFTLEVBQUUsSUFBSTtZQUNmLFNBQVMsRUFBRSxJQUFJO1lBQ2YsUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsSUFBSTtZQUNkLFFBQVEsRUFBRSxJQUFJO1NBQ2Y7UUFDRCxTQUFTLEVBQUUsb0JBQW9CO1FBQy9CLEtBQUssRUFBRSw0QkFBNEI7UUFDbkMsV0FBVyxFQUFFLElBQUk7UUFDakIsTUFBTSxFQUFFLDREQUE0RDtRQUNwRSxTQUFTLEVBQUUsSUFBSTtRQUNmLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLFlBQVksRUFBRSxJQUFJO1FBQ2xCLFVBQVUsRUFBRTtZQUNWLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLGVBQWUsRUFBRSw0QkFBNEI7WUFDN0MsU0FBUyxFQUFFLElBQUk7WUFDZixnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixPQUFPLEVBQUUsSUFBSTtZQUNiLGNBQWMsRUFBRSxFQUFFO1NBQ25CO1FBQ0QsT0FBTyxFQUFFLEVBQUU7UUFDWCxRQUFRLEVBQUUsSUFBSTtRQUNkLEtBQUssRUFBRSxJQUFJO1FBQ1gsS0FBSyxFQUFFLElBQUk7UUFDWCxRQUFRLEVBQ04seUVBQXlFO1FBQzNFLFVBQVUsRUFBRSxFQUFFO1FBQ2QsV0FBVyxFQUFFLElBQUk7UUFDakIsV0FBVyxFQUFFLElBQUk7UUFDakIsZUFBZSxFQUFFLElBQUk7UUFDckIsV0FBVyxFQUFFLG9CQUFvQjtLQUNsQyxDQUFDO0lBRUYsa0JBQWtCLEdBQVE7UUFDeEIsV0FBVyxFQUFFLFFBQVE7UUFDckIsU0FBUyxFQUFFLGlCQUFpQjtRQUM1QixLQUFLLEVBQUUsa0JBQWtCO1FBQ3pCLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLE1BQU0sRUFBRSwwQ0FBMEM7UUFDbEQsU0FBUyxFQUFFLElBQUk7UUFDZixTQUFTLEVBQUUsSUFBSTtRQUNmLFVBQVUsRUFBRTtZQUNWLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLGVBQWUsRUFBRSw0QkFBNEI7WUFDN0MsU0FBUyxFQUFFLElBQUk7WUFDZixnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixPQUFPLEVBQUUsSUFBSTtZQUNiLGNBQWMsRUFBRSxFQUFFO1NBQ25CO1FBQ0QsT0FBTyxFQUFFLElBQUk7UUFDYixRQUFRLEVBQUUsb0RBQW9EO1FBQzlELEtBQUssRUFBRSxJQUFJO1FBQ1gsS0FBSyxFQUFFLElBQUk7UUFDWCxRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFlBQVksRUFBRTtZQUNaLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLFlBQVksRUFBRSxLQUFLO1lBQ25CLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLEtBQUssRUFBRSxJQUFJO1lBQ1gsVUFBVSxFQUFFLFNBQVM7WUFDckIsVUFBVSxFQUFFLElBQUk7WUFDaEIsaUJBQWlCLEVBQUUsSUFBSTtZQUN2QixxQkFBcUIsRUFBRSxJQUFJO1lBQzNCLG1CQUFtQixFQUFFLElBQUk7WUFDekIsd0JBQXdCLEVBQUUsSUFBSTtZQUM5QixLQUFLLEVBQUUsTUFBTTtZQUNiLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixlQUFlLEVBQUUsSUFBSTtZQUNyQixVQUFVLEVBQUUsSUFBSTtZQUNoQiwwQkFBMEIsRUFBRSxJQUFJO1lBQ2hDLHdCQUF3QixFQUFFLElBQUk7WUFDOUIsNkJBQTZCLEVBQUUsSUFBSTtZQUNuQyw2QkFBNkIsRUFBRSxJQUFJO1lBQ25DLCtCQUErQixFQUFFLElBQUk7WUFDckMsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsTUFBTSxFQUFFLElBQUk7WUFDWixXQUFXLEVBQUUsSUFBSTtZQUNqQixhQUFhLEVBQUUsMENBQTBDO1lBQ3pELFdBQVcsRUFBRSxJQUFJO1lBQ2pCLE1BQU0sRUFBRSxJQUFJO1lBQ1osU0FBUyxFQUFFLElBQUk7WUFDZixTQUFTLEVBQUUsSUFBSTtZQUNmLFFBQVEsRUFBRSxJQUFJO1lBQ2QsUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsSUFBSTtTQUNmO1FBQ0QsV0FBVyxFQUFFLENBQUM7UUFDZCxVQUFVLEVBQUUsRUFBRTtRQUNkLGFBQWEsRUFBRSxJQUFJO0tBQ3BCLENBQUM7SUFFRixtQkFBbUIsR0FBTTtRQUNYLGFBQWEsRUFBRSxPQUFPO1FBQ3RCLFdBQVcsRUFBRSxxQkFBcUI7UUFDbEMsT0FBTyxFQUFFLHFDQUFxQztRQUM5QyxhQUFhLEVBQUUsRUFBRTtRQUNqQixRQUFRLEVBQUUsb0NBQW9DO1FBQzlDLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLFlBQVksRUFBRTtZQUNaLFlBQVksRUFBRSxJQUFJO1lBQ2xCLGlCQUFpQixFQUFFLDRCQUE0QjtZQUMvQyxXQUFXLEVBQUUsSUFBSTtZQUNqQixrQkFBa0IsRUFBRSxJQUFJO1lBQ3hCLFdBQVcsRUFBRSxHQUFHO1lBQ2hCLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsU0FBUyxFQUFFLElBQUk7WUFDZixnQkFBZ0IsRUFBRSxFQUFFO1NBQ3JCO1FBQ0QsU0FBUyxFQUFFLEVBQUU7UUFDYixVQUFVLEVBQUUsbURBQW1EO1FBQy9ELE9BQU8sRUFBRSxJQUFJO1FBQ2IsT0FBTyxFQUFFLElBQUk7UUFDYixVQUFVLEVBQUUsSUFBSTtRQUNoQixhQUFhLEVBQUUsSUFBSTtRQUNuQixjQUFjLEVBQUU7WUFDZCxhQUFhLEVBQUUsT0FBTztZQUN0QixhQUFhLEVBQUUsU0FBUztZQUN4QixhQUFhLEVBQUUsS0FBSztZQUNwQixjQUFjLEVBQUUsSUFBSTtZQUNwQixVQUFVLEVBQUUsTUFBTTtZQUNsQixZQUFZLEVBQUUsS0FBSztZQUNuQixZQUFZLEVBQUUsUUFBUTtZQUN0QixPQUFPLEVBQUUsU0FBUztZQUNsQixZQUFZLEVBQUUsU0FBUztZQUN2QixZQUFZLEVBQUUsSUFBSTtZQUNsQixtQkFBbUIsRUFBRSxJQUFJO1lBQ3pCLHVCQUF1QixFQUFFLElBQUk7WUFDN0IscUJBQXFCLEVBQUUsSUFBSTtZQUMzQiwwQkFBMEIsRUFBRSxJQUFJO1lBQ2hDLE9BQU8sRUFBRSxNQUFNO1lBQ2Ysa0JBQWtCLEVBQUUsS0FBSztZQUN6QixrQkFBa0IsRUFBRSxTQUFTO1lBQzdCLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsWUFBWSxFQUFFLFNBQVM7WUFDdkIsNEJBQTRCLEVBQUUsSUFBSTtZQUNsQywwQkFBMEIsRUFBRSxJQUFJO1lBQ2hDLCtCQUErQixFQUFFLElBQUk7WUFDckMsK0JBQStCLEVBQUUsSUFBSTtZQUNyQyxpQ0FBaUMsRUFBRSxJQUFJO1lBQ3ZDLGtCQUFrQixFQUFFLFNBQVM7WUFDN0Isa0JBQWtCLEVBQUUsS0FBSztZQUN6QixZQUFZLEVBQUUsU0FBUztZQUN2QixjQUFjLEVBQUUsU0FBUztZQUN6QixtQkFBbUIsRUFBRSxTQUFTO1lBQzlCLGtCQUFrQixFQUFFLFNBQVM7WUFDN0Isa0JBQWtCLEVBQUUsS0FBSztZQUN6QixZQUFZLEVBQUUsU0FBUztZQUN2QixhQUFhLEVBQUUsSUFBSTtZQUNuQixTQUFTLEVBQUUsSUFBSTtZQUNmLFFBQVEsRUFBRSxJQUFJO1lBQ2QsYUFBYSxFQUFFLElBQUk7WUFDbkIsZUFBZSxFQUFFLG9DQUFvQztZQUNyRCxhQUFhLEVBQUUsSUFBSTtZQUNuQixRQUFRLEVBQUUsTUFBTTtZQUNoQixXQUFXLEVBQUUsSUFBSTtZQUNqQixXQUFXLEVBQUUsSUFBSTtZQUNqQixVQUFVLEVBQUUsTUFBTTtZQUNsQixVQUFVLEVBQUUsSUFBSTtZQUNoQixVQUFVLEVBQUUsSUFBSTtTQUNqQjtRQUNELGFBQWEsRUFBRSxDQUFDO1FBQ2hCLFlBQVksRUFBRSxFQUFFO1FBQ2hCLGVBQWUsRUFBRSxJQUFJO0tBQ2xDLENBQUM7SUFFRixhQUFhLEdBQVE7UUFDZixjQUFjLEVBQUU7WUFDWixhQUFhLEVBQUUsT0FBTztZQUN0QixhQUFhLEVBQUUsU0FBUztZQUN4QixhQUFhLEVBQUUsS0FBSztZQUNwQixjQUFjLEVBQUUsSUFBSTtZQUNwQixVQUFVLEVBQUUsTUFBTTtZQUNsQixZQUFZLEVBQUUsS0FBSztZQUNuQixZQUFZLEVBQUUsUUFBUTtZQUN0QixPQUFPLEVBQUUsU0FBUztZQUNsQixZQUFZLEVBQUUsU0FBUztZQUN2QixZQUFZLEVBQUUsSUFBSTtZQUNsQixtQkFBbUIsRUFBRSxJQUFJO1lBQ3pCLHVCQUF1QixFQUFFLElBQUk7WUFDN0IscUJBQXFCLEVBQUUsSUFBSTtZQUMzQiwwQkFBMEIsRUFBRSxJQUFJO1lBQ2hDLE9BQU8sRUFBRSxJQUFJO1lBQ2Isa0JBQWtCLEVBQUUsS0FBSztZQUN6QixrQkFBa0IsRUFBRSxTQUFTO1lBQzdCLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsWUFBWSxFQUFFLFNBQVM7WUFDdkIsNEJBQTRCLEVBQUUsSUFBSTtZQUNsQywwQkFBMEIsRUFBRSxJQUFJO1lBQ2hDLCtCQUErQixFQUFFLElBQUk7WUFDckMsK0JBQStCLEVBQUUsSUFBSTtZQUNyQyxpQ0FBaUMsRUFBRSxJQUFJO1lBQ3ZDLGtCQUFrQixFQUFFLFNBQVM7WUFDN0Isa0JBQWtCLEVBQUUsS0FBSztZQUN6QixZQUFZLEVBQUUsU0FBUztZQUN2QixjQUFjLEVBQUUsU0FBUztZQUN6QixtQkFBbUIsRUFBRSxTQUFTO1lBQzlCLGtCQUFrQixFQUFFLFNBQVM7WUFDN0Isa0JBQWtCLEVBQUUsS0FBSztZQUN6QixZQUFZLEVBQUUsU0FBUztZQUN2QixhQUFhLEVBQUUsSUFBSTtZQUNuQixTQUFTLEVBQUUsSUFBSTtZQUNmLFFBQVEsRUFBRSxJQUFJO1lBQ2QsYUFBYSxFQUFFLEtBQUs7WUFDcEIsZUFBZSxFQUFFLElBQUk7WUFDckIsYUFBYSxFQUFFLElBQUk7WUFDbkIsUUFBUSxFQUFFLElBQUk7WUFDZCxXQUFXLEVBQUUsSUFBSTtZQUNqQixXQUFXLEVBQUUsSUFBSTtZQUNqQixVQUFVLEVBQUUsSUFBSTtZQUNoQixVQUFVLEVBQUUsSUFBSTtZQUNoQixVQUFVLEVBQUUsSUFBSTtTQUNuQjtRQUNELFdBQVcsRUFBRSx5QkFBeUI7UUFDdEMsT0FBTyxFQUFFLHNEQUFzRDtRQUMvRCxhQUFhLEVBQUUsSUFBSTtRQUNuQixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLGNBQWMsRUFBRSxJQUFJO1FBQ3BCLFlBQVksRUFBRTtZQUNWLFlBQVksRUFBRSxLQUFLO1lBQ25CLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsV0FBVyxFQUFFLElBQUk7WUFDakIsa0JBQWtCLEVBQUUsSUFBSTtZQUN4QixXQUFXLEVBQUUsSUFBSTtZQUNqQixrQkFBa0IsRUFBRSxJQUFJO1lBQ3hCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsZ0JBQWdCLEVBQUUsSUFBSTtTQUN6QjtRQUNELFNBQVMsRUFBRSxFQUFFO1FBQ2IsVUFBVSxFQUFFLHNDQUFzQztRQUNsRCxPQUFPLEVBQUUsSUFBSTtRQUNiLE9BQU8sRUFBRSxJQUFJO1FBQ2IsVUFBVSxFQUFFLElBQUk7UUFDaEIsWUFBWSxFQUFFO1lBQ1osYUFBYSxFQUFFLElBQUk7WUFDbkIsWUFBWSxFQUFDLEVBQUU7WUFDZixZQUFZLEVBQUUsSUFBSTtZQUNsQixtQkFBbUIsRUFBRSxJQUFJO1lBQ3pCLFVBQVUsRUFBRSx1REFBdUQ7WUFDbkUsYUFBYSxFQUFFLGtIQUFrSDtTQUNsSTtRQUNELGFBQWEsRUFBRSxJQUFJO1FBQ25CLGFBQWEsRUFBRSxJQUFJO1FBQ25CLGlCQUFpQixFQUFFLEtBQUs7UUFDeEIsYUFBYSxFQUFFLHlCQUF5QjtLQUM3QyxDQUFDO0lBRUYsU0FBUyxHQUFRO1FBQ1gsY0FBYyxFQUFFO1lBQ1osYUFBYSxFQUFFLElBQUk7WUFDbkIsYUFBYSxFQUFFLElBQUk7WUFDbkIsYUFBYSxFQUFFLElBQUk7WUFDbkIsY0FBYyxFQUFFLElBQUk7WUFDcEIsVUFBVSxFQUFFLElBQUk7WUFDaEIsWUFBWSxFQUFFLElBQUk7WUFDbEIsWUFBWSxFQUFFLElBQUk7WUFDbEIsT0FBTyxFQUFFLElBQUk7WUFDYixZQUFZLEVBQUUsSUFBSTtZQUNsQixZQUFZLEVBQUUsSUFBSTtZQUNsQixtQkFBbUIsRUFBRSxJQUFJO1lBQ3pCLHVCQUF1QixFQUFFLElBQUk7WUFDN0IscUJBQXFCLEVBQUUsSUFBSTtZQUMzQiwwQkFBMEIsRUFBRSxJQUFJO1lBQ2hDLE9BQU8sRUFBRSxJQUFJO1lBQ2Isa0JBQWtCLEVBQUUsSUFBSTtZQUN4QixrQkFBa0IsRUFBRSxJQUFJO1lBQ3hCLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsWUFBWSxFQUFFLElBQUk7WUFDbEIsNEJBQTRCLEVBQUUsSUFBSTtZQUNsQywwQkFBMEIsRUFBRSxJQUFJO1lBQ2hDLCtCQUErQixFQUFFLElBQUk7WUFDckMsK0JBQStCLEVBQUUsSUFBSTtZQUNyQyxpQ0FBaUMsRUFBRSxJQUFJO1lBQ3ZDLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsa0JBQWtCLEVBQUUsSUFBSTtZQUN4QixZQUFZLEVBQUUsSUFBSTtZQUNsQixjQUFjLEVBQUUsSUFBSTtZQUNwQixtQkFBbUIsRUFBRSxJQUFJO1lBQ3pCLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsa0JBQWtCLEVBQUUsSUFBSTtZQUN4QixZQUFZLEVBQUUsSUFBSTtZQUNsQixhQUFhLEVBQUUsSUFBSTtZQUNuQixTQUFTLEVBQUUsSUFBSTtZQUNmLFFBQVEsRUFBRSxJQUFJO1lBQ2QsYUFBYSxFQUFFLElBQUk7WUFDbkIsZUFBZSxFQUFFLElBQUk7WUFDckIsYUFBYSxFQUFFLElBQUk7WUFDbkIsUUFBUSxFQUFFLElBQUk7WUFDZCxXQUFXLEVBQUUsSUFBSTtZQUNqQixXQUFXLEVBQUUsSUFBSTtZQUNqQixVQUFVLEVBQUUsSUFBSTtZQUNoQixVQUFVLEVBQUUsSUFBSTtZQUNoQixVQUFVLEVBQUUsSUFBSTtTQUNuQjtRQUNELFdBQVcsRUFBRSxRQUFRO1FBQ3JCLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsYUFBYSxFQUFFLElBQUk7UUFDbkIsUUFBUSxFQUFFLG9DQUFvQztRQUM5QyxXQUFXLEVBQUUsSUFBSTtRQUNqQixXQUFXLEVBQUUsS0FBSztRQUNsQixjQUFjLEVBQUUsSUFBSTtRQUNwQixZQUFZLEVBQUU7WUFDVixZQUFZLEVBQUUsS0FBSztZQUNuQixpQkFBaUIsRUFBRSw0QkFBNEI7WUFDL0MsV0FBVyxFQUFFLElBQUk7WUFDakIsa0JBQWtCLEVBQUUsSUFBSTtZQUN4QixXQUFXLEVBQUUsSUFBSTtZQUNqQixrQkFBa0IsRUFBRSxJQUFJO1lBQ3hCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsZ0JBQWdCLEVBQUUsRUFBRTtTQUN2QjtRQUNELFNBQVMsRUFBRSxFQUFFO1FBQ2IsVUFBVSxFQUFFLElBQUk7UUFDaEIsT0FBTyxFQUFFLElBQUk7UUFDYixPQUFPLEVBQUUsSUFBSTtRQUNiLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLFlBQVksRUFBRSxFQUFFO1FBQ2hCLGFBQWEsRUFBRSxJQUFJO1FBQ25CLGFBQWEsRUFBRSxJQUFJO1FBQ25CLGlCQUFpQixFQUFFLElBQUk7UUFDdkIsYUFBYSxFQUFFLFFBQVE7S0FDMUIsQ0FBQztJQUVKLFlBQW1CLGFBQW9DO1FBQXBDLGtCQUFhLEdBQWIsYUFBYSxDQUF1QjtJQUFHLENBQUM7SUFFMUQsUUFBUTtRQUNQLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFHLENBQUM7WUFFckgsSUFBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztnQkFDaEYsSUFBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFFM0csSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxHQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBRTtnQkFDMUYsQ0FBQztZQUVULENBQUM7WUFDRCxJQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDM0UsZ0RBQWdEO2dCQUNoRCxJQUFJLENBQUMsY0FBYyxHQUFHO29CQUNwQixTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUM7b0JBQ3RELFdBQVcsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsT0FBTyxDQUFDLGFBQWEsQ0FBQztpQkFDM0QsQ0FBQztnQkFDRixJQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUM5SixNQUFNLElBQUksR0FBRyxRQUFRLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztvQkFDMUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUUsSUFBSSxDQUFDO2dCQUN4RyxDQUFDO2dCQUVELElBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxFQUFFLENBQUM7b0JBQzlELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNwRixDQUFDO2dCQUNELElBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztvQkFDdEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2dCQUNsSCxDQUFDO2dCQUNELElBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUM7b0JBQzVELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNoRixDQUFDO1lBQ0gsQ0FBQztZQUVELElBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUMzRSxnREFBZ0Q7Z0JBQ2hELElBQUksQ0FBQyxvQkFBb0IsR0FBRztvQkFDMUIsU0FBUyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDO29CQUN0RCxXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUM7aUJBQzNELENBQUM7Z0JBQ0YsSUFBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQzFLLE1BQU0sSUFBSSxHQUFHLFFBQVEsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7b0JBQ2hFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO2dCQUNySCxDQUFDO2dCQUVELElBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxFQUFFLENBQUM7b0JBQzlELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUMxRixDQUFDO2dCQUNELElBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztvQkFDdEUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2dCQUN4SCxDQUFDO2dCQUNELElBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUM7b0JBQzVELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUN0RixDQUFDO1lBQ0gsQ0FBQztZQUVELElBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxzQkFBc0IsQ0FBQyxFQUFFLENBQUM7Z0JBQzFGLGdEQUFnRDtnQkFDaEQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxzQkFBc0IsQ0FBQztZQUM5RSxDQUFDO1lBRUQsSUFBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztnQkFFcEYsSUFBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDcEcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQTtnQkFDbEcsQ0FBQztnQkFFRCxJQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUM3RixJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFBO2dCQUNwRixDQUFDO2dCQUNELElBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ2pHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUE7Z0JBQzVGLENBQUM7WUFDSCxDQUFDO1lBRUQsSUFBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLGVBQWUsQ0FBQyxFQUFFLENBQUM7Z0JBQ25GLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLGVBQWUsQ0FBQztZQUVoRSxDQUFDO1lBRUQsMkJBQTJCO1lBRTNCLElBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BGLElBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQy9GLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzNGLENBQUM7Z0JBQ0QsSUFBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDakcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDL0YsQ0FBQztZQUdILENBQUM7WUFFRCxJQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsZUFBZSxDQUFDLEVBQUUsQ0FBQztnQkFFbkYsSUFBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ2hHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFBO2dCQUM1RixDQUFDO2dCQUVELElBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNuRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDbkcsQ0FBQztnQkFFRCxJQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDNUYsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3JGLENBQUM7Z0JBQ0QsSUFBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ2hHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFBO2dCQUM1RixDQUFDO1lBQ0gsQ0FBQztZQUVELElBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxhQUFhLENBQUMsRUFBRSxDQUFDO2dCQUVqRixJQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDOUYsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzNGLENBQUM7Z0JBRUQsSUFBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQzlGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLENBQUM7Z0JBQ3JGLENBQUM7Z0JBRUQsSUFBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQzlGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUMzRixDQUFDO1lBRUgsQ0FBQztZQUVELElBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BGLElBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ2xHLElBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUM7d0JBQ2xILElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUN2SCxDQUFDO2dCQUNELENBQUM7Z0JBQ0QsSUFBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDakcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3pGLENBQUM7Z0JBRUQsSUFBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDaEgsSUFBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQzt3QkFDcEgsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7b0JBQ3RILENBQUM7Z0JBQ0osQ0FBQztnQkFFRCxJQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNwRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDMUYsQ0FBQztnQkFFRCxJQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNqSCxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDekgsQ0FBQztnQkFFRCxJQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ3ZILElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUMsbUJBQW1CLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQztnQkFDckksQ0FBQztZQUdILENBQUM7UUFHSCxDQUFDO0lBQ0gsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDeEMsSUFBRyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzVFLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUN6QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxrQkFBa0IsR0FBUSxJQUFJLENBQUM7SUFFL0IsdUJBQXVCLENBQUMsS0FBVTtRQUNoQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3RFLEVBQUU7SUFDSixDQUFDO0lBRUQsc0JBQXNCLENBQUMsS0FBVTtRQUMvQixJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsMkJBQTJCLENBQUMsS0FBVTtRQUNwQyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDdEMsSUFBRyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzlFLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUN6QyxDQUFDO1FBQ0MsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV4QyxrQkFBa0I7UUFDbEIsSUFBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM5SixNQUFNLElBQUksR0FBRSxRQUFRLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUN6RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDekcsQ0FBQzthQUNJLENBQUM7WUFDTixJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDcEQsQ0FBQztJQUNMLENBQUM7SUFDQyx1QkFBdUIsQ0FBQyxLQUFVO1FBQ2hDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDbEMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QyxrQkFBa0I7UUFDbEIsSUFBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDMUssTUFBTSxJQUFJLEdBQUcsUUFBUSxJQUFJLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUNoRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsVUFBVSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNySCxDQUFDO2FBQ0ksQ0FBQztZQUNOLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUMxRCxDQUFDO0lBQ0wsQ0FBQztJQUVDLDRCQUE0QixDQUFDLEtBQVc7UUFDdEMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsd0JBQXdCLENBQUMsS0FBVTtRQUNqQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxJQUFVLEVBQUUsS0FBVztRQUM5QyxJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxlQUFlLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFDRCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsS0FBSyxFQUFFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDL0QsQ0FBQztJQUNILENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3hDLElBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM1RSxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDekMsQ0FBQztJQUNILENBQUM7SUFFRCxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbE4sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFFNUYsU0FBUyxDQUFDLEtBQWE7UUFDckIsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsNENBQTRDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNsQixJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDYixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2pJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDaEksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNwSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ25JLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3BKLEdBQUcsR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakIsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNsQyxDQUFDO3dHQS9xQ1UsaUNBQWlDOzRGQUFqQyxpQ0FBaUMsKy9CQUlqQywrQkFBK0IscUVDbEM1QyxxM1NBa0xBLCtqSkRqS0ksK0JBQStCLGtLQUMvQixlQUFlLDJFQUNmLGVBQWUsNEhBQ2Ysc0JBQXNCLDZJQUN0QixlQUFlLDBFQUNmLG1CQUFtQiwrRUFDbkIsY0FBYywwSEFDZCxZQUFZLGtJQUNaLFdBQVc7OzRGQUtGLGlDQUFpQztrQkFqQjdDLFNBQVM7K0JBQ0UsZ0NBQWdDLGNBQzlCLElBQUksV0FDUDt3QkFDUCwrQkFBK0I7d0JBQy9CLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osV0FBVztxQkFDWjt5RkFPUSxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ3NDLGVBQWU7c0JBQTFELFNBQVM7dUJBQUMsK0JBQStCO2dCQThDaEMsc0JBQXNCO3NCQUEvQixNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBQ0csMkJBQTJCO3NCQUFwQyxNQUFNO2dCQUNHLHVCQUF1QjtzQkFBaEMsTUFBTTtnQkFDRyw2QkFBNkI7c0JBQXRDLE1BQU07Z0JBQ0csdUJBQXVCO3NCQUFoQyxNQUFNO2dCQUNHLDBCQUEwQjtzQkFBbkMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbnB1dCwgSW5wdXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuLi90b2dnbGUvdG9nZ2xlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RUZXh0Ym94Q29tcG9uZW50IH0gZnJvbSAnLi4vc2VsZWN0LXRleHRib3gvc2VsZWN0LXRleHRib3guY29tcG9uZW50JztcbmltcG9ydCB7IEhyTGluZUNvbXBvbmVudCB9IGZyb20gJy4uL2hyLWxpbmUvaHItbGluZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24tYnV0dG9uL2ljb24tYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSYWRpb0NvbXBvbmVudCB9IGZyb20gJy4uL3JhZGlvL3JhZGlvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXN0ZXJDb250cm9sU2VydmljZSB9IGZyb20gJy4uL21hc3Rlci1jb250cm9sLnNlcnZpY2UnO1xuaW1wb3J0IHsgQW5udWl0eUNhbGN1bGF0b3JSYWRpb0NvbXBvbmVudCB9IGZyb20gJy4uL2FubnVpdHktY2FsY3VsYXRvci1yYWRpby9hbm51aXR5LWNhbGN1bGF0b3ItcmFkaW8uY29tcG9uZW50JztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWFubnVpdHktcHJlbWl1bS1jYWxjdWxhdG9yJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEFubnVpdHlDYWxjdWxhdG9yUmFkaW9Db21wb25lbnQsXG4gICAgSHJMaW5lQ29tcG9uZW50LFxuICAgIFRvZ2dsZUNvbXBvbmVudCxcbiAgICBTZWxlY3RUZXh0Ym94Q29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBJY29uQnV0dG9uQ29tcG9uZW50LFxuICAgIFJhZGlvQ29tcG9uZW50LFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vYW5udWl0eS1wcmVtaXVtLWNhbGN1bGF0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYW5udWl0eS1wcmVtaXVtLWNhbGN1bGF0b3IuY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIEFubnVpdHlQcmVtaXVtQ2FsY3VsYXRvckNvbXBvbmVudCB7XG4gICAgcmVjYWxjdWxhdGVTdWJUZXh0T2JqOiBhbnkgPSB7IGlzVmlzaWJsZTogdHJ1ZSB9O1xuICBmaWVsZDogYW55ID0gaW5wdXQucmVxdWlyZWQ8YW55PigpO1xuICBASW5wdXQoKSB0cmlnZ2VyVmFsaWRhdGlvbj86IFN1YmplY3Q8dm9pZD47XG4gIEBWaWV3Q2hpbGQoQW5udWl0eUNhbGN1bGF0b3JSYWRpb0NvbXBvbmVudCkgYW5udWl0eVJhZGlvUmVmITogQW5udWl0eUNhbGN1bGF0b3JSYWRpb0NvbXBvbmVudDtcbiAgcHJlbWl1bURldGFpbHM6IGFueSA9IGlucHV0PGFueT4oe30pO1xuICBhbm51aXR5UHJlbWl1bSA6IGFueSA9IHtcbiAgICB0ZXh0VmFsdWUgOiAnJyxcbiAgICBzZWxlY3RWYWx1ZTogJydcbiAgfTtcbiAgbWludW11bUFubnVpdHlQYXlvdXQgOiBhbnkgPSB7XG4gICAgdGV4dFZhbHVlIDogJycsXG4gICAgc2VsZWN0VmFsdWU6ICcnXG4gIH07XG5cbiAgZ3Jvd3RoUmF0ZU9wdGlvbjogYW55ID17XG4gICAgXCJpc1Zpc2libGVcIjogZmFsc2UsXG4gICAgXCJyYWRpb09wdGlvbnNcIjpbXSxcbiAgICBcImNvbmZpZ0RhdGFcIjoge1xuICAgICAgXCJzZWxlY3RWYWx1ZVwiOiBudWxsLFxuICAgICAgIFwicGF5Z2V0SW5mb01lc3NhZ2VcIjogbnVsbCxcbiAgICAgICBcImluZm9NZXNzYWdlXCI6IG51bGwsXG4gICAgICAgIFwiY2FyZHNWYWx1ZVwiOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJtYWluVmFsdWVcIjogXCJcIixcbiAgICAgICAgICAgIFwidmFsdWVcIjogXCJIaWdoXCIsXG4gICAgICAgICAgICBcInN1YlZhbHVlXCI6IFwiXCIsXG4gICAgICAgICAgICBcImdyb3d0aFJhdGVcIjogXCJcIixcbiAgICAgICAgICAgIFwiZ3VhcmFudGVlZFwiOiBcIlwiLFxuICAgICAgICAgICAgXCJ2YXJpYWJsZVwiOiBcIlwiXG4gICAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICBcIm1haW5WYWx1ZVwiOiBcIlwiLFxuICAgICAgICAgICAgXCJ2YWx1ZVwiOiBcIk1lZGl1bVwiLFxuICAgICAgICAgICAgXCJzdWJWYWx1ZVwiOiBcIlwiLFxuICAgICAgICAgICAgXCJncm93dGhSYXRlXCI6IFwiXCIsXG4gICAgICAgICAgICBcImd1YXJhbnRlZWRcIjogXCJcIixcbiAgICAgICAgICAgIFwidmFyaWFibGVcIjogXCJcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJtYWluVmFsdWVcIjogXCJcIixcbiAgICAgICAgICAgIFwidmFsdWVcIjogXCJMb3dcIixcbiAgICAgICAgICAgIFwic3ViVmFsdWVcIjogXCJcIixcbiAgICAgICAgICAgIFwiZ3Jvd3RoUmF0ZVwiOiBcIlwiLFxuICAgICAgICAgICAgXCJndWFyYW50ZWVkXCI6IFwiXCIsXG4gICAgICAgICAgICBcInZhcmlhYmxlXCI6IFwiXCJcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICB9XG4gIH1cbiAgQE91dHB1dCgpIG9uQ2FsY3VhbHRlQnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9uR2VuZXJhdGVTdW1tYXJ5Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9uQW5udWl0eVByZW1pdW1DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9uTWluaW11bVByZW1pdW1WYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25BdXRpb0RlYml0VmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9uR3VyYW50ZWVkQW5udWl0eVZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvbkRpZ2l0Qm9zc1N3aXRjaFRvZ2dsZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25Hcm93dGhSYXRlT3B0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgdmFsaWRhdGlvbnMgOiBhbnkgPSB7XG4gICAgaXNwcmVtaXVtRW50cnkgOiBmYWxzZVxuICB9XG4gIGlzRW5hYmxlQXV0b0RlYml0IDogYW55ID0gZmFsc2U7XG4gIHNlbGVjdGVkR3VyYW50ZWVkQW5udWl0eTogYW55ID0gbnVsbDtcbiAgYW5udWl0eVByZW1pdW1Ub2dnbGVPYmo6IGFueSA9IHtcbiAgICBjb250cm9sVHlwZTogJ3RvZ2dsZScsXG4gICAgZmllbGROYW1lOiAnYW5udWl0eVByZW1pdW1Ub2dnbGUnLFxuICAgIGxhYmVsOiAnRW50ZXIgQW5udWl0eScsXG4gICAgcGxhY2VIb2xkZXI6IG51bGwsXG4gICAgbWV0YUlkOiAnTElfRFBfR0VOX0NUUkxfdG9nZ2xlX2FubnVpdHlQcmVtaXVtVG9nZ2xlX1YxJyxcbiAgICBpc1Zpc2libGU6IHRydWUsXG4gICAgaXNEaXNhYmxlOiB0cnVlLFxuICAgIHZhbGlkYXRvcnM6IHtcbiAgICAgIGlzUmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgcmVxdWlyZWRNZXNzYWdlOiAnVGhpcyBmaWVsZCBjYW5ub3QgYmUgZW1wdHknLFxuICAgICAgbWluTGVuZ3RoOiBudWxsLFxuICAgICAgbWluTGVuZ3RoTWVzc2FnZTogbnVsbCxcbiAgICAgIG1heExlbmd0aDogMTUwLFxuICAgICAgbWF4TGVuZ3RoTWVzc2FnZTogbnVsbCxcbiAgICAgIHBhdHRlcm46IG51bGwsXG4gICAgICBwYXR0ZXJuTWVzc2FnZTogJycsXG4gICAgfSxcbiAgICBvcHRpb25zOiBudWxsLFxuICAgIGNzc0NsYXNzOlxuICAgICAgJyBjb2wtc20tMTIgY29sLW1kLTEyIGNvbC1sZy0xMiBjb2wteGwtMTIgbXgtYXV0byBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXInLFxuICAgIHZhbHVlOiBudWxsLFxuICAgIHN0eWxlOiBudWxsLFxuICAgIGltYWdlVXJsOiBudWxsLFxuICAgIGlzU2hvd0xhYmVsOiB0cnVlLFxuICAgIGNvbnRyb2xTdHlsZToge1xuICAgICAgY29udHJvbFR5cGU6ICd0b2dnbGUnLFxuICAgICAgYm9yZGVyQ29sb3I6ICcjREFEQURBJyxcbiAgICAgIGJvcmRlcldpZHRoOiAnMXB4JyxcbiAgICAgIGJvcmRlclJhZGl1czogJzk5OXB4JyxcbiAgICAgIGZvbnRTaXplOiAnMTJweCcsXG4gICAgICBmb250V2VpZ2h0OiAnNDAwJyxcbiAgICAgIGZvbnRGYW1pbHk6ICdNdWxpc2gnLFxuICAgICAgY29sb3I6ICcjNDQ0NDQ0JyxcbiAgICAgIGJhY2tncm91bmQ6ICcjRkZGRkZGJyxcbiAgICAgIGNhcmV0Q29sb3I6IG51bGwsXG4gICAgICBudWRnZURpc3BsYXlJbWFnZTogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXG4gICAgICBkcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXG4gICAgICB3aWR0aDogJ2ZpdC1jb250ZW50JyxcbiAgICAgIGZvY3VzQm9yZGVyV2lkdGg6ICcwLjA5NHJlbScsXG4gICAgICBmb2N1c0JvcmRlckNvbG9yOiBudWxsLFxuICAgICAgZm9jdXNCYWNrZ3JvdW5kOiBudWxsLFxuICAgICAgZm9jdXNDb2xvcjogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyTGVmdDogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJSYWRpdXM6IG51bGwsXG4gICAgICBob3ZlckJvcmRlckNvbG9yOiBudWxsLFxuICAgICAgaG92ZXJCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcbiAgICAgIGhvdmVyQ29sb3I6IG51bGwsXG4gICAgICBkaXNhYmxlQ29sb3I6ICcjRUNFQ0VDJyxcbiAgICAgIGRpc2FibGVCYWNrZ3JvdW5kOiAnI0VDRUNFQycsXG4gICAgICBlcnJvckJvcmRlckNvbG9yOiBudWxsLFxuICAgICAgZXJyb3JCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcbiAgICAgIGVycm9yQ29sb3I6IG51bGwsXG4gICAgICBjcmVhdGVkRGF0ZTogbnVsbCxcbiAgICAgIHBhZGRpbmc6IG51bGwsXG4gICAgICBtYXJnaW46IG51bGwsXG4gICAgICBpc01hc3RlckNzczogbnVsbCxcbiAgICAgIGNvbnRyb2xNZXRhSWQ6ICdMSV9EUF9HRU5fQ1RSTF90b2dnbGVfYW5udWl0eVByZW1pdW1Ub2dnbGVfVjEnLFxuICAgICAgYm9yZGVyU3R5bGU6IG51bGwsXG4gICAgICBoZWlnaHQ6IG51bGwsXG4gICAgICBtaW5IZWlnaHQ6IG51bGwsXG4gICAgICBtYXhIZWlnaHQ6IG51bGwsXG4gICAgICBtaW5XaWR0aDogbnVsbCxcbiAgICAgIG1heFdpZHRoOiBudWxsLFxuICAgICAgY3NzQ2xhc3M6IG51bGwsXG4gICAgfSxcbiAgICBjb2x1bW5JbmRleDogMCxcbiAgICBjb25maWdEYXRhOiB7XG4gICAgICBsZWZ0TGFiZWw6ICdFbnRlciBQcmVtaXVtJyxcbiAgICB9LFxuICAgIGNvbnRyb2xTdHlsZXM6IG51bGwsXG4gIH07XG5cbiAgYW5udWl0eVRhYmxlQ2FsY3VsYXRvciA6YW55ID0ge1xuICAgIFwiaXNWaXNpYmxlXCI6IGZhbHNlLFxuICAgIFwiYW5udWl0eWNhbGN1bGF0b3JUYWJsZTF2YWwxXCI6IFwiXCIsXG4gICAgXCJhbm51aXR5Y2FsY3VsYXRvclRhYmxlMXZhbDJcIjogXCJcIixcbiAgICBcImFubnVpdHljYWxjdWxhdG9yVGFibGUydmFsMVwiOiBcIlwiLFxuICAgIFwiYW5udWl0eWNhbGN1bGF0b3JUYWJsZTJ2YWwyXCI6IFwiXCIsXG4gICAgXCJhbm51aXR5Y2FsY3VsYXRvclRhYmxlMnZhbDNcIjogXCJcIixcbiAgICBcImFubnVpdHljYWxjdWxhdG9yVGFibGUzdmFsMVwiOiBcIlwiLFxuICAgIFwiYW5udWl0eWNhbGN1bGF0b3JUYWJsZTN2YWwyXCI6IFwiXCIsXG4gICAgXCJhbm51aXR5Y2FsY3VsYXRvclRhYmxlM3ZhbDNcIjogXCJcIixcbiAgICBcImFubnVpdHljYWxjdWxhdG9yVGFibGU0dmFsMVwiOiBcIlwiLFxuICAgIFwiYW5udWl0eWNhbGN1bGF0b3JUYWJsZTR2YWwyXCI6IFwiXCIsXG4gICAgXCJhbm51aXR5Y2FsY3VsYXRvclRhYmxlNHZhbDNcIjogXCJcIlxuXG5cbiAgfTtcblxuICBkaWdpdEJvc3NTd2l0Y2ggOiBhbnkgPSB7XG4gICAgaXNWaXNpYmxlIDogZmFsc2UsXG4gICAgaXNTd2l0Y2hPbjogZmFsc2UsXG4gICAgaGlnaGxpZ2h0VGV4dDogJycsXG4gICAgc3ViVGV4dDogJydcbiAgfVxuXG4gIGRpZ2l0Qm9zc1RvZ2dsZUNvbmZpZzogYW55ID0ge1xuICAgIGNvbnRyb2xUeXBlOiAndG9nZ2xlJyxcbiAgICBmaWVsZE5hbWU6ICdkaWdpdEJvc3NUb2dnbGUnLFxuICAgIGlzVmlzaWJsZTogdHJ1ZSxcbiAgICBpc0Rpc2FibGU6IGZhbHNlLFxuICAgIGlzU2hvd0xhYmVsOiB0cnVlLFxuICAgIGNvbmZpZ0RhdGE6IHtcbiAgICAgIGxlZnRMYWJlbDogJydcbiAgICB9LFxuICAgIGNvbnRyb2xTdHlsZToge1xuICAgICAgYmFja2dyb3VuZDogJ3RyYW5zcGFyZW50JyxcbiAgICAgIGJvcmRlckNvbG9yOiAndHJhbnNwYXJlbnQnLFxuICAgICAgd2lkdGg6ICdmaXQtY29udGVudCcsXG4gICAgICBib3JkZXJXaWR0aDogJzBweCdcbiAgICB9XG4gIH07XG5cbiAgb25EaWdpdEJvc3NTd2l0Y2hDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIC8vIGlmKHRoaXMucHJlbWl1bURldGFpbHMoKSAmJiB0aGlzLnByZW1pdW1EZXRhaWxzKCkuZGlnaXRCb3NzU3dpdGNoKXtcbiAgICAgICB0aGlzLmRpZ2l0Qm9zc1N3aXRjaC5pc1N3aXRjaE9uID0gZXZlbnQ7XG4gICAgICAgdGhpcy5vbkRpZ2l0Qm9zc1N3aXRjaFRvZ2dsZS5lbWl0KGV2ZW50KTtcbiAgICAvLyB9XG4gIH1cblxuICBhbm51aXR5UHJlbWl1bU9iajogYW55ID0ge1xuICAgIGNvbnRyb2xTdHlsZToge1xuICAgICAgY29udHJvbFR5cGU6ICdhbW91bnRUZXh0Ym94JyxcbiAgICAgIGJvcmRlckNvbG9yOiAnI0RBREFEQScsXG4gICAgICBib3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcbiAgICAgIGJvcmRlclJhZGl1czogbnVsbCxcbiAgICAgIGZvbnRTaXplOiAnMTZweCcsXG4gICAgICBmb250V2VpZ2h0OiAnNDAwJyxcbiAgICAgIGZvbnRGYW1pbHk6ICdNdWxpc2gnLFxuICAgICAgY29sb3I6ICcjNDQ0NDQ0JyxcbiAgICAgIGJhY2tncm91bmQ6ICcjRkZGRkZGJyxcbiAgICAgIGNhcmV0Q29sb3I6ICcjZmZiYjAwJyxcbiAgICAgIG51ZGdlRGlzcGxheUltYWdlOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcbiAgICAgIHdpZHRoOiBudWxsLFxuICAgICAgZm9jdXNCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcbiAgICAgIGZvY3VzQm9yZGVyQ29sb3I6ICcjZmZiYjAwJyxcbiAgICAgIGZvY3VzQmFja2dyb3VuZDogbnVsbCxcbiAgICAgIGZvY3VzQ29sb3I6ICcjNDQ0NDQ0JyxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyTGVmdDogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJSYWRpdXM6IG51bGwsXG4gICAgICBob3ZlckJvcmRlckNvbG9yOiAnI0ZGQkIwMCcsXG4gICAgICBob3ZlckJvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxuICAgICAgaG92ZXJDb2xvcjogJyM0NDQ0NDQnLFxuICAgICAgZGlzYWJsZUNvbG9yOiAnI0VDRUNFQycsXG4gICAgICBkaXNhYmxlQmFja2dyb3VuZDogJyNFQ0VDRUMnLFxuICAgICAgZXJyb3JCb3JkZXJDb2xvcjogJyNFRTAwMDAnLFxuICAgICAgZXJyb3JCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcbiAgICAgIGVycm9yQ29sb3I6ICcjNDQ0NDQ0JyxcbiAgICAgIGNyZWF0ZWREYXRlOiBudWxsLFxuICAgICAgcGFkZGluZzogbnVsbCxcbiAgICAgIG1hcmdpbjogbnVsbCxcbiAgICAgIGlzTWFzdGVyQ3NzOiBudWxsLFxuICAgICAgY29udHJvbE1ldGFJZDogJ0FMTF9EUF9EUF9DVFJMX2Ftb3VudFRleHRib3hfYW5udWl0eVByZW1pdW1fVjEnLFxuICAgICAgYm9yZGVyU3R5bGU6IG51bGwsXG4gICAgICBoZWlnaHQ6IG51bGwsXG4gICAgICBtaW5IZWlnaHQ6IG51bGwsXG4gICAgICBtYXhIZWlnaHQ6IG51bGwsXG4gICAgICBtaW5XaWR0aDogbnVsbCxcbiAgICAgIG1heFdpZHRoOiBudWxsLFxuICAgICAgY3NzQ2xhc3M6IG51bGwsXG4gICAgfSxcbiAgICBmaWVsZE5hbWU6ICdhbm51aXR5UHJlbWl1bScsXG4gICAgbGFiZWw6ICdQcmVtaXVtJyxcbiAgICBwbGFjZUhvbGRlcjogJ0VudGVyJyxcbiAgICBtZXRhSWQ6ICdBTExfRFBfRFBfQ1RSTF9hbW91bnRUZXh0Ym94X2FubnVpdHlQcmVtaXVtX1YxJyxcbiAgICBpc1Zpc2libGU6IHRydWUsXG4gICAgaXNEaXNhYmxlOiBmYWxzZSxcbiAgICBkZWZhdWx0VmFsdWU6IG51bGwsXG4gICAgdmFsaWRhdG9yczoge1xuICAgICAgaXNSZXF1aXJlZDogZmFsc2UsXG4gICAgICByZXF1aXJlZE1lc3NhZ2U6ICdFbnRlciBQcmVtaXVtJyxcbiAgICAgIG1pbkxlbmd0aDogNCxcbiAgICAgIG1pbkxlbmd0aE1lc3NhZ2U6IG51bGwsXG4gICAgICBtYXhMZW5ndGg6IDEwLFxuICAgICAgbWF4TGVuZ3RoTWVzc2FnZTogbnVsbCxcbiAgICAgIHBhdHRlcm46IG51bGwsXG4gICAgICBwYXR0ZXJuTWVzc2FnZTogbnVsbCxcbiAgICB9LFxuICAgIG9wdGlvbnM6IFtcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6ICdNb250aGx5JyxcbiAgICAgICAgbGFiZWw6ICdNb250aGx5JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiAnT25lIFRpbWUnLFxuICAgICAgICBsYWJlbDogJ09uZSBUaW1lJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiAnUXVhcnRlcmx5JyxcbiAgICAgICAgbGFiZWw6ICdRdWFydGVybHknLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6ICdIYWxmIFllYXJseScsXG4gICAgICAgIGxhYmVsOiAnSGFsZiBZZWFybHknLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6ICdZZWFybHknLFxuICAgICAgICBsYWJlbDogJ1llYXJseScsXG4gICAgICB9LFxuICAgIF0sXG4gICAgY3NzQ2xhc3M6ICcgY29sLXNtLTEyIGNvbC1tZC0zIGNvbC1sZy0zIGNvbC14bC0zIHB5LTAgcGwtMyBwci0wIG10LTUgcHQtMicsXG4gICAgdmFsdWU6IG51bGwsXG4gICAgc3R5bGU6IG51bGwsXG4gICAgaW1hZ2VVcmw6IG51bGwsXG4gICAgY29uZmlnRGF0YToge1xuICAgICAgaXNDb21hU2VwZXJhdGVkOiB0cnVlLFxuICAgICAgaXNBbGxvd051bWJlcnNJblRleHRGaWVsZHM6IHRydWUsXG4gICAgICBoZWxwZXJUZXh0OiAnJyxcbiAgICAgIG51bWJlcnRvd29yZDogJydcbiAgICB9LFxuICAgIG1ldGFEYXRhT2JqOiBudWxsLFxuICAgIGlzU2hvd0xhYmVsOiB0cnVlLFxuICAgIGlzTWFzdGVyQ29udHJvbDogZmFsc2UsXG4gICAgY29udHJvbFR5cGU6ICdhbW91bnRUZXh0Ym94JyxcbiAgfTtcblxuICBtaW5pbXVtQW5udWl0eVBheW91dE9iajogYW55ID0ge1xuICAgIGNvbnRyb2xTdHlsZToge1xuICAgICAgY29udHJvbFR5cGU6ICdhbW91bnRUZXh0Ym94JyxcbiAgICAgIGJvcmRlckNvbG9yOiAnI0RBREFEQScsXG4gICAgICBib3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcbiAgICAgIGJvcmRlclJhZGl1czogbnVsbCxcbiAgICAgIGZvbnRTaXplOiAnMTZweCcsXG4gICAgICBmb250V2VpZ2h0OiAnNDAwJyxcbiAgICAgIGZvbnRGYW1pbHk6ICdNdWxpc2gnLFxuICAgICAgY29sb3I6ICcjNDQ0NDQ0JyxcbiAgICAgIGJhY2tncm91bmQ6ICcjRkZGRkZGJyxcbiAgICAgIGNhcmV0Q29sb3I6ICcjZmZiYjAwJyxcbiAgICAgIG51ZGdlRGlzcGxheUltYWdlOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcbiAgICAgIHdpZHRoOiBudWxsLFxuICAgICAgZm9jdXNCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcbiAgICAgIGZvY3VzQm9yZGVyQ29sb3I6ICcjZmZiYjAwJyxcbiAgICAgIGZvY3VzQmFja2dyb3VuZDogbnVsbCxcbiAgICAgIGZvY3VzQ29sb3I6ICcjNDQ0NDQ0JyxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyTGVmdDogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJSYWRpdXM6IG51bGwsXG4gICAgICBob3ZlckJvcmRlckNvbG9yOiAnI0ZGQkIwMCcsXG4gICAgICBob3ZlckJvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxuICAgICAgaG92ZXJDb2xvcjogJyM0NDQ0NDQnLFxuICAgICAgZGlzYWJsZUNvbG9yOiAnIzk5OTk5OScsXG4gICAgICBkaXNhYmxlQmFja2dyb3VuZDogJyNFQ0VDRUMnLFxuICAgICAgZXJyb3JCb3JkZXJDb2xvcjogJyNFRTAwMDAnLFxuICAgICAgZXJyb3JCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcbiAgICAgIGVycm9yQ29sb3I6ICcjNDQ0NDQ0JyxcbiAgICAgIGNyZWF0ZWREYXRlOiBudWxsLFxuICAgICAgcGFkZGluZzogbnVsbCxcbiAgICAgIG1hcmdpbjogbnVsbCxcbiAgICAgIGlzTWFzdGVyQ3NzOiBudWxsLFxuICAgICAgY29udHJvbE1ldGFJZDpcbiAgICAgICAgJ0FMTF9EUF9EUF9DVFJMX2Ftb3VudFRleHRib3hfbWluaW11bUd1YXJhbnRlZWRBbm51aXR5UGF5b3V0X1YxJyxcbiAgICAgIGJvcmRlclN0eWxlOiBudWxsLFxuICAgICAgaGVpZ2h0OiBudWxsLFxuICAgICAgbWluSGVpZ2h0OiBudWxsLFxuICAgICAgbWF4SGVpZ2h0OiBudWxsLFxuICAgICAgbWluV2lkdGg6IG51bGwsXG4gICAgICBtYXhXaWR0aDogbnVsbCxcbiAgICAgIGNzc0NsYXNzOiBudWxsLFxuICAgIH0sXG4gICAgZmllbGROYW1lOiAnbWluaW11bUd1YXJhbnRlZWRBbm51aXR5UGF5b3V0JyxcbiAgICBsYWJlbDogJ0FubnVpdHkgUGF5b3V0JyxcbiAgICBwbGFjZUhvbGRlcjogJycsXG4gICAgbWV0YUlkOiAnQUxMX0RQX0RQX0NUUkxfYW1vdW50VGV4dGJveF9taW5pbXVtR3VhcmFudGVlZEFubnVpdHlQYXlvdXRfVjEnLFxuICAgIGlzVmlzaWJsZTogdHJ1ZSxcbiAgICBpc0Rpc2FibGU6IHRydWUsXG4gICAgZGVmYXVsdFZhbHVlOiBudWxsLFxuICAgIHZhbGlkYXRvcnM6IHtcbiAgICAgIGlzUmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgcmVxdWlyZWRNZXNzYWdlOiAnRW50ZXIgQW5udWl0eSBQYXlvdXQnLFxuICAgICAgbWluTGVuZ3RoOiA0LFxuICAgICAgbWluTGVuZ3RoTWVzc2FnZTogbnVsbCxcbiAgICAgIG1heExlbmd0aDogMTAsXG4gICAgICBtYXhMZW5ndGhNZXNzYWdlOiBudWxsLFxuICAgICAgcGF0dGVybjogbnVsbCxcbiAgICAgIHBhdHRlcm5NZXNzYWdlOiBudWxsLFxuICAgIH0sXG4gICAgb3B0aW9uczogW1xuICAgICAge1xuICAgICAgICB2YWx1ZTogJ01vbnRobHknLFxuICAgICAgICBsYWJlbDogJ01vbnRobHknLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6ICdPbmUgVGltZScsXG4gICAgICAgIGxhYmVsOiAnT25lIFRpbWUnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6ICdRdWFydGVybHknLFxuICAgICAgICBsYWJlbDogJ1F1YXJ0ZXJseScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB2YWx1ZTogJ0hhbGYgWWVhcmx5JyxcbiAgICAgICAgbGFiZWw6ICdIYWxmIFllYXJseScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB2YWx1ZTogJ1llYXJseScsXG4gICAgICAgIGxhYmVsOiAnWWVhcmx5JyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBjc3NDbGFzczpcbiAgICAgICcgY29sLXNtLTEyIGNvbC1tZC0zIGNvbC1sZy0zIGNvbC14bC0zIHB5LTAgcGwtMyBtdC0xIHByLTAgbWluaW11bUd1YXJhbnRlZWRBbm51aXR5UGF5b3V0JyxcbiAgICB2YWx1ZTogbnVsbCxcbiAgICBzdHlsZTogbnVsbCxcbiAgICBpbWFnZVVybDogbnVsbCxcbiAgICBjb25maWdEYXRhOiB7XG4gICAgICBpc0NvbWFTZXBlcmF0ZWQ6IHRydWUsXG4gICAgICBpc0FsbG93TnVtYmVyc0luVGV4dEZpZWxkczogdHJ1ZSxcbiAgICAgIGhlbHBlclRleHQ6ICcnLFxuICAgICAgbnVtYmVydG93b3JkOiAnJ1xuICAgIH0sXG4gICAgbWV0YURhdGFPYmo6IG51bGwsXG4gICAgaXNTaG93TGFiZWw6IHRydWUsXG4gICAgaXNNYXN0ZXJDb250cm9sOiBmYWxzZSxcbiAgICBjb250cm9sVHlwZTogJ2Ftb3VudFRleHRib3gnLFxuICB9O1xuXG4gIGVuYWJsZUF1dG9EZWJpdE9iajogYW55ID0ge1xuICAgIGNvbnRyb2xUeXBlOiAndG9nZ2xlJyxcbiAgICBmaWVsZE5hbWU6ICdhdXRvRGViaXQnLFxuICAgIGxhYmVsOiAnRW5hYmxlIEF1dG8tUGF5IHRvIGdldCBhZGRpdGlvbmFsIGJlbmVmaXRzJyxcbiAgICBwbGFjZUhvbGRlcjogJycsXG4gICAgbWV0YUlkOiAnQUxMX0NPTV9HRU5fQ1RSTF90b2dnbGVfYXV0b0RlYml0X1YxJyxcbiAgICBpc1Zpc2libGU6IHRydWUsXG4gICAgaXNEaXNhYmxlOiBmYWxzZSxcbiAgICB2YWxpZGF0b3JzOiB7XG4gICAgICBpc1JlcXVpcmVkOiBmYWxzZSxcbiAgICAgIHJlcXVpcmVkTWVzc2FnZTogJ1RoaXMgZmllbGQgY2Fubm90IGJlIGVtcHR5JyxcbiAgICAgIG1pbkxlbmd0aDogbnVsbCxcbiAgICAgIG1pbkxlbmd0aE1lc3NhZ2U6IG51bGwsXG4gICAgICBtYXhMZW5ndGg6IG51bGwsXG4gICAgICBtYXhMZW5ndGhNZXNzYWdlOiBudWxsLFxuICAgICAgcGF0dGVybjogbnVsbCxcbiAgICAgIHBhdHRlcm5NZXNzYWdlOiAnJyxcbiAgICB9LFxuICAgIG9wdGlvbnM6IG51bGwsXG4gICAgY3NzQ2xhc3M6ICdjb2wtc20tMTIgY29sLW1kLTUgY29sLWxnLTUgY29sLXhsLTUgbXQtNCBhdXRvUGF5JyxcbiAgICB2YWx1ZTogZmFsc2UsXG4gICAgc3R5bGU6IG51bGwsXG4gICAgaW1hZ2VVcmw6IG51bGwsXG4gICAgaXNTaG93TGFiZWw6IHRydWUsXG4gICAgY29udHJvbFN0eWxlOiB7XG4gICAgICBjb250cm9sVHlwZTogJ3RvZ2dsZScsXG4gICAgICBib3JkZXJDb2xvcjogbnVsbCxcbiAgICAgIGJvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxuICAgICAgYm9yZGVyUmFkaXVzOiBudWxsLFxuICAgICAgZm9udFNpemU6ICcxMnB4JyxcbiAgICAgIGZvbnRXZWlnaHQ6ICc0MDAnLFxuICAgICAgZm9udEZhbWlseTogJ011bGlzaCcsXG4gICAgICBjb2xvcjogJyM0NDQ0NDQnLFxuICAgICAgYmFja2dyb3VuZDogJyNFNkY3RjMnLFxuICAgICAgY2FyZXRDb2xvcjogbnVsbCxcbiAgICAgIG51ZGdlRGlzcGxheUltYWdlOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcbiAgICAgIHdpZHRoOiBudWxsLFxuICAgICAgZm9jdXNCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcbiAgICAgIGZvY3VzQm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0JhY2tncm91bmQ6IG51bGwsXG4gICAgICBmb2N1c0NvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJMZWZ0OiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1czogbnVsbCxcbiAgICAgIGhvdmVyQm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBob3ZlckJvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxuICAgICAgaG92ZXJDb2xvcjogbnVsbCxcbiAgICAgIGRpc2FibGVDb2xvcjogJyNFQ0VDRUMnLFxuICAgICAgZGlzYWJsZUJhY2tncm91bmQ6ICcjRUNFQ0VDJyxcbiAgICAgIGVycm9yQm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBlcnJvckJvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxuICAgICAgZXJyb3JDb2xvcjogbnVsbCxcbiAgICAgIGNyZWF0ZWREYXRlOiBudWxsLFxuICAgICAgcGFkZGluZzogbnVsbCxcbiAgICAgIG1hcmdpbjogbnVsbCxcbiAgICAgIGlzTWFzdGVyQ3NzOiBudWxsLFxuICAgICAgY29udHJvbE1ldGFJZDogJ0FMTF9DT01fR0VOX0NUUkxfdG9nZ2xlX21haWxpbmdBZGRyZXNzVG9nZ2xlX1YxJyxcbiAgICAgIGJvcmRlclN0eWxlOiBudWxsLFxuICAgICAgaGVpZ2h0OiBudWxsLFxuICAgICAgbWluSGVpZ2h0OiBudWxsLFxuICAgICAgbWF4SGVpZ2h0OiBudWxsLFxuICAgICAgbWluV2lkdGg6IG51bGwsXG4gICAgICBtYXhXaWR0aDogbnVsbCxcbiAgICAgIGNzc0NsYXNzOiBudWxsLFxuICAgIH0sXG4gICAgY29sdW1uSW5kZXg6IDAsXG4gICAgY29uZmlnRGF0YToge30sXG4gICAgY29udHJvbFN0eWxlczogbnVsbCxcbiAgfTtcblxuICByZWNhbGN1bGF0ZUJ1dHRvbjogYW55ID0ge1xuICAgIGNvbnRyb2xUeXBlOiAnYnV0dG9uJyxcbiAgICBmaWVsZE5hbWU6ICdjYWxjdWxhdGVBbm51aXR5UGF5b3V0JyxcbiAgICBsYWJlbDogJ0NhbGN1bGF0ZSBBbm51aXR5IFBheW91dCcsXG4gICAgcGxhY2VIb2xkZXI6IG51bGwsXG4gICAgbWV0YUlkOiAnTElfRFBfR0VOX0NUUkxfYnV0dG9uX2NhbGN1bGF0ZUFubnVpdHlQYXlvdXRfVjEnLFxuICAgIGlzVmlzaWJsZTogdHJ1ZSxcbiAgICBpc0Rpc2FibGU6IGZhbHNlLFxuICAgIHZhbGlkYXRvcnM6IHtcbiAgICAgIGlzUmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgcmVxdWlyZWRNZXNzYWdlOiAnVGhpcyBmaWVsZCBjYW5ub3QgYmUgZW1wdHknLFxuICAgICAgbWluTGVuZ3RoOiBudWxsLFxuICAgICAgbWluTGVuZ3RoTWVzc2FnZTogbnVsbCxcbiAgICAgIG1heExlbmd0aDogbnVsbCxcbiAgICAgIG1heExlbmd0aE1lc3NhZ2U6IG51bGwsXG4gICAgICBwYXR0ZXJuOiBudWxsLFxuICAgICAgcGF0dGVybk1lc3NhZ2U6ICcnLFxuICAgIH0sXG4gICAgb3B0aW9uczogbnVsbCxcbiAgICBjc3NDbGFzczogJyBjb2wtc20tMTIgY29sLW1kLTEyIGNvbC1sZy0xMiBjb2wteGwtMTIgbXQtMycsXG4gICAgdmFsdWU6IG51bGwsXG4gICAgc3R5bGU6IG51bGwsXG4gICAgaW1hZ2VVcmw6IG51bGwsXG4gICAgaXNTaG93TGFiZWw6IHRydWUsXG4gICAgY29udHJvbFN0eWxlOiB7XG4gICAgICBjb250cm9sVHlwZTogbnVsbCxcbiAgICAgIGJvcmRlckNvbG9yOiBudWxsLFxuICAgICAgYm9yZGVyV2lkdGg6IG51bGwsXG4gICAgICBib3JkZXJSYWRpdXM6ICc0cHgnLFxuICAgICAgZm9udFNpemU6ICcxMnB4JyxcbiAgICAgIGZvbnRXZWlnaHQ6IG51bGwsXG4gICAgICBmb250RmFtaWx5OiBudWxsLFxuICAgICAgY29sb3I6IG51bGwsXG4gICAgICBiYWNrZ3JvdW5kOiAnI0ZGQkIwMCcsXG4gICAgICBjYXJldENvbG9yOiBudWxsLFxuICAgICAgbnVkZ2VEaXNwbGF5SW1hZ2U6IG51bGwsXG4gICAgICBkcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXG4gICAgICBkcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxuICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgIGZvY3VzQm9yZGVyV2lkdGg6IG51bGwsXG4gICAgICBmb2N1c0JvcmRlckNvbG9yOiBudWxsLFxuICAgICAgZm9jdXNCYWNrZ3JvdW5kOiBudWxsLFxuICAgICAgZm9jdXNDb2xvcjogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyTGVmdDogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJSYWRpdXM6IG51bGwsXG4gICAgICBob3ZlckJvcmRlckNvbG9yOiBudWxsLFxuICAgICAgaG92ZXJCb3JkZXJXaWR0aDogbnVsbCxcbiAgICAgIGhvdmVyQ29sb3I6IG51bGwsXG4gICAgICBkaXNhYmxlQ29sb3I6IG51bGwsXG4gICAgICBkaXNhYmxlQmFja2dyb3VuZDogbnVsbCxcbiAgICAgIGVycm9yQm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBlcnJvckJvcmRlcldpZHRoOiBudWxsLFxuICAgICAgZXJyb3JDb2xvcjogbnVsbCxcbiAgICAgIGNyZWF0ZWREYXRlOiBudWxsLFxuICAgICAgcGFkZGluZzogbnVsbCxcbiAgICAgIG1hcmdpbjogbnVsbCxcbiAgICAgIGlzTWFzdGVyQ3NzOiBudWxsLFxuICAgICAgY29udHJvbE1ldGFJZDogJ0xJX0RQX0dFTl9DVFJMX2J1dHRvbl9jYWxjdWxhdGVBbm51aXR5UGF5b3V0X1YxJyxcbiAgICAgIGJvcmRlclN0eWxlOiBudWxsLFxuICAgICAgaGVpZ2h0OiBudWxsLFxuICAgICAgbWluSGVpZ2h0OiBudWxsLFxuICAgICAgbWF4SGVpZ2h0OiBudWxsLFxuICAgICAgbWluV2lkdGg6IG51bGwsXG4gICAgICBtYXhXaWR0aDogbnVsbCxcbiAgICAgIGNzc0NsYXNzOiBudWxsLFxuICAgIH0sXG4gICAgY29sdW1uSW5kZXg6IDAsXG4gICAgY29uZmlnRGF0YToge30sXG4gICAgY29udHJvbFN0eWxlczogbnVsbCxcbiAgfTtcblxuICBpbnRlcmNoYW5nZUJ1dHRvbk9iajogYW55ID0ge1xuICAgIGNvbnRyb2xTdHlsZToge1xuICAgICAgY29udHJvbFR5cGU6IG51bGwsXG4gICAgICBib3JkZXJDb2xvcjogJyNEREREREQnLFxuICAgICAgYm9yZGVyV2lkdGg6ICcwcHgnLFxuICAgICAgYm9yZGVyUmFkaXVzOiAnNTAlJyxcbiAgICAgIGZvbnRTaXplOiBudWxsLFxuICAgICAgZm9udFdlaWdodDogbnVsbCxcbiAgICAgIGZvbnRGYW1pbHk6IG51bGwsXG4gICAgICBjb2xvcjogbnVsbCxcbiAgICAgIGJhY2tncm91bmQ6IG51bGwsXG4gICAgICBjYXJldENvbG9yOiBudWxsLFxuICAgICAgbnVkZ2VEaXNwbGF5SW1hZ2U6IG51bGwsXG4gICAgICBkcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXG4gICAgICBkcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxuICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgIGZvY3VzQm9yZGVyV2lkdGg6IG51bGwsXG4gICAgICBmb2N1c0JvcmRlckNvbG9yOiBudWxsLFxuICAgICAgZm9jdXNCYWNrZ3JvdW5kOiBudWxsLFxuICAgICAgZm9jdXNDb2xvcjogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyTGVmdDogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJSYWRpdXM6IG51bGwsXG4gICAgICBob3ZlckJvcmRlckNvbG9yOiBudWxsLFxuICAgICAgaG92ZXJCb3JkZXJXaWR0aDogbnVsbCxcbiAgICAgIGhvdmVyQ29sb3I6IG51bGwsXG4gICAgICBkaXNhYmxlQ29sb3I6IG51bGwsXG4gICAgICBkaXNhYmxlQmFja2dyb3VuZDogbnVsbCxcbiAgICAgIGVycm9yQm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBlcnJvckJvcmRlcldpZHRoOiBudWxsLFxuICAgICAgZXJyb3JDb2xvcjogbnVsbCxcbiAgICAgIGNyZWF0ZWREYXRlOiBudWxsLFxuICAgICAgcGFkZGluZzogbnVsbCxcbiAgICAgIG1hcmdpbjogbnVsbCxcbiAgICAgIGlzTWFzdGVyQ3NzOiBudWxsLFxuICAgICAgY29udHJvbE1ldGFJZDogbnVsbCxcbiAgICAgIGJvcmRlclN0eWxlOiBudWxsLFxuICAgICAgaGVpZ2h0OiAnMjZweCcsXG4gICAgICBtaW5IZWlnaHQ6IG51bGwsXG4gICAgICBtYXhIZWlnaHQ6IG51bGwsXG4gICAgICBtaW5XaWR0aDogbnVsbCxcbiAgICAgIG1heFdpZHRoOiBudWxsLFxuICAgICAgY3NzQ2xhc3M6IG51bGwsXG4gICAgfSxcbiAgICBmaWVsZE5hbWU6ICdhbm51aXR5SW50ZXJDaGFuZ2UnLFxuICAgIGxhYmVsOiAnQW5udWl0eSBJbnRlcmNoYW5nZSBCdXR0b24nLFxuICAgIHBsYWNlSG9sZGVyOiBudWxsLFxuICAgIG1ldGFJZDogJ0FMTF9DT01fR0VOX01DVFJMX2Rvd25sb2FkSWNvbkJ1dHRvbl9hbm51aXR5SW50ZXJDaGFuZ2VfVjEnLFxuICAgIGlzVmlzaWJsZTogdHJ1ZSxcbiAgICBpc0Rpc2FibGU6IGZhbHNlLFxuICAgIGRlZmF1bHRWYWx1ZTogbnVsbCxcbiAgICB2YWxpZGF0b3JzOiB7XG4gICAgICBpc1JlcXVpcmVkOiBmYWxzZSxcbiAgICAgIHJlcXVpcmVkTWVzc2FnZTogJ1RoaXMgZmllbGQgY2Fubm90IGJlIGVtcHR5JyxcbiAgICAgIG1pbkxlbmd0aDogbnVsbCxcbiAgICAgIG1pbkxlbmd0aE1lc3NhZ2U6IG51bGwsXG4gICAgICBtYXhMZW5ndGg6IG51bGwsXG4gICAgICBtYXhMZW5ndGhNZXNzYWdlOiBudWxsLFxuICAgICAgcGF0dGVybjogbnVsbCxcbiAgICAgIHBhdHRlcm5NZXNzYWdlOiAnJyxcbiAgICB9LFxuICAgIG9wdGlvbnM6IFtdLFxuICAgIGNzc0NsYXNzOiBudWxsLFxuICAgIHZhbHVlOiBudWxsLFxuICAgIHN0eWxlOiBudWxsLFxuICAgIGltYWdlVXJsOlxuICAgICAgJ2h0dHBzOi8vY2RuLmdvZGlnaXQuY29tL2RpZ2l0UGx1c0Fzc2V0cy9UcmFuc2l0aW9uLXdpdGgtYm9yZGVyLWljb24uc3ZnJyxcbiAgICBjb25maWdEYXRhOiB7fSxcbiAgICBtZXRhRGF0YU9iajogbnVsbCxcbiAgICBpc1Nob3dMYWJlbDogdHJ1ZSxcbiAgICBpc01hc3RlckNvbnRyb2w6IHRydWUsXG4gICAgY29udHJvbFR5cGU6ICdkb3dubG9hZEljb25CdXR0b24nLFxuICB9O1xuXG4gIGdlbmVyYXRlU3VtbWFyeU9iajogYW55ID0ge1xuICAgIGNvbnRyb2xUeXBlOiAnYnV0dG9uJyxcbiAgICBmaWVsZE5hbWU6ICdnZW5lcmF0ZVN1bW1hcnknLFxuICAgIGxhYmVsOiAnR2VuZXJhdGUgU3VtbWFyeScsXG4gICAgcGxhY2VIb2xkZXI6IG51bGwsXG4gICAgbWV0YUlkOiAnTElfRFBfR0VOX0NUUkxfYnV0dG9uX2dlbmVyYXRlU3VtbWFyeV9WMScsXG4gICAgaXNWaXNpYmxlOiB0cnVlLFxuICAgIGlzRGlzYWJsZTogdHJ1ZSxcbiAgICB2YWxpZGF0b3JzOiB7XG4gICAgICBpc1JlcXVpcmVkOiBmYWxzZSxcbiAgICAgIHJlcXVpcmVkTWVzc2FnZTogJ1RoaXMgZmllbGQgY2Fubm90IGJlIGVtcHR5JyxcbiAgICAgIG1pbkxlbmd0aDogbnVsbCxcbiAgICAgIG1pbkxlbmd0aE1lc3NhZ2U6IG51bGwsXG4gICAgICBtYXhMZW5ndGg6IG51bGwsXG4gICAgICBtYXhMZW5ndGhNZXNzYWdlOiBudWxsLFxuICAgICAgcGF0dGVybjogbnVsbCxcbiAgICAgIHBhdHRlcm5NZXNzYWdlOiAnJyxcbiAgICB9LFxuICAgIG9wdGlvbnM6IG51bGwsXG4gICAgY3NzQ2xhc3M6ICcgY29sLXNtLTEyIGNvbC1tZC0xMiBjb2wtbGctMTIgY29sLXhsLTEyIG15LTEgbXQtMycsXG4gICAgdmFsdWU6IG51bGwsXG4gICAgc3R5bGU6IG51bGwsXG4gICAgaW1hZ2VVcmw6IG51bGwsXG4gICAgaXNTaG93TGFiZWw6IHRydWUsXG4gICAgY29udHJvbFN0eWxlOiB7XG4gICAgICBjb250cm9sVHlwZTogbnVsbCxcbiAgICAgIGJvcmRlckNvbG9yOiBudWxsLFxuICAgICAgYm9yZGVyV2lkdGg6IG51bGwsXG4gICAgICBib3JkZXJSYWRpdXM6ICc0cHgnLFxuICAgICAgZm9udFNpemU6ICcxMnB4JyxcbiAgICAgIGZvbnRXZWlnaHQ6IG51bGwsXG4gICAgICBmb250RmFtaWx5OiBudWxsLFxuICAgICAgY29sb3I6IG51bGwsXG4gICAgICBiYWNrZ3JvdW5kOiAnI0ZGQkIwMCcsXG4gICAgICBjYXJldENvbG9yOiBudWxsLFxuICAgICAgbnVkZ2VEaXNwbGF5SW1hZ2U6IG51bGwsXG4gICAgICBkcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXG4gICAgICBkcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxuICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgIGZvY3VzQm9yZGVyV2lkdGg6IG51bGwsXG4gICAgICBmb2N1c0JvcmRlckNvbG9yOiBudWxsLFxuICAgICAgZm9jdXNCYWNrZ3JvdW5kOiBudWxsLFxuICAgICAgZm9jdXNDb2xvcjogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyTGVmdDogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJSYWRpdXM6IG51bGwsXG4gICAgICBob3ZlckJvcmRlckNvbG9yOiBudWxsLFxuICAgICAgaG92ZXJCb3JkZXJXaWR0aDogbnVsbCxcbiAgICAgIGhvdmVyQ29sb3I6IG51bGwsXG4gICAgICBkaXNhYmxlQ29sb3I6IG51bGwsXG4gICAgICBkaXNhYmxlQmFja2dyb3VuZDogbnVsbCxcbiAgICAgIGVycm9yQm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBlcnJvckJvcmRlcldpZHRoOiBudWxsLFxuICAgICAgZXJyb3JDb2xvcjogbnVsbCxcbiAgICAgIGNyZWF0ZWREYXRlOiBudWxsLFxuICAgICAgcGFkZGluZzogbnVsbCxcbiAgICAgIG1hcmdpbjogbnVsbCxcbiAgICAgIGlzTWFzdGVyQ3NzOiBudWxsLFxuICAgICAgY29udHJvbE1ldGFJZDogJ0xJX0RQX0dFTl9DVFJMX2J1dHRvbl9nZW5lcmF0ZVN1bW1hcnlfVjEnLFxuICAgICAgYm9yZGVyU3R5bGU6IG51bGwsXG4gICAgICBoZWlnaHQ6IG51bGwsXG4gICAgICBtaW5IZWlnaHQ6IG51bGwsXG4gICAgICBtYXhIZWlnaHQ6IG51bGwsXG4gICAgICBtaW5XaWR0aDogbnVsbCxcbiAgICAgIG1heFdpZHRoOiBudWxsLFxuICAgICAgY3NzQ2xhc3M6IG51bGwsXG4gICAgfSxcbiAgICBjb2x1bW5JbmRleDogMCxcbiAgICBjb25maWdEYXRhOiB7fSxcbiAgICBjb250cm9sU3R5bGVzOiBudWxsLFxuICB9O1xuXG4gIGd1cmFudGVlZGFubnVpdHlPYmo6IGFueT17XG4gICAgICAgICAgICAgICAgXCJjb250cm9sVHlwZVwiOiBcInJhZGlvXCIsXG4gICAgICAgICAgICAgICAgXCJmaWVsZE5hbWVcIjogXCJndXJhbnRlZWRBbm51aXR5YWdlXCIsXG4gICAgICAgICAgICAgICAgXCJsYWJlbFwiOiBcIk1pbmltdW0gR3VhcmFudGVlZCBBbm51aXR5IFBheW91dCAlXCIsXG4gICAgICAgICAgICAgICAgXCJwbGFjZUhvbGRlclwiOiBcIlwiLFxuICAgICAgICAgICAgICAgIFwibWV0YUlkXCI6IFwiTElfRFBfRFBfQ1RSTF9yYWRpb19hbm51aXR5VHlwZV9WMVwiLFxuICAgICAgICAgICAgICAgIFwiaXNWaXNpYmxlXCI6IGZhbHNlLFxuICAgICAgICAgICAgICAgIFwiaXNEaXNhYmxlXCI6IGZhbHNlLFxuICAgICAgICAgICAgICAgIFwidmFsaWRhdG9yc1wiOiB7XG4gICAgICAgICAgICAgICAgICBcImlzUmVxdWlyZWRcIjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIFwicmVxdWlyZWRNZXNzYWdlXCI6IFwiVGhpcyBmaWVsZCBjYW5ub3QgYmUgZW1wdHlcIixcbiAgICAgICAgICAgICAgICAgIFwibWluTGVuZ3RoXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcIm1pbkxlbmd0aE1lc3NhZ2VcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwibWF4TGVuZ3RoXCI6IDE1MCxcbiAgICAgICAgICAgICAgICAgIFwibWF4TGVuZ3RoTWVzc2FnZVwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJwYXR0ZXJuXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcInBhdHRlcm5NZXNzYWdlXCI6IFwiXCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFwib3B0aW9uc1wiOiBbXSxcbiAgICAgICAgICAgICAgICBcImNzc0NsYXNzXCI6IFwiIGNvbC1zbS0xMiBjb2wtbWQtMyBjb2wtbGctMyBjb2wteGwtMyBhbm51aXR5VHlwZVwiLFxuICAgICAgICAgICAgICAgIFwidmFsdWVcIjogbnVsbCxcbiAgICAgICAgICAgICAgICBcInN0eWxlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgXCJpbWFnZVVybFwiOiBudWxsLFxuICAgICAgICAgICAgICAgIFwiaXNTaG93TGFiZWxcIjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBcImNvbnRyb2xTdHlsZVwiOiB7XG4gICAgICAgICAgICAgICAgICBcImNvbnRyb2xUeXBlXCI6IFwicmFkaW9cIixcbiAgICAgICAgICAgICAgICAgIFwiYm9yZGVyQ29sb3JcIjogXCIjREFEQURBXCIsXG4gICAgICAgICAgICAgICAgICBcImJvcmRlcldpZHRoXCI6IFwiMXB4XCIsXG4gICAgICAgICAgICAgICAgICBcImJvcmRlclJhZGl1c1wiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJmb250U2l6ZVwiOiBcIjEycHhcIixcbiAgICAgICAgICAgICAgICAgIFwiZm9udFdlaWdodFwiOiBcIjQwMFwiLFxuICAgICAgICAgICAgICAgICAgXCJmb250RmFtaWx5XCI6IFwiTXVsaXNoXCIsXG4gICAgICAgICAgICAgICAgICBcImNvbG9yXCI6IFwiIzQ0NDQ0NFwiLFxuICAgICAgICAgICAgICAgICAgXCJiYWNrZ3JvdW5kXCI6IFwiI0ZGRkZGRlwiLFxuICAgICAgICAgICAgICAgICAgXCJjYXJldENvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcIm51ZGdlRGlzcGxheUltYWdlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcImRyb3Bkb3duT3B0aW9uQmdDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJkcm9wZG93bk9wdGlvbkNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcImRyb3Bkb3duT3B0aW9uRm9udFdlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJ3aWR0aFwiOiBcIjQ1cHhcIixcbiAgICAgICAgICAgICAgICAgIFwiZm9jdXNCb3JkZXJXaWR0aFwiOiBcIjFweFwiLFxuICAgICAgICAgICAgICAgICAgXCJmb2N1c0JvcmRlckNvbG9yXCI6IFwiI2ZmYmIwMFwiLFxuICAgICAgICAgICAgICAgICAgXCJmb2N1c0JhY2tncm91bmRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwiZm9jdXNDb2xvclwiOiBcIiM0NDQ0NDRcIixcbiAgICAgICAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkJnQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25Gb250V2VpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJMZWZ0XCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJSYWRpdXNcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwiaG92ZXJCb3JkZXJDb2xvclwiOiBcIiNEQURBREFcIixcbiAgICAgICAgICAgICAgICAgIFwiaG92ZXJCb3JkZXJXaWR0aFwiOiBcIjFweFwiLFxuICAgICAgICAgICAgICAgICAgXCJob3ZlckNvbG9yXCI6IFwiIzQ0NDQ0NFwiLFxuICAgICAgICAgICAgICAgICAgXCJkaXNhYmxlQ29sb3JcIjogXCIjRUNFQ0VDXCIsXG4gICAgICAgICAgICAgICAgICBcImRpc2FibGVCYWNrZ3JvdW5kXCI6IFwiI0VDRUNFQ1wiLFxuICAgICAgICAgICAgICAgICAgXCJlcnJvckJvcmRlckNvbG9yXCI6IFwiI0RBREFEQVwiLFxuICAgICAgICAgICAgICAgICAgXCJlcnJvckJvcmRlcldpZHRoXCI6IFwiMXB4XCIsXG4gICAgICAgICAgICAgICAgICBcImVycm9yQ29sb3JcIjogXCIjNDQ0NDQ0XCIsXG4gICAgICAgICAgICAgICAgICBcImNyZWF0ZWREYXRlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcInBhZGRpbmdcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwibWFyZ2luXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcImlzTWFzdGVyQ3NzXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcImNvbnRyb2xNZXRhSWRcIjogXCJMSV9EUF9EUF9DVFJMX3JhZGlvX2FubnVpdHlUeXBlX1YxXCIsXG4gICAgICAgICAgICAgICAgICBcImJvcmRlclN0eWxlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcImhlaWdodFwiOiBcIjMycHhcIixcbiAgICAgICAgICAgICAgICAgIFwibWluSGVpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcIm1heEhlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJtaW5XaWR0aFwiOiBcIjQ1cHhcIixcbiAgICAgICAgICAgICAgICAgIFwibWF4V2lkdGhcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwiY3NzQ2xhc3NcIjogbnVsbFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCJjb2x1bW5JbmRleFwiOiAwLFxuICAgICAgICAgICAgICAgIFwiY29uZmlnRGF0YVwiOiB7fSxcbiAgICAgICAgICAgICAgICBcImNvbnRyb2xTdHlsZXNcIjogbnVsbFxuICB9O1xuXG4gIGdyb3d0aFJhdGVPYmo6IGFueSA9IHtcbiAgICAgICAgXCJjb250cm9sU3R5bGVcIjoge1xuICAgICAgICAgICAgXCJjb250cm9sVHlwZVwiOiBcInJhZGlvXCIsXG4gICAgICAgICAgICBcImJvcmRlckNvbG9yXCI6IFwiI0RBREFEQVwiLFxuICAgICAgICAgICAgXCJib3JkZXJXaWR0aFwiOiBcIjFweFwiLFxuICAgICAgICAgICAgXCJib3JkZXJSYWRpdXNcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZm9udFNpemVcIjogXCIxNnB4XCIsXG4gICAgICAgICAgICBcImZvbnRXZWlnaHRcIjogXCI0MDBcIixcbiAgICAgICAgICAgIFwiZm9udEZhbWlseVwiOiBcIk11bGlzaFwiLFxuICAgICAgICAgICAgXCJjb2xvclwiOiBcIiM0NDQ0NDRcIixcbiAgICAgICAgICAgIFwiYmFja2dyb3VuZFwiOiBcIiNGRkZGRkZcIixcbiAgICAgICAgICAgIFwiY2FyZXRDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJudWRnZURpc3BsYXlJbWFnZVwiOiBudWxsLFxuICAgICAgICAgICAgXCJkcm9wZG93bk9wdGlvbkJnQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZHJvcGRvd25PcHRpb25Db2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJkcm9wZG93bk9wdGlvbkZvbnRXZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgIFwid2lkdGhcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZm9jdXNCb3JkZXJXaWR0aFwiOiBcIjFweFwiLFxuICAgICAgICAgICAgXCJmb2N1c0JvcmRlckNvbG9yXCI6IFwiI2ZmYmIwMFwiLFxuICAgICAgICAgICAgXCJmb2N1c0JhY2tncm91bmRcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZm9jdXNDb2xvclwiOiBcIiM0NDQ0NDRcIixcbiAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkJnQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25Gb250V2VpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJMZWZ0XCI6IG51bGwsXG4gICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJSYWRpdXNcIjogbnVsbCxcbiAgICAgICAgICAgIFwiaG92ZXJCb3JkZXJDb2xvclwiOiBcIiNEQURBREFcIixcbiAgICAgICAgICAgIFwiaG92ZXJCb3JkZXJXaWR0aFwiOiBcIjFweFwiLFxuICAgICAgICAgICAgXCJob3ZlckNvbG9yXCI6IFwiIzQ0NDQ0NFwiLFxuICAgICAgICAgICAgXCJkaXNhYmxlQ29sb3JcIjogXCIjRUNFQ0VDXCIsXG4gICAgICAgICAgICBcImRpc2FibGVCYWNrZ3JvdW5kXCI6IFwiI0VDRUNFQ1wiLFxuICAgICAgICAgICAgXCJlcnJvckJvcmRlckNvbG9yXCI6IFwiI0RBREFEQVwiLFxuICAgICAgICAgICAgXCJlcnJvckJvcmRlcldpZHRoXCI6IFwiMXB4XCIsXG4gICAgICAgICAgICBcImVycm9yQ29sb3JcIjogXCIjNDQ0NDQ0XCIsXG4gICAgICAgICAgICBcImNyZWF0ZWREYXRlXCI6IG51bGwsXG4gICAgICAgICAgICBcInBhZGRpbmdcIjogbnVsbCxcbiAgICAgICAgICAgIFwibWFyZ2luXCI6IG51bGwsXG4gICAgICAgICAgICBcImlzTWFzdGVyQ3NzXCI6IGZhbHNlLFxuICAgICAgICAgICAgXCJjb250cm9sTWV0YUlkXCI6IG51bGwsXG4gICAgICAgICAgICBcImJvcmRlclN0eWxlXCI6IG51bGwsXG4gICAgICAgICAgICBcImhlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgXCJtaW5IZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgIFwibWF4SGVpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICBcIm1pbldpZHRoXCI6IG51bGwsXG4gICAgICAgICAgICBcIm1heFdpZHRoXCI6IG51bGwsXG4gICAgICAgICAgICBcImNzc0NsYXNzXCI6IG51bGxcbiAgICAgICAgfSxcbiAgICAgICAgXCJmaWVsZE5hbWVcIjogXCJhbm51aXR5R3Jvd3RoUmF0ZU9wdGlvblwiLFxuICAgICAgICBcImxhYmVsXCI6IFwiRXN0aW1hdGVkIEdyb3d0aCBSYXRlIG9mIEJlbmNobWFyayBJbmRleC0gPE5pZnR5IDUwPlwiLFxuICAgICAgICBcInBsYWNlSG9sZGVyXCI6IG51bGwsXG4gICAgICAgIFwibWV0YUlkXCI6IG51bGwsXG4gICAgICAgIFwiaXNWaXNpYmxlXCI6IHRydWUsXG4gICAgICAgIFwiaXNEaXNhYmxlXCI6IGZhbHNlLFxuICAgICAgICBcImRlZmF1bHRWYWx1ZVwiOiBudWxsLFxuICAgICAgICBcInZhbGlkYXRvcnNcIjoge1xuICAgICAgICAgICAgXCJpc1JlcXVpcmVkXCI6IGZhbHNlLFxuICAgICAgICAgICAgXCJyZXF1aXJlZE1lc3NhZ2VcIjogbnVsbCxcbiAgICAgICAgICAgIFwibWluTGVuZ3RoXCI6IG51bGwsXG4gICAgICAgICAgICBcIm1pbkxlbmd0aE1lc3NhZ2VcIjogbnVsbCxcbiAgICAgICAgICAgIFwibWF4TGVuZ3RoXCI6IG51bGwsXG4gICAgICAgICAgICBcIm1heExlbmd0aE1lc3NhZ2VcIjogbnVsbCxcbiAgICAgICAgICAgIFwicGF0dGVyblwiOiBudWxsLFxuICAgICAgICAgICAgXCJwYXR0ZXJuTWVzc2FnZVwiOiBudWxsXG4gICAgICAgIH0sXG4gICAgICAgIFwib3B0aW9uc1wiOiBbXSxcbiAgICAgICAgXCJjc3NDbGFzc1wiOiBcImNvbC1zbS0xMiBjb2wtbWQtNSBjb2wtbGctNSBjb2wteGwtNVwiLFxuICAgICAgICBcInZhbHVlXCI6IG51bGwsXG4gICAgICAgIFwic3R5bGVcIjogbnVsbCxcbiAgICAgICAgXCJpbWFnZVVybFwiOiBudWxsLFxuICAgICAgICBcImNvbmZpZ0RhdGFcIjoge1xuICAgICAgICAgIFwic2VsZWN0VmFsdWVcIjogbnVsbCxcbiAgICAgICAgICBcImNhcmRzVmFsdWVcIjpbXSxcbiAgICAgICAgICBcImlzU2hvd0NhcmRcIjogdHJ1ZSxcbiAgICAgICAgICBcImlzU2hvd1JhZGlvT3B0aW9uXCI6IHRydWUsXG4gICAgICAgICAgXCJzdWJMYWJlbFwiOiBcIlNlbGVjdCBBbm51aXR5IFBheW91dCBPcHRpb24gdGhhdCBzdWl0cyB0aGUgY3VzdG9tZXI6XCIsXG4gICAgICAgICAgXCJpbmZvTWVzc2FnZVwiOiBcIlRoaXMgaXMgdGhlIGZpcnN0IGFubnVpdHkgcGF5b3V0IGFtb3VudCwgY2FsY3VsYXRlZCB1c2luZyBhY3R1YWwgTmlmdHkgNTAgcGVyZm9ybWFuY2UgZnJvbSBKYW4gMjAwNSB0byBKYW4gMjAwNi5cIlxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFEYXRhT2JqXCI6IG51bGwsXG4gICAgICAgIFwiaXNTaG93TGFiZWxcIjogdHJ1ZSxcbiAgICAgICAgXCJpc01hc3RlckNvbnRyb2xcIjogZmFsc2UsXG4gICAgICAgIFwiY29udHJvbFR5cGVcIjogXCJhbm51aXR5R3Jvd3RoUmF0ZU9wdGlvblwiXG4gIH07XG5cbiAgaHJMaW5lT2JqOiBhbnkgPSB7XG4gICAgICAgIFwiY29udHJvbFN0eWxlXCI6IHtcbiAgICAgICAgICAgIFwiY29udHJvbFR5cGVcIjogbnVsbCxcbiAgICAgICAgICAgIFwiYm9yZGVyQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgIFwiYm9yZGVyV2lkdGhcIjogbnVsbCxcbiAgICAgICAgICAgIFwiYm9yZGVyUmFkaXVzXCI6IG51bGwsXG4gICAgICAgICAgICBcImZvbnRTaXplXCI6IG51bGwsXG4gICAgICAgICAgICBcImZvbnRXZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZm9udEZhbWlseVwiOiBudWxsLFxuICAgICAgICAgICAgXCJjb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJiYWNrZ3JvdW5kXCI6IG51bGwsXG4gICAgICAgICAgICBcImNhcmV0Q29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgIFwibnVkZ2VEaXNwbGF5SW1hZ2VcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZHJvcGRvd25PcHRpb25CZ0NvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcImRyb3Bkb3duT3B0aW9uQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZHJvcGRvd25PcHRpb25Gb250V2VpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICBcIndpZHRoXCI6IG51bGwsXG4gICAgICAgICAgICBcImZvY3VzQm9yZGVyV2lkdGhcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZm9jdXNCb3JkZXJDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJmb2N1c0JhY2tncm91bmRcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZm9jdXNDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkZvbnRXZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlckxlZnRcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1c1wiOiBudWxsLFxuICAgICAgICAgICAgXCJob3ZlckJvcmRlckNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcImhvdmVyQm9yZGVyV2lkdGhcIjogbnVsbCxcbiAgICAgICAgICAgIFwiaG92ZXJDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJkaXNhYmxlQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZGlzYWJsZUJhY2tncm91bmRcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZXJyb3JCb3JkZXJDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJlcnJvckJvcmRlcldpZHRoXCI6IG51bGwsXG4gICAgICAgICAgICBcImVycm9yQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgIFwiY3JlYXRlZERhdGVcIjogbnVsbCxcbiAgICAgICAgICAgIFwicGFkZGluZ1wiOiBudWxsLFxuICAgICAgICAgICAgXCJtYXJnaW5cIjogbnVsbCxcbiAgICAgICAgICAgIFwiaXNNYXN0ZXJDc3NcIjogbnVsbCxcbiAgICAgICAgICAgIFwiY29udHJvbE1ldGFJZFwiOiBudWxsLFxuICAgICAgICAgICAgXCJib3JkZXJTdHlsZVwiOiBudWxsLFxuICAgICAgICAgICAgXCJoZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgIFwibWluSGVpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICBcIm1heEhlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgXCJtaW5XaWR0aFwiOiBudWxsLFxuICAgICAgICAgICAgXCJtYXhXaWR0aFwiOiBudWxsLFxuICAgICAgICAgICAgXCJjc3NDbGFzc1wiOiBudWxsXG4gICAgICAgIH0sXG4gICAgICAgIFwiZmllbGROYW1lXCI6IFwiaHJMaW5lXCIsXG4gICAgICAgIFwibGFiZWxcIjogXCJIb3Jpem9udGFsIExpbmVcIixcbiAgICAgICAgXCJwbGFjZUhvbGRlclwiOiBudWxsLFxuICAgICAgICBcIm1ldGFJZFwiOiBcIkFMTF9DT01fR0VOX01DVFJMX2hyTGluZV9ockxpbmVfVjFcIixcbiAgICAgICAgXCJpc1Zpc2libGVcIjogdHJ1ZSxcbiAgICAgICAgXCJpc0Rpc2FibGVcIjogZmFsc2UsXG4gICAgICAgIFwiZGVmYXVsdFZhbHVlXCI6IG51bGwsXG4gICAgICAgIFwidmFsaWRhdG9yc1wiOiB7XG4gICAgICAgICAgICBcImlzUmVxdWlyZWRcIjogZmFsc2UsXG4gICAgICAgICAgICBcInJlcXVpcmVkTWVzc2FnZVwiOiBcIlRoaXMgZmllbGQgY2Fubm90IGJlIGVtcHR5XCIsXG4gICAgICAgICAgICBcIm1pbkxlbmd0aFwiOiBudWxsLFxuICAgICAgICAgICAgXCJtaW5MZW5ndGhNZXNzYWdlXCI6IG51bGwsXG4gICAgICAgICAgICBcIm1heExlbmd0aFwiOiBudWxsLFxuICAgICAgICAgICAgXCJtYXhMZW5ndGhNZXNzYWdlXCI6IG51bGwsXG4gICAgICAgICAgICBcInBhdHRlcm5cIjogbnVsbCxcbiAgICAgICAgICAgIFwicGF0dGVybk1lc3NhZ2VcIjogXCJcIlxuICAgICAgICB9LFxuICAgICAgICBcIm9wdGlvbnNcIjogW10sXG4gICAgICAgIFwiY3NzQ2xhc3NcIjogbnVsbCxcbiAgICAgICAgXCJ2YWx1ZVwiOiBudWxsLFxuICAgICAgICBcInN0eWxlXCI6IG51bGwsXG4gICAgICAgIFwiaW1hZ2VVcmxcIjogbnVsbCxcbiAgICAgICAgXCJjb25maWdEYXRhXCI6IHt9LFxuICAgICAgICBcIm1ldGFEYXRhT2JqXCI6IG51bGwsXG4gICAgICAgIFwiaXNTaG93TGFiZWxcIjogdHJ1ZSxcbiAgICAgICAgXCJpc01hc3RlckNvbnRyb2xcIjogdHJ1ZSxcbiAgICAgICAgXCJjb250cm9sVHlwZVwiOiBcImhyTGluZVwiXG4gICAgfTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbWFzdGVyU2VydmljZSA6IE1hc3RlckNvbnRyb2xTZXJ2aWNlKSB7fVxuXG4gICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy50cmlnZ2VyVmFsaWRhdGlvbikge1xuICAgICAgdGhpcy50cmlnZ2VyVmFsaWRhdGlvbi5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmdyb3d0aFJhdGVPcHRpb25TZWxlY3RlZCgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICggKGNoYW5nZXNbJ3ByZW1pdW1EZXRhaWxzJ10pICYmICF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eShjaGFuZ2VzWydwcmVtaXVtRGV0YWlscyddLmN1cnJlbnRWYWx1ZSkgKSB7XG5cbiAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LnJlY2FsY3VsYXRlU3ViVGV4dCkpIHtcbiAgICAgICAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8ucmVjYWxjdWxhdGVTdWJUZXh0Wydpc1Zpc2libGUnXSkpIHtcblxuICAgICAgICB0aGlzLnJlY2FsY3VsYXRlU3ViVGV4dE9ialsnaXNWaXNpYmxlJ10gPXRoaXMucHJlbWl1bURldGFpbHMoKS5yZWNhbGN1bGF0ZVN1YlRleHRbJ2lzVmlzaWJsZSddIDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICB9XG4gICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5QcmVtaXVtKSkge1xuICAgICAgICAvLyBDcmVhdGUgbmV3IG9iamVjdCB0byB0cmlnZ2VyIGNoYW5nZSBkZXRlY3Rpb25cbiAgICAgICAgdGhpcy5hbm51aXR5UHJlbWl1bSA9IHtcbiAgICAgICAgICB0ZXh0VmFsdWU6IHRoaXMucHJlbWl1bURldGFpbHMoKT8uUHJlbWl1bVsndGV4dFZhbHVlJ10sXG4gICAgICAgICAgc2VsZWN0VmFsdWU6IHRoaXMucHJlbWl1bURldGFpbHMoKT8uUHJlbWl1bVsnc2VsZWN0VmFsdWUnXSxcbiAgICAgICAgfTtcbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMuYW5udWl0eVByZW1pdW1bJ3RleHRWYWx1ZSddKSAmJiAhdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5hbm51aXR5UHJlbWl1bVsnc2VsZWN0VmFsdWUnXSkpIHtcbiAgICAgICAgY29uc3QgZnJlcSA9IGAgcGVyICR7dGhpcy5hbm51aXR5UHJlbWl1bVsnc2VsZWN0VmFsdWUnXX1gO1xuICAgICAgICB0aGlzLmFubnVpdHlQcmVtaXVtT2JqLmNvbmZpZ0RhdGEubnVtYmVydG93b3JkID0gdGhpcy50cmFuc2Zvcm0odGhpcy5hbm51aXR5UHJlbWl1bVsndGV4dFZhbHVlJ10pKyBmcmVxO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYoT2JqZWN0Lmhhc093bih0aGlzLnByZW1pdW1EZXRhaWxzKCk/LlByZW1pdW0sICdpc0Rpc2FibGUnKSkge1xuICAgICAgICAgIHRoaXMuYW5udWl0eVByZW1pdW1PYmpbJ2lzRGlzYWJsZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5QcmVtaXVtWydpc0Rpc2FibGUnXTtcbiAgICAgICAgfVxuICAgICAgICBpZihPYmplY3QuaGFzT3duKHRoaXMucHJlbWl1bURldGFpbHMoKT8uUHJlbWl1bSwgJ2lzRGlzYWJsZURyb3Bkb3duJykpIHtcbiAgICAgICAgICB0aGlzLmFubnVpdHlQcmVtaXVtT2JqWydjb25maWdEYXRhJ11bJ2lzRGlzYWJsZURyb3Bkb3duJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LlByZW1pdW1bJ2lzRGlzYWJsZURyb3Bkb3duJ107XG4gICAgICAgIH1cbiAgICAgICAgaWYoT2JqZWN0Lmhhc093bih0aGlzLnByZW1pdW1EZXRhaWxzKCk/LlByZW1pdW0sICdvcHRpb25zJykpIHtcbiAgICAgICAgICB0aGlzLmFubnVpdHlQcmVtaXVtT2JqWydvcHRpb25zJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LlByZW1pdW1bJ29wdGlvbnMnXTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5hbm51aXR5KSkge1xuICAgICAgICAvLyBDcmVhdGUgbmV3IG9iamVjdCB0byB0cmlnZ2VyIGNoYW5nZSBkZXRlY3Rpb25cbiAgICAgICAgdGhpcy5taW51bXVtQW5udWl0eVBheW91dCA9IHtcbiAgICAgICAgICB0ZXh0VmFsdWU6IHRoaXMucHJlbWl1bURldGFpbHMoKT8uYW5udWl0eVsndGV4dFZhbHVlJ10sXG4gICAgICAgICAgc2VsZWN0VmFsdWU6IHRoaXMucHJlbWl1bURldGFpbHMoKT8uYW5udWl0eVsnc2VsZWN0VmFsdWUnXSxcbiAgICAgICAgfTtcbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMubWludW11bUFubnVpdHlQYXlvdXRbJ3RleHRWYWx1ZSddKSAmJiAhdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5taW51bXVtQW5udWl0eVBheW91dFsnc2VsZWN0VmFsdWUnXSkpIHtcbiAgICAgICAgY29uc3QgZnJlcSA9IGAgcGVyICR7dGhpcy5taW51bXVtQW5udWl0eVBheW91dFsnc2VsZWN0VmFsdWUnXX1gO1xuICAgICAgICB0aGlzLm1pbmltdW1Bbm51aXR5UGF5b3V0T2JqLmNvbmZpZ0RhdGEubnVtYmVydG93b3JkID0gdGhpcy50cmFuc2Zvcm0odGhpcy5taW51bXVtQW5udWl0eVBheW91dFsndGV4dFZhbHVlJ10pICsgZnJlcTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKE9iamVjdC5oYXNPd24odGhpcy5wcmVtaXVtRGV0YWlscygpPy5hbm51aXR5LCAnaXNEaXNhYmxlJykpIHtcbiAgICAgICAgICB0aGlzLm1pbmltdW1Bbm51aXR5UGF5b3V0T2JqWydpc0Rpc2FibGUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uYW5udWl0eVsnaXNEaXNhYmxlJ107XG4gICAgICAgIH1cbiAgICAgICAgaWYoT2JqZWN0Lmhhc093bih0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHksICdpc0Rpc2FibGVEcm9wZG93bicpKSB7XG4gICAgICAgICAgdGhpcy5taW5pbXVtQW5udWl0eVBheW91dE9ialsnY29uZmlnRGF0YSddWydpc0Rpc2FibGVEcm9wZG93biddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5hbm51aXR5Wydpc0Rpc2FibGVEcm9wZG93biddO1xuICAgICAgICB9XG4gICAgICAgIGlmKE9iamVjdC5oYXNPd24odGhpcy5wcmVtaXVtRGV0YWlscygpPy5hbm51aXR5LCAnb3B0aW9ucycpKSB7XG4gICAgICAgICAgdGhpcy5taW5pbXVtQW5udWl0eVBheW91dE9ialsnb3B0aW9ucyddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5hbm51aXR5WydvcHRpb25zJ107XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uYW5udWl0eVRhYmxlQ2FsY3VsYXRvcikpIHtcbiAgICAgICAgLy8gQ3JlYXRlIG5ldyBvYmplY3QgdG8gdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uXG4gICAgICAgIHRoaXMuYW5udWl0eVRhYmxlQ2FsY3VsYXRvciA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uYW5udWl0eVRhYmxlQ2FsY3VsYXRvcjtcbiAgICAgIH1cblxuICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uY2FsY3VsYXRlQW5udWl0eSkpIHtcblxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5jYWxjdWxhdGVBbm51aXR5Wydjb250cm9sU3R5bGUnXSkpIHtcbiAgICAgICAgICB0aGlzLnJlY2FsY3VsYXRlQnV0dG9uWydjb250cm9sU3R5bGUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uY2FsY3VsYXRlQW5udWl0eVsnY29udHJvbFN0eWxlJ11cbiAgICAgICAgfVxuXG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmNhbGN1bGF0ZUFubnVpdHlbJ2xhYmVsJ10pKSB7XG4gICAgICAgICAgdGhpcy5yZWNhbGN1bGF0ZUJ1dHRvblsnbGFiZWwnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uY2FsY3VsYXRlQW5udWl0eVsnbGFiZWwnXVxuICAgICAgICB9XG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmNhbGN1bGF0ZUFubnVpdHlbJ2lzRGlzYWJsZSddKSkge1xuICAgICAgICAgIHRoaXMucmVjYWxjdWxhdGVCdXR0b25bJ2lzRGlzYWJsZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5jYWxjdWxhdGVBbm51aXR5Wydpc0Rpc2FibGUnXVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmRpZ2l0Qm9zc1N3aXRjaCkpIHtcbiAgICAgICAgdGhpcy5kaWdpdEJvc3NTd2l0Y2ggPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmRpZ2l0Qm9zc1N3aXRjaDtcblxuICAgICAgfVxuXG4gICAgICAvL2d1cmFudGVlZCBBbm51aXR5IG9wdGlvbnNcblxuICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3VyYW50ZWVkQW5udWl0eSkpIHtcbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3VyYW50ZWVkQW5udWl0eVsnb3B0aW9ucyddKSkge1xuICAgICAgICAgIHRoaXMuZ3VyYW50ZWVkYW5udWl0eU9ialsnb3B0aW9ucyddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5ndXJhbnRlZWRBbm51aXR5WydvcHRpb25zJ107XG4gICAgICAgIH1cbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3VyYW50ZWVkQW5udWl0eVsnaXNWaXNpYmxlJ10pKSB7XG4gICAgICAgICAgdGhpcy5ndXJhbnRlZWRhbm51aXR5T2JqWydpc1Zpc2libGUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3VyYW50ZWVkQW5udWl0eVsnaXNWaXNpYmxlJ107XG4gICAgICAgIH1cblxuXG4gICAgICB9XG5cbiAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmdlbmVyYXRlU3VtbWFyeSkpIHtcblxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5nZW5lcmF0ZVN1bW1hcnlbJ2lzVmlzaWJsZSddKSkge1xuICAgICAgICAgIHRoaXMuZ2VuZXJhdGVTdW1tYXJ5T2JqWydpc1Zpc2libGUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ2VuZXJhdGVTdW1tYXJ5Wydpc1Zpc2libGUnXVxuICAgICAgICB9XG5cbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ2VuZXJhdGVTdW1tYXJ5Wydjb250cm9sU3R5bGUnXSkpIHtcbiAgICAgICAgICB0aGlzLmdlbmVyYXRlU3VtbWFyeU9ialsnY29udHJvbFN0eWxlJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmdlbmVyYXRlU3VtbWFyeVsnY29udHJvbFN0eWxlJ107XG4gICAgICAgIH1cblxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5nZW5lcmF0ZVN1bW1hcnlbJ2xhYmVsJ10pKSB7XG4gICAgICAgICAgdGhpcy5nZW5lcmF0ZVN1bW1hcnlPYmpbJ2xhYmVsJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmdlbmVyYXRlU3VtbWFyeVsnbGFiZWwnXTtcbiAgICAgICAgfVxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5nZW5lcmF0ZVN1bW1hcnlbJ2lzRGlzYWJsZSddKSkge1xuICAgICAgICAgIHRoaXMuZ2VuZXJhdGVTdW1tYXJ5T2JqWydpc0Rpc2FibGUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ2VuZXJhdGVTdW1tYXJ5Wydpc0Rpc2FibGUnXVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmF1dG9QYXlPcHRpb24pKSB7XG5cbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uYXV0b1BheU9wdGlvblsnaXNWaXNpYmxlJ10pKSB7XG4gICAgICAgICAgdGhpcy5lbmFibGVBdXRvRGViaXRPYmpbJ2lzVmlzaWJsZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5hdXRvUGF5T3B0aW9uWydpc1Zpc2libGUnXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmF1dG9QYXlPcHRpb25bJ2lzVmlzaWJsZSddKSkge1xuICAgICAgICAgIHRoaXMuaXNFbmFibGVBdXRvRGViaXQgPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmF1dG9QYXlPcHRpb25bJ2lzRW5hYmxlQXV0b0RlYml0J107XG4gICAgICAgIH1cblxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5hdXRvUGF5T3B0aW9uWydpc0Rpc2FibGUnXSkpIHtcbiAgICAgICAgICB0aGlzLmVuYWJsZUF1dG9EZWJpdE9ialsnaXNEaXNhYmxlJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmF1dG9QYXlPcHRpb25bJ2lzRGlzYWJsZSddO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvbikpIHtcbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvblsnY29uZmlnRGF0YSddKSkge1xuICAgICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/Lmdyb3d0aFJhdGVPcHRpb25bJ2NvbmZpZ0RhdGEnXVsnY2FyZHNWYWx1ZSddKSkge1xuICAgICAgICAgIHRoaXMuZ3Jvd3RoUmF0ZU9ialsnY29uZmlnRGF0YSddWydjYXJkc1ZhbHVlJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/Lmdyb3d0aFJhdGVPcHRpb25bJ2NvbmZpZ0RhdGEnXVsnY2FyZHNWYWx1ZSddO1xuICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvblsnaXNWaXNpYmxlJ10pKSB7XG4gICAgICAgICAgdGhpcy5ncm93dGhSYXRlT2JqWydpc1Zpc2libGUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvblsnaXNWaXNpYmxlJ107XG4gICAgICAgIH1cblxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5ncm93dGhSYXRlT3B0aW9uWydjb25maWdEYXRhJ11bJ3NlbGVjdFZhbHVlJ10pKSB7XG4gICAgICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/Lmdyb3d0aFJhdGVPcHRpb25bJ2NvbmZpZ0RhdGEnXVsnc2VsZWN0VmFsdWUnXSkpIHtcbiAgICAgICAgICB0aGlzLmdyb3d0aFJhdGVPYmpbJ2NvbmZpZ0RhdGEnXVsnc2VsZWN0VmFsdWUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvblsnY29uZmlnRGF0YSddWydzZWxlY3RWYWx1ZSddO1xuICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5ncm93dGhSYXRlT3B0aW9uWydyYWRpb09wdGlvbnMnXSkpIHtcbiAgICAgICAgICB0aGlzLmdyb3d0aFJhdGVPYmpbJ29wdGlvbnMnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvblsncmFkaW9PcHRpb25zJ107XG4gICAgICAgIH1cblxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5ncm93dGhSYXRlT3B0aW9uWydjb25maWdEYXRhJ11bJ2luZm9NZXNzYWdlJ10pKSB7XG4gICAgICAgICAgdGhpcy5ncm93dGhSYXRlT2JqWydjb25maWdEYXRhJ11bJ2luZm9NZXNzYWdlJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/Lmdyb3d0aFJhdGVPcHRpb25bJ2NvbmZpZ0RhdGEnXVsnaW5mb01lc3NhZ2UnXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/Lmdyb3d0aFJhdGVPcHRpb25bJ2NvbmZpZ0RhdGEnXVsncGF5Z2V0SW5mb01lc3NhZ2UnXSkpIHtcbiAgICAgICAgICB0aGlzLmdyb3d0aFJhdGVPYmpbJ2NvbmZpZ0RhdGEnXVsncGF5Z2V0SW5mb01lc3NhZ2UnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvblsnY29uZmlnRGF0YSddWydwYXlnZXRJbmZvTWVzc2FnZSddO1xuICAgICAgICB9XG5cblxuICAgICAgfVxuXG5cbiAgICB9XG4gIH1cblxuICBjYWxjdWxhdGVCdXR0b25DbGlja2VkKCkge1xuICAgIHRoaXMudmFsaWRhdGlvbnMuaXNwcmVtaXVtRW50cnkgPSBmYWxzZTtcbiAgICBpZih0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLmFubnVpdHlQcmVtaXVtWyd0ZXh0VmFsdWUnXSkpIHtcbiAgICAgIHRoaXMudmFsaWRhdGlvbnMuaXNwcmVtaXVtRW50cnkgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLm9uQ2FsY3VhbHRlQnV0dG9uQ2xpY2suZW1pdCgpO1xuICB9XG5cbiAgZ2VuZXJhdGVTdW1tYXJ5Q2xpY2tlZCgpIHtcbiAgICB0aGlzLm9uR2VuZXJhdGVTdW1tYXJ5Q2xpY2suZW1pdCgpO1xuICB9XG5cbiAgc2VsZWN0ZWRHcm93dGhSYXRlOiBhbnkgPSBudWxsO1xuXG4gIG9uR3Jvd3RoUmF0ZVJhZGlvQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkR3Jvd3RoUmF0ZSA9IGV2ZW50O1xuICAgIHRoaXMub25Hcm93dGhSYXRlT3B0aW9uU2VsZWN0ZWQuZW1pdCh7IHR5cGU6ICdyYWRpbycsIHZhbHVlOiBldmVudCB9KTtcbiAgICAvL1xuICB9XG5cbiAgb25Hcm93dGhSYXRlQ2FyZENoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5vbkdyb3d0aFJhdGVPcHRpb25TZWxlY3RlZC5lbWl0KHsgdHlwZTogJ2NhcmQnLCB2YWx1ZTogZXZlbnQgfSk7XG4gIH1cblxuICBncm93dGhSYXRlU2VsZWN0ZWQoKSB7XG4gICAgdGhpcy5vbkdyb3d0aFJhdGVPcHRpb25TZWxlY3RlZC5lbWl0KCk7XG4gIH1cblxuICBvbkFubnVpdHlQcmVtaXVtVmFsdWVDaGFuZ2UodmFsdWU6IGFueSkge1xuICAgIHRoaXMuYW5udWl0eVByZW1pdW0gPSB2YWx1ZTtcbiAgdGhpcy52YWxpZGF0aW9ucy5pc3ByZW1pdW1FbnRyeSA9IGZhbHNlO1xuICAgIGlmKHRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMuYW5udWl0eVByZW1pdW1bJ3RleHRWYWx1ZSddKSkge1xuICAgIHRoaXMudmFsaWRhdGlvbnMuaXNwcmVtaXVtRW50cnkgPSB0cnVlO1xuICB9XG4gICAgdGhpcy5vbkFubnVpdHlQcmVtaXVtQ2hhbmdlLmVtaXQodmFsdWUpO1xuXG4gICAgLy9jb252ZXJ0IHRvIHdvcmRzXG4gICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMuYW5udWl0eVByZW1pdW1bJ3RleHRWYWx1ZSddKSAmJiAhdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5hbm51aXR5UHJlbWl1bVsnc2VsZWN0VmFsdWUnXSkpIHtcbiAgICBjb25zdCBmcmVxID1gIHBlciAke3RoaXMuYW5udWl0eVByZW1pdW1bJ3NlbGVjdFZhbHVlJ119YDtcbiAgICB0aGlzLmFubnVpdHlQcmVtaXVtT2JqLmNvbmZpZ0RhdGEubnVtYmVydG93b3JkID0gdGhpcy50cmFuc2Zvcm0odGhpcy5hbm51aXR5UHJlbWl1bVsndGV4dFZhbHVlJ10pICsgZnJlcTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgdGhpcy5hbm51aXR5UHJlbWl1bU9iai5jb25maWdEYXRhLm51bWJlcnRvd29yZCA9ICcnO1xuICAgIH1cbn1cbiAgb25NaW5QcmVtaXVtVmFsdWVDaGFuZ2UodmFsdWU6IGFueSkge1xuICAgIHRoaXMubWludW11bUFubnVpdHlQYXlvdXQgPSB2YWx1ZTtcbiAgICB0aGlzLm9uTWluaW11bVByZW1pdW1WYWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICAvL2NvbnZlcnQgdG8gd29yZHNcbiAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5taW51bXVtQW5udWl0eVBheW91dFsndGV4dFZhbHVlJ10pICYmICF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLm1pbnVtdW1Bbm51aXR5UGF5b3V0WydzZWxlY3RWYWx1ZSddKSkge1xuICAgIGNvbnN0IGZyZXEgPSBgIHBlciAke3RoaXMubWludW11bUFubnVpdHlQYXlvdXRbJ3NlbGVjdFZhbHVlJ119YDtcbiAgICB0aGlzLm1pbmltdW1Bbm51aXR5UGF5b3V0T2JqLmNvbmZpZ0RhdGEubnVtYmVydG93b3JkID0gdGhpcy50cmFuc2Zvcm0odGhpcy5taW51bXVtQW5udWl0eVBheW91dFsndGV4dFZhbHVlJ10pICsgZnJlcTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgdGhpcy5taW5pbXVtQW5udWl0eVBheW91dE9iai5jb25maWdEYXRhLm51bWJlcnRvd29yZCA9ICcnO1xuICAgIH1cbn1cblxuICBvbkVuYWJsZUF1dG9EZWJpdFZhbHVlQ2hhbmdlKGV2ZW50IDogYW55KSB7XG4gICAgdGhpcy5vbkF1dGlvRGViaXRWYWx1ZUNoYW5nZS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uR3VyYW50ZWVkQW5udWl0eUNoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5vbkd1cmFudGVlZEFubnVpdHlWYWx1ZUNoYW5nZS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIGdyb3d0aFJhdGVPcHRpb25TZWxlY3RlZChjYXJkPzogYW55LCB2YWx1ZT86IGFueSkge1xuICAgIHRoaXMub25Hcm93dGhSYXRlT3B0aW9uU2VsZWN0ZWQuZW1pdCgpO1xuICAgIGlmIChjYXJkKSB7XG4gICAgICB0aGlzLmFubnVpdHlSYWRpb1JlZj8uc2VsZWN0Q2FyZChjYXJkKTtcbiAgICB9XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmFubnVpdHlSYWRpb1JlZj8udG9nZ2xlUmFkaW8odmFsdWUsIG5ldyBFdmVudCgnY2xpY2snKSk7XG4gICAgfVxuICB9XG5cbiAgYW5udWFsSW5jb21lZm9jdXNPdXQoKSB7XG4gICAgdGhpcy52YWxpZGF0aW9ucy5pc3ByZW1pdW1FbnRyeSA9IGZhbHNlO1xuICAgIGlmKHRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMuYW5udWl0eVByZW1pdW1bJ3RleHRWYWx1ZSddKSkge1xuICAgICAgdGhpcy52YWxpZGF0aW9ucy5pc3ByZW1pdW1FbnRyeSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgYSA9IFsnJywgJ09uZSAnLCAnVHdvICcsICdUaHJlZSAnLCAnRm91ciAnLCAnRml2ZSAnLCAnU2l4ICcsICdTZXZlbiAnLCAnRWlnaHQgJywgJ05pbmUgJywgJ1RlbiAnLCAnRWxldmVuICcsICdUd2VsdmUgJywgJ1RoaXJ0ZWVuICcsICdGb3VydGVlbiAnLCAnRmlmdGVlbiAnLCAnU2l4dGVlbiAnLCAnU2V2ZW50ZWVuICcsICdFaWdodGVlbiAnLCAnTmluZXRlZW4gJ107XG4gIGIgPSBbJycsICcnLCAnVHdlbnR5JywgJ1RoaXJ0eScsICdGb3VydHknLCAnRmlmdHknLCAnU2l4dHknLCAnU2V2ZW50eScsICdFaWdodHknLCAnTmluZXR5J107XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHZhbHVlID0gdGhpcy5tYXN0ZXJTZXJ2aWNlLnJlbW92ZUNvbWFzQW5kQ3VycmVuY3lTeW1ib2xGcm9tTnVtYmVyVmFsdWVzKHZhbHVlKTtcbiAgICBsZXQgbiA9ICgnMDAwMDAwMDAwJyArIHZhbHVlKS5zdWJzdHIoLTkpLm1hdGNoKC9eKFxcZHsyfSkoXFxkezJ9KShcXGR7Mn0pKFxcZHsxfSkoXFxkezJ9KSQvKTtcbiAgICBpZiAoIW4pIHJldHVybiAnJztcbiAgICBsZXQgc3RyID0gJyc7XG4gICAgc3RyICs9IChOdW1iZXIoblsxXSkgIT0gMCkgPyAodGhpcy5hW051bWJlcihuWzFdKV0gfHwgKHRoaXMuYltOdW1iZXIoblsxXVswXSldICsgJyAnICsgdGhpcy5hW051bWJlcihuWzFdWzFdKV0pKSArICdDcm9yZSAnIDogJyc7XG4gICAgc3RyICs9IChOdW1iZXIoblsyXSkgIT0gMCkgPyAodGhpcy5hW051bWJlcihuWzJdKV0gfHwgKHRoaXMuYltOdW1iZXIoblsyXVswXSldICsgJyAnICsgdGhpcy5hW051bWJlcihuWzJdWzFdKV0pKSArICdMYWtoICcgOiAnJztcbiAgICBzdHIgKz0gKE51bWJlcihuWzNdKSAhPSAwKSA/ICh0aGlzLmFbTnVtYmVyKG5bM10pXSB8fCAodGhpcy5iW051bWJlcihuWzNdWzBdKV0gKyAnICcgKyB0aGlzLmFbTnVtYmVyKG5bM11bMV0pXSkpICsgJ1Rob3VzYW5kICcgOiAnJztcbiAgICBzdHIgKz0gKE51bWJlcihuWzRdKSAhPSAwKSA/ICh0aGlzLmFbTnVtYmVyKG5bNF0pXSB8fCAodGhpcy5iW051bWJlcihuWzRdWzBdKV0gKyAnICcgKyB0aGlzLmFbTnVtYmVyKG5bNF1bMV0pXSkpICsgJ0h1bmRyZWQgJyA6ICcnO1xuICAgIHN0ciArPSAoTnVtYmVyKG5bNV0pICE9IDApID8gKChzdHIgIT0gJycpID8gJ0FuZCAnIDogJycpICsgKHRoaXMuYVtOdW1iZXIobls1XSldIHx8ICh0aGlzLmJbTnVtYmVyKG5bNV1bMF0pXSArICcgJyArIHRoaXMuYVtOdW1iZXIobls1XVsxXSldKSkgOiAnJztcbiAgICBzdHIgPSBzdHIudHJpbSgpO1xuICAgIHJldHVybiBzdHIgPyBzdHIgKyAnIE9ubHknIDogJyc7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXJkIHB4LTNcIiBzdHlsZT1cInBhZGRpbmc6IDE2cHg7XCI+XG4gIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICA8aDQgY2xhc3M9XCJjYXJkLW1haW4tdGl0bGVcIj48c3BhbiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMTJweDtcIj48aW1nXG4gICAgICAgICAgc3JjPVwiaHR0cHM6Ly9jZG4uZ29kaWdpdC5jb20vcmV0YWlsLWxpZmUvY2FsY3VsYXRvci5zdmdcIiBhbHQ9XCJhbm51aXR5IGNhbGN1bGF0b3JcIj48L3NwYW4+SGVyZSdzIFlvdXIgUHJlbWl1bSB0byBBbm51aXR5IENhbGN1bGF0b3I8L2g0PlxuICA8L2Rpdj5cbiAgPCEtLSA8ZGl2IGNsYXNzPVwicm93XCI+IC0tPlxuICA8ZGl2IGNsYXNzPVwiY2FyZCBwYi00IHB4LTRcIiBzdHlsZT1cImJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDsgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcIj5cbiAgICA8IS0tIDxkaXYgY2xhc3M9XCJjdXN0b20tZ3JpZC10ZW1wbGF0ZVwiPlxuXG4gICAgPC9kaXY+IC0tPlxuXG4gICAgPGRpdiBjbGFzcz1cInJvdyBteC1hdXRvXCIgc3R5bGU9XCJ0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIC01OCUpO1wiPlxuICAgICAgPGxpYi10b2dnbGUgY2xhc3M9XCJjb2wtYXV0b1wiIFtmaWVsZF09XCJhbm51aXR5UHJlbWl1bVRvZ2dsZU9ialwiIC8+XG4gICAgPC9kaXY+XG4gICAgPCEtLSA8L2Rpdj4gLS0+XG4gICAgPGRpdiBjbGFzcz1cIiBjb2wtMTJcIiBzdHlsZT1cIlxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZGlzcGxheTogZmxleDtcblwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC01IGNvbC1sZy01IGQtZmxleCBmbGV4LWNvbHVtbiBwLTBcIj5cbiAgICAgICAgPGxpYi1zZWxlY3QtdGV4dGJveCBbZmllbGRdPVwiYW5udWl0eVByZW1pdW1PYmpcIiBbKG5nTW9kZWwpXT1cImFubnVpdHlQcmVtaXVtXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkFubnVpdHlQcmVtaXVtVmFsdWVDaGFuZ2UoJGV2ZW50KVwiIC8+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJ2YWxpZGF0aW9ucy5pc3ByZW1pdW1FbnRyeVwiPlxuICAgICAgICAgIFBsZWFzZSBlbnRlciBQcmVtaXVtIGFtb3VudFxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFubnVpdHktbWF0LWhpbnRcIiAqbmdJZj1cImFubnVpdHlQcmVtaXVtT2JqPy5jb25maWdEYXRhPy5udW1iZXJ0b3dvcmRcIj57e2FubnVpdHlQcmVtaXVtT2JqPy5jb25maWdEYXRhPy5udW1iZXJ0b3dvcmR9fTwvZGl2PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxsaWItdG9nZ2xlIFtmaWVsZF09XCJlbmFibGVBdXRvRGViaXRPYmpcIiBbKG5nTW9kZWwpXT1cImlzRW5hYmxlQXV0b0RlYml0XCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uRW5hYmxlQXV0b0RlYml0VmFsdWVDaGFuZ2UoJGV2ZW50KVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTIgY29sLWxnLTIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCJcbiAgICAgICAgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgNnB4KTsgcG9zaXRpb246IHJlbGF0aXZlOyBoZWlnaHQ6IGF1dG87IG1pbi1oZWlnaHQ6IDEwMCU7XCI+XG4gICAgICAgIDwhLS0gVG9wIGxpbmUgLS0+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB3aWR0aDogMXB4OyBoZWlnaHQ6IGNhbGMoNTAlICsgMjRweCk7IHRvcDogLTM3cHg7IGJhY2tncm91bmQ6IHJnYmEoMjIxLCAyMjEsIDIyMSwgMSk7IHBvaW50ZXItZXZlbnRzOiBub25lO1wiPjwvZGl2PlxuICAgICAgICA8IS0tIEJvdHRvbSBsaW5lIC0tPlxuICAgICAgICA8ZGl2IHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiA1MCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgd2lkdGg6IDFweDsgaGVpZ2h0OiBjYWxjKDUwJSArIDI0cHgpOyBib3R0b206IC0zN3B4OyBiYWNrZ3JvdW5kOiByZ2JhKDIyMSwgMjIxLCAyMjEsIDEpOyBwb2ludGVyLWV2ZW50czogbm9uZTtcIj48L2Rpdj5cbiAgICAgICAgPGxpYi1pY29uLWJ1dHRvbiBbZmllbGRdPVwiaW50ZXJjaGFuZ2VCdXR0b25PYmpcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTUgY29sLWxnLTUgZC1mbGV4IGZsZXgtY29sdW1uIHAtMFwiPlxuICAgICAgICA8bGliLXNlbGVjdC10ZXh0Ym94IFtmaWVsZF09XCJtaW5pbXVtQW5udWl0eVBheW91dE9ialwiIFsobmdNb2RlbCldPVwibWludW11bUFubnVpdHlQYXlvdXRcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTWluUHJlbWl1bVZhbHVlQ2hhbmdlKCRldmVudClcIiAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYW5udWl0eS1tYXQtaGludFwiICpuZ0lmPVwibWluaW11bUFubnVpdHlQYXlvdXRPYmo/LmNvbmZpZ0RhdGE/Lm51bWJlcnRvd29yZFwiPnt7bWluaW11bUFubnVpdHlQYXlvdXRPYmo/LmNvbmZpZ0RhdGE/Lm51bWJlcnRvd29yZH19PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaW5pdW0tYW5udWl0eSBtdC0zXCIgKm5nSWY9XCJndXJhbnRlZWRhbm51aXR5T2JqWydpc1Zpc2libGUnXVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbm51aXR5LW1zZyB3LTEwMCBweC0yIHB5LTFcIj5cbiAgICAgICAgICAgIFZhbHVlIGJhc2VkIG9uIGFzc3VtZWQgMTAlIGFubnVhbCBncm93dGggb2YgTmlmdHkgNTAgaW5kZXguXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIHB4LTIgcHktMVwiPlxuICAgICAgICAgICAgPGxpYi1yYWRpbyBbZmllbGRdPVwiZ3VyYW50ZWVkYW5udWl0eU9ialwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRHdXJhbnRlZWRBbm51aXR5XCJcbiAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25HdXJhbnRlZWRBbm51aXR5Q2hhbmdlKCRldmVudClcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbm51aXR5LW1zZy0xIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1ub3dyYXAgdy0xMDAgcHgtMiBweS0xXCI+XG4gICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vY2RuLmdvZGlnaXQuY29tL2RpZ2l0UGx1c0Fzc2V0cy9zdHJlYW1saW5lX2dyYXBoLWFycm93LWluY3JlYXNlLXJlbWl4LnBuZ1wiXG4gICAgICAgICAgICAgIHN0eWxlPVwibWF4LXdpZHRoOiAyNHB4O1wiIC8+XG4gICAgICAgICAgICA8c3Bhbj5Qb3RlbnRpYWwgZm9yIGhpZ2hlciByZXR1cm5zIGJ5IGxvd2VyaW5nIHRoZSBtaW5pbXVtIGd1YXJhbnRlZWQgYW5udWl0eSByYXRlLjwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDwhLS0gPGRpdiBjbGFzcz1cInZlcnRpY2FsLWxpbmVcIj48L2Rpdj4gLS0+XG4gICAgPCEtLSA8ZGl2IGNsYXNzPVwiY3VzdG9tLWdyaWQtdGVtcGxhdGVcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxsaWItdG9nZ2xlIFtmaWVsZF09XCJlbmFibGVBdXRvRGViaXRPYmpcIiBbKG5nTW9kZWwpXT1cImlzRW5hYmxlQXV0b0RlYml0XCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkVuYWJsZUF1dG9EZWJpdFZhbHVlQ2hhbmdlKCRldmVudClcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+IC0tPlxuXG4gIDwvZGl2PlxuXG5cbiAgPGRpdiBjbGFzcz1cImNhcmQgcHktMyBtYi00IGJvcmRlci10b3AtMFwiIHN0eWxlPVwiYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMHB4OyBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O1wiPlxuICAgIDxkaXYgY2xhc3M9XCJteC00XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGlnaXQtYm9zcy1iYW5uZXJcIiAqbmdJZj1cImRpZ2l0Qm9zc1N3aXRjaD8uaXNWaXNpYmxlXCI+XG4gICAgICAgIDxsaWItdG9nZ2xlIFtmaWVsZF09XCJkaWdpdEJvc3NUb2dnbGVDb25maWdcIiBbKG5nTW9kZWwpXT1cInRoaXMuZGlnaXRCb3NzU3dpdGNoLmlzU3dpdGNoT25cIiAobmdNb2RlbENoYW5nZSk9XCJvbkRpZ2l0Qm9zc1N3aXRjaENoYW5nZSgkZXZlbnQpXCI+PC9saWItdG9nZ2xlPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGlnaXQtYm9zcy10ZXh0XCI+XG4gICAgICAgICAge3t0aGlzLmRpZ2l0Qm9zc1N3aXRjaD8ucHJlZml4VGV4dH19XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJoaWdobGlnaHRcIj57e3RoaXMuZGlnaXRCb3NzU3dpdGNoPy5oaWdobGlnaHRUZXh0fX08L3NwYW4+XG4gICAgICAgICAge3t0aGlzLmRpZ2l0Qm9zc1N3aXRjaD8uc3ViVGV4dH19XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcnJvdy1pY29uXCI+4oaXPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGxpYi1idXR0b24gW2ZpZWxkXT1cInJlY2FsY3VsYXRlQnV0dG9uXCIgKGNsaWNrKT1cImNhbGN1bGF0ZUJ1dHRvbkNsaWNrZWQoKVwiIC8+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZCAgbWItMCBtdC0yXCJcbiAgICAgICAgc3R5bGU9XCJhbGlnbi1pdGVtczogY2VudGVyO2JvcmRlcjpub25lO2ZvbnQtc2l6ZTogOHB4O2ZvbnQtd2VpZ2h0OiA0MDA7Y29sb3I6cmdiYSg2OCwgNjgsIDY4LCAxKSBcIlxuICAgICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJteC00XCIgKm5nSWY9XCJyZWNhbGN1bGF0ZVN1YlRleHRPYmo/LmlzVmlzaWJsZVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly9jZG4uZ29kaWdpdC5jb20vZGlnaXRQbHVzQXNzZXRzL0dyb3VwKzEwMTAxMDYzMzYucG5nXCJcbiAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDNweDtcIiAvPlxuICAgICAgICAgIDxzcGFuIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDZweDtcIj5FdmVyeSB0aW1lIHlvdSBtYWtlIGEgY2hhbmdlIGFib3ZlLCBwbGVhc2UgY2xpY2sgcmVjYWxjdWxhdGUuPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIHN0eWxlPVwiZGlzcGxheTogZmxleDthbGlnbi1pdGVtczogY2VudGVyO2p1c3RpZnktY29udGVudDogY2VudGVyO2JvcmRlcjpub25lO2ZvbnQtc2l6ZTogMTBweDtmb250LXdlaWdodDogNzAwO2hlaWdodDozMnB4O2JhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTAsIDIzNSwgMSk7Z2FwOiA4cHg7bWFyZ2luOiA0cHg7XCJcbiAgICAgICpuZ0lmPVwiYW5udWl0eVRhYmxlQ2FsY3VsYXRvcj8uaXNWaXNpYmxlXCI+XG4gICAgICA8aW1nIHNyYz1cImh0dHBzOi8vY2RuLmdvZGlnaXQuY29tL3JldGFpbC1saWZlL2NhbGN1bGF0b3Iuc3ZnXCIgLz5cbiAgICAgIE1pbmltdW0gR3VhcmFudGVlZCBQYXlvdXQoQSkgKyBWYXJpYWJsZSBQYXlvdXQoQikgPSBUb3RhbCBQYXlvdXQoQylcbiAgICA8L2Rpdj5cbiAgICA8IS0tIGFubnVpdHkgY2FsY3VsYXRvciB0YWJsZSAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiYW5udWl0eS10YWJsZXMtbWFpbi1jb250YWluZXJcIiAqbmdJZj1cImFubnVpdHlUYWJsZUNhbGN1bGF0b3I/LmlzVmlzaWJsZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXJvdyBhbm51aXR5LXRhYmxlcy1jb250YWluZXJcIj5cbiAgICAgICAgPCEtLSBUYWJsZSAxIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYW5udWl0eS1jYWxjdWxhdG9yLXRhYmxlMVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkZXIgYW5udWl0eXRhYmxlMS1oZWFkZXJcIj5NaW5pbXVtIEd1YXJhbnRlZWQgQW5udWl0eSBQYXlvdXQoQSk8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtYm9keVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNlbGxcIj48c3BhbiBjbGFzcz1cInJ1cGVlLWljb25cIj7igrk8L3NwYW4+PHNwYW5cbiAgICAgICAgICAgICAgICBzdHlsZT1cImZvbnQtc2l6ZToxMnB4OyBjb2xvcjogcmdiYSg2OCwgNjgsIDY4LCAxKTtcIj5cbiAgICAgICAgICAgICAgICA8e3thbm51aXR5VGFibGVDYWxjdWxhdG9yLmFubnVpdHljYWxjdWxhdG9yVGFibGUxdmFsMX19PlxuICAgICAgICAgICAgICA8L3NwYW4+PC9kaXY+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYW5udWl0eXRhYmxlLWJ1dHRvblwiPnt7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlMXZhbDJ9fTwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwib3BlcmF0b3Itc3ltYm9sXCI+KzwvZGl2PlxuXG4gICAgICAgIDwhLS0gVGFibGUgMiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFubnVpdHktY2FsY3VsYXRvci10YWJsZTJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZGVyIGFubnVpdHl0YWJsZTEtaGVhZGVyXCI+QXNzdW1lIGdyb3d0aCBvZiBCZW5jaE1hcmsgaW5kZXg8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtYm9keVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPiYjNjQ7e3thbm51aXR5VGFibGVDYWxjdWxhdG9yLmFubnVpdHljYWxjdWxhdG9yVGFibGUydmFsMX19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCI+JiM2NDt7e2FubnVpdHlUYWJsZUNhbGN1bGF0b3IuYW5udWl0eWNhbGN1bGF0b3JUYWJsZTJ2YWwyfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3dcIj4mIzY0O3t7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlMnZhbDN9fTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIFRhYmxlIDMgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhbm51aXR5LWNhbGN1bGF0b3ItdGFibGUzXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlciBhbm51aXR5dGFibGUxLWhlYWRlclwiPjFzdCBWYXJpYWJsZSBBbm51aXR5IFBheW91dChCKTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1ib2R5XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCI+PHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cInJ1cGVlLWljb25cIj7igrk8L3NwYW4+e3thbm51aXR5VGFibGVDYWxjdWxhdG9yLmFubnVpdHljYWxjdWxhdG9yVGFibGUzdmFsMX19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCI+PHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cInJ1cGVlLWljb25cIj7igrk8L3NwYW4+e3thbm51aXR5VGFibGVDYWxjdWxhdG9yLmFubnVpdHljYWxjdWxhdG9yVGFibGUzdmFsMn19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCI+PHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cInJ1cGVlLWljb25cIj7igrk8L3NwYW4+e3thbm51aXR5VGFibGVDYWxjdWxhdG9yLmFubnVpdHljYWxjdWxhdG9yVGFibGUzdmFsM319PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJvcGVyYXRvci1zeW1ib2xcIj49PC9kaXY+XG5cbiAgICAgICAgPCEtLSBUYWJsZSA0IC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYW5udWl0eS1jYWxjdWxhdG9yLXRhYmxlNFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkZXIgYW5udWl0eXRhYmxlNC1oZWFkZXJcIj4xc3QgVG90YWxQYXlvdXQvRnJlcXVlbmN5KEMpPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWJvZHlcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3cgYW5udWl0eXRhYmxlNC1iZ1wiPjxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJydXBlZS1pY29uXCI+4oK5PC9zcGFuPnt7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlNHZhbDF9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvdyBhbm51aXR5dGFibGU0LWJnXCI+PHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cInJ1cGVlLWljb25cIj7igrk8L3NwYW4+e3thbm51aXR5VGFibGVDYWxjdWxhdG9yLmFubnVpdHljYWxjdWxhdG9yVGFibGU0dmFsMn19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93IGFubnVpdHl0YWJsZTQtYmdcIj48c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwicnVwZWUtaWNvblwiPuKCuTwvc3Bhbj57e2FubnVpdHlUYWJsZUNhbGN1bGF0b3IuYW5udWl0eWNhbGN1bGF0b3JUYWJsZTR2YWwzfX08L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJhbm51aXR5LWNhbGN1bGF0b3ItcGFyYWdyYXBoXCIgKm5nSWY9XCJhbm51aXR5VGFibGVDYWxjdWxhdG9yPy5pc1Zpc2libGVcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYW5udWl0eS1jYWxjdWxhdG9yLXBhcmFncmFwaDFcIj5UaGlzIGlzIGFuIGFzc3VtZWQgZ3Jvd3RoIHBlcmNlbnRhZ2UgZm9yIHRoZSBpbmRleCBiYXNpcyB3aGljaCB0aGVcbiAgICAgICAgdmFsdWVzIGluIGNvbHVtbnMgQiBhbmQgQyBhcmUgY2FsY3VsYXRlZC48L3NwYW4+IEFjdHVhbCBncm93dGggd2lsbCBkZXBlbmQgb24gaW5kZXggcGVyZm9ybWFuY2UgYW5kIG1heSBhZmZlY3RcbiAgICAgIHlvdXIgdmFyaWFibGUgYW5udWl0eSBwYXlvdXQgYW5kIHRvdGFsIGFubnVpdHkgcGF5b3V0LlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cImdyb3d0aFJhdGVPYmouaXNWaXNpYmxlXCI+XG4gICAgICA8bGliLWFubnVpdHktY2FsY3VsYXRvci1yYWRpb1xuICAgICAgICBbZmllbGRdPVwiZ3Jvd3RoUmF0ZU9ialwiXG4gICAgICAgIFsobmdNb2RlbCldPVwiZ3Jvd3RoUmF0ZU9wdGlvblwiXG4gICAgICAgIChjaGFuZ2UpPVwib25Hcm93dGhSYXRlUmFkaW9DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChncm93dGhSYXRlQ2hhbmdlKT1cIm9uR3Jvd3RoUmF0ZUNhcmRDaGFuZ2UoJGV2ZW50KVwiIC8+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiaHJMaW5lT2JqLmlzVmlzaWJsZVwiIGNsYXNzPVwiZ2VuZXJhdGVTdW1tYXJ5XCI+XG4gICAgICA8bGliLWhyLWxpbmUgW2ZpZWxkXT1cImhyTGluZU9ialwiIC8+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiZ2VuZXJhdGVTdW1tYXJ5T2JqLmlzVmlzaWJsZVwiIGNsYXNzPVwiZ2VuZXJhdGVTdW1tYXJ5XCI+XG4gICAgICA8bGliLWJ1dHRvbiBbZmllbGRdPVwiZ2VuZXJhdGVTdW1tYXJ5T2JqXCIgKGNsaWNrKT1cImdlbmVyYXRlU3VtbWFyeUNsaWNrZWQoKVwiIC8+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuIl19
|
|
1386
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5udWl0eS1wcmVtaXVtLWNhbGN1bGF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFzdGVyLWNvbnRyb2wvc3JjL2xpYi9hbm51aXR5LXByZW1pdW0tY2FsY3VsYXRvci9hbm51aXR5LXByZW1pdW0tY2FsY3VsYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL2FubnVpdHktcHJlbWl1bS1jYWxjdWxhdG9yL2FubnVpdHktcHJlbWl1bS1jYWxjdWxhdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFpQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFFakgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGVBQWUsRUFB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QUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNqSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2hJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDcEksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNuSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNwSixHQUFHLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pCLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDbEMsQ0FBQzt3R0F4M0NVLGlDQUFpQzs0RkFBakMsaUNBQWlDLCsvQkFJakMsK0JBQStCLHFFQ3hDNUMsNHhWQTRNQSxtcUtEdkxJLGVBQWUsa0pBQ2Ysc0JBQXNCLGtJQUN0QiwrQkFBK0Isa0tBQy9CLGVBQWUsMkVBQ2YsZUFBZSw0SEFFZixlQUFlLDBFQUNmLG1CQUFtQiwrRUFDbkIsY0FBYywwSEFDZCxZQUFZLGtJQUNaLFdBQVc7OzRGQUtGLGlDQUFpQztrQkFwQjdDLFNBQVM7K0JBQ0UsZ0NBQWdDLGNBQzlCLElBQUksV0FDUDt3QkFDUCxhQUFhO3dCQUNiLGVBQWU7d0JBQ2Ysc0JBQXNCO3dCQUN0QiwrQkFBK0I7d0JBQy9CLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osV0FBVztxQkFDWjt5RkFPUSxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ3NDLGVBQWU7c0JBQTFELFNBQVM7dUJBQUMsK0JBQStCO2dCQThDaEMsc0JBQXNCO3NCQUEvQixNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBQ0csMkJBQTJCO3NCQUFwQyxNQUFNO2dCQUNHLHVCQUF1QjtzQkFBaEMsTUFBTTtnQkFDRyw2QkFBNkI7c0JBQXRDLE1BQU07Z0JBQ0csdUJBQXVCO3NCQUFoQyxNQUFNO2dCQUNHLDBCQUEwQjtzQkFBbkMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbnB1dCwgSW5wdXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuLi90b2dnbGUvdG9nZ2xlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RUZXh0Ym94Q29tcG9uZW50IH0gZnJvbSAnLi4vc2VsZWN0LXRleHRib3gvc2VsZWN0LXRleHRib3guY29tcG9uZW50JztcbmltcG9ydCB7IEhyTGluZUNvbXBvbmVudCB9IGZyb20gJy4uL2hyLWxpbmUvaHItbGluZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24tYnV0dG9uL2ljb24tYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSYWRpb0NvbXBvbmVudCB9IGZyb20gJy4uL3JhZGlvL3JhZGlvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXN0ZXJDb250cm9sU2VydmljZSB9IGZyb20gJy4uL21hc3Rlci1jb250cm9sLnNlcnZpY2UnO1xuaW1wb3J0IHsgQW5udWl0eUNhbGN1bGF0b3JSYWRpb0NvbXBvbmVudCB9IGZyb20gJy4uL2FubnVpdHktY2FsY3VsYXRvci1yYWRpby9hbm51aXR5LWNhbGN1bGF0b3ItcmFkaW8uY29tcG9uZW50JztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFtb3VudFRleHRib3hDb21wb25lbnQgfSBmcm9tICcuLi9hbW91bnQtdGV4dGJveC9hbW91bnQtdGV4dGJveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5mb0NvbXBvbmVudCB9IGZyb20gJy4uL2luZm8vaW5mby5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYW5udWl0eS1wcmVtaXVtLWNhbGN1bGF0b3InLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgSW5mb0NvbXBvbmVudCxcbiAgICBTZWxlY3RDb21wb25lbnQsXG4gICAgQW1vdW50VGV4dGJveENvbXBvbmVudCxcbiAgICBBbm51aXR5Q2FsY3VsYXRvclJhZGlvQ29tcG9uZW50LFxuICAgIEhyTGluZUNvbXBvbmVudCxcbiAgICBUb2dnbGVDb21wb25lbnQsXG4gICAgU2VsZWN0VGV4dGJveENvbXBvbmVudCxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgSWNvbkJ1dHRvbkNvbXBvbmVudCxcbiAgICBSYWRpb0NvbXBvbmVudCxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGVcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2FubnVpdHktcHJlbWl1bS1jYWxjdWxhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2FubnVpdHktcHJlbWl1bS1jYWxjdWxhdG9yLmNvbXBvbmVudC5jc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBBbm51aXR5UHJlbWl1bUNhbGN1bGF0b3JDb21wb25lbnQge1xuICAgIHJlY2FsY3VsYXRlU3ViVGV4dE9iajogYW55ID0geyBpc1Zpc2libGU6IHRydWUgfTtcbiAgZmllbGQ6IGFueSA9IGlucHV0LnJlcXVpcmVkPGFueT4oKTtcbiAgQElucHV0KCkgdHJpZ2dlclZhbGlkYXRpb24/OiBTdWJqZWN0PHZvaWQ+O1xuICBAVmlld0NoaWxkKEFubnVpdHlDYWxjdWxhdG9yUmFkaW9Db21wb25lbnQpIGFubnVpdHlSYWRpb1JlZiE6IEFubnVpdHlDYWxjdWxhdG9yUmFkaW9Db21wb25lbnQ7XG4gIHByZW1pdW1EZXRhaWxzOiBhbnkgPSBpbnB1dDxhbnk+KHt9KTtcbiAgYW5udWl0eVByZW1pdW0gOiBhbnkgPSB7XG4gICAgdGV4dFZhbHVlIDogJycsXG4gICAgc2VsZWN0VmFsdWU6ICcnXG4gIH07XG4gIG1pbnVtdW1Bbm51aXR5UGF5b3V0IDogYW55ID0ge1xuICAgIHRleHRWYWx1ZSA6ICcnLFxuICAgIHNlbGVjdFZhbHVlOiAnJ1xuICB9O1xuXG4gIGdyb3d0aFJhdGVPcHRpb246IGFueSA9e1xuICAgIFwiaXNWaXNpYmxlXCI6IGZhbHNlLFxuICAgIFwicmFkaW9PcHRpb25zXCI6W10sXG4gICAgXCJjb25maWdEYXRhXCI6IHtcbiAgICAgIFwic2VsZWN0VmFsdWVcIjogbnVsbCxcbiAgICAgICBcInBheWdldEluZm9NZXNzYWdlXCI6IG51bGwsXG4gICAgICAgXCJpbmZvTWVzc2FnZVwiOiBudWxsLFxuICAgICAgICBcImNhcmRzVmFsdWVcIjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibWFpblZhbHVlXCI6IFwiXCIsXG4gICAgICAgICAgICBcInZhbHVlXCI6IFwiSGlnaFwiLFxuICAgICAgICAgICAgXCJzdWJWYWx1ZVwiOiBcIlwiLFxuICAgICAgICAgICAgXCJncm93dGhSYXRlXCI6IFwiXCIsXG4gICAgICAgICAgICBcImd1YXJhbnRlZWRcIjogXCJcIixcbiAgICAgICAgICAgIFwidmFyaWFibGVcIjogXCJcIlxuICAgICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgXCJtYWluVmFsdWVcIjogXCJcIixcbiAgICAgICAgICAgIFwidmFsdWVcIjogXCJNZWRpdW1cIixcbiAgICAgICAgICAgIFwic3ViVmFsdWVcIjogXCJcIixcbiAgICAgICAgICAgIFwiZ3Jvd3RoUmF0ZVwiOiBcIlwiLFxuICAgICAgICAgICAgXCJndWFyYW50ZWVkXCI6IFwiXCIsXG4gICAgICAgICAgICBcInZhcmlhYmxlXCI6IFwiXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwibWFpblZhbHVlXCI6IFwiXCIsXG4gICAgICAgICAgICBcInZhbHVlXCI6IFwiTG93XCIsXG4gICAgICAgICAgICBcInN1YlZhbHVlXCI6IFwiXCIsXG4gICAgICAgICAgICBcImdyb3d0aFJhdGVcIjogXCJcIixcbiAgICAgICAgICAgIFwiZ3VhcmFudGVlZFwiOiBcIlwiLFxuICAgICAgICAgICAgXCJ2YXJpYWJsZVwiOiBcIlwiXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgfVxuICB9XG4gIEBPdXRwdXQoKSBvbkNhbGN1YWx0ZUJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvbkdlbmVyYXRlU3VtbWFyeUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvbkFubnVpdHlQcmVtaXVtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvbk1pbmltdW1QcmVtaXVtVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9uQXV0aW9EZWJpdFZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvbkd1cmFudGVlZEFubnVpdHlWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25EaWdpdEJvc3NTd2l0Y2hUb2dnbGUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9uR3Jvd3RoUmF0ZU9wdGlvblNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIHZhbGlkYXRpb25zIDogYW55ID0ge1xuICAgIGlzcHJlbWl1bUVudHJ5IDogZmFsc2VcbiAgfVxuICBpc0VuYWJsZUF1dG9EZWJpdCA6IGFueSA9IGZhbHNlO1xuICBzZWxlY3RlZEd1cmFudGVlZEFubnVpdHk6IGFueSA9IG51bGw7XG4gIGFubnVpdHlQcmVtaXVtVG9nZ2xlT2JqOiBhbnkgPSB7XG4gICAgY29udHJvbFR5cGU6ICd0b2dnbGUnLFxuICAgIGZpZWxkTmFtZTogJ2FubnVpdHlQcmVtaXVtVG9nZ2xlJyxcbiAgICBsYWJlbDogJ0VudGVyIEFubnVpdHknLFxuICAgIHBsYWNlSG9sZGVyOiBudWxsLFxuICAgIG1ldGFJZDogJ0xJX0RQX0dFTl9DVFJMX3RvZ2dsZV9hbm51aXR5UHJlbWl1bVRvZ2dsZV9WMScsXG4gICAgaXNWaXNpYmxlOiB0cnVlLFxuICAgIGlzRGlzYWJsZTogdHJ1ZSxcbiAgICB2YWxpZGF0b3JzOiB7XG4gICAgICBpc1JlcXVpcmVkOiBmYWxzZSxcbiAgICAgIHJlcXVpcmVkTWVzc2FnZTogJ1RoaXMgZmllbGQgY2Fubm90IGJlIGVtcHR5JyxcbiAgICAgIG1pbkxlbmd0aDogbnVsbCxcbiAgICAgIG1pbkxlbmd0aE1lc3NhZ2U6IG51bGwsXG4gICAgICBtYXhMZW5ndGg6IDE1MCxcbiAgICAgIG1heExlbmd0aE1lc3NhZ2U6IG51bGwsXG4gICAgICBwYXR0ZXJuOiBudWxsLFxuICAgICAgcGF0dGVybk1lc3NhZ2U6ICcnLFxuICAgIH0sXG4gICAgb3B0aW9uczogbnVsbCxcbiAgICBjc3NDbGFzczpcbiAgICAgICcgY29sLXNtLTEyIGNvbC1tZC0xMiBjb2wtbGctMTIgY29sLXhsLTEyIG14LWF1dG8gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJyxcbiAgICB2YWx1ZTogbnVsbCxcbiAgICBzdHlsZTogbnVsbCxcbiAgICBpbWFnZVVybDogbnVsbCxcbiAgICBpc1Nob3dMYWJlbDogdHJ1ZSxcbiAgICBjb250cm9sU3R5bGU6IHtcbiAgICAgIGNvbnRyb2xUeXBlOiAndG9nZ2xlJyxcbiAgICAgIGJvcmRlckNvbG9yOiAnI0RBREFEQScsXG4gICAgICBib3JkZXJXaWR0aDogJzFweCcsXG4gICAgICBib3JkZXJSYWRpdXM6ICc5OTlweCcsXG4gICAgICBmb250U2l6ZTogJzEycHgnLFxuICAgICAgZm9udFdlaWdodDogJzQwMCcsXG4gICAgICBmb250RmFtaWx5OiAnTXVsaXNoJyxcbiAgICAgIGNvbG9yOiAnIzQ0NDQ0NCcsXG4gICAgICBiYWNrZ3JvdW5kOiAnI0ZGRkZGRicsXG4gICAgICBjYXJldENvbG9yOiBudWxsLFxuICAgICAgbnVkZ2VEaXNwbGF5SW1hZ2U6IG51bGwsXG4gICAgICBkcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXG4gICAgICBkcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxuICAgICAgd2lkdGg6ICdmaXQtY29udGVudCcsXG4gICAgICBmb2N1c0JvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxuICAgICAgZm9jdXNCb3JkZXJDb2xvcjogbnVsbCxcbiAgICAgIGZvY3VzQmFja2dyb3VuZDogbnVsbCxcbiAgICAgIGZvY3VzQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlckxlZnQ6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyUmFkaXVzOiBudWxsLFxuICAgICAgaG92ZXJCb3JkZXJDb2xvcjogbnVsbCxcbiAgICAgIGhvdmVyQm9yZGVyV2lkdGg6ICcwLjA5NHJlbScsXG4gICAgICBob3ZlckNvbG9yOiBudWxsLFxuICAgICAgZGlzYWJsZUNvbG9yOiAnI0VDRUNFQycsXG4gICAgICBkaXNhYmxlQmFja2dyb3VuZDogJyNFQ0VDRUMnLFxuICAgICAgZXJyb3JCb3JkZXJDb2xvcjogbnVsbCxcbiAgICAgIGVycm9yQm9yZGVyV2lkdGg6ICcwLjA5NHJlbScsXG4gICAgICBlcnJvckNvbG9yOiBudWxsLFxuICAgICAgY3JlYXRlZERhdGU6IG51bGwsXG4gICAgICBwYWRkaW5nOiBudWxsLFxuICAgICAgbWFyZ2luOiBudWxsLFxuICAgICAgaXNNYXN0ZXJDc3M6IG51bGwsXG4gICAgICBjb250cm9sTWV0YUlkOiAnTElfRFBfR0VOX0NUUkxfdG9nZ2xlX2FubnVpdHlQcmVtaXVtVG9nZ2xlX1YxJyxcbiAgICAgIGJvcmRlclN0eWxlOiBudWxsLFxuICAgICAgaGVpZ2h0OiBudWxsLFxuICAgICAgbWluSGVpZ2h0OiBudWxsLFxuICAgICAgbWF4SGVpZ2h0OiBudWxsLFxuICAgICAgbWluV2lkdGg6IG51bGwsXG4gICAgICBtYXhXaWR0aDogbnVsbCxcbiAgICAgIGNzc0NsYXNzOiBudWxsLFxuICAgIH0sXG4gICAgY29sdW1uSW5kZXg6IDAsXG4gICAgY29uZmlnRGF0YToge1xuICAgICAgbGVmdExhYmVsOiAnRW50ZXIgUHJlbWl1bScsXG4gICAgfSxcbiAgICBjb250cm9sU3R5bGVzOiBudWxsLFxuICB9O1xuXG4gIGFubnVpdHlUYWJsZUNhbGN1bGF0b3IgOmFueSA9IHtcbiAgICBcImlzVmlzaWJsZVwiOiBmYWxzZSxcbiAgICBcImFubnVpdHljYWxjdWxhdG9yVGFibGUxdmFsMVwiOiBcIlwiLFxuICAgIFwiYW5udWl0eWNhbGN1bGF0b3JUYWJsZTF2YWwyXCI6IFwiXCIsXG4gICAgXCJhbm51aXR5Y2FsY3VsYXRvclRhYmxlMnZhbDFcIjogXCJcIixcbiAgICBcImFubnVpdHljYWxjdWxhdG9yVGFibGUydmFsMlwiOiBcIlwiLFxuICAgIFwiYW5udWl0eWNhbGN1bGF0b3JUYWJsZTJ2YWwzXCI6IFwiXCIsXG4gICAgXCJhbm51aXR5Y2FsY3VsYXRvclRhYmxlM3ZhbDFcIjogXCJcIixcbiAgICBcImFubnVpdHljYWxjdWxhdG9yVGFibGUzdmFsMlwiOiBcIlwiLFxuICAgIFwiYW5udWl0eWNhbGN1bGF0b3JUYWJsZTN2YWwzXCI6IFwiXCIsXG4gICAgXCJhbm51aXR5Y2FsY3VsYXRvclRhYmxlNHZhbDFcIjogXCJcIixcbiAgICBcImFubnVpdHljYWxjdWxhdG9yVGFibGU0dmFsMlwiOiBcIlwiLFxuICAgIFwiYW5udWl0eWNhbGN1bGF0b3JUYWJsZTR2YWwzXCI6IFwiXCJcblxuXG4gIH07XG5cbiAgZGlnaXRCb3NzU3dpdGNoIDogYW55ID0ge1xuICAgIGlzVmlzaWJsZSA6IGZhbHNlLFxuICAgIGlzU3dpdGNoT246IGZhbHNlLFxuICAgIGljb246ICcnLFxuICAgIGRpZ2l0Qm9zc1RleHQ6ICcnLFxuICAgIGRpZ2l0Qm9zc1ZhbHVlOiAnJ1xuICB9XG5cbiAgZGlnaXRCb3NzVG9nZ2xlQ29uZmlnOiBhbnkgPSB7XG4gICAgY29udHJvbFR5cGU6ICd0b2dnbGUnLFxuICAgIGZpZWxkTmFtZTogJ2RpZ2l0Qm9zc1RvZ2dsZScsXG4gICAgaXNWaXNpYmxlOiB0cnVlLFxuICAgIGlzRGlzYWJsZTogZmFsc2UsXG4gICAgaXNTaG93TGFiZWw6IHRydWUsXG4gICAgY29uZmlnRGF0YToge1xuICAgICAgbGVmdExhYmVsOiAnJ1xuICAgIH0sXG4gICAgY29udHJvbFN0eWxlOiB7XG4gICAgICBiYWNrZ3JvdW5kOiAndHJhbnNwYXJlbnQnLFxuICAgICAgYm9yZGVyQ29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICB3aWR0aDogJ2ZpdC1jb250ZW50JyxcbiAgICAgIGJvcmRlcldpZHRoOiAnMHB4J1xuICAgIH1cbiAgfTtcblxuICBvbkRpZ2l0Qm9zc1N3aXRjaENoYW5nZShldmVudDogYW55KSB7XG4gICAgLy8gaWYodGhpcy5wcmVtaXVtRGV0YWlscygpICYmIHRoaXMucHJlbWl1bURldGFpbHMoKS5kaWdpdEJvc3NTd2l0Y2gpe1xuICAgICAgIHRoaXMuZGlnaXRCb3NzU3dpdGNoLmlzU3dpdGNoT24gPSBldmVudDtcbiAgICAgICB0aGlzLm9uRGlnaXRCb3NzU3dpdGNoVG9nZ2xlLmVtaXQoZXZlbnQpO1xuICAgIC8vIH1cbiAgfVxuXG4gIGFubnVpdHlQcmVtaXVtT2JqOiBhbnkgPSB7XG4gICAgY29udHJvbFN0eWxlOiB7XG4gICAgICBjb250cm9sVHlwZTogJ2Ftb3VudFRleHRib3gnLFxuICAgICAgYm9yZGVyQ29sb3I6ICcjREFEQURBJyxcbiAgICAgIGJvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxuICAgICAgYm9yZGVyUmFkaXVzOiBudWxsLFxuICAgICAgZm9udFNpemU6ICcxNnB4JyxcbiAgICAgIGZvbnRXZWlnaHQ6ICc0MDAnLFxuICAgICAgZm9udEZhbWlseTogJ011bGlzaCcsXG4gICAgICBjb2xvcjogJyM0NDQ0NDQnLFxuICAgICAgYmFja2dyb3VuZDogJyNGRkZGRkYnLFxuICAgICAgY2FyZXRDb2xvcjogJyNmZmJiMDAnLFxuICAgICAgbnVkZ2VEaXNwbGF5SW1hZ2U6IG51bGwsXG4gICAgICBkcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXG4gICAgICBkcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxuICAgICAgd2lkdGg6IG51bGwsXG4gICAgICBmb2N1c0JvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxuICAgICAgZm9jdXNCb3JkZXJDb2xvcjogJyNmZmJiMDAnLFxuICAgICAgZm9jdXNCYWNrZ3JvdW5kOiBudWxsLFxuICAgICAgZm9jdXNDb2xvcjogJyM0NDQ0NDQnLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJMZWZ0OiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1czogbnVsbCxcbiAgICAgIGhvdmVyQm9yZGVyQ29sb3I6ICcjRkZCQjAwJyxcbiAgICAgIGhvdmVyQm9yZGVyV2lkdGg6ICcwLjA5NHJlbScsXG4gICAgICBob3ZlckNvbG9yOiAnIzQ0NDQ0NCcsXG4gICAgICBkaXNhYmxlQ29sb3I6ICcjRUNFQ0VDJyxcbiAgICAgIGRpc2FibGVCYWNrZ3JvdW5kOiAnI0VDRUNFQycsXG4gICAgICBlcnJvckJvcmRlckNvbG9yOiAnI0VFMDAwMCcsXG4gICAgICBlcnJvckJvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxuICAgICAgZXJyb3JDb2xvcjogJyM0NDQ0NDQnLFxuICAgICAgY3JlYXRlZERhdGU6IG51bGwsXG4gICAgICBwYWRkaW5nOiBudWxsLFxuICAgICAgbWFyZ2luOiBudWxsLFxuICAgICAgaXNNYXN0ZXJDc3M6IG51bGwsXG4gICAgICBjb250cm9sTWV0YUlkOiAnQUxMX0RQX0RQX0NUUkxfYW1vdW50VGV4dGJveF9hbm51aXR5UHJlbWl1bV9WMScsXG4gICAgICBib3JkZXJTdHlsZTogbnVsbCxcbiAgICAgIGhlaWdodDogbnVsbCxcbiAgICAgIG1pbkhlaWdodDogbnVsbCxcbiAgICAgIG1heEhlaWdodDogbnVsbCxcbiAgICAgIG1pbldpZHRoOiBudWxsLFxuICAgICAgbWF4V2lkdGg6IG51bGwsXG4gICAgICBjc3NDbGFzczogbnVsbCxcbiAgICB9LFxuICAgIGZpZWxkTmFtZTogJ2FubnVpdHlQcmVtaXVtJyxcbiAgICBsYWJlbDogJ1ByZW1pdW0nLFxuICAgIHBsYWNlSG9sZGVyOiAnRW50ZXInLFxuICAgIG1ldGFJZDogJ0FMTF9EUF9EUF9DVFJMX2Ftb3VudFRleHRib3hfYW5udWl0eVByZW1pdW1fVjEnLFxuICAgIGlzVmlzaWJsZTogdHJ1ZSxcbiAgICBpc0Rpc2FibGU6IGZhbHNlLFxuICAgIGRlZmF1bHRWYWx1ZTogbnVsbCxcbiAgICB2YWxpZGF0b3JzOiB7XG4gICAgICBpc1JlcXVpcmVkOiBmYWxzZSxcbiAgICAgIHJlcXVpcmVkTWVzc2FnZTogJ0VudGVyIFByZW1pdW0nLFxuICAgICAgbWluTGVuZ3RoOiA0LFxuICAgICAgbWluTGVuZ3RoTWVzc2FnZTogbnVsbCxcbiAgICAgIG1heExlbmd0aDogMTAsXG4gICAgICBtYXhMZW5ndGhNZXNzYWdlOiBudWxsLFxuICAgICAgcGF0dGVybjogbnVsbCxcbiAgICAgIHBhdHRlcm5NZXNzYWdlOiBudWxsLFxuICAgIH0sXG4gICAgb3B0aW9uczogW1xuICAgICAge1xuICAgICAgICB2YWx1ZTogJ01vbnRobHknLFxuICAgICAgICBsYWJlbDogJ01vbnRobHknLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6ICdPbmUgVGltZScsXG4gICAgICAgIGxhYmVsOiAnT25lIFRpbWUnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6ICdRdWFydGVybHknLFxuICAgICAgICBsYWJlbDogJ1F1YXJ0ZXJseScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB2YWx1ZTogJ0hhbGYgWWVhcmx5JyxcbiAgICAgICAgbGFiZWw6ICdIYWxmIFllYXJseScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB2YWx1ZTogJ1llYXJseScsXG4gICAgICAgIGxhYmVsOiAnWWVhcmx5JyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBjc3NDbGFzczogJyBjb2wtc20tMTIgY29sLW1kLTMgY29sLWxnLTMgY29sLXhsLTMgcHktMCBwbC0zIHByLTAgbXQtNSBwdC0yJyxcbiAgICB2YWx1ZTogbnVsbCxcbiAgICBzdHlsZTogbnVsbCxcbiAgICBpbWFnZVVybDogbnVsbCxcbiAgICBjb25maWdEYXRhOiB7XG4gICAgICBpc0NvbWFTZXBlcmF0ZWQ6IHRydWUsXG4gICAgICBpc0FsbG93TnVtYmVyc0luVGV4dEZpZWxkczogdHJ1ZSxcbiAgICAgIGhlbHBlclRleHQ6ICcnLFxuICAgICAgbnVtYmVydG93b3JkOiAnJ1xuICAgIH0sXG4gICAgbWV0YURhdGFPYmo6IG51bGwsXG4gICAgaXNTaG93TGFiZWw6IHRydWUsXG4gICAgaXNNYXN0ZXJDb250cm9sOiBmYWxzZSxcbiAgICBjb250cm9sVHlwZTogJ2Ftb3VudFRleHRib3gnLFxuICB9O1xuXG4gIG1pbmltdW1Bbm51aXR5UGF5b3V0T2JqOiBhbnkgPSB7XG4gICAgY29udHJvbFN0eWxlOiB7XG4gICAgICBjb250cm9sVHlwZTogJ2Ftb3VudFRleHRib3gnLFxuICAgICAgYm9yZGVyQ29sb3I6ICcjREFEQURBJyxcbiAgICAgIGJvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxuICAgICAgYm9yZGVyUmFkaXVzOiBudWxsLFxuICAgICAgZm9udFNpemU6ICcxNnB4JyxcbiAgICAgIGZvbnRXZWlnaHQ6ICc0MDAnLFxuICAgICAgZm9udEZhbWlseTogJ011bGlzaCcsXG4gICAgICBjb2xvcjogJyM0NDQ0NDQnLFxuICAgICAgYmFja2dyb3VuZDogJyNGRkZGRkYnLFxuICAgICAgY2FyZXRDb2xvcjogJyNmZmJiMDAnLFxuICAgICAgbnVkZ2VEaXNwbGF5SW1hZ2U6IG51bGwsXG4gICAgICBkcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXG4gICAgICBkcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxuICAgICAgd2lkdGg6IG51bGwsXG4gICAgICBmb2N1c0JvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxuICAgICAgZm9jdXNCb3JkZXJDb2xvcjogJyNmZmJiMDAnLFxuICAgICAgZm9jdXNCYWNrZ3JvdW5kOiBudWxsLFxuICAgICAgZm9jdXNDb2xvcjogJyM0NDQ0NDQnLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJMZWZ0OiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1czogbnVsbCxcbiAgICAgIGhvdmVyQm9yZGVyQ29sb3I6ICcjRkZCQjAwJyxcbiAgICAgIGhvdmVyQm9yZGVyV2lkdGg6ICcwLjA5NHJlbScsXG4gICAgICBob3ZlckNvbG9yOiAnIzQ0NDQ0NCcsXG4gICAgICBkaXNhYmxlQ29sb3I6ICcjOTk5OTk5JyxcbiAgICAgIGRpc2FibGVCYWNrZ3JvdW5kOiAnI0VDRUNFQycsXG4gICAgICBlcnJvckJvcmRlckNvbG9yOiAnI0VFMDAwMCcsXG4gICAgICBlcnJvckJvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxuICAgICAgZXJyb3JDb2xvcjogJyM0NDQ0NDQnLFxuICAgICAgY3JlYXRlZERhdGU6IG51bGwsXG4gICAgICBwYWRkaW5nOiBudWxsLFxuICAgICAgbWFyZ2luOiBudWxsLFxuICAgICAgaXNNYXN0ZXJDc3M6IG51bGwsXG4gICAgICBjb250cm9sTWV0YUlkOlxuICAgICAgICAnQUxMX0RQX0RQX0NUUkxfYW1vdW50VGV4dGJveF9taW5pbXVtR3VhcmFudGVlZEFubnVpdHlQYXlvdXRfVjEnLFxuICAgICAgYm9yZGVyU3R5bGU6IG51bGwsXG4gICAgICBoZWlnaHQ6IG51bGwsXG4gICAgICBtaW5IZWlnaHQ6IG51bGwsXG4gICAgICBtYXhIZWlnaHQ6IG51bGwsXG4gICAgICBtaW5XaWR0aDogbnVsbCxcbiAgICAgIG1heFdpZHRoOiBudWxsLFxuICAgICAgY3NzQ2xhc3M6IG51bGwsXG4gICAgfSxcbiAgICBmaWVsZE5hbWU6ICdtaW5pbXVtR3VhcmFudGVlZEFubnVpdHlQYXlvdXQnLFxuICAgIGxhYmVsOiAnQW5udWl0eScsXG4gICAgcGxhY2VIb2xkZXI6ICcnLFxuICAgIG1ldGFJZDogJ0FMTF9EUF9EUF9DVFJMX2Ftb3VudFRleHRib3hfbWluaW11bUd1YXJhbnRlZWRBbm51aXR5UGF5b3V0X1YxJyxcbiAgICBpc1Zpc2libGU6IHRydWUsXG4gICAgaXNEaXNhYmxlOiB0cnVlLFxuICAgIGRlZmF1bHRWYWx1ZTogbnVsbCxcbiAgICB2YWxpZGF0b3JzOiB7XG4gICAgICBpc1JlcXVpcmVkOiBmYWxzZSxcbiAgICAgIHJlcXVpcmVkTWVzc2FnZTogJ0VudGVyIEFubnVpdHkgUGF5b3V0JyxcbiAgICAgIG1pbkxlbmd0aDogNCxcbiAgICAgIG1pbkxlbmd0aE1lc3NhZ2U6IG51bGwsXG4gICAgICBtYXhMZW5ndGg6IDEwLFxuICAgICAgbWF4TGVuZ3RoTWVzc2FnZTogbnVsbCxcbiAgICAgIHBhdHRlcm46IG51bGwsXG4gICAgICBwYXR0ZXJuTWVzc2FnZTogbnVsbCxcbiAgICB9LFxuICAgIG9wdGlvbnM6IFtcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6ICdNb250aGx5JyxcbiAgICAgICAgbGFiZWw6ICdNb250aGx5JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiAnT25lIFRpbWUnLFxuICAgICAgICBsYWJlbDogJ09uZSBUaW1lJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiAnUXVhcnRlcmx5JyxcbiAgICAgICAgbGFiZWw6ICdRdWFydGVybHknLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6ICdIYWxmIFllYXJseScsXG4gICAgICAgIGxhYmVsOiAnSGFsZiBZZWFybHknLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6ICdZZWFybHknLFxuICAgICAgICBsYWJlbDogJ1llYXJseScsXG4gICAgICB9LFxuICAgIF0sXG4gICAgY3NzQ2xhc3M6XG4gICAgICAnIGNvbC1zbS0xMiBjb2wtbWQtMyBjb2wtbGctMyBjb2wteGwtMyBweS0wIHBsLTMgbXQtMSBwci0wIG1pbmltdW1HdWFyYW50ZWVkQW5udWl0eVBheW91dCcsXG4gICAgdmFsdWU6IG51bGwsXG4gICAgc3R5bGU6IG51bGwsXG4gICAgaW1hZ2VVcmw6IG51bGwsXG4gICAgY29uZmlnRGF0YToge1xuICAgICAgaXNDb21hU2VwZXJhdGVkOiB0cnVlLFxuICAgICAgaXNBbGxvd051bWJlcnNJblRleHRGaWVsZHM6IHRydWUsXG4gICAgICBoZWxwZXJUZXh0OiAnJyxcbiAgICAgIG51bWJlcnRvd29yZDogJydcbiAgICB9LFxuICAgIG1ldGFEYXRhT2JqOiBudWxsLFxuICAgIGlzU2hvd0xhYmVsOiB0cnVlLFxuICAgIGlzTWFzdGVyQ29udHJvbDogZmFsc2UsXG4gICAgY29udHJvbFR5cGU6ICdhbW91bnRUZXh0Ym94JyxcbiAgfTtcblxuICBlbmFibGVBdXRvRGViaXRPYmo6IGFueSA9IHtcbiAgICBjb250cm9sVHlwZTogJ3RvZ2dsZScsXG4gICAgZmllbGROYW1lOiAnYXV0b0RlYml0JyxcbiAgICBsYWJlbDogJ0VuYWJsZSBBdXRvLVBheSB0byBnZXQgYWRkaXRpb25hbCBiZW5lZml0cycsXG4gICAgcGxhY2VIb2xkZXI6ICcnLFxuICAgIG1ldGFJZDogJ0FMTF9DT01fR0VOX0NUUkxfdG9nZ2xlX2F1dG9EZWJpdF9WMScsXG4gICAgaXNWaXNpYmxlOiB0cnVlLFxuICAgIGlzRGlzYWJsZTogZmFsc2UsXG4gICAgdmFsaWRhdG9yczoge1xuICAgICAgaXNSZXF1aXJlZDogZmFsc2UsXG4gICAgICByZXF1aXJlZE1lc3NhZ2U6ICdUaGlzIGZpZWxkIGNhbm5vdCBiZSBlbXB0eScsXG4gICAgICBtaW5MZW5ndGg6IG51bGwsXG4gICAgICBtaW5MZW5ndGhNZXNzYWdlOiBudWxsLFxuICAgICAgbWF4TGVuZ3RoOiBudWxsLFxuICAgICAgbWF4TGVuZ3RoTWVzc2FnZTogbnVsbCxcbiAgICAgIHBhdHRlcm46IG51bGwsXG4gICAgICBwYXR0ZXJuTWVzc2FnZTogJycsXG4gICAgfSxcbiAgICBvcHRpb25zOiBudWxsLFxuICAgIGNzc0NsYXNzOiAnY29sLXNtLTEyIGNvbC1tZC01IGNvbC1sZy01IGNvbC14bC01IG10LTQgYXV0b1BheScsXG4gICAgdmFsdWU6IGZhbHNlLFxuICAgIHN0eWxlOiBudWxsLFxuICAgIGltYWdlVXJsOiBudWxsLFxuICAgIGlzU2hvd0xhYmVsOiB0cnVlLFxuICAgIGNvbnRyb2xTdHlsZToge1xuICAgICAgY29udHJvbFR5cGU6ICd0b2dnbGUnLFxuICAgICAgYm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBib3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcbiAgICAgIGJvcmRlclJhZGl1czogbnVsbCxcbiAgICAgIGZvbnRTaXplOiAnMTJweCcsXG4gICAgICBmb250V2VpZ2h0OiAnNDAwJyxcbiAgICAgIGZvbnRGYW1pbHk6ICdNdWxpc2gnLFxuICAgICAgY29sb3I6ICcjNDQ0NDQ0JyxcbiAgICAgIGJhY2tncm91bmQ6ICcjRTZGN0YzJyxcbiAgICAgIGNhcmV0Q29sb3I6IG51bGwsXG4gICAgICBudWRnZURpc3BsYXlJbWFnZTogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXG4gICAgICBkcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXG4gICAgICB3aWR0aDogbnVsbCxcbiAgICAgIGZvY3VzQm9yZGVyV2lkdGg6ICcwLjA5NHJlbScsXG4gICAgICBmb2N1c0JvcmRlckNvbG9yOiBudWxsLFxuICAgICAgZm9jdXNCYWNrZ3JvdW5kOiBudWxsLFxuICAgICAgZm9jdXNDb2xvcjogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyTGVmdDogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJSYWRpdXM6IG51bGwsXG4gICAgICBob3ZlckJvcmRlckNvbG9yOiBudWxsLFxuICAgICAgaG92ZXJCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcbiAgICAgIGhvdmVyQ29sb3I6IG51bGwsXG4gICAgICBkaXNhYmxlQ29sb3I6ICcjRUNFQ0VDJyxcbiAgICAgIGRpc2FibGVCYWNrZ3JvdW5kOiAnI0VDRUNFQycsXG4gICAgICBlcnJvckJvcmRlckNvbG9yOiBudWxsLFxuICAgICAgZXJyb3JCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcbiAgICAgIGVycm9yQ29sb3I6IG51bGwsXG4gICAgICBjcmVhdGVkRGF0ZTogbnVsbCxcbiAgICAgIHBhZGRpbmc6IG51bGwsXG4gICAgICBtYXJnaW46IG51bGwsXG4gICAgICBpc01hc3RlckNzczogbnVsbCxcbiAgICAgIGNvbnRyb2xNZXRhSWQ6ICdBTExfQ09NX0dFTl9DVFJMX3RvZ2dsZV9tYWlsaW5nQWRkcmVzc1RvZ2dsZV9WMScsXG4gICAgICBib3JkZXJTdHlsZTogbnVsbCxcbiAgICAgIGhlaWdodDogbnVsbCxcbiAgICAgIG1pbkhlaWdodDogbnVsbCxcbiAgICAgIG1heEhlaWdodDogbnVsbCxcbiAgICAgIG1pbldpZHRoOiBudWxsLFxuICAgICAgbWF4V2lkdGg6IG51bGwsXG4gICAgICBjc3NDbGFzczogbnVsbCxcbiAgICB9LFxuICAgIGNvbHVtbkluZGV4OiAwLFxuICAgIGNvbmZpZ0RhdGE6IHt9LFxuICAgIGNvbnRyb2xTdHlsZXM6IG51bGwsXG4gIH07XG5cbiAgcmVjYWxjdWxhdGVCdXR0b246IGFueSA9IHtcbiAgICBjb250cm9sVHlwZTogJ2J1dHRvbicsXG4gICAgZmllbGROYW1lOiAnY2FsY3VsYXRlQW5udWl0eVBheW91dCcsXG4gICAgbGFiZWw6ICdDYWxjdWxhdGUgQW5udWl0eSBQYXlvdXQnLFxuICAgIHBsYWNlSG9sZGVyOiBudWxsLFxuICAgIG1ldGFJZDogJ0xJX0RQX0dFTl9DVFJMX2J1dHRvbl9jYWxjdWxhdGVBbm51aXR5UGF5b3V0X1YxJyxcbiAgICBpc1Zpc2libGU6IHRydWUsXG4gICAgaXNEaXNhYmxlOiBmYWxzZSxcbiAgICB2YWxpZGF0b3JzOiB7XG4gICAgICBpc1JlcXVpcmVkOiBmYWxzZSxcbiAgICAgIHJlcXVpcmVkTWVzc2FnZTogJ1RoaXMgZmllbGQgY2Fubm90IGJlIGVtcHR5JyxcbiAgICAgIG1pbkxlbmd0aDogbnVsbCxcbiAgICAgIG1pbkxlbmd0aE1lc3NhZ2U6IG51bGwsXG4gICAgICBtYXhMZW5ndGg6IG51bGwsXG4gICAgICBtYXhMZW5ndGhNZXNzYWdlOiBudWxsLFxuICAgICAgcGF0dGVybjogbnVsbCxcbiAgICAgIHBhdHRlcm5NZXNzYWdlOiAnJyxcbiAgICB9LFxuICAgIG9wdGlvbnM6IG51bGwsXG4gICAgY3NzQ2xhc3M6ICcgY29sLXNtLTEyIGNvbC1tZC0xMiBjb2wtbGctMTIgY29sLXhsLTEyIG10LTMnLFxuICAgIHZhbHVlOiBudWxsLFxuICAgIHN0eWxlOiBudWxsLFxuICAgIGltYWdlVXJsOiBudWxsLFxuICAgIGlzU2hvd0xhYmVsOiB0cnVlLFxuICAgIGNvbnRyb2xTdHlsZToge1xuICAgICAgY29udHJvbFR5cGU6IG51bGwsXG4gICAgICBib3JkZXJDb2xvcjogbnVsbCxcbiAgICAgIGJvcmRlcldpZHRoOiBudWxsLFxuICAgICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICAgIGZvbnRTaXplOiAnMTJweCcsXG4gICAgICBmb250V2VpZ2h0OiBudWxsLFxuICAgICAgZm9udEZhbWlseTogbnVsbCxcbiAgICAgIGNvbG9yOiBudWxsLFxuICAgICAgYmFja2dyb3VuZDogJyNGRkJCMDAnLFxuICAgICAgY2FyZXRDb2xvcjogbnVsbCxcbiAgICAgIG51ZGdlRGlzcGxheUltYWdlOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcbiAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICBmb2N1c0JvcmRlcldpZHRoOiBudWxsLFxuICAgICAgZm9jdXNCb3JkZXJDb2xvcjogbnVsbCxcbiAgICAgIGZvY3VzQmFja2dyb3VuZDogbnVsbCxcbiAgICAgIGZvY3VzQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlckxlZnQ6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyUmFkaXVzOiBudWxsLFxuICAgICAgaG92ZXJCb3JkZXJDb2xvcjogbnVsbCxcbiAgICAgIGhvdmVyQm9yZGVyV2lkdGg6IG51bGwsXG4gICAgICBob3ZlckNvbG9yOiBudWxsLFxuICAgICAgZGlzYWJsZUNvbG9yOiBudWxsLFxuICAgICAgZGlzYWJsZUJhY2tncm91bmQ6IG51bGwsXG4gICAgICBlcnJvckJvcmRlckNvbG9yOiBudWxsLFxuICAgICAgZXJyb3JCb3JkZXJXaWR0aDogbnVsbCxcbiAgICAgIGVycm9yQ29sb3I6IG51bGwsXG4gICAgICBjcmVhdGVkRGF0ZTogbnVsbCxcbiAgICAgIHBhZGRpbmc6IG51bGwsXG4gICAgICBtYXJnaW46IG51bGwsXG4gICAgICBpc01hc3RlckNzczogbnVsbCxcbiAgICAgIGNvbnRyb2xNZXRhSWQ6ICdMSV9EUF9HRU5fQ1RSTF9idXR0b25fY2FsY3VsYXRlQW5udWl0eVBheW91dF9WMScsXG4gICAgICBib3JkZXJTdHlsZTogbnVsbCxcbiAgICAgIGhlaWdodDogbnVsbCxcbiAgICAgIG1pbkhlaWdodDogbnVsbCxcbiAgICAgIG1heEhlaWdodDogbnVsbCxcbiAgICAgIG1pbldpZHRoOiBudWxsLFxuICAgICAgbWF4V2lkdGg6IG51bGwsXG4gICAgICBjc3NDbGFzczogbnVsbCxcbiAgICB9LFxuICAgIGNvbHVtbkluZGV4OiAwLFxuICAgIGNvbmZpZ0RhdGE6IHt9LFxuICAgIGNvbnRyb2xTdHlsZXM6IG51bGwsXG4gIH07XG5cbiAgaW50ZXJjaGFuZ2VCdXR0b25PYmo6IGFueSA9IHtcbiAgICBjb250cm9sU3R5bGU6IHtcbiAgICAgIGNvbnRyb2xUeXBlOiBudWxsLFxuICAgICAgYm9yZGVyQ29sb3I6ICcjREREREREJyxcbiAgICAgIGJvcmRlcldpZHRoOiAnMHB4JyxcbiAgICAgIGJvcmRlclJhZGl1czogJzUwJScsXG4gICAgICBmb250U2l6ZTogbnVsbCxcbiAgICAgIGZvbnRXZWlnaHQ6IG51bGwsXG4gICAgICBmb250RmFtaWx5OiBudWxsLFxuICAgICAgY29sb3I6IG51bGwsXG4gICAgICBiYWNrZ3JvdW5kOiBudWxsLFxuICAgICAgY2FyZXRDb2xvcjogbnVsbCxcbiAgICAgIG51ZGdlRGlzcGxheUltYWdlOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcbiAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICBmb2N1c0JvcmRlcldpZHRoOiBudWxsLFxuICAgICAgZm9jdXNCb3JkZXJDb2xvcjogbnVsbCxcbiAgICAgIGZvY3VzQmFja2dyb3VuZDogbnVsbCxcbiAgICAgIGZvY3VzQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlckxlZnQ6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyUmFkaXVzOiBudWxsLFxuICAgICAgaG92ZXJCb3JkZXJDb2xvcjogbnVsbCxcbiAgICAgIGhvdmVyQm9yZGVyV2lkdGg6IG51bGwsXG4gICAgICBob3ZlckNvbG9yOiBudWxsLFxuICAgICAgZGlzYWJsZUNvbG9yOiBudWxsLFxuICAgICAgZGlzYWJsZUJhY2tncm91bmQ6IG51bGwsXG4gICAgICBlcnJvckJvcmRlckNvbG9yOiBudWxsLFxuICAgICAgZXJyb3JCb3JkZXJXaWR0aDogbnVsbCxcbiAgICAgIGVycm9yQ29sb3I6IG51bGwsXG4gICAgICBjcmVhdGVkRGF0ZTogbnVsbCxcbiAgICAgIHBhZGRpbmc6IG51bGwsXG4gICAgICBtYXJnaW46IG51bGwsXG4gICAgICBpc01hc3RlckNzczogbnVsbCxcbiAgICAgIGNvbnRyb2xNZXRhSWQ6IG51bGwsXG4gICAgICBib3JkZXJTdHlsZTogbnVsbCxcbiAgICAgIGhlaWdodDogJzI2cHgnLFxuICAgICAgbWluSGVpZ2h0OiBudWxsLFxuICAgICAgbWF4SGVpZ2h0OiBudWxsLFxuICAgICAgbWluV2lkdGg6IG51bGwsXG4gICAgICBtYXhXaWR0aDogbnVsbCxcbiAgICAgIGNzc0NsYXNzOiBudWxsLFxuICAgIH0sXG4gICAgZmllbGROYW1lOiAnYW5udWl0eUludGVyQ2hhbmdlJyxcbiAgICBsYWJlbDogJ0FubnVpdHkgSW50ZXJjaGFuZ2UgQnV0dG9uJyxcbiAgICBwbGFjZUhvbGRlcjogbnVsbCxcbiAgICBtZXRhSWQ6ICdBTExfQ09NX0dFTl9NQ1RSTF9kb3dubG9hZEljb25CdXR0b25fYW5udWl0eUludGVyQ2hhbmdlX1YxJyxcbiAgICBpc1Zpc2libGU6IHRydWUsXG4gICAgaXNEaXNhYmxlOiBmYWxzZSxcbiAgICBkZWZhdWx0VmFsdWU6IG51bGwsXG4gICAgdmFsaWRhdG9yczoge1xuICAgICAgaXNSZXF1aXJlZDogZmFsc2UsXG4gICAgICByZXF1aXJlZE1lc3NhZ2U6ICdUaGlzIGZpZWxkIGNhbm5vdCBiZSBlbXB0eScsXG4gICAgICBtaW5MZW5ndGg6IG51bGwsXG4gICAgICBtaW5MZW5ndGhNZXNzYWdlOiBudWxsLFxuICAgICAgbWF4TGVuZ3RoOiBudWxsLFxuICAgICAgbWF4TGVuZ3RoTWVzc2FnZTogbnVsbCxcbiAgICAgIHBhdHRlcm46IG51bGwsXG4gICAgICBwYXR0ZXJuTWVzc2FnZTogJycsXG4gICAgfSxcbiAgICBvcHRpb25zOiBbXSxcbiAgICBjc3NDbGFzczogbnVsbCxcbiAgICB2YWx1ZTogbnVsbCxcbiAgICBzdHlsZTogbnVsbCxcbiAgICBpbWFnZVVybDpcbiAgICAgICdodHRwczovL2Nkbi5nb2RpZ2l0LmNvbS9kaWdpdFBsdXNBc3NldHMvVHJhbnNpdGlvbi13aXRoLWJvcmRlci1pY29uLnN2ZycsXG4gICAgY29uZmlnRGF0YToge30sXG4gICAgbWV0YURhdGFPYmo6IG51bGwsXG4gICAgaXNTaG93TGFiZWw6IHRydWUsXG4gICAgaXNNYXN0ZXJDb250cm9sOiB0cnVlLFxuICAgIGNvbnRyb2xUeXBlOiAnZG93bmxvYWRJY29uQnV0dG9uJyxcbiAgfTtcblxuICBnZW5lcmF0ZVN1bW1hcnlPYmo6IGFueSA9IHtcbiAgICBjb250cm9sVHlwZTogJ2J1dHRvbicsXG4gICAgZmllbGROYW1lOiAnZ2VuZXJhdGVTdW1tYXJ5JyxcbiAgICBsYWJlbDogJ0dlbmVyYXRlIFN1bW1hcnknLFxuICAgIHBsYWNlSG9sZGVyOiBudWxsLFxuICAgIG1ldGFJZDogJ0xJX0RQX0dFTl9DVFJMX2J1dHRvbl9nZW5lcmF0ZVN1bW1hcnlfVjEnLFxuICAgIGlzVmlzaWJsZTogdHJ1ZSxcbiAgICBpc0Rpc2FibGU6IHRydWUsXG4gICAgdmFsaWRhdG9yczoge1xuICAgICAgaXNSZXF1aXJlZDogZmFsc2UsXG4gICAgICByZXF1aXJlZE1lc3NhZ2U6ICdUaGlzIGZpZWxkIGNhbm5vdCBiZSBlbXB0eScsXG4gICAgICBtaW5MZW5ndGg6IG51bGwsXG4gICAgICBtaW5MZW5ndGhNZXNzYWdlOiBudWxsLFxuICAgICAgbWF4TGVuZ3RoOiBudWxsLFxuICAgICAgbWF4TGVuZ3RoTWVzc2FnZTogbnVsbCxcbiAgICAgIHBhdHRlcm46IG51bGwsXG4gICAgICBwYXR0ZXJuTWVzc2FnZTogJycsXG4gICAgfSxcbiAgICBvcHRpb25zOiBudWxsLFxuICAgIGNzc0NsYXNzOiAnIGNvbC1zbS0xMiBjb2wtbWQtMTIgY29sLWxnLTEyIGNvbC14bC0xMiBteS0xIG10LTMnLFxuICAgIHZhbHVlOiBudWxsLFxuICAgIHN0eWxlOiBudWxsLFxuICAgIGltYWdlVXJsOiBudWxsLFxuICAgIGlzU2hvd0xhYmVsOiB0cnVlLFxuICAgIGNvbnRyb2xTdHlsZToge1xuICAgICAgY29udHJvbFR5cGU6IG51bGwsXG4gICAgICBib3JkZXJDb2xvcjogbnVsbCxcbiAgICAgIGJvcmRlcldpZHRoOiBudWxsLFxuICAgICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICAgIGZvbnRTaXplOiAnMTJweCcsXG4gICAgICBmb250V2VpZ2h0OiBudWxsLFxuICAgICAgZm9udEZhbWlseTogbnVsbCxcbiAgICAgIGNvbG9yOiBudWxsLFxuICAgICAgYmFja2dyb3VuZDogJyNGRkJCMDAnLFxuICAgICAgY2FyZXRDb2xvcjogbnVsbCxcbiAgICAgIG51ZGdlRGlzcGxheUltYWdlOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcbiAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICBmb2N1c0JvcmRlcldpZHRoOiBudWxsLFxuICAgICAgZm9jdXNCb3JkZXJDb2xvcjogbnVsbCxcbiAgICAgIGZvY3VzQmFja2dyb3VuZDogbnVsbCxcbiAgICAgIGZvY3VzQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlckxlZnQ6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyUmFkaXVzOiBudWxsLFxuICAgICAgaG92ZXJCb3JkZXJDb2xvcjogbnVsbCxcbiAgICAgIGhvdmVyQm9yZGVyV2lkdGg6IG51bGwsXG4gICAgICBob3ZlckNvbG9yOiBudWxsLFxuICAgICAgZGlzYWJsZUNvbG9yOiBudWxsLFxuICAgICAgZGlzYWJsZUJhY2tncm91bmQ6IG51bGwsXG4gICAgICBlcnJvckJvcmRlckNvbG9yOiBudWxsLFxuICAgICAgZXJyb3JCb3JkZXJXaWR0aDogbnVsbCxcbiAgICAgIGVycm9yQ29sb3I6IG51bGwsXG4gICAgICBjcmVhdGVkRGF0ZTogbnVsbCxcbiAgICAgIHBhZGRpbmc6IG51bGwsXG4gICAgICBtYXJnaW46IG51bGwsXG4gICAgICBpc01hc3RlckNzczogbnVsbCxcbiAgICAgIGNvbnRyb2xNZXRhSWQ6ICdMSV9EUF9HRU5fQ1RSTF9idXR0b25fZ2VuZXJhdGVTdW1tYXJ5X1YxJyxcbiAgICAgIGJvcmRlclN0eWxlOiBudWxsLFxuICAgICAgaGVpZ2h0OiBudWxsLFxuICAgICAgbWluSGVpZ2h0OiBudWxsLFxuICAgICAgbWF4SGVpZ2h0OiBudWxsLFxuICAgICAgbWluV2lkdGg6IG51bGwsXG4gICAgICBtYXhXaWR0aDogbnVsbCxcbiAgICAgIGNzc0NsYXNzOiBudWxsLFxuICAgIH0sXG4gICAgY29sdW1uSW5kZXg6IDAsXG4gICAgY29uZmlnRGF0YToge30sXG4gICAgY29udHJvbFN0eWxlczogbnVsbCxcbiAgfTtcblxuICBndXJhbnRlZWRhbm51aXR5T2JqOiBhbnk9e1xuICAgICAgICAgICAgICAgIFwiY29udHJvbFR5cGVcIjogXCJyYWRpb1wiLFxuICAgICAgICAgICAgICAgIFwiZmllbGROYW1lXCI6IFwiZ3VyYW50ZWVkQW5udWl0eWFnZVwiLFxuICAgICAgICAgICAgICAgIFwibGFiZWxcIjogXCJNaW5pbXVtIEd1YXJhbnRlZWQgQW5udWl0eSBQYXlvdXQgJVwiLFxuICAgICAgICAgICAgICAgIFwicGxhY2VIb2xkZXJcIjogXCJcIixcbiAgICAgICAgICAgICAgICBcIm1ldGFJZFwiOiBcIkxJX0RQX0RQX0NUUkxfcmFkaW9fYW5udWl0eVR5cGVfVjFcIixcbiAgICAgICAgICAgICAgICBcImlzVmlzaWJsZVwiOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBcImlzRGlzYWJsZVwiOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBcInZhbGlkYXRvcnNcIjoge1xuICAgICAgICAgICAgICAgICAgXCJpc1JlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgICBcInJlcXVpcmVkTWVzc2FnZVwiOiBcIlRoaXMgZmllbGQgY2Fubm90IGJlIGVtcHR5XCIsXG4gICAgICAgICAgICAgICAgICBcIm1pbkxlbmd0aFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJtaW5MZW5ndGhNZXNzYWdlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcIm1heExlbmd0aFwiOiAxNTAsXG4gICAgICAgICAgICAgICAgICBcIm1heExlbmd0aE1lc3NhZ2VcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwicGF0dGVyblwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJwYXR0ZXJuTWVzc2FnZVwiOiBcIlwiXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBcIm9wdGlvbnNcIjogW10sXG4gICAgICAgICAgICAgICAgXCJjc3NDbGFzc1wiOiBcIiBjb2wtc20tMTIgY29sLW1kLTMgY29sLWxnLTMgY29sLXhsLTMgYW5udWl0eVR5cGVcIixcbiAgICAgICAgICAgICAgICBcInZhbHVlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgXCJzdHlsZVwiOiBudWxsLFxuICAgICAgICAgICAgICAgIFwiaW1hZ2VVcmxcIjogbnVsbCxcbiAgICAgICAgICAgICAgICBcImlzU2hvd0xhYmVsXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgXCJjb250cm9sU3R5bGVcIjoge1xuICAgICAgICAgICAgICAgICAgXCJjb250cm9sVHlwZVwiOiBcInJhZGlvXCIsXG4gICAgICAgICAgICAgICAgICBcImJvcmRlckNvbG9yXCI6IFwiI0RBREFEQVwiLFxuICAgICAgICAgICAgICAgICAgXCJib3JkZXJXaWR0aFwiOiBcIjFweFwiLFxuICAgICAgICAgICAgICAgICAgXCJib3JkZXJSYWRpdXNcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwiZm9udFNpemVcIjogXCIxMnB4XCIsXG4gICAgICAgICAgICAgICAgICBcImZvbnRXZWlnaHRcIjogXCI0MDBcIixcbiAgICAgICAgICAgICAgICAgIFwiZm9udEZhbWlseVwiOiBcIk11bGlzaFwiLFxuICAgICAgICAgICAgICAgICAgXCJjb2xvclwiOiBcIiM0NDQ0NDRcIixcbiAgICAgICAgICAgICAgICAgIFwiYmFja2dyb3VuZFwiOiBcIiNGRkZGRkZcIixcbiAgICAgICAgICAgICAgICAgIFwiY2FyZXRDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJudWRnZURpc3BsYXlJbWFnZVwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJkcm9wZG93bk9wdGlvbkJnQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwiZHJvcGRvd25PcHRpb25Db2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJkcm9wZG93bk9wdGlvbkZvbnRXZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwid2lkdGhcIjogXCI0NXB4XCIsXG4gICAgICAgICAgICAgICAgICBcImZvY3VzQm9yZGVyV2lkdGhcIjogXCIxcHhcIixcbiAgICAgICAgICAgICAgICAgIFwiZm9jdXNCb3JkZXJDb2xvclwiOiBcIiNmZmJiMDBcIixcbiAgICAgICAgICAgICAgICAgIFwiZm9jdXNCYWNrZ3JvdW5kXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcImZvY3VzQ29sb3JcIjogXCIjNDQ0NDQ0XCIsXG4gICAgICAgICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25CZ0NvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25Db2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyTGVmdFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyUmFkaXVzXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcImhvdmVyQm9yZGVyQ29sb3JcIjogXCIjREFEQURBXCIsXG4gICAgICAgICAgICAgICAgICBcImhvdmVyQm9yZGVyV2lkdGhcIjogXCIxcHhcIixcbiAgICAgICAgICAgICAgICAgIFwiaG92ZXJDb2xvclwiOiBcIiM0NDQ0NDRcIixcbiAgICAgICAgICAgICAgICAgIFwiZGlzYWJsZUNvbG9yXCI6IFwiI0VDRUNFQ1wiLFxuICAgICAgICAgICAgICAgICAgXCJkaXNhYmxlQmFja2dyb3VuZFwiOiBcIiNFQ0VDRUNcIixcbiAgICAgICAgICAgICAgICAgIFwiZXJyb3JCb3JkZXJDb2xvclwiOiBcIiNEQURBREFcIixcbiAgICAgICAgICAgICAgICAgIFwiZXJyb3JCb3JkZXJXaWR0aFwiOiBcIjFweFwiLFxuICAgICAgICAgICAgICAgICAgXCJlcnJvckNvbG9yXCI6IFwiIzQ0NDQ0NFwiLFxuICAgICAgICAgICAgICAgICAgXCJjcmVhdGVkRGF0ZVwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJwYWRkaW5nXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcIm1hcmdpblwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJpc01hc3RlckNzc1wiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJjb250cm9sTWV0YUlkXCI6IFwiTElfRFBfRFBfQ1RSTF9yYWRpb19hbm51aXR5VHlwZV9WMVwiLFxuICAgICAgICAgICAgICAgICAgXCJib3JkZXJTdHlsZVwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJoZWlnaHRcIjogXCIzMnB4XCIsXG4gICAgICAgICAgICAgICAgICBcIm1pbkhlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJtYXhIZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwibWluV2lkdGhcIjogXCI0NXB4XCIsXG4gICAgICAgICAgICAgICAgICBcIm1heFdpZHRoXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcImNzc0NsYXNzXCI6IG51bGxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFwiY29sdW1uSW5kZXhcIjogMCxcbiAgICAgICAgICAgICAgICBcImNvbmZpZ0RhdGFcIjoge30sXG4gICAgICAgICAgICAgICAgXCJjb250cm9sU3R5bGVzXCI6IG51bGxcbiAgfTtcblxuICBncm93dGhSYXRlT2JqOiBhbnkgPSB7XG4gICAgICAgIFwiY29udHJvbFN0eWxlXCI6IHtcbiAgICAgICAgICAgIFwiY29udHJvbFR5cGVcIjogXCJyYWRpb1wiLFxuICAgICAgICAgICAgXCJib3JkZXJDb2xvclwiOiBcIiNEQURBREFcIixcbiAgICAgICAgICAgIFwiYm9yZGVyV2lkdGhcIjogXCIxcHhcIixcbiAgICAgICAgICAgIFwiYm9yZGVyUmFkaXVzXCI6IG51bGwsXG4gICAgICAgICAgICBcImZvbnRTaXplXCI6IFwiMTZweFwiLFxuICAgICAgICAgICAgXCJmb250V2VpZ2h0XCI6IFwiNDAwXCIsXG4gICAgICAgICAgICBcImZvbnRGYW1pbHlcIjogXCJNdWxpc2hcIixcbiAgICAgICAgICAgIFwiY29sb3JcIjogXCIjNDQ0NDQ0XCIsXG4gICAgICAgICAgICBcImJhY2tncm91bmRcIjogXCIjRkZGRkZGXCIsXG4gICAgICAgICAgICBcImNhcmV0Q29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgIFwibnVkZ2VEaXNwbGF5SW1hZ2VcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZHJvcGRvd25PcHRpb25CZ0NvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcImRyb3Bkb3duT3B0aW9uQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZHJvcGRvd25PcHRpb25Gb250V2VpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICBcIndpZHRoXCI6IG51bGwsXG4gICAgICAgICAgICBcImZvY3VzQm9yZGVyV2lkdGhcIjogXCIxcHhcIixcbiAgICAgICAgICAgIFwiZm9jdXNCb3JkZXJDb2xvclwiOiBcIiNmZmJiMDBcIixcbiAgICAgICAgICAgIFwiZm9jdXNCYWNrZ3JvdW5kXCI6IG51bGwsXG4gICAgICAgICAgICBcImZvY3VzQ29sb3JcIjogXCIjNDQ0NDQ0XCIsXG4gICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25CZ0NvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25Db2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyTGVmdFwiOiBudWxsLFxuICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyUmFkaXVzXCI6IG51bGwsXG4gICAgICAgICAgICBcImhvdmVyQm9yZGVyQ29sb3JcIjogXCIjREFEQURBXCIsXG4gICAgICAgICAgICBcImhvdmVyQm9yZGVyV2lkdGhcIjogXCIxcHhcIixcbiAgICAgICAgICAgIFwiaG92ZXJDb2xvclwiOiBcIiM0NDQ0NDRcIixcbiAgICAgICAgICAgIFwiZGlzYWJsZUNvbG9yXCI6IFwiI0VDRUNFQ1wiLFxuICAgICAgICAgICAgXCJkaXNhYmxlQmFja2dyb3VuZFwiOiBcIiNFQ0VDRUNcIixcbiAgICAgICAgICAgIFwiZXJyb3JCb3JkZXJDb2xvclwiOiBcIiNEQURBREFcIixcbiAgICAgICAgICAgIFwiZXJyb3JCb3JkZXJXaWR0aFwiOiBcIjFweFwiLFxuICAgICAgICAgICAgXCJlcnJvckNvbG9yXCI6IFwiIzQ0NDQ0NFwiLFxuICAgICAgICAgICAgXCJjcmVhdGVkRGF0ZVwiOiBudWxsLFxuICAgICAgICAgICAgXCJwYWRkaW5nXCI6IG51bGwsXG4gICAgICAgICAgICBcIm1hcmdpblwiOiBudWxsLFxuICAgICAgICAgICAgXCJpc01hc3RlckNzc1wiOiBmYWxzZSxcbiAgICAgICAgICAgIFwiY29udHJvbE1ldGFJZFwiOiBudWxsLFxuICAgICAgICAgICAgXCJib3JkZXJTdHlsZVwiOiBudWxsLFxuICAgICAgICAgICAgXCJoZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgIFwibWluSGVpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICBcIm1heEhlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgXCJtaW5XaWR0aFwiOiBudWxsLFxuICAgICAgICAgICAgXCJtYXhXaWR0aFwiOiBudWxsLFxuICAgICAgICAgICAgXCJjc3NDbGFzc1wiOiBudWxsXG4gICAgICAgIH0sXG4gICAgICAgIFwiZmllbGROYW1lXCI6IFwiYW5udWl0eUdyb3d0aFJhdGVPcHRpb25cIixcbiAgICAgICAgXCJsYWJlbFwiOiBcIkVzdGltYXRlZCBHcm93dGggUmF0ZSBvZiBCZW5jaG1hcmsgSW5kZXgtIDxOaWZ0eSA1MD5cIixcbiAgICAgICAgXCJwbGFjZUhvbGRlclwiOiBudWxsLFxuICAgICAgICBcIm1ldGFJZFwiOiBudWxsLFxuICAgICAgICBcImlzVmlzaWJsZVwiOiB0cnVlLFxuICAgICAgICBcImlzRGlzYWJsZVwiOiBmYWxzZSxcbiAgICAgICAgXCJkZWZhdWx0VmFsdWVcIjogbnVsbCxcbiAgICAgICAgXCJ2YWxpZGF0b3JzXCI6IHtcbiAgICAgICAgICAgIFwiaXNSZXF1aXJlZFwiOiBmYWxzZSxcbiAgICAgICAgICAgIFwicmVxdWlyZWRNZXNzYWdlXCI6IG51bGwsXG4gICAgICAgICAgICBcIm1pbkxlbmd0aFwiOiBudWxsLFxuICAgICAgICAgICAgXCJtaW5MZW5ndGhNZXNzYWdlXCI6IG51bGwsXG4gICAgICAgICAgICBcIm1heExlbmd0aFwiOiBudWxsLFxuICAgICAgICAgICAgXCJtYXhMZW5ndGhNZXNzYWdlXCI6IG51bGwsXG4gICAgICAgICAgICBcInBhdHRlcm5cIjogbnVsbCxcbiAgICAgICAgICAgIFwicGF0dGVybk1lc3NhZ2VcIjogbnVsbFxuICAgICAgICB9LFxuICAgICAgICBcIm9wdGlvbnNcIjogW10sXG4gICAgICAgIFwiY3NzQ2xhc3NcIjogXCJjb2wtc20tMTIgY29sLW1kLTUgY29sLWxnLTUgY29sLXhsLTVcIixcbiAgICAgICAgXCJ2YWx1ZVwiOiBudWxsLFxuICAgICAgICBcInN0eWxlXCI6IG51bGwsXG4gICAgICAgIFwiaW1hZ2VVcmxcIjogbnVsbCxcbiAgICAgICAgXCJjb25maWdEYXRhXCI6IHtcbiAgICAgICAgICBcInNlbGVjdFZhbHVlXCI6IG51bGwsXG4gICAgICAgICAgXCJjYXJkc1ZhbHVlXCI6W10sXG4gICAgICAgICAgXCJpc1Nob3dDYXJkXCI6IHRydWUsXG4gICAgICAgICAgXCJpc1Nob3dSYWRpb09wdGlvblwiOiB0cnVlLFxuICAgICAgICAgIFwic3ViTGFiZWxcIjogXCJTZWxlY3QgQW5udWl0eSBQYXlvdXQgT3B0aW9uIHRoYXQgc3VpdHMgdGhlIGN1c3RvbWVyOlwiLFxuICAgICAgICAgIFwiaW5mb01lc3NhZ2VcIjogXCJUaGlzIGlzIHRoZSBmaXJzdCBhbm51aXR5IHBheW91dCBhbW91bnQsIGNhbGN1bGF0ZWQgdXNpbmcgYWN0dWFsIE5pZnR5IDUwIHBlcmZvcm1hbmNlIGZyb20gSmFuIDIwMDUgdG8gSmFuIDIwMDYuXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhRGF0YU9ialwiOiBudWxsLFxuICAgICAgICBcImlzU2hvd0xhYmVsXCI6IHRydWUsXG4gICAgICAgIFwiaXNNYXN0ZXJDb250cm9sXCI6IGZhbHNlLFxuICAgICAgICBcImNvbnRyb2xUeXBlXCI6IFwiYW5udWl0eUdyb3d0aFJhdGVPcHRpb25cIlxuICB9O1xuXG4gIGhyTGluZU9iajogYW55ID0ge1xuICAgICAgICBcImNvbnRyb2xTdHlsZVwiOiB7XG4gICAgICAgICAgICBcImNvbnRyb2xUeXBlXCI6IG51bGwsXG4gICAgICAgICAgICBcImJvcmRlckNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcImJvcmRlcldpZHRoXCI6IG51bGwsXG4gICAgICAgICAgICBcImJvcmRlclJhZGl1c1wiOiBudWxsLFxuICAgICAgICAgICAgXCJmb250U2l6ZVwiOiBudWxsLFxuICAgICAgICAgICAgXCJmb250V2VpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICBcImZvbnRGYW1pbHlcIjogbnVsbCxcbiAgICAgICAgICAgIFwiY29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgIFwiYmFja2dyb3VuZFwiOiBudWxsLFxuICAgICAgICAgICAgXCJjYXJldENvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcIm51ZGdlRGlzcGxheUltYWdlXCI6IG51bGwsXG4gICAgICAgICAgICBcImRyb3Bkb3duT3B0aW9uQmdDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJkcm9wZG93bk9wdGlvbkNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcImRyb3Bkb3duT3B0aW9uRm9udFdlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgXCJ3aWR0aFwiOiBudWxsLFxuICAgICAgICAgICAgXCJmb2N1c0JvcmRlcldpZHRoXCI6IG51bGwsXG4gICAgICAgICAgICBcImZvY3VzQm9yZGVyQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZm9jdXNCYWNrZ3JvdW5kXCI6IG51bGwsXG4gICAgICAgICAgICBcImZvY3VzQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkJnQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25Gb250V2VpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJMZWZ0XCI6IG51bGwsXG4gICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJSYWRpdXNcIjogbnVsbCxcbiAgICAgICAgICAgIFwiaG92ZXJCb3JkZXJDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJob3ZlckJvcmRlcldpZHRoXCI6IG51bGwsXG4gICAgICAgICAgICBcImhvdmVyQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZGlzYWJsZUNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcImRpc2FibGVCYWNrZ3JvdW5kXCI6IG51bGwsXG4gICAgICAgICAgICBcImVycm9yQm9yZGVyQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZXJyb3JCb3JkZXJXaWR0aFwiOiBudWxsLFxuICAgICAgICAgICAgXCJlcnJvckNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcImNyZWF0ZWREYXRlXCI6IG51bGwsXG4gICAgICAgICAgICBcInBhZGRpbmdcIjogbnVsbCxcbiAgICAgICAgICAgIFwibWFyZ2luXCI6IG51bGwsXG4gICAgICAgICAgICBcImlzTWFzdGVyQ3NzXCI6IG51bGwsXG4gICAgICAgICAgICBcImNvbnRyb2xNZXRhSWRcIjogbnVsbCxcbiAgICAgICAgICAgIFwiYm9yZGVyU3R5bGVcIjogbnVsbCxcbiAgICAgICAgICAgIFwiaGVpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICBcIm1pbkhlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgXCJtYXhIZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgIFwibWluV2lkdGhcIjogbnVsbCxcbiAgICAgICAgICAgIFwibWF4V2lkdGhcIjogbnVsbCxcbiAgICAgICAgICAgIFwiY3NzQ2xhc3NcIjogbnVsbFxuICAgICAgICB9LFxuICAgICAgICBcImZpZWxkTmFtZVwiOiBcImhyTGluZVwiLFxuICAgICAgICBcImxhYmVsXCI6IFwiSG9yaXpvbnRhbCBMaW5lXCIsXG4gICAgICAgIFwicGxhY2VIb2xkZXJcIjogbnVsbCxcbiAgICAgICAgXCJtZXRhSWRcIjogXCJBTExfQ09NX0dFTl9NQ1RSTF9ockxpbmVfaHJMaW5lX1YxXCIsXG4gICAgICAgIFwiaXNWaXNpYmxlXCI6IHRydWUsXG4gICAgICAgIFwiaXNEaXNhYmxlXCI6IGZhbHNlLFxuICAgICAgICBcImRlZmF1bHRWYWx1ZVwiOiBudWxsLFxuICAgICAgICBcInZhbGlkYXRvcnNcIjoge1xuICAgICAgICAgICAgXCJpc1JlcXVpcmVkXCI6IGZhbHNlLFxuICAgICAgICAgICAgXCJyZXF1aXJlZE1lc3NhZ2VcIjogXCJUaGlzIGZpZWxkIGNhbm5vdCBiZSBlbXB0eVwiLFxuICAgICAgICAgICAgXCJtaW5MZW5ndGhcIjogbnVsbCxcbiAgICAgICAgICAgIFwibWluTGVuZ3RoTWVzc2FnZVwiOiBudWxsLFxuICAgICAgICAgICAgXCJtYXhMZW5ndGhcIjogbnVsbCxcbiAgICAgICAgICAgIFwibWF4TGVuZ3RoTWVzc2FnZVwiOiBudWxsLFxuICAgICAgICAgICAgXCJwYXR0ZXJuXCI6IG51bGwsXG4gICAgICAgICAgICBcInBhdHRlcm5NZXNzYWdlXCI6IFwiXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJvcHRpb25zXCI6IFtdLFxuICAgICAgICBcImNzc0NsYXNzXCI6IG51bGwsXG4gICAgICAgIFwidmFsdWVcIjogbnVsbCxcbiAgICAgICAgXCJzdHlsZVwiOiBudWxsLFxuICAgICAgICBcImltYWdlVXJsXCI6IG51bGwsXG4gICAgICAgIFwiY29uZmlnRGF0YVwiOiB7fSxcbiAgICAgICAgXCJtZXRhRGF0YU9ialwiOiBudWxsLFxuICAgICAgICBcImlzU2hvd0xhYmVsXCI6IHRydWUsXG4gICAgICAgIFwiaXNNYXN0ZXJDb250cm9sXCI6IHRydWUsXG4gICAgICAgIFwiY29udHJvbFR5cGVcIjogXCJockxpbmVcIlxuICAgIH07XG5cblxuICBhbm51aXR5cGF5b3V0T2JqOiBhbnk9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbnRyb2xUeXBlXCI6IFwic2VsZWN0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZmllbGROYW1lXCI6IFwiYW5udWl0eVBheW91dE9wdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImxhYmVsXCI6IFwiUHJlbWl1bSBQYXltZW50IEZyZXF1ZW5jeVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInBsYWNlSG9sZGVyXCI6IFwiU2VsZWN0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWV0YUlkXCI6IFwiQUxMX0NPTV9HRU5fQ1RSTF9zZWxlY3RfYW5udWl0eVBheW91dE9wdGlvbl9WMVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImlzVmlzaWJsZVwiOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImlzRGlzYWJsZVwiOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ2YWxpZGF0b3JzXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaXNSZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJyZXF1aXJlZE1lc3NhZ2VcIjogXCJQbGVhc2Ugc2VsZWN0IE1pbmltdW0gR3VhcmFudGVlZCBBbm51aXR5IFBheW91dFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtaW5MZW5ndGhcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWluTGVuZ3RoTWVzc2FnZVwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtYXhMZW5ndGhcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWF4TGVuZ3RoTWVzc2FnZVwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJwYXR0ZXJuXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInBhdHRlcm5NZXNzYWdlXCI6IFwiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJvcHRpb25zXCI6IFt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ01vbnRobHknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdNb250aGx5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnT25lIFRpbWUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdPbmUgVGltZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ1F1YXJ0ZXJseScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1F1YXJ0ZXJseScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ0hhbGYgWWVhcmx5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnSGFsZiBZZWFybHknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdZZWFybHknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdZZWFybHknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjc3NDbGFzc1wiOiBcIiBjb2wtc20tMTIgY29sLW1kLTMgY29sLWxnLTMgY29sLXhsLTMgbXQtNCBwci0wIHB0LTJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInN0eWxlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaW1hZ2VVcmxcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpc1Nob3dMYWJlbFwiOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbnRyb2xTdHlsZVwiOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbnRyb2xUeXBlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJvcmRlckNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJvcmRlcldpZHRoXCI6IFwiMC4wOTRyZW1cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYm9yZGVyUmFkaXVzXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZvbnRTaXplXCI6IFwiMTJweFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb250V2VpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZvbnRGYW1pbHlcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYmFja2dyb3VuZFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjYXJldENvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm51ZGdlRGlzcGxheUltYWdlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRyb3Bkb3duT3B0aW9uQmdDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkcm9wZG93bk9wdGlvbkNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRyb3Bkb3duT3B0aW9uRm9udFdlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ3aWR0aFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb2N1c0JvcmRlcldpZHRoXCI6IFwiMC4wOTRyZW1cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZm9jdXNCb3JkZXJDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb2N1c0JhY2tncm91bmRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZm9jdXNDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkZvbnRXZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlckxlZnRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1c1wiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJob3ZlckJvcmRlckNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImhvdmVyQm9yZGVyV2lkdGhcIjogXCIwLjA5NHJlbVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJob3ZlckNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpc2FibGVDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXNhYmxlQmFja2dyb3VuZFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJlcnJvckJvcmRlckNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImVycm9yQm9yZGVyV2lkdGhcIjogXCIwLjA5NHJlbVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJlcnJvckNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNyZWF0ZWREYXRlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInBhZGRpbmdcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWFyZ2luXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImlzTWFzdGVyQ3NzXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbnRyb2xNZXRhSWRcIjogXCJBTExfQ09NX0dFTl9DVFJMX211bHRpcGxlU2VsZWN0X3NvdXJjZU9mRnVuZEZvclByZW1pdW1fVjFcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYm9yZGVyU3R5bGVcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaGVpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1pbkhlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtYXhIZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWluV2lkdGhcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWF4V2lkdGhcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY3NzQ2xhc3NcIjogbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbHVtbkluZGV4XCI6IDIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY29uZmlnRGF0YVwiOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJzdWJUZXh0XCI6IFwiRGlzY291bnQgIGF2YWlsYWJsZSBvbiBzb21lIG9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbnRyb2xTdHlsZXNcIjogbnVsbFxuXG4gIH07XG5cblxuICBtaW5pbXVtQW5udWl0eVBheW91dGZyZXF1ZW5jeU9iajogYW55PXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb250cm9sVHlwZVwiOiBcInNlbGVjdFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZpZWxkTmFtZVwiOiBcImFubnVpdHlQYXlvdXRGcmVxdWVuY3lPcHRpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJsYWJlbFwiOiBcIkFubnVpdHkgUGF5b3V0IEZyZXF1ZW5jeVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInBsYWNlSG9sZGVyXCI6IFwiU2VsZWN0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWV0YUlkXCI6IFwiQUxMX0NPTV9HRU5fQ1RSTF9zZWxlY3RfYW5udWl0eVBheW91dEZyZXF1ZW5jeU9wdGlvbl9WMVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImlzVmlzaWJsZVwiOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImlzRGlzYWJsZVwiOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ2YWxpZGF0b3JzXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaXNSZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJyZXF1aXJlZE1lc3NhZ2VcIjogXCJQbGVhc2Ugc2VsZWN0IE1pbmltdW0gR3VhcmFudGVlZCBBbm51aXR5IFBheW91dFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtaW5MZW5ndGhcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWluTGVuZ3RoTWVzc2FnZVwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtYXhMZW5ndGhcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWF4TGVuZ3RoTWVzc2FnZVwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJwYXR0ZXJuXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInBhdHRlcm5NZXNzYWdlXCI6IFwiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJvcHRpb25zXCI6IFt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ01vbnRobHknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdNb250aGx5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnT25lIFRpbWUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdPbmUgVGltZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ1F1YXJ0ZXJseScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1F1YXJ0ZXJseScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ0hhbGYgWWVhcmx5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnSGFsZiBZZWFybHknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdZZWFybHknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdZZWFybHknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY3NzQ2xhc3NcIjogXCIgY29sLXNtLTEyIGNvbC1tZC0zIGNvbC1sZy0zIGNvbC14bC0zIG10LTQgcHItMCBwdC0yXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJzdHlsZVwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImltYWdlVXJsXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaXNTaG93TGFiZWxcIjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb250cm9sU3R5bGVcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb250cm9sVHlwZVwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJib3JkZXJDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJib3JkZXJXaWR0aFwiOiBcIjAuMDk0cmVtXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJvcmRlclJhZGl1c1wiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb250U2l6ZVwiOiBcIjEycHhcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZm9udFdlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb250RmFtaWx5XCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJhY2tncm91bmRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY2FyZXRDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJudWRnZURpc3BsYXlJbWFnZVwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkcm9wZG93bk9wdGlvbkJnQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZHJvcGRvd25PcHRpb25Db2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkcm9wZG93bk9wdGlvbkZvbnRXZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwid2lkdGhcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZm9jdXNCb3JkZXJXaWR0aFwiOiBcIjAuMDk0cmVtXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZvY3VzQm9yZGVyQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZm9jdXNCYWNrZ3JvdW5kXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZvY3VzQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkJnQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25Gb250V2VpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJMZWZ0XCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJSYWRpdXNcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaG92ZXJCb3JkZXJDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJob3ZlckJvcmRlcldpZHRoXCI6IFwiMC4wOTRyZW1cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaG92ZXJDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXNhYmxlQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGlzYWJsZUJhY2tncm91bmRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZXJyb3JCb3JkZXJDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJlcnJvckJvcmRlcldpZHRoXCI6IFwiMC4wOTRyZW1cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZXJyb3JDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjcmVhdGVkRGF0ZVwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJwYWRkaW5nXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1hcmdpblwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpc01hc3RlckNzc1wiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb250cm9sTWV0YUlkXCI6IFwiQUxMX0NPTV9HRU5fQ1RSTF9tdWx0aXBsZVNlbGVjdF9zb3VyY2VPZkZ1bmRGb3JQcmVtaXVtX1YxXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJvcmRlclN0eWxlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImhlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtaW5IZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWF4SGVpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1pbldpZHRoXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1heFdpZHRoXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNzc0NsYXNzXCI6IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb2x1bW5JbmRleFwiOiAyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbmZpZ0RhdGFcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwic3ViVGV4dFwiOiBcIkRpc2NvdW50ICBhdmFpbGFibGUgb24gc29tZSBvcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb250cm9sU3R5bGVzXCI6IG51bGxcblxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBtYXN0ZXJTZXJ2aWNlIDogTWFzdGVyQ29udHJvbFNlcnZpY2UpIHt9XG5cbiAgIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnRyaWdnZXJWYWxpZGF0aW9uKSB7XG4gICAgICB0aGlzLnRyaWdnZXJWYWxpZGF0aW9uLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZ3Jvd3RoUmF0ZU9wdGlvblNlbGVjdGVkKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKCAoY2hhbmdlc1sncHJlbWl1bURldGFpbHMnXSkgJiYgIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KGNoYW5nZXNbJ3ByZW1pdW1EZXRhaWxzJ10uY3VycmVudFZhbHVlKSApIHtcblxuICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8ucmVjYWxjdWxhdGVTdWJUZXh0KSkge1xuICAgICAgICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5yZWNhbGN1bGF0ZVN1YlRleHRbJ2lzVmlzaWJsZSddKSkge1xuXG4gICAgICAgIHRoaXMucmVjYWxjdWxhdGVTdWJUZXh0T2JqWydpc1Zpc2libGUnXSA9dGhpcy5wcmVtaXVtRGV0YWlscygpLnJlY2FsY3VsYXRlU3ViVGV4dFsnaXNWaXNpYmxlJ10gO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgIH1cbiAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LlByZW1pdW0pKSB7XG4gICAgICAgIC8vIENyZWF0ZSBuZXcgb2JqZWN0IHRvIHRyaWdnZXIgY2hhbmdlIGRldGVjdGlvblxuICAgICAgICB0aGlzLmFubnVpdHlQcmVtaXVtID0ge1xuICAgICAgICAgIHRleHRWYWx1ZTogdGhpcy5wcmVtaXVtRGV0YWlscygpPy5QcmVtaXVtWyd0ZXh0VmFsdWUnXSxcbiAgICAgICAgICBzZWxlY3RWYWx1ZTogdGhpcy5wcmVtaXVtRGV0YWlscygpPy5QcmVtaXVtWydzZWxlY3RWYWx1ZSddLFxuICAgICAgICB9O1xuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5hbm51aXR5UHJlbWl1bVsndGV4dFZhbHVlJ10pICYmICF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLmFubnVpdHlQcmVtaXVtWydzZWxlY3RWYWx1ZSddKSkge1xuICAgICAgICBjb25zdCBmcmVxID0gYCBwZXIgJHt0aGlzLmFubnVpdHlQcmVtaXVtWydzZWxlY3RWYWx1ZSddfWA7XG4gICAgICAgIHRoaXMuYW5udWl0eVByZW1pdW1PYmouY29uZmlnRGF0YS5udW1iZXJ0b3dvcmQgPSB0aGlzLnRyYW5zZm9ybSh0aGlzLmFubnVpdHlQcmVtaXVtWyd0ZXh0VmFsdWUnXSkrIGZyZXE7XG4gICAgICAgIH1cblxuICAgICAgICBpZihPYmplY3QuaGFzT3duKHRoaXMucHJlbWl1bURldGFpbHMoKT8uUHJlbWl1bSwgJ2lzRGlzYWJsZScpKSB7XG4gICAgICAgICAgdGhpcy5hbm51aXR5UHJlbWl1bU9ialsnaXNEaXNhYmxlJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LlByZW1pdW1bJ2lzRGlzYWJsZSddO1xuICAgICAgICB9XG4gICAgICAgIGlmKE9iamVjdC5oYXNPd24odGhpcy5wcmVtaXVtRGV0YWlscygpPy5QcmVtaXVtLCAnaXNEaXNhYmxlRHJvcGRvd24nKSkge1xuICAgICAgICAgIHRoaXMuYW5udWl0eVByZW1pdW1PYmpbJ2NvbmZpZ0RhdGEnXVsnaXNEaXNhYmxlRHJvcGRvd24nXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uUHJlbWl1bVsnaXNEaXNhYmxlRHJvcGRvd24nXTtcbiAgICAgICAgfVxuICAgICAgICBpZihPYmplY3QuaGFzT3duKHRoaXMucHJlbWl1bURldGFpbHMoKT8uUHJlbWl1bSwgJ29wdGlvbnMnKSkge1xuICAgICAgICAgIHRoaXMuYW5udWl0eXBheW91dE9ialsnb3B0aW9ucyddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5QcmVtaXVtWydvcHRpb25zJ107XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uYW5udWl0eSkpIHtcbiAgICAgICAgLy8gQ3JlYXRlIG5ldyBvYmplY3QgdG8gdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uXG4gICAgICAgIHRoaXMubWludW11bUFubnVpdHlQYXlvdXQgPSB7XG4gICAgICAgICAgdGV4dFZhbHVlOiB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHlbJ3RleHRWYWx1ZSddLFxuICAgICAgICAgIHNlbGVjdFZhbHVlOiB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHlbJ3NlbGVjdFZhbHVlJ10sXG4gICAgICAgIH07XG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLm1pbnVtdW1Bbm51aXR5UGF5b3V0Wyd0ZXh0VmFsdWUnXSkgJiYgIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMubWludW11bUFubnVpdHlQYXlvdXRbJ3NlbGVjdFZhbHVlJ10pKSB7XG4gICAgICAgIGNvbnN0IGZyZXEgPSBgIHBlciAke3RoaXMubWludW11bUFubnVpdHlQYXlvdXRbJ3NlbGVjdFZhbHVlJ119YDtcbiAgICAgICAgdGhpcy5taW5pbXVtQW5udWl0eVBheW91dE9iai5jb25maWdEYXRhLm51bWJlcnRvd29yZCA9IHRoaXMudHJhbnNmb3JtKHRoaXMubWludW11bUFubnVpdHlQYXlvdXRbJ3RleHRWYWx1ZSddKSArIGZyZXE7XG4gICAgICAgIH1cblxuICAgICAgICBpZihPYmplY3QuaGFzT3duKHRoaXMucHJlbWl1bURldGFpbHMoKT8uYW5udWl0eSwgJ2lzRGlzYWJsZScpKSB7XG4gICAgICAgICAgdGhpcy5taW5pbXVtQW5udWl0eVBheW91dE9ialsnaXNEaXNhYmxlJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHlbJ2lzRGlzYWJsZSddO1xuICAgICAgICB9XG4gICAgICAgIGlmKE9iamVjdC5oYXNPd24odGhpcy5wcmVtaXVtRGV0YWlscygpPy5hbm51aXR5LCAnaXNEaXNhYmxlRHJvcGRvd24nKSkge1xuICAgICAgICAgIHRoaXMubWluaW11bUFubnVpdHlQYXlvdXRPYmpbJ2NvbmZpZ0RhdGEnXVsnaXNEaXNhYmxlRHJvcGRvd24nXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uYW5udWl0eVsnaXNEaXNhYmxlRHJvcGRvd24nXTtcbiAgICAgICAgfVxuICAgICAgICBpZihPYmplY3QuaGFzT3duKHRoaXMucHJlbWl1bURldGFpbHMoKT8uYW5udWl0eSwgJ29wdGlvbnMnKSkge1xuICAgICAgICAgIHRoaXMubWluaW11bUFubnVpdHlQYXlvdXRmcmVxdWVuY3lPYmpbJ29wdGlvbnMnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uYW5udWl0eVsnb3B0aW9ucyddO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYoT2JqZWN0Lmhhc093bih0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHksICdpc1Zpc2libGUnKSkge1xuICAgICAgICAgIHRoaXMubWluaW11bUFubnVpdHlQYXlvdXRPYmpbJ2lzVmlzaWJsZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5hbm51aXR5Wydpc1Zpc2libGUnXTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5hbm51aXR5VGFibGVDYWxjdWxhdG9yKSkge1xuICAgICAgICAvLyBDcmVhdGUgbmV3IG9iamVjdCB0byB0cmlnZ2VyIGNoYW5nZSBkZXRlY3Rpb25cbiAgICAgICAgdGhpcy5hbm51aXR5VGFibGVDYWxjdWxhdG9yID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5hbm51aXR5VGFibGVDYWxjdWxhdG9yO1xuICAgICAgfVxuXG4gICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5jYWxjdWxhdGVBbm51aXR5KSkge1xuXG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmNhbGN1bGF0ZUFubnVpdHlbJ2NvbnRyb2xTdHlsZSddKSkge1xuICAgICAgICAgIHRoaXMucmVjYWxjdWxhdGVCdXR0b25bJ2NvbnRyb2xTdHlsZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5jYWxjdWxhdGVBbm51aXR5Wydjb250cm9sU3R5bGUnXVxuICAgICAgICB9XG5cbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uY2FsY3VsYXRlQW5udWl0eVsnbGFiZWwnXSkpIHtcbiAgICAgICAgICB0aGlzLnJlY2FsY3VsYXRlQnV0dG9uWydsYWJlbCddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5jYWxjdWxhdGVBbm51aXR5WydsYWJlbCddXG4gICAgICAgIH1cbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uY2FsY3VsYXRlQW5udWl0eVsnaXNEaXNhYmxlJ10pKSB7XG4gICAgICAgICAgdGhpcy5yZWNhbGN1bGF0ZUJ1dHRvblsnaXNEaXNhYmxlJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmNhbGN1bGF0ZUFubnVpdHlbJ2lzRGlzYWJsZSddXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZGlnaXRCb3NzU3dpdGNoKSkge1xuICAgICAgICB0aGlzLmRpZ2l0Qm9zc1N3aXRjaCA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZGlnaXRCb3NzU3dpdGNoO1xuXG4gICAgICB9XG5cbiAgICAgIC8vZ3VyYW50ZWVkIEFubnVpdHkgb3B0aW9uc1xuXG4gICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5ndXJhbnRlZWRBbm51aXR5KSkge1xuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5ndXJhbnRlZWRBbm51aXR5WydvcHRpb25zJ10pKSB7XG4gICAgICAgICAgdGhpcy5ndXJhbnRlZWRhbm51aXR5T2JqWydvcHRpb25zJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/Lmd1cmFudGVlZEFubnVpdHlbJ29wdGlvbnMnXTtcbiAgICAgICAgfVxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5ndXJhbnRlZWRBbm51aXR5Wydpc1Zpc2libGUnXSkpIHtcbiAgICAgICAgICB0aGlzLmd1cmFudGVlZGFubnVpdHlPYmpbJ2lzVmlzaWJsZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5ndXJhbnRlZWRBbm51aXR5Wydpc1Zpc2libGUnXTtcbiAgICAgICAgfVxuXG5cbiAgICAgIH1cblxuICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ2VuZXJhdGVTdW1tYXJ5KSkge1xuXG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmdlbmVyYXRlU3VtbWFyeVsnaXNWaXNpYmxlJ10pKSB7XG4gICAgICAgICAgdGhpcy5nZW5lcmF0ZVN1bW1hcnlPYmpbJ2lzVmlzaWJsZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5nZW5lcmF0ZVN1bW1hcnlbJ2lzVmlzaWJsZSddXG4gICAgICAgIH1cblxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5nZW5lcmF0ZVN1bW1hcnlbJ2NvbnRyb2xTdHlsZSddKSkge1xuICAgICAgICAgIHRoaXMuZ2VuZXJhdGVTdW1tYXJ5T2JqWydjb250cm9sU3R5bGUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ2VuZXJhdGVTdW1tYXJ5Wydjb250cm9sU3R5bGUnXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmdlbmVyYXRlU3VtbWFyeVsnbGFiZWwnXSkpIHtcbiAgICAgICAgICB0aGlzLmdlbmVyYXRlU3VtbWFyeU9ialsnbGFiZWwnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ2VuZXJhdGVTdW1tYXJ5WydsYWJlbCddO1xuICAgICAgICB9XG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmdlbmVyYXRlU3VtbWFyeVsnaXNEaXNhYmxlJ10pKSB7XG4gICAgICAgICAgdGhpcy5nZW5lcmF0ZVN1bW1hcnlPYmpbJ2lzRGlzYWJsZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5nZW5lcmF0ZVN1bW1hcnlbJ2lzRGlzYWJsZSddXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uYXV0b1BheU9wdGlvbikpIHtcblxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5hdXRvUGF5T3B0aW9uWydpc1Zpc2libGUnXSkpIHtcbiAgICAgICAgICB0aGlzLmVuYWJsZUF1dG9EZWJpdE9ialsnaXNWaXNpYmxlJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmF1dG9QYXlPcHRpb25bJ2lzVmlzaWJsZSddO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uYXV0b1BheU9wdGlvblsnaXNWaXNpYmxlJ10pKSB7XG4gICAgICAgICAgdGhpcy5pc0VuYWJsZUF1dG9EZWJpdCA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uYXV0b1BheU9wdGlvblsnaXNFbmFibGVBdXRvRGViaXQnXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmF1dG9QYXlPcHRpb25bJ2lzRGlzYWJsZSddKSkge1xuICAgICAgICAgIHRoaXMuZW5hYmxlQXV0b0RlYml0T2JqWydpc0Rpc2FibGUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uYXV0b1BheU9wdGlvblsnaXNEaXNhYmxlJ107XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5ncm93dGhSYXRlT3B0aW9uKSkge1xuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5ncm93dGhSYXRlT3B0aW9uWydjb25maWdEYXRhJ10pKSB7XG4gICAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvblsnY29uZmlnRGF0YSddWydjYXJkc1ZhbHVlJ10pKSB7XG4gICAgICAgICAgdGhpcy5ncm93dGhSYXRlT2JqWydjb25maWdEYXRhJ11bJ2NhcmRzVmFsdWUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvblsnY29uZmlnRGF0YSddWydjYXJkc1ZhbHVlJ107XG4gICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5ncm93dGhSYXRlT3B0aW9uWydpc1Zpc2libGUnXSkpIHtcbiAgICAgICAgICB0aGlzLmdyb3d0aFJhdGVPYmpbJ2lzVmlzaWJsZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5ncm93dGhSYXRlT3B0aW9uWydpc1Zpc2libGUnXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/Lmdyb3d0aFJhdGVPcHRpb25bJ2NvbmZpZ0RhdGEnXVsnc2VsZWN0VmFsdWUnXSkpIHtcbiAgICAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvblsnY29uZmlnRGF0YSddWydzZWxlY3RWYWx1ZSddKSkge1xuICAgICAgICAgIHRoaXMuZ3Jvd3RoUmF0ZU9ialsnY29uZmlnRGF0YSddWydzZWxlY3RWYWx1ZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5ncm93dGhSYXRlT3B0aW9uWydjb25maWdEYXRhJ11bJ3NlbGVjdFZhbHVlJ107XG4gICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/Lmdyb3d0aFJhdGVPcHRpb25bJ3JhZGlvT3B0aW9ucyddKSkge1xuICAgICAgICAgIHRoaXMuZ3Jvd3RoUmF0ZU9ialsnb3B0aW9ucyddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5ncm93dGhSYXRlT3B0aW9uWydyYWRpb09wdGlvbnMnXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/Lmdyb3d0aFJhdGVPcHRpb25bJ2NvbmZpZ0RhdGEnXVsnaW5mb01lc3NhZ2UnXSkpIHtcbiAgICAgICAgICB0aGlzLmdyb3d0aFJhdGVPYmpbJ2NvbmZpZ0RhdGEnXVsnaW5mb01lc3NhZ2UnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvblsnY29uZmlnRGF0YSddWydpbmZvTWVzc2FnZSddO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvblsnY29uZmlnRGF0YSddWydwYXlnZXRJbmZvTWVzc2FnZSddKSkge1xuICAgICAgICAgIHRoaXMuZ3Jvd3RoUmF0ZU9ialsnY29uZmlnRGF0YSddWydwYXlnZXRJbmZvTWVzc2FnZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5ncm93dGhSYXRlT3B0aW9uWydjb25maWdEYXRhJ11bJ3BheWdldEluZm9NZXNzYWdlJ107XG4gICAgICAgIH1cblxuXG4gICAgICB9XG5cblxuICAgIH1cbiAgfVxuXG4gIGNhbGN1bGF0ZUJ1dHRvbkNsaWNrZWQoKSB7XG4gICAgdGhpcy52YWxpZGF0aW9ucy5pc3ByZW1pdW1FbnRyeSA9IGZhbHNlO1xuICAgIGlmKHRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMuYW5udWl0eVByZW1pdW1bJ3RleHRWYWx1ZSddKSkge1xuICAgICAgdGhpcy52YWxpZGF0aW9ucy5pc3ByZW1pdW1FbnRyeSA9IHRydWU7XG4gICAgfVxuICAgIHRoaXMub25DYWxjdWFsdGVCdXR0b25DbGljay5lbWl0KCk7XG4gIH1cblxuICBnZW5lcmF0ZVN1bW1hcnlDbGlja2VkKCkge1xuICAgIHRoaXMub25HZW5lcmF0ZVN1bW1hcnlDbGljay5lbWl0KCk7XG4gIH1cblxuICBzZWxlY3RlZEdyb3d0aFJhdGU6IGFueSA9IG51bGw7XG5cbiAgb25Hcm93dGhSYXRlUmFkaW9DaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRHcm93dGhSYXRlID0gZXZlbnQ7XG4gICAgdGhpcy5vbkdyb3d0aFJhdGVPcHRpb25TZWxlY3RlZC5lbWl0KHsgdHlwZTogJ3JhZGlvJywgdmFsdWU6IGV2ZW50IH0pO1xuICAgIC8vXG4gIH1cblxuICBvbkdyb3d0aFJhdGVDYXJkQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm9uR3Jvd3RoUmF0ZU9wdGlvblNlbGVjdGVkLmVtaXQoeyB0eXBlOiAnY2FyZCcsIHZhbHVlOiBldmVudCB9KTtcbiAgfVxuXG4gIGdyb3d0aFJhdGVTZWxlY3RlZCgpIHtcbiAgICB0aGlzLm9uR3Jvd3RoUmF0ZU9wdGlvblNlbGVjdGVkLmVtaXQoKTtcbiAgfVxuXG4gIG9uQW5udWl0eVByZW1pdW1WYWx1ZUNoYW5nZSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5hbm51aXR5UHJlbWl1bVsndGV4dFZhbHVlJ10gPSB2YWx1ZTtcbiAgdGhpcy52YWxpZGF0aW9ucy5pc3ByZW1pdW1FbnRyeSA9IGZhbHNlO1xuICAgIGlmKHRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMuYW5udWl0eVByZW1pdW1bJ3RleHRWYWx1ZSddKSkge1xuICAgIHRoaXMudmFsaWRhdGlvbnMuaXNwcmVtaXVtRW50cnkgPSB0cnVlO1xuICB9XG4gICAgdGhpcy5vbkFubnVpdHlQcmVtaXVtQ2hhbmdlLmVtaXQodGhpcy5hbm51aXR5UHJlbWl1bSk7XG5cbiAgICAvL2NvbnZlcnQgdG8gd29yZHNcbiAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5hbm51aXR5UHJlbWl1bVsndGV4dFZhbHVlJ10pICYmICF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLmFubnVpdHlQcmVtaXVtWydzZWxlY3RWYWx1ZSddKSkge1xuICAgIGNvbnN0IGZyZXEgPWAgcGVyICR7dGhpcy5hbm51aXR5UHJlbWl1bVsnc2VsZWN0VmFsdWUnXX1gO1xuICAgIHRoaXMuYW5udWl0eVByZW1pdW1PYmouY29uZmlnRGF0YS5udW1iZXJ0b3dvcmQgPSB0aGlzLnRyYW5zZm9ybSh0aGlzLmFubnVpdHlQcmVtaXVtWyd0ZXh0VmFsdWUnXSkgKyBmcmVxO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICB0aGlzLmFubnVpdHlQcmVtaXVtT2JqLmNvbmZpZ0RhdGEubnVtYmVydG93b3JkID0gJyc7XG4gICAgfVxufVxuICBvbk1pblByZW1pdW1WYWx1ZUNoYW5nZSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5vbk1pbmltdW1QcmVtaXVtVmFsdWVDaGFuZ2UuZW1pdCh0aGlzLm1pbnVtdW1Bbm51aXR5UGF5b3V0KTtcbiAgICAvL2NvbnZlcnQgdG8gd29yZHNcbiAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5taW51bXVtQW5udWl0eVBheW91dFsndGV4dFZhbHVlJ10pICYmICF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLm1pbnVtdW1Bbm51aXR5UGF5b3V0WydzZWxlY3RWYWx1ZSddKSkge1xuICAgIGNvbnN0IGZyZXEgPSBgIHBlciAke3RoaXMubWludW11bUFubnVpdHlQYXlvdXRbJ3NlbGVjdFZhbHVlJ119YDtcbiAgICB0aGlzLm1pbmltdW1Bbm51aXR5UGF5b3V0T2JqLmNvbmZpZ0RhdGEubnVtYmVydG93b3JkID0gdGhpcy50cmFuc2Zvcm0odGhpcy5taW51bXVtQW5udWl0eVBheW91dFsndGV4dFZhbHVlJ10pICsgZnJlcTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgdGhpcy5taW5pbXVtQW5udWl0eVBheW91dE9iai5jb25maWdEYXRhLm51bWJlcnRvd29yZCA9ICcnO1xuICAgIH1cbn1cblxuICBvbkVuYWJsZUF1dG9EZWJpdFZhbHVlQ2hhbmdlKGV2ZW50IDogYW55KSB7XG4gICAgdGhpcy5vbkF1dGlvRGViaXRWYWx1ZUNoYW5nZS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uR3VyYW50ZWVkQW5udWl0eUNoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5vbkd1cmFudGVlZEFubnVpdHlWYWx1ZUNoYW5nZS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIGdyb3d0aFJhdGVPcHRpb25TZWxlY3RlZChjYXJkPzogYW55LCB2YWx1ZT86IGFueSkge1xuICAgIHRoaXMub25Hcm93dGhSYXRlT3B0aW9uU2VsZWN0ZWQuZW1pdCgpO1xuICAgIGlmIChjYXJkKSB7XG4gICAgICB0aGlzLmFubnVpdHlSYWRpb1JlZj8uc2VsZWN0Q2FyZChjYXJkKTtcbiAgICB9XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmFubnVpdHlSYWRpb1JlZj8udG9nZ2xlUmFkaW8odmFsdWUsIG5ldyBFdmVudCgnY2xpY2snKSk7XG4gICAgfVxuICB9XG5cbiAgYW5udWFsSW5jb21lZm9jdXNPdXQoKSB7XG4gICAgdGhpcy52YWxpZGF0aW9ucy5pc3ByZW1pdW1FbnRyeSA9IGZhbHNlO1xuICAgIGlmKHRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMuYW5udWl0eVByZW1pdW1bJ3RleHRWYWx1ZSddKSkge1xuICAgICAgdGhpcy52YWxpZGF0aW9ucy5pc3ByZW1pdW1FbnRyeSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgYSA9IFsnJywgJ09uZSAnLCAnVHdvICcsICdUaHJlZSAnLCAnRm91ciAnLCAnRml2ZSAnLCAnU2l4ICcsICdTZXZlbiAnLCAnRWlnaHQgJywgJ05pbmUgJywgJ1RlbiAnLCAnRWxldmVuICcsICdUd2VsdmUgJywgJ1RoaXJ0ZWVuICcsICdGb3VydGVlbiAnLCAnRmlmdGVlbiAnLCAnU2l4dGVlbiAnLCAnU2V2ZW50ZWVuICcsICdFaWdodGVlbiAnLCAnTmluZXRlZW4gJ107XG4gIGIgPSBbJycsICcnLCAnVHdlbnR5JywgJ1RoaXJ0eScsICdGb3VydHknLCAnRmlmdHknLCAnU2l4dHknLCAnU2V2ZW50eScsICdFaWdodHknLCAnTmluZXR5J107XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHZhbHVlID0gdGhpcy5tYXN0ZXJTZXJ2aWNlLnJlbW92ZUNvbWFzQW5kQ3VycmVuY3lTeW1ib2xGcm9tTnVtYmVyVmFsdWVzKHZhbHVlKTtcbiAgICBsZXQgbiA9ICgnMDAwMDAwMDAwJyArIHZhbHVlKS5zdWJzdHIoLTkpLm1hdGNoKC9eKFxcZHsyfSkoXFxkezJ9KShcXGR7Mn0pKFxcZHsxfSkoXFxkezJ9KSQvKTtcbiAgICBpZiAoIW4pIHJldHVybiAnJztcbiAgICBsZXQgc3RyID0gJyc7XG4gICAgc3RyICs9IChOdW1iZXIoblsxXSkgIT0gMCkgPyAodGhpcy5hW051bWJlcihuWzFdKV0gfHwgKHRoaXMuYltOdW1iZXIoblsxXVswXSldICsgJyAnICsgdGhpcy5hW051bWJlcihuWzFdWzFdKV0pKSArICdDcm9yZSAnIDogJyc7XG4gICAgc3RyICs9IChOdW1iZXIoblsyXSkgIT0gMCkgPyAodGhpcy5hW051bWJlcihuWzJdKV0gfHwgKHRoaXMuYltOdW1iZXIoblsyXVswXSldICsgJyAnICsgdGhpcy5hW051bWJlcihuWzJdWzFdKV0pKSArICdMYWtoICcgOiAnJztcbiAgICBzdHIgKz0gKE51bWJlcihuWzNdKSAhPSAwKSA/ICh0aGlzLmFbTnVtYmVyKG5bM10pXSB8fCAodGhpcy5iW051bWJlcihuWzNdWzBdKV0gKyAnICcgKyB0aGlzLmFbTnVtYmVyKG5bM11bMV0pXSkpICsgJ1Rob3VzYW5kICcgOiAnJztcbiAgICBzdHIgKz0gKE51bWJlcihuWzRdKSAhPSAwKSA/ICh0aGlzLmFbTnVtYmVyKG5bNF0pXSB8fCAodGhpcy5iW051bWJlcihuWzRdWzBdKV0gKyAnICcgKyB0aGlzLmFbTnVtYmVyKG5bNF1bMV0pXSkpICsgJ0h1bmRyZWQgJyA6ICcnO1xuICAgIHN0ciArPSAoTnVtYmVyKG5bNV0pICE9IDApID8gKChzdHIgIT0gJycpID8gJ0FuZCAnIDogJycpICsgKHRoaXMuYVtOdW1iZXIobls1XSldIHx8ICh0aGlzLmJbTnVtYmVyKG5bNV1bMF0pXSArICcgJyArIHRoaXMuYVtOdW1iZXIobls1XVsxXSldKSkgOiAnJztcbiAgICBzdHIgPSBzdHIudHJpbSgpO1xuICAgIHJldHVybiBzdHIgPyBzdHIgKyAnIE9ubHknIDogJyc7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXJkIHB4LTNcIiBzdHlsZT1cInBhZGRpbmc6IDE2cHg7XCI+XG4gIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICA8aDQgY2xhc3M9XCJjYXJkLW1haW4tdGl0bGVcIj48c3BhbiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMTJweDtcIj48aW1nXG4gICAgICAgICAgc3JjPVwiaHR0cHM6Ly9jZG4uZ29kaWdpdC5jb20vcmV0YWlsLWxpZmUvY2FsY3VsYXRvci5zdmdcIiBhbHQ9XCJhbm51aXR5IGNhbGN1bGF0b3JcIj48L3NwYW4+SGVyZSdzIFlvdXIgUHJlbWl1bSB0byBBbm51aXR5IENhbGN1bGF0b3I8L2g0PlxuICA8L2Rpdj5cbiAgPCEtLSA8ZGl2IGNsYXNzPVwicm93XCI+IC0tPlxuICA8ZGl2IGNsYXNzPVwiY2FyZCBwYi00IHB4LTRcIiBzdHlsZT1cImJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDsgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcIj5cbiAgICA8IS0tIDxkaXYgY2xhc3M9XCJjdXN0b20tZ3JpZC10ZW1wbGF0ZVwiPlxuXG4gICAgPC9kaXY+IC0tPlxuXG4gICAgPGRpdiBjbGFzcz1cInJvdyBteC1hdXRvXCIgc3R5bGU9XCJ0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIC01OCUpO1wiPlxuICAgICAgPGxpYi10b2dnbGUgY2xhc3M9XCJjb2wtYXV0b1wiIFtmaWVsZF09XCJhbm51aXR5UHJlbWl1bVRvZ2dsZU9ialwiIC8+XG4gICAgPC9kaXY+XG4gICAgPCEtLSA8L2Rpdj4gLS0+XG4gICAgPGRpdiBjbGFzcz1cIiBjb2wtMTJcIiBzdHlsZT1cIlxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZGlzcGxheTogZmxleDtcblwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC01IGNvbC1sZy01IGQtZmxleCBmbGV4LWNvbHVtbiBwLTBcIj5cbiAgICAgICAgPGxpYi1hbW91bnQtdGV4dGJveCBbZmllbGRdPVwiYW5udWl0eVByZW1pdW1PYmpcIiBbKG5nTW9kZWwpXT1cImFubnVpdHlQcmVtaXVtWyd0ZXh0VmFsdWUnXVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Bbm51aXR5UHJlbWl1bVZhbHVlQ2hhbmdlKCRldmVudClcIiAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwidmFsaWRhdGlvbnMuaXNwcmVtaXVtRW50cnlcIj5cbiAgICAgICAgICBQbGVhc2UgZW50ZXIgUHJlbWl1bSBhbW91bnRcbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhbm51aXR5LW1hdC1oaW50XCIgKm5nSWY9XCJhbm51aXR5UHJlbWl1bU9iaj8uY29uZmlnRGF0YT8ubnVtYmVydG93b3JkXCI+e3thbm51aXR5UHJlbWl1bU9iaj8uY29uZmlnRGF0YT8ubnVtYmVydG93b3JkfX08L2Rpdj5cblxuICAgICAgICA8bGliLXNlbGVjdCBbZmllbGRdPVwiYW5udWl0eXBheW91dE9ialwiIFsobmdNb2RlbCldPVwiYW5udWl0eVByZW1pdW1bJ3NlbGVjdFZhbHVlJ11cIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQW5udWl0eVByZW1pdW1WYWx1ZUNoYW5nZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8bGliLXRvZ2dsZSBbZmllbGRdPVwiZW5hYmxlQXV0b0RlYml0T2JqXCIgWyhuZ01vZGVsKV09XCJpc0VuYWJsZUF1dG9EZWJpdFwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkVuYWJsZUF1dG9EZWJpdFZhbHVlQ2hhbmdlKCRldmVudClcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0yIGNvbC1sZy0yIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgIHN0eWxlPVwiZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDZweCk7IHBvc2l0aW9uOiByZWxhdGl2ZTsgaGVpZ2h0OiBhdXRvOyBtaW4taGVpZ2h0OiAxMDAlO1wiPlxuICAgICAgICA8IS0tIFRvcCBsaW5lIC0tPlxuICAgICAgICA8ZGl2IHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiA1MCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgd2lkdGg6IDFweDsgaGVpZ2h0OiBjYWxjKDUwJSArIDI0cHgpOyB0b3A6IC0zN3B4OyBiYWNrZ3JvdW5kOiByZ2JhKDIyMSwgMjIxLCAyMjEsIDEpOyBwb2ludGVyLWV2ZW50czogbm9uZTtcIj48L2Rpdj5cbiAgICAgICAgPCEtLSBCb3R0b20gbGluZSAtLT5cbiAgICAgICAgPGRpdiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IHdpZHRoOiAxcHg7IGhlaWdodDogY2FsYyg1MCUgKyAyNHB4KTsgYm90dG9tOiAtMzdweDsgYmFja2dyb3VuZDogcmdiYSgyMjEsIDIyMSwgMjIxLCAxKTsgcG9pbnRlci1ldmVudHM6IG5vbmU7XCI+PC9kaXY+XG4gICAgICAgIDxsaWItaWNvbi1idXR0b24gW2ZpZWxkXT1cImludGVyY2hhbmdlQnV0dG9uT2JqXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC01IGNvbC1sZy01IGQtZmxleCBmbGV4LWNvbHVtbiBwLTBcIj5cbiAgICAgICAgPGxpYi1hbW91bnQtdGV4dGJveCBbZmllbGRdPVwibWluaW11bUFubnVpdHlQYXlvdXRPYmpcIiBbKG5nTW9kZWwpXT1cIm1pbnVtdW1Bbm51aXR5UGF5b3V0Wyd0ZXh0VmFsdWUnXVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25NaW5QcmVtaXVtVmFsdWVDaGFuZ2UoJGV2ZW50KVwiICpuZ0lmPVwibWluaW11bUFubnVpdHlQYXlvdXRPYmouaXNWaXNpYmxlO1wiLz5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFubnVpdHktbWF0LWhpbnRcIiAqbmdJZj1cIm1pbmltdW1Bbm51aXR5UGF5b3V0T2JqLmlzVmlzaWJsZSAmJiBtaW5pbXVtQW5udWl0eVBheW91dE9iaj8uY29uZmlnRGF0YT8ubnVtYmVydG93b3JkXCI+e3ttaW5pbXVtQW5udWl0eVBheW91dE9iaj8uY29uZmlnRGF0YT8ubnVtYmVydG93b3JkfX08L2Rpdj5cbiAgICAgICAgPGxpYi1zZWxlY3QgW2ZpZWxkXT1cIm1pbmltdW1Bbm51aXR5UGF5b3V0ZnJlcXVlbmN5T2JqXCIgWyhuZ01vZGVsKV09XCJtaW51bXVtQW5udWl0eVBheW91dFsnc2VsZWN0VmFsdWUnXVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25NaW5QcmVtaXVtVmFsdWVDaGFuZ2UoJGV2ZW50KVwiIC8+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaW5pdW0tYW5udWl0eSBtdC0zXCIgKm5nSWY9XCJndXJhbnRlZWRhbm51aXR5T2JqWydpc1Zpc2libGUnXVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbm51aXR5LW1zZyB3LTEwMCBweC0yIHB5LTFcIj5cbiAgICAgICAgICAgIFZhbHVlIGJhc2VkIG9uIGFzc3VtZWQgMTAlIGFubnVhbCBncm93dGggb2YgTmlmdHkgNTAgaW5kZXguXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIHB4LTIgcHktMVwiPlxuICAgICAgICAgICAgPGxpYi1yYWRpbyBbZmllbGRdPVwiZ3VyYW50ZWVkYW5udWl0eU9ialwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRHdXJhbnRlZWRBbm51aXR5XCJcbiAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25HdXJhbnRlZWRBbm51aXR5Q2hhbmdlKCRldmVudClcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbm51aXR5LW1zZy0xIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1ub3dyYXAgdy0xMDAgcHgtMiBweS0xXCI+XG4gICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vY2RuLmdvZGlnaXQuY29tL2RpZ2l0UGx1c0Fzc2V0cy9zdHJlYW1saW5lX2dyYXBoLWFycm93LWluY3JlYXNlLXJlbWl4LnBuZ1wiXG4gICAgICAgICAgICAgIHN0eWxlPVwibWF4LXdpZHRoOiAyNHB4O1wiIC8+XG4gICAgICAgICAgICA8c3Bhbj5Qb3RlbnRpYWwgZm9yIGhpZ2hlciByZXR1cm5zIGJ5IGxvd2VyaW5nIHRoZSBtaW5pbXVtIGd1YXJhbnRlZWQgYW5udWl0eSByYXRlLjwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSA8bmctdGVtcGxhdGUgI2VtcHR5UmlnaHRDb2w+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNSBjb2wtbGctNSBwLTBcIj48L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+IC0tPlxuICAgIDwvZGl2PlxuICAgIDwhLS0gPGRpdiBjbGFzcz1cInZlcnRpY2FsLWxpbmVcIj48L2Rpdj4gLS0+XG4gICAgPCEtLSA8ZGl2IGNsYXNzPVwiY3VzdG9tLWdyaWQtdGVtcGxhdGVcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxsaWItdG9nZ2xlIFtmaWVsZF09XCJlbmFibGVBdXRvRGViaXRPYmpcIiBbKG5nTW9kZWwpXT1cImlzRW5hYmxlQXV0b0RlYml0XCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkVuYWJsZUF1dG9EZWJpdFZhbHVlQ2hhbmdlKCRldmVudClcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+IC0tPlxuXG4gIDwvZGl2PlxuXG5cbiAgPGRpdiBjbGFzcz1cImNhcmQgcHktMyBtYi00IGJvcmRlci10b3AtMFwiIHN0eWxlPVwiYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMHB4OyBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O1wiPlxuICAgIDxkaXYgY2xhc3M9XCJteC00XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGlnaXQtYm9zcy1iYW5uZXJcIiAqbmdJZj1cImRpZ2l0Qm9zc1N3aXRjaD8uaXNWaXNpYmxlXCI+XG4gICAgICAgIDxsaWItdG9nZ2xlIFtmaWVsZF09XCJkaWdpdEJvc3NUb2dnbGVDb25maWdcIiBbKG5nTW9kZWwpXT1cInRoaXMuZGlnaXRCb3NzU3dpdGNoLmlzU3dpdGNoT25cIiAobmdNb2RlbENoYW5nZSk9XCJvbkRpZ2l0Qm9zc1N3aXRjaENoYW5nZSgkZXZlbnQpXCI+PC9saWItdG9nZ2xlPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGlnaXQtYm9zcy10ZXh0XCI+XG4gICAgICAgICAge3t0aGlzLmRpZ2l0Qm9zc1N3aXRjaD8ucHJlZml4VGV4dH19XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJoaWdobGlnaHRcIj57e3RoaXMuZGlnaXRCb3NzU3dpdGNoPy5oaWdobGlnaHRUZXh0fX08L3NwYW4+XG4gICAgICAgICAge3t0aGlzLmRpZ2l0Qm9zc1N3aXRjaD8uc3ViVGV4dH19XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcnJvdy1pY29uXCI+4oaXPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGxpYi1idXR0b24gW2ZpZWxkXT1cInJlY2FsY3VsYXRlQnV0dG9uXCIgKGNsaWNrKT1cImNhbGN1bGF0ZUJ1dHRvbkNsaWNrZWQoKVwiIC8+XG5cbiAgICAgIDwhLS0gLy9kaWdpdCBib3NzIHVwZGF0ZWQgZGVzaWduIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIG10LTNcIiBzdHlsZT1cIlxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZGlzcGxheTogZmxleDtcIiAqbmdJZj1cIiFtaW5pbXVtQW5udWl0eVBheW91dE9iai5pc1Zpc2libGVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLWxnLTEyIGQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHAtMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVhbGlzdGljLXBpY3R1cmUtY2FyZFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZWFsaXN0aWMtcGljdHVyZS1oZWFkZXJcIj5cbiAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJkaWdpdEJvc3NTd2l0Y2g/Lmljb25cIiBbc3JjXT1cImRpZ2l0Qm9zc1N3aXRjaD8uaWNvblwiIHN0eWxlPVwid2lkdGg6MTJweDtoZWlnaHQ6MTJweDtvYmplY3QtZml0OmNvbnRhaW47ZmxleC1zaHJpbms6MDtcIiAvPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZWFsaXN0aWMtcGljdHVyZS1sYWJlbFwiPlJlYWxpc3RpYyBQaWN0dXJlOjwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlYWxpc3RpYy1waWN0dXJlLXRleHRcIj57e2RpZ2l0Qm9zc1N3aXRjaD8uZGlnaXRCb3NzVGV4dH19IDxzcGFuIGNsYXNzPVwicmVhbGlzdGljLXBpY3R1cmUtaGlnaGxpZ2h0XCI+e3tkaWdpdEJvc3NTd2l0Y2g/LmRpZ2l0Qm9zc1ZhbHVlfX08L3NwYW4+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG48L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQgIG1iLTAgbXQtMlwiXG4gICAgICAgIHN0eWxlPVwiYWxpZ24taXRlbXM6IGNlbnRlcjtib3JkZXI6bm9uZTtmb250LXNpemU6IDhweDtmb250LXdlaWdodDogNDAwO2NvbG9yOnJnYmEoNjgsIDY4LCA2OCwgMSkgXCJcbiAgICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibXgtNFwiICpuZ0lmPVwicmVjYWxjdWxhdGVTdWJUZXh0T2JqPy5pc1Zpc2libGVcIj48aW1nIHNyYz1cImh0dHBzOi8vY2RuLmdvZGlnaXQuY29tL2RpZ2l0UGx1c0Fzc2V0cy9Hcm91cCsxMDEwMTA2MzM2LnBuZ1wiXG4gICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAzcHg7XCIgLz5cbiAgICAgICAgICA8c3BhbiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA2cHg7XCI+RXZlcnkgdGltZSB5b3UgbWFrZSBhIGNoYW5nZSBhYm92ZSwgcGxlYXNlIGNsaWNrIHJlY2FsY3VsYXRlLjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBzdHlsZT1cImRpc3BsYXk6IGZsZXg7YWxpZ24taXRlbXM6IGNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtib3JkZXI6bm9uZTtmb250LXNpemU6IDEwcHg7Zm9udC13ZWlnaHQ6IDcwMDtoZWlnaHQ6MzJweDtiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjUwLCAyMzUsIDEpO2dhcDogOHB4O21hcmdpbjogNHB4O1wiXG4gICAgICAqbmdJZj1cImFubnVpdHlUYWJsZUNhbGN1bGF0b3I/LmlzVmlzaWJsZVwiPlxuICAgICAgPGltZyBzcmM9XCJodHRwczovL2Nkbi5nb2RpZ2l0LmNvbS9yZXRhaWwtbGlmZS9jYWxjdWxhdG9yLnN2Z1wiIC8+XG4gICAgICBNaW5pbXVtIEd1YXJhbnRlZWQgUGF5b3V0KEEpICsgVmFyaWFibGUgUGF5b3V0KEIpID0gVG90YWwgUGF5b3V0KEMpXG4gICAgPC9kaXY+XG4gICAgPCEtLSBhbm51aXR5IGNhbGN1bGF0b3IgdGFibGUgLS0+XG4gICAgPGRpdiBjbGFzcz1cImFubnVpdHktdGFibGVzLW1haW4tY29udGFpbmVyXCIgKm5nSWY9XCJhbm51aXR5VGFibGVDYWxjdWxhdG9yPy5pc1Zpc2libGVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1yb3cgYW5udWl0eS10YWJsZXMtY29udGFpbmVyXCI+XG4gICAgICAgIDwhLS0gVGFibGUgMSAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFubnVpdHktY2FsY3VsYXRvci10YWJsZTFcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZGVyIGFubnVpdHl0YWJsZTEtaGVhZGVyXCI+TWluaW11bSBHdWFyYW50ZWVkIEFubnVpdHkgUGF5b3V0KEEpPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWJvZHlcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jZWxsXCI+PHNwYW4gY2xhc3M9XCJydXBlZS1pY29uXCI+4oK5PC9zcGFuPjxzcGFuXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJmb250LXNpemU6MTJweDsgY29sb3I6IHJnYmEoNjgsIDY4LCA2OCwgMSk7XCI+XG4gICAgICAgICAgICAgICAgPHt7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlMXZhbDF9fT5cbiAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2PlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImFubnVpdHl0YWJsZS1idXR0b25cIj57e2FubnVpdHlUYWJsZUNhbGN1bGF0b3IuYW5udWl0eWNhbGN1bGF0b3JUYWJsZTF2YWwyfX08L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm9wZXJhdG9yLXN5bWJvbFwiPis8L2Rpdj5cblxuICAgICAgICA8IS0tIFRhYmxlIDIgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhbm51aXR5LWNhbGN1bGF0b3ItdGFibGUyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlciBhbm51aXR5dGFibGUxLWhlYWRlclwiPkFzc3VtZSBncm93dGggb2YgQmVuY2hNYXJrIGluZGV4PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWJvZHlcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3dcIj4mIzY0O3t7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlMnZhbDF9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPiYjNjQ7e3thbm51aXR5VGFibGVDYWxjdWxhdG9yLmFubnVpdHljYWxjdWxhdG9yVGFibGUydmFsMn19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCI+JiM2NDt7e2FubnVpdHlUYWJsZUNhbGN1bGF0b3IuYW5udWl0eWNhbGN1bGF0b3JUYWJsZTJ2YWwzfX08L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBUYWJsZSAzIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYW5udWl0eS1jYWxjdWxhdG9yLXRhYmxlM1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkZXIgYW5udWl0eXRhYmxlMS1oZWFkZXJcIj4xc3QgVmFyaWFibGUgQW5udWl0eSBQYXlvdXQoQik8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtYm9keVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPjxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJydXBlZS1pY29uXCI+4oK5PC9zcGFuPnt7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlM3ZhbDF9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPjxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJydXBlZS1pY29uXCI+4oK5PC9zcGFuPnt7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlM3ZhbDJ9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPjxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJydXBlZS1pY29uXCI+4oK5PC9zcGFuPnt7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlM3ZhbDN9fTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwib3BlcmF0b3Itc3ltYm9sXCI+PTwvZGl2PlxuXG4gICAgICAgIDwhLS0gVGFibGUgNCAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFubnVpdHktY2FsY3VsYXRvci10YWJsZTRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZGVyIGFubnVpdHl0YWJsZTQtaGVhZGVyXCI+MXN0IFRvdGFsUGF5b3V0L0ZyZXF1ZW5jeShDKTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1ib2R5XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93IGFubnVpdHl0YWJsZTQtYmdcIj48c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwicnVwZWUtaWNvblwiPuKCuTwvc3Bhbj57e2FubnVpdHlUYWJsZUNhbGN1bGF0b3IuYW5udWl0eWNhbGN1bGF0b3JUYWJsZTR2YWwxfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3cgYW5udWl0eXRhYmxlNC1iZ1wiPjxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJydXBlZS1pY29uXCI+4oK5PC9zcGFuPnt7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlNHZhbDJ9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvdyBhbm51aXR5dGFibGU0LWJnXCI+PHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cInJ1cGVlLWljb25cIj7igrk8L3NwYW4+e3thbm51aXR5VGFibGVDYWxjdWxhdG9yLmFubnVpdHljYWxjdWxhdG9yVGFibGU0dmFsM319PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYW5udWl0eS1jYWxjdWxhdG9yLXBhcmFncmFwaFwiICpuZ0lmPVwiYW5udWl0eVRhYmxlQ2FsY3VsYXRvcj8uaXNWaXNpYmxlXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImFubnVpdHktY2FsY3VsYXRvci1wYXJhZ3JhcGgxXCI+VGhpcyBpcyBhbiBhc3N1bWVkIGdyb3d0aCBwZXJjZW50YWdlIGZvciB0aGUgaW5kZXggYmFzaXMgd2hpY2ggdGhlXG4gICAgICAgIHZhbHVlcyBpbiBjb2x1bW5zIEIgYW5kIEMgYXJlIGNhbGN1bGF0ZWQuPC9zcGFuPiBBY3R1YWwgZ3Jvd3RoIHdpbGwgZGVwZW5kIG9uIGluZGV4IHBlcmZvcm1hbmNlIGFuZCBtYXkgYWZmZWN0XG4gICAgICB5b3VyIHZhcmlhYmxlIGFubnVpdHkgcGF5b3V0IGFuZCB0b3RhbCBhbm51aXR5IHBheW91dC5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCJncm93dGhSYXRlT2JqLmlzVmlzaWJsZVwiPlxuICAgICAgPGxpYi1hbm51aXR5LWNhbGN1bGF0b3ItcmFkaW9cbiAgICAgICAgW2ZpZWxkXT1cImdyb3d0aFJhdGVPYmpcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cImdyb3d0aFJhdGVPcHRpb25cIlxuICAgICAgICAoY2hhbmdlKT1cIm9uR3Jvd3RoUmF0ZVJhZGlvQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAoZ3Jvd3RoUmF0ZUNoYW5nZSk9XCJvbkdyb3d0aFJhdGVDYXJkQ2hhbmdlKCRldmVudClcIiAvPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cImhyTGluZU9iai5pc1Zpc2libGVcIiBjbGFzcz1cImdlbmVyYXRlU3VtbWFyeVwiPlxuICAgICAgPGxpYi1oci1saW5lIFtmaWVsZF09XCJockxpbmVPYmpcIiAvPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cImdlbmVyYXRlU3VtbWFyeU9iai5pc1Zpc2libGVcIiBjbGFzcz1cImdlbmVyYXRlU3VtbWFyeVwiPlxuICAgICAgPGxpYi1idXR0b24gW2ZpZWxkXT1cImdlbmVyYXRlU3VtbWFyeU9ialwiIChjbGljayk9XCJnZW5lcmF0ZVN1bW1hcnlDbGlja2VkKClcIiAvPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiJdfQ==
|