@sapui5/sap.fe.macros 1.142.0 → 1.142.2
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/package.json +1 -1
- package/src/sap/fe/macros/.library +1 -1
- package/src/sap/fe/macros/Field.js +5 -5
- package/src/sap/fe/macros/Field.ts +5 -3
- package/src/sap/fe/macros/FooterContent.js +3 -2
- package/src/sap/fe/macros/FooterContent.tsx +2 -10
- package/src/sap/fe/macros/MessageButton.js +3 -3
- package/src/sap/fe/macros/MessageButton.tsx +3 -2
- package/src/sap/fe/macros/Page.js +8 -4
- package/src/sap/fe/macros/Page.tsx +13 -4
- package/src/sap/fe/macros/RichTextEditor.js +12 -14
- package/src/sap/fe/macros/RichTextEditor.tsx +10 -13
- package/src/sap/fe/macros/ai/EasyFillDialog.js +2 -1
- package/src/sap/fe/macros/ai/EasyFillDialog.tsx +1 -0
- package/src/sap/fe/macros/ai/SummarizationButton.js +6 -4
- package/src/sap/fe/macros/ai/SummarizationButton.tsx +5 -3
- package/src/sap/fe/macros/chart/Action.js +19 -7
- package/src/sap/fe/macros/chart/Action.ts +8 -0
- package/src/sap/fe/macros/chart/ChartDelegate.js +13 -2
- package/src/sap/fe/macros/chart/ChartDelegate.ts +20 -1
- package/src/sap/fe/macros/chart/MdcChartTemplate.js +8 -6
- package/src/sap/fe/macros/chart/MdcChartTemplate.tsx +13 -22
- package/src/sap/fe/macros/controls/FileWrapper.js +4 -3
- package/src/sap/fe/macros/controls/FileWrapper.ts +3 -2
- package/src/sap/fe/macros/controls/FilterBar.js +1 -1
- package/src/sap/fe/macros/controls/FilterBar.ts +8 -1
- package/src/sap/fe/macros/controls/Section.js +3 -2
- package/src/sap/fe/macros/controls/Section.ts +1 -1
- package/src/sap/fe/macros/controls/TextLink.js +15 -1
- package/src/sap/fe/macros/controls/TextLink.tsx +19 -0
- package/src/sap/fe/macros/coreUI/OperationParameterDialog.js +23 -18
- package/src/sap/fe/macros/coreUI/OperationParameterDialog.tsx +27 -25
- package/src/sap/fe/macros/field/FieldRuntimeHelper.js +4 -2
- package/src/sap/fe/macros/field/FieldRuntimeHelper.ts +7 -7
- package/src/sap/fe/macros/field/FieldTemplating.js +8 -3
- package/src/sap/fe/macros/field/FieldTemplating.ts +8 -3
- package/src/sap/fe/macros/filterBar/FilterBar.block.js +10 -1
- package/src/sap/fe/macros/filterBar/FilterBar.block.tsx +10 -0
- package/src/sap/fe/macros/form/FormContainer.block.js +9 -8
- package/src/sap/fe/macros/form/FormContainer.block.ts +10 -7
- package/src/sap/fe/macros/internal/field/DisplayStyle.js +3 -2
- package/src/sap/fe/macros/internal/field/DisplayStyle.tsx +1 -0
- package/src/sap/fe/macros/internal/field/EditStyle.js +11 -6
- package/src/sap/fe/macros/internal/field/EditStyle.tsx +7 -3
- package/src/sap/fe/macros/internal/valuehelp/AdditionalValueFormatter.js +36 -7
- package/src/sap/fe/macros/internal/valuehelp/AdditionalValueFormatter.ts +35 -6
- package/src/sap/fe/macros/internal/valuehelp/AdditionalValueHelper.js +54 -1
- package/src/sap/fe/macros/internal/valuehelp/AdditionalValueHelper.ts +59 -0
- package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +23 -3
- package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.ts +24 -2
- package/src/sap/fe/macros/library.js +5 -6
- package/src/sap/fe/macros/{library.ts → library.tsx} +1 -1
- package/src/sap/fe/macros/messagebundle.properties +6 -0
- package/src/sap/fe/macros/messages/MessageButton.js +21 -12
- package/src/sap/fe/macros/messages/MessageButton.ts +21 -11
- package/src/sap/fe/macros/multivaluefield/MultiValueFieldDelegate.js +8 -3
- package/src/sap/fe/macros/multivaluefield/MultiValueFieldDelegate.ts +9 -2
- package/src/sap/fe/macros/quickView/QuickView.js +5 -4
- package/src/sap/fe/macros/quickView/QuickView.tsx +10 -3
- package/src/sap/fe/macros/table/ActionsTemplating.js +6 -5
- package/src/sap/fe/macros/table/ActionsTemplating.tsx +4 -4
- package/src/sap/fe/macros/table/MdcTableTemplate.js +31 -13
- package/src/sap/fe/macros/table/MdcTableTemplate.tsx +35 -7
- package/src/sap/fe/macros/table/Table.block.js +3 -1
- package/src/sap/fe/macros/table/Table.block.tsx +7 -4
- package/src/sap/fe/macros/table/TableAPI.js +62 -28
- package/src/sap/fe/macros/table/TableAPI.ts +73 -32
- package/src/sap/fe/macros/table/TableEventHandlerProvider.js +15 -4
- package/src/sap/fe/macros/table/TableEventHandlerProvider.ts +16 -3
- package/src/sap/fe/macros/table/TableRuntime.js +6 -4
- package/src/sap/fe/macros/table/TableRuntime.ts +16 -3
- package/src/sap/fe/macros/table/delegates/TableDelegate.js +3 -3
- package/src/sap/fe/macros/table/delegates/TableDelegate.ts +3 -4
- package/src/sap/fe/macros/table/massEdit/MassEditDialog.js +41 -15
- package/src/sap/fe/macros/table/massEdit/MassEditDialog.tsx +41 -22
- package/src/sap/fe/macros/table/mixin/ContextMenuHandler.js +2 -4
- package/src/sap/fe/macros/table/mixin/ContextMenuHandler.ts +1 -2
- package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.js +10 -4
- package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.ts +9 -3
- package/src/sap/fe/macros/table/mixin/TableHierarchy.js +6 -6
- package/src/sap/fe/macros/table/mixin/TableHierarchy.ts +5 -5
- package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.js +28 -10
- package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.ts +33 -14
|
@@ -574,17 +574,15 @@ class MessageButton extends Button {
|
|
|
574
574
|
if (sActionName) {
|
|
575
575
|
(oView?.getBindingContext("internal") as InternalModelContext).setProperty("sActionName", null);
|
|
576
576
|
}
|
|
577
|
-
for (i =
|
|
578
|
-
// Loop over all messages
|
|
577
|
+
for (i = 0; i < messages.length; i++) {
|
|
579
578
|
message = messages[i];
|
|
580
579
|
let bIsGeneralGroupName = true;
|
|
581
|
-
for (j =
|
|
580
|
+
for (j = 0; j < aVisibleSections.length; j++) {
|
|
582
581
|
let shouldBreak = false;
|
|
583
|
-
// Loop over all visible sections
|
|
582
|
+
// Loop over all visible sections from header section to last visible section
|
|
584
583
|
section = aVisibleSections[j];
|
|
585
584
|
aSubSections = section.getSubSections();
|
|
586
|
-
for (k =
|
|
587
|
-
// Loop over all sub-sections
|
|
585
|
+
for (k = 0; k < aSubSections.length; k++) {
|
|
588
586
|
const subSection = aSubSections[k];
|
|
589
587
|
const oMessageObject = message?.getBindingContext("message")?.getObject();
|
|
590
588
|
this.sGeneralGroupText = this._getGeneralGroupText(oView, oMessageObject);
|
|
@@ -920,6 +918,11 @@ class MessageButton extends Button {
|
|
|
920
918
|
clearTimeout(this._setMessageDataTimeout);
|
|
921
919
|
|
|
922
920
|
this._setMessageDataTimeout = setTimeout(async () => {
|
|
921
|
+
// Close messagePopover if objectPage showFooter is false
|
|
922
|
+
if (this.oObjectPageLayout && !this.oObjectPageLayout.getShowFooter()) {
|
|
923
|
+
this.oMessagePopover.close();
|
|
924
|
+
}
|
|
925
|
+
|
|
923
926
|
const sIcon = "",
|
|
924
927
|
oMessages = this.oMessagePopover.getItems(),
|
|
925
928
|
oMessageCount: MessageCount = { Error: 0, Warning: 0, Success: 0, Information: 0 },
|
|
@@ -1375,12 +1378,12 @@ class MessageButton extends Button {
|
|
|
1375
1378
|
_getMessageRank(obj: Message & { sectionName: string; subSectionName: string }, aSections: ObjectPageSection[] | undefined): number {
|
|
1376
1379
|
if (aSections) {
|
|
1377
1380
|
let section, aSubSections, subSection, j, k, aElements, aAllElements, sectionRank;
|
|
1378
|
-
for (j =
|
|
1379
|
-
// Loop over all sections
|
|
1381
|
+
for (j = 0; j < aSections.length; j++) {
|
|
1382
|
+
// Loop over all sections from first to last
|
|
1380
1383
|
section = aSections[j];
|
|
1381
1384
|
aSubSections = section.getSubSections();
|
|
1382
|
-
for (k =
|
|
1383
|
-
// Loop over all sub-sections
|
|
1385
|
+
for (k = 0; k < aSubSections.length; k++) {
|
|
1386
|
+
// Loop over all sub-sections from first to last
|
|
1384
1387
|
subSection = aSubSections[k];
|
|
1385
1388
|
aAllElements = subSection.findElements(true); // Get all elements inside a sub-section
|
|
1386
1389
|
//Try to find the control 1 inside the sub section
|
|
@@ -1516,6 +1519,14 @@ class MessageButton extends Button {
|
|
|
1516
1519
|
const aUserDefinedFilter: Filter[] = [];
|
|
1517
1520
|
|
|
1518
1521
|
this.sViewId = this.sViewId ? this.sViewId : (this._getViewId(this.getId()) as string);
|
|
1522
|
+
|
|
1523
|
+
// Initialize ObjectPageLayout if not already done
|
|
1524
|
+
this.oObjectPageLayout = this._getObjectPageLayout(this, this.oObjectPageLayout);
|
|
1525
|
+
|
|
1526
|
+
// Close messagePopover if objectPage showFooter is false
|
|
1527
|
+
if (this.oObjectPageLayout && !this.oObjectPageLayout.getShowFooter()) {
|
|
1528
|
+
this.oMessagePopover.close();
|
|
1529
|
+
}
|
|
1519
1530
|
//Add the filters provided by the user
|
|
1520
1531
|
const aCustomFilters = this.getAggregation("customFilters") as Control[] | undefined;
|
|
1521
1532
|
if (aCustomFilters) {
|
|
@@ -1606,7 +1617,6 @@ class MessageButton extends Button {
|
|
|
1606
1617
|
oFilters = oValidationContextDialogFilters;
|
|
1607
1618
|
}
|
|
1608
1619
|
this.oItemBinding.filter(oFilters);
|
|
1609
|
-
this.oObjectPageLayout = this._getObjectPageLayout(this, this.oObjectPageLayout);
|
|
1610
1620
|
// We support sorting only for ObjectPageLayout use-case.
|
|
1611
1621
|
if (this.oObjectPageLayout) {
|
|
1612
1622
|
oSorter = new Sorter(
|
|
@@ -79,7 +79,8 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/ui/mdc/field/FieldBaseDelegate",
|
|
|
79
79
|
if (!newKeys.includes(deleteContext.getProperty(keyPath))) {
|
|
80
80
|
modificationPromises.push(controller.editFlow.deleteMultipleDocuments([deleteContext], {
|
|
81
81
|
controlId: control.getId(),
|
|
82
|
-
noDialog: true
|
|
82
|
+
noDialog: true,
|
|
83
|
+
requestSideEffects: true
|
|
83
84
|
}));
|
|
84
85
|
}
|
|
85
86
|
}
|
|
@@ -95,10 +96,14 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/ui/mdc/field/FieldBaseDelegate",
|
|
|
95
96
|
}
|
|
96
97
|
dataToAdd.push(item);
|
|
97
98
|
}
|
|
99
|
+
} else {
|
|
100
|
+
const index = oldKeys.indexOf(condition.values[0]);
|
|
101
|
+
oldKeys.splice(index, 1);
|
|
102
|
+
// remove the key so that it doesn't get recognize twice
|
|
98
103
|
}
|
|
99
104
|
}
|
|
100
105
|
if (dataToAdd.length) {
|
|
101
|
-
modificationPromises.push(controller.editFlow.createMultipleDocuments(listBinding, dataToAdd, true, false));
|
|
106
|
+
modificationPromises.push(controller.editFlow.createMultipleDocuments(listBinding, dataToAdd, true, false, undefined, undefined, true));
|
|
102
107
|
}
|
|
103
108
|
return Promise.all(modificationPromises);
|
|
104
109
|
},
|
|
@@ -127,4 +132,4 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/ui/mdc/field/FieldBaseDelegate",
|
|
|
127
132
|
}
|
|
128
133
|
});
|
|
129
134
|
}, false);
|
|
130
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJhc3NpZ24iLCJNZGNNdWx0aVZhbHVlRmllbGREZWxlZ2F0ZSIsImdldERlc2NyaXB0aW9uIiwiZmllbGQiLCJ2YWx1ZUhlbHAiLCJrZXkiLCJfY29uZGl0aW9uSW4iLCJfY29uZGl0aW9uT3V0IiwiYmluZGluZ0NvbnRleHQiLCJfQ29uZGl0aW9uTW9kZWwiLCJfY29uZGl0aW9uTW9kZWxOYW1lIiwiY29uZGl0aW9uUGF5bG9hZCIsImNvbnRyb2wiLCJ0eXBlIiwidW5kZWZpbmVkIiwiRmllbGRCYXNlRGVsZWdhdGUiLCJ1cGRhdGVJdGVtcyIsIl9wYXlsb2FkIiwiY29uZGl0aW9ucyIsImxpc3RCaW5kaW5nIiwiZ2V0QmluZGluZyIsImlzSnNvbkxpc3RCaW5kaW5nIiwiaXNBIiwiaXNPRGF0YUxpc3RCaW5kaW5nIiwiYmluZGluZ0luZm8iLCJnZXRCaW5kaW5nSW5mbyIsImtleUJpbmRpbmdJbmZvIiwidGVtcGxhdGUiLCJkZXNjcmlwdGlvbkJpbmRpbmdJbmZvIiwia2V5UGF0aCIsInBhcnRzIiwicGF0aCIsImRlc2NyaXB0aW9uUGF0aCIsIl91cGRhdGVJdGVtc0luT0RhdGFMaXN0QmluZGluZyIsIl91cGRhdGVJdGVtc0luSnNvbkxpc3RCaW5kaW5nIiwiY29udGV4dHMiLCJnZXRDdXJyZW50Q29udGV4dHMiLCJkYXRhVG9BZGQiLCJjb250cm9sbGVyIiwiQ29tbW9uVXRpbHMiLCJnZXRUYXJnZXRWaWV3IiwiZ2V0Q29udHJvbGxlciIsIm5ld0tleXMiLCJtYXAiLCJjb25kaXRpb24iLCJ2YWx1ZXMiLCJvbGRLZXlzIiwiY29udGV4dCIsImdldFByb3BlcnR5IiwibW9kaWZpY2F0aW9uUHJvbWlzZXMiLCJpIiwibGVuZ3RoIiwiZGVsZXRlQ29udGV4dCIsImluY2x1ZGVzIiwicHVzaCIsImVkaXRGbG93IiwiZGVsZXRlTXVsdGlwbGVEb2N1bWVudHMiLCJjb250cm9sSWQiLCJnZXRJZCIsIm5vRGlhbG9nIiwiaXRlbSIsImNyZWF0ZU11bHRpcGxlRG9jdW1lbnRzIiwiUHJvbWlzZSIsImFsbCIsImN1c3RvbURhdGFWYWx1ZSIsImdldEN1c3RvbURhdGEiLCJmaW5kIiwiY2R2IiwiZ2V0S2V5IiwiZ2V0VmFsdWUiLCJzcGxpY2UiLCJtb2RlbE5hbWVGb3JVcGRhdGUiLCJtb2RlbCIsImdldE1vZGVsIiwidXBkYXRlQmluZGluZ3MiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIk11bHRpVmFsdWVGaWVsZERlbGVnYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIEN1c3RvbURhdGEgZnJvbSBcInNhcC91aS9jb3JlL0N1c3RvbURhdGFcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9tZGMvQ29udHJvbFwiO1xuaW1wb3J0IHR5cGUgRmllbGQgZnJvbSBcInNhcC91aS9tZGMvRmllbGRcIjtcbmltcG9ydCB0eXBlIE11bHRpVmFsdWVGaWVsZCBmcm9tIFwic2FwL3VpL21kYy9NdWx0aVZhbHVlRmllbGRcIjtcbmltcG9ydCB0eXBlIFZhbHVlSGVscCBmcm9tIFwic2FwL3VpL21kYy9WYWx1ZUhlbHBcIjtcbmltcG9ydCB0eXBlIHsgQ29uZGl0aW9uT2JqZWN0IH0gZnJvbSBcInNhcC91aS9tZGMvY29uZGl0aW9uL0NvbmRpdGlvblwiO1xuaW1wb3J0IHR5cGUgQ29uZGl0aW9uTW9kZWwgZnJvbSBcInNhcC91aS9tZGMvY29uZGl0aW9uL0NvbmRpdGlvbk1vZGVsXCI7XG5pbXBvcnQgRmllbGRCYXNlRGVsZWdhdGUgZnJvbSBcInNhcC91aS9tZGMvZmllbGQvRmllbGRCYXNlRGVsZWdhdGVcIjtcbmltcG9ydCBNZGNNdWx0aVZhbHVlRmllbGREZWxlZ2F0ZSBmcm9tIFwic2FwL3VpL21kYy9maWVsZC9NdWx0aVZhbHVlRmllbGREZWxlZ2F0ZVwiO1xuaW1wb3J0IHR5cGUgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL0NvbnRleHRcIjtcbmltcG9ydCB0eXBlIE1vZGVsVHlwZSBmcm9tIFwic2FwL3VpL21vZGVsL1R5cGVcIjtcbmltcG9ydCB0eXBlIEpTT05MaXN0QmluZGluZyBmcm9tIFwic2FwL3VpL21vZGVsL2pzb24vSlNPTkxpc3RCaW5kaW5nXCI7XG5pbXBvcnQgdHlwZSBKU09OTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9qc29uL0pTT05Nb2RlbFwiO1xuaW1wb3J0IHR5cGUgT0RhdGFMaXN0QmluZGluZyBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTGlzdEJpbmRpbmdcIjtcbmltcG9ydCB0eXBlIHsgQ29uZGl0aW9uUGF5bG9hZE1hcCwgQ29uZGl0aW9uUGF5bG9hZFR5cGUgfSBmcm9tIFwiLi4vdmFsdWVoZWxwL1ZhbHVlSGVscERlbGVnYXRlXCI7XG5cbmV4cG9ydCBkZWZhdWx0IE9iamVjdC5hc3NpZ24oe30sIE1kY011bHRpVmFsdWVGaWVsZERlbGVnYXRlLCB7XG5cdC8qKlxuXHQgKiBEZXRlcm1pbmVzIHRoZSBkZXNjcmlwdGlvbiBmb3IgYSBnaXZlbiBrZXkuXG5cdCAqIEBwYXJhbSBmaWVsZCBUaGUgPGNvZGU+RmllbGQ8L2NvZGU+IGluc3RhbmNlXG5cdCAqIEBwYXJhbSB2YWx1ZUhlbHAgRmllbGQgaGVscCBhc3NpZ25lZCB0byB0aGUgPGNvZGU+RmllbGQ8L2NvZGU+IG9yIDxjb2RlPkZpbHRlckZpZWxkPC9jb2RlPiBjb250cm9sXG5cdCAqIEBwYXJhbSBrZXkgS2V5IHZhbHVlIG9mIHRoZSBkZXNjcmlwdGlvblxuXHQgKiBAcGFyYW0gX2NvbmRpdGlvbkluIEluIHBhcmFtZXRlcnMgZm9yIHRoZSBrZXkgKG5vIGxvbmdlciBzdXBwb3J0ZWQpXG5cdCAqIEBwYXJhbSBfY29uZGl0aW9uT3V0IE91dCBwYXJhbWV0ZXJzIGZvciB0aGUga2V5IChubyBsb25nZXIgc3VwcG9ydGVkKVxuXHQgKiBAcGFyYW0gYmluZGluZ0NvbnRleHQgQmluZGluZ0NvbnRleHQgPGNvZGU+QmluZGluZ0NvbnRleHQ8L2NvZGU+IG9mIHRoZSBjaGVja2VkIGZpZWxkLiBJbnNpZGUgYSB0YWJsZSwgdGhlIDxjb2RlPlZhbHVlSGVscDwvY29kZT4gZWxlbWVudCBjYW4gYmUgY29ubmVjdGVkIHRvIGEgZGlmZmVyZW50IHJvd1xuXHQgKiBAcGFyYW0gX0NvbmRpdGlvbk1vZGVsIENvbmRpdGlvbk1vZGVsPC9jb2RlPiwgaWYgYm91bmQgdG8gb25lXG5cdCAqIEBwYXJhbSBfY29uZGl0aW9uTW9kZWxOYW1lIE5hbWUgb2YgdGhlIDxjb2RlPkNvbmRpdGlvbk1vZGVsPC9jb2RlPiwgaWYgYm91bmQgdG8gb25lXG5cdCAqIEBwYXJhbSBjb25kaXRpb25QYXlsb2FkIEFkZGl0aW9uYWwgY29udGV4dCBpbmZvcm1hdGlvbiBmb3IgdGhpcyBrZXlcblx0ICogQHBhcmFtIGNvbnRyb2wgSW5zdGFuY2Ugb2YgdGhlIGNhbGxpbmcgY29udHJvbFxuXHQgKiBAcGFyYW0gdHlwZSBUeXBlIG9mIHRoZSB2YWx1ZVxuXHQgKiBAcmV0dXJucyBEZXNjcmlwdGlvbiBmb3IgdGhlIGtleSBvciBvYmplY3QgY29udGFpbmluZyBhIGRlc2NyaXB0aW9uLCBrZXkgYW5kIHBheWxvYWQuIElmIHRoZSBkZXNjcmlwdGlvbiBpcyBub3QgYXZhaWxhYmxlIHJpZ2h0IGF3YXkgKGl0IG11c3QgYmUgcmVxdWVzdGVkKSwgYSA8Y29kZT5Qcm9taXNlPC9jb2RlPiBpcyByZXR1cm5lZFxuXHQgKi9cblx0Z2V0RGVzY3JpcHRpb246IGZ1bmN0aW9uIChcblx0XHRmaWVsZDogRmllbGQgfCBudWxsLFxuXHRcdHZhbHVlSGVscDogVmFsdWVIZWxwLFxuXHRcdGtleTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCxcblx0XHRfY29uZGl0aW9uSW46IG9iamVjdCxcblx0XHRfY29uZGl0aW9uT3V0OiBvYmplY3QsXG5cdFx0YmluZGluZ0NvbnRleHQ6IENvbnRleHQgfCB1bmRlZmluZWQsXG5cdFx0X0NvbmRpdGlvbk1vZGVsOiBDb25kaXRpb25Nb2RlbCxcblx0XHRfY29uZGl0aW9uTW9kZWxOYW1lOiBzdHJpbmcsXG5cdFx0Y29uZGl0aW9uUGF5bG9hZDogQ29uZGl0aW9uUGF5bG9hZE1hcCxcblx0XHRjb250cm9sOiBDb250cm9sLFxuXHRcdHR5cGU6IE1vZGVsVHlwZVxuXHQpIHtcblx0XHRpZiAoa2V5ID09PSB1bmRlZmluZWQgfHwga2V5ID09PSBudWxsKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0cmV0dXJuIEZpZWxkQmFzZURlbGVnYXRlLmdldERlc2NyaXB0aW9uKFxuXHRcdFx0ZmllbGQgYXMgRmllbGQsXG5cdFx0XHR2YWx1ZUhlbHAsXG5cdFx0XHRrZXksXG5cdFx0XHRfY29uZGl0aW9uSW4sXG5cdFx0XHRfY29uZGl0aW9uT3V0LFxuXHRcdFx0YmluZGluZ0NvbnRleHQgYXMgQ29udGV4dCxcblx0XHRcdHVuZGVmaW5lZCxcblx0XHRcdHVuZGVmaW5lZCxcblx0XHRcdGNvbmRpdGlvblBheWxvYWQsXG5cdFx0XHRjb250cm9sLFxuXHRcdFx0dHlwZVxuXHRcdCk7XG5cdH0sXG5cblx0LyoqXG5cdCAqIEltcGxlbWVudHMgdGhlIG1vZGVsLXNwZWNpZmljIGxvZ2ljIHRvIHVwZGF0ZSBpdGVtcyBhZnRlciBjb25kaXRpb25zIGhhdmUgYmVlbiB1cGRhdGVkLlxuXHQgKiBJdGVtcyBjYW4gYmUgcmVtb3ZlZCwgdXBkYXRlZCwgb3IgYWRkZWQuIFVzZSB0aGUgYmluZGluZyBpbmZvcm1hdGlvbiBvZiB0aGUgYE11bHRpVmFsdWVGaWVsZGAgY29udHJvbFxuXHQgKiB0byB1cGRhdGUgdGhlIGRhdGEgaW4gdGhlIG1vZGVsLlxuXHQgKiBAcGFyYW0gX3BheWxvYWQgQWRkaXRpb25hbCBjb250ZXh0IGluZm9ybWF0aW9uIGZvciB0aGlzIGtleVxuXHQgKiBAcGFyYW0gY29uZGl0aW9ucyBDdXJyZW50IGNvbmRpdGlvbnNcblx0ICogQHBhcmFtIGNvbnRyb2wgSW5zdGFuY2Ugb2YgdGhlIGNhbGxpbmcgY29udHJvbFxuXHQgKiBAcmV0dXJucyBQcm9taXNlIGlzIHJldHVybmVkXG5cdCAqL1xuXHR1cGRhdGVJdGVtczogYXN5bmMgZnVuY3Rpb24gKF9wYXlsb2FkOiB1bmRlZmluZWQsIGNvbmRpdGlvbnM6IENvbmRpdGlvbk9iamVjdFtdLCBjb250cm9sOiBNdWx0aVZhbHVlRmllbGQpIHtcblx0XHRjb25zdCBsaXN0QmluZGluZyA9IGNvbnRyb2wuZ2V0QmluZGluZyhcIml0ZW1zXCIpIGFzIE9EYXRhTGlzdEJpbmRpbmcgfCBKU09OTGlzdEJpbmRpbmc7XG5cblx0XHRjb25zdCBpc0pzb25MaXN0QmluZGluZyA9IGxpc3RCaW5kaW5nLmlzQShcInNhcC51aS5tb2RlbC5qc29uLkpTT05MaXN0QmluZGluZ1wiKTtcblx0XHRjb25zdCBpc09EYXRhTGlzdEJpbmRpbmcgPSBsaXN0QmluZGluZy5pc0EoXCJzYXAudWkubW9kZWwub2RhdGEudjQuT0RhdGFMaXN0QmluZGluZ1wiKTtcblxuXHRcdGNvbnN0IGJpbmRpbmdJbmZvID0gY29udHJvbC5nZXRCaW5kaW5nSW5mbyhcIml0ZW1zXCIpO1xuXHRcdC8vIGNoZWNrIGlmIGNvbmRpdGlvbnMgYXJlIGFkZGVkLCByZW1vdmVkIG9yIGNoYW5nZWRcblx0XHRjb25zdCBrZXlCaW5kaW5nSW5mbyA9IGJpbmRpbmdJbmZvLnRlbXBsYXRlLmdldEJpbmRpbmdJbmZvKFwia2V5XCIpO1xuXHRcdGNvbnN0IGRlc2NyaXB0aW9uQmluZGluZ0luZm8gPSBiaW5kaW5nSW5mby50ZW1wbGF0ZS5nZXRCaW5kaW5nSW5mbyhcImRlc2NyaXB0aW9uXCIpO1xuXHRcdGNvbnN0IGtleVBhdGg6IHN0cmluZyA9IGtleUJpbmRpbmdJbmZvICYmIGtleUJpbmRpbmdJbmZvLnBhcnRzWzBdLnBhdGg7XG5cdFx0Y29uc3QgZGVzY3JpcHRpb25QYXRoID1cblx0XHRcdGRlc2NyaXB0aW9uQmluZGluZ0luZm8gJiZcblx0XHRcdGRlc2NyaXB0aW9uQmluZGluZ0luZm8ucGFydHMgJiZcblx0XHRcdGRlc2NyaXB0aW9uQmluZGluZ0luZm8ucGFydHNbMF0gJiZcblx0XHRcdGRlc2NyaXB0aW9uQmluZGluZ0luZm8ucGFydHNbMF0ucGF0aDtcblxuXHRcdGlmIChpc09EYXRhTGlzdEJpbmRpbmcpIHtcblx0XHRcdGF3YWl0IHRoaXMuX3VwZGF0ZUl0ZW1zSW5PRGF0YUxpc3RCaW5kaW5nKGxpc3RCaW5kaW5nIGFzIE9EYXRhTGlzdEJpbmRpbmcsIGNvbmRpdGlvbnMsIGNvbnRyb2wsIGtleVBhdGgsIGRlc2NyaXB0aW9uUGF0aCk7XG5cdFx0fSBlbHNlIGlmIChpc0pzb25MaXN0QmluZGluZykge1xuXHRcdFx0dGhpcy5fdXBkYXRlSXRlbXNJbkpzb25MaXN0QmluZGluZyhjb25kaXRpb25zLCBjb250cm9sLCBrZXlQYXRoLCBkZXNjcmlwdGlvblBhdGgpO1xuXHRcdH1cblx0fSxcblxuXHQvKipcblx0ICogVXBkYXRlcyB0aGUgaXRlbXMgaW4gYW4gT0RhdGEgbGlzdCBiaW5kaW5nLlxuXHQgKiBAcGFyYW0gbGlzdEJpbmRpbmdcblx0ICogQHBhcmFtIGNvbmRpdGlvbnNcblx0ICogQHBhcmFtIGNvbnRyb2xcblx0ICogQHBhcmFtIGtleVBhdGhcblx0ICogQHBhcmFtIGRlc2NyaXB0aW9uUGF0aFxuXHQgKiBAcmV0dXJucyBQcm9taXNlIGNvbnRhaW5pbmcgYWxsIHRoZSB1cGRhdGUgcHJvbWlzZXNcblx0ICovXG5cdF91cGRhdGVJdGVtc0luT0RhdGFMaXN0QmluZGluZzogYXN5bmMgZnVuY3Rpb24gKFxuXHRcdGxpc3RCaW5kaW5nOiBPRGF0YUxpc3RCaW5kaW5nLFxuXHRcdGNvbmRpdGlvbnM6IENvbmRpdGlvbk9iamVjdFtdLFxuXHRcdGNvbnRyb2w6IE11bHRpVmFsdWVGaWVsZCxcblx0XHRrZXlQYXRoOiBzdHJpbmcsXG5cdFx0ZGVzY3JpcHRpb25QYXRoOiBzdHJpbmdcblx0KSB7XG5cdFx0Y29uc3QgY29udGV4dHMgPSBsaXN0QmluZGluZy5nZXRDdXJyZW50Q29udGV4dHMoKTtcblxuXHRcdGNvbnN0IGRhdGFUb0FkZDogQ29uZGl0aW9uUGF5bG9hZFR5cGVbXSA9IFtdO1xuXHRcdGNvbnN0IGNvbnRyb2xsZXIgPSBDb21tb25VdGlscy5nZXRUYXJnZXRWaWV3KGNvbnRyb2wpLmdldENvbnRyb2xsZXIoKTtcblxuXHRcdC8vIENvbnRleHRzIHRvIGRlbGV0ZVxuXHRcdGNvbnN0IG5ld0tleXMgPSBjb25kaXRpb25zLm1hcChmdW5jdGlvbiAoY29uZGl0aW9uOiBDb25kaXRpb25PYmplY3QpIHtcblx0XHRcdHJldHVybiBjb25kaXRpb24udmFsdWVzWzBdO1xuXHRcdH0pO1xuXHRcdGNvbnN0IG9sZEtleXMgPSBjb250ZXh0cy5tYXAoZnVuY3Rpb24gKGNvbnRleHQ6IENvbnRleHQpIHtcblx0XHRcdHJldHVybiBjb250ZXh0LmdldFByb3BlcnR5KGtleVBhdGgpO1xuXHRcdH0pO1xuXHRcdGNvbnN0IG1vZGlmaWNhdGlvblByb21pc2VzID0gW107XG5cblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGNvbnRleHRzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRjb25zdCBkZWxldGVDb250ZXh0ID0gY29udGV4dHNbaV07XG5cdFx0XHRpZiAoIW5ld0tleXMuaW5jbHVkZXMoZGVsZXRlQ29udGV4dC5nZXRQcm9wZXJ0eShrZXlQYXRoKSkpIHtcblx0XHRcdFx0bW9kaWZpY2F0aW9uUHJvbWlzZXMucHVzaChcblx0XHRcdFx0XHRjb250cm9sbGVyLmVkaXRGbG93LmRlbGV0ZU11bHRpcGxlRG9jdW1lbnRzKFtkZWxldGVDb250ZXh0XSwge1xuXHRcdFx0XHRcdFx0Y29udHJvbElkOiBjb250cm9sLmdldElkKCksXG5cdFx0XHRcdFx0XHRub0RpYWxvZzogdHJ1ZVxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdCk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC8vIGRhdGEgdG8gYWRkXG5cdFx0Zm9yIChjb25zdCBjb25kaXRpb24gb2YgY29uZGl0aW9ucykge1xuXHRcdFx0aWYgKCFvbGRLZXlzLmluY2x1ZGVzKGNvbmRpdGlvbi52YWx1ZXNbMF0pKSB7XG5cdFx0XHRcdGNvbnN0IGl0ZW06IENvbmRpdGlvblBheWxvYWRUeXBlID0ge307XG5cdFx0XHRcdGlmIChrZXlQYXRoICYmICFrZXlQYXRoLmluY2x1ZGVzKFwiL1wiKSkge1xuXHRcdFx0XHRcdC8vIHdlIGRvIG5vdCBtYW5hZ2UgdG8gY3JlYXRlIG9uIGEgc3ViIGVudGl0eSBvZiB0aGUgMTpuIG5hdmlnYXRpb25cblx0XHRcdFx0XHRpdGVtW2tleVBhdGhdID0gY29uZGl0aW9uLnZhbHVlc1swXTtcblxuXHRcdFx0XHRcdGlmIChkZXNjcmlwdGlvblBhdGggJiYgIWRlc2NyaXB0aW9uUGF0aC5pbmNsdWRlcyhcIi9cIikgJiYgZGVzY3JpcHRpb25QYXRoICE9PSBrZXlQYXRoKSB7XG5cdFx0XHRcdFx0XHRpdGVtW2Rlc2NyaXB0aW9uUGF0aF0gPSBjb25kaXRpb24udmFsdWVzWzFdO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRkYXRhVG9BZGQucHVzaChpdGVtKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRpZiAoZGF0YVRvQWRkLmxlbmd0aCkge1xuXHRcdFx0bW9kaWZpY2F0aW9uUHJvbWlzZXMucHVzaChjb250cm9sbGVyLmVkaXRGbG93LmNyZWF0ZU11bHRpcGxlRG9jdW1lbnRzKGxpc3RCaW5kaW5nLCBkYXRhVG9BZGQsIHRydWUsIGZhbHNlKSk7XG5cdFx0fVxuXHRcdHJldHVybiBQcm9taXNlLmFsbChtb2RpZmljYXRpb25Qcm9taXNlcyk7XG5cdH0sXG5cdC8qKlxuXHQgKiBVcGRhdGVzIHRoZSBpdGVtcyBpbiBhIEpTT04gbGlzdCBiaW5kaW5nLlxuXHQgKiBAcGFyYW0gY29uZGl0aW9uc1xuXHQgKiBAcGFyYW0gY29udHJvbFxuXHQgKiBAcGFyYW0ga2V5UGF0aFxuXHQgKiBAcGFyYW0gZGVzY3JpcHRpb25QYXRoXG5cdCAqL1xuXHRfdXBkYXRlSXRlbXNJbkpzb25MaXN0QmluZGluZzogZnVuY3Rpb24gKFxuXHRcdGNvbmRpdGlvbnM6IENvbmRpdGlvbk9iamVjdFtdLFxuXHRcdGNvbnRyb2w6IE11bHRpVmFsdWVGaWVsZCxcblx0XHRrZXlQYXRoOiBzdHJpbmcsXG5cdFx0ZGVzY3JpcHRpb25QYXRoOiBzdHJpbmdcblx0KSB7XG5cdFx0Y29uc3QgY3VzdG9tRGF0YVZhbHVlID0gY29udHJvbC5nZXRDdXN0b21EYXRhKCkuZmluZCgoY2R2OiBDdXN0b21EYXRhKSA9PiBjZHYuZ2V0S2V5KCkgPT09IFwiZm9yd2FyZGVkSXRlbXNCaW5kaW5nXCIpO1xuXHRcdGNvbnN0IHZhbHVlcyA9IGN1c3RvbURhdGFWYWx1ZT8uZ2V0VmFsdWUoKTtcblx0XHQvL2NsZWFuIGFsbCBlbnRyaWVzIHRvIGtlZXAgYXJyYXkgcmVmZXJlbmNlXG5cdFx0dmFsdWVzLnNwbGljZSgwKTtcblx0XHRmb3IgKGNvbnN0IGNvbmRpdGlvbiBvZiBjb25kaXRpb25zKSB7XG5cdFx0XHRjb25zdCBpdGVtOiBDb25kaXRpb25QYXlsb2FkVHlwZSA9IHt9O1xuXHRcdFx0aXRlbVtrZXlQYXRoXSA9IGNvbmRpdGlvbi52YWx1ZXNbMF07XG5cdFx0XHRpZiAoY29uZGl0aW9uLnZhbHVlc1sxXSkge1xuXHRcdFx0XHRpdGVtW2Rlc2NyaXB0aW9uUGF0aF0gPSBjb25kaXRpb24udmFsdWVzWzFdO1xuXHRcdFx0fVxuXHRcdFx0dmFsdWVzLnB1c2goaXRlbSk7XG5cdFx0fVxuXG5cdFx0Y29uc3QgbW9kZWxOYW1lRm9yVXBkYXRlID0gY3VzdG9tRGF0YVZhbHVlPy5nZXRCaW5kaW5nSW5mbyhcInZhbHVlXCIpPy5wYXJ0c1swXT8ubW9kZWw7XG5cdFx0KGN1c3RvbURhdGFWYWx1ZT8uZ2V0TW9kZWwobW9kZWxOYW1lRm9yVXBkYXRlKSBhcyBKU09OTW9kZWwpPy51cGRhdGVCaW5kaW5ncyh0cnVlKTtcblx0fVxufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7U0FpQmVBLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDLENBQUMsQ0FBQyxF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
|
|
135
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJhc3NpZ24iLCJNZGNNdWx0aVZhbHVlRmllbGREZWxlZ2F0ZSIsImdldERlc2NyaXB0aW9uIiwiZmllbGQiLCJ2YWx1ZUhlbHAiLCJrZXkiLCJfY29uZGl0aW9uSW4iLCJfY29uZGl0aW9uT3V0IiwiYmluZGluZ0NvbnRleHQiLCJfQ29uZGl0aW9uTW9kZWwiLCJfY29uZGl0aW9uTW9kZWxOYW1lIiwiY29uZGl0aW9uUGF5bG9hZCIsImNvbnRyb2wiLCJ0eXBlIiwidW5kZWZpbmVkIiwiRmllbGRCYXNlRGVsZWdhdGUiLCJ1cGRhdGVJdGVtcyIsIl9wYXlsb2FkIiwiY29uZGl0aW9ucyIsImxpc3RCaW5kaW5nIiwiZ2V0QmluZGluZyIsImlzSnNvbkxpc3RCaW5kaW5nIiwiaXNBIiwiaXNPRGF0YUxpc3RCaW5kaW5nIiwiYmluZGluZ0luZm8iLCJnZXRCaW5kaW5nSW5mbyIsImtleUJpbmRpbmdJbmZvIiwidGVtcGxhdGUiLCJkZXNjcmlwdGlvbkJpbmRpbmdJbmZvIiwia2V5UGF0aCIsInBhcnRzIiwicGF0aCIsImRlc2NyaXB0aW9uUGF0aCIsIl91cGRhdGVJdGVtc0luT0RhdGFMaXN0QmluZGluZyIsIl91cGRhdGVJdGVtc0luSnNvbkxpc3RCaW5kaW5nIiwiY29udGV4dHMiLCJnZXRDdXJyZW50Q29udGV4dHMiLCJkYXRhVG9BZGQiLCJjb250cm9sbGVyIiwiQ29tbW9uVXRpbHMiLCJnZXRUYXJnZXRWaWV3IiwiZ2V0Q29udHJvbGxlciIsIm5ld0tleXMiLCJtYXAiLCJjb25kaXRpb24iLCJ2YWx1ZXMiLCJvbGRLZXlzIiwiY29udGV4dCIsImdldFByb3BlcnR5IiwibW9kaWZpY2F0aW9uUHJvbWlzZXMiLCJpIiwibGVuZ3RoIiwiZGVsZXRlQ29udGV4dCIsImluY2x1ZGVzIiwicHVzaCIsImVkaXRGbG93IiwiZGVsZXRlTXVsdGlwbGVEb2N1bWVudHMiLCJjb250cm9sSWQiLCJnZXRJZCIsIm5vRGlhbG9nIiwicmVxdWVzdFNpZGVFZmZlY3RzIiwiaXRlbSIsImluZGV4IiwiaW5kZXhPZiIsInNwbGljZSIsImNyZWF0ZU11bHRpcGxlRG9jdW1lbnRzIiwiUHJvbWlzZSIsImFsbCIsImN1c3RvbURhdGFWYWx1ZSIsImdldEN1c3RvbURhdGEiLCJmaW5kIiwiY2R2IiwiZ2V0S2V5IiwiZ2V0VmFsdWUiLCJtb2RlbE5hbWVGb3JVcGRhdGUiLCJtb2RlbCIsImdldE1vZGVsIiwidXBkYXRlQmluZGluZ3MiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIk11bHRpVmFsdWVGaWVsZERlbGVnYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIEN1c3RvbURhdGEgZnJvbSBcInNhcC91aS9jb3JlL0N1c3RvbURhdGFcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9tZGMvQ29udHJvbFwiO1xuaW1wb3J0IHR5cGUgRmllbGQgZnJvbSBcInNhcC91aS9tZGMvRmllbGRcIjtcbmltcG9ydCB0eXBlIE11bHRpVmFsdWVGaWVsZCBmcm9tIFwic2FwL3VpL21kYy9NdWx0aVZhbHVlRmllbGRcIjtcbmltcG9ydCB0eXBlIFZhbHVlSGVscCBmcm9tIFwic2FwL3VpL21kYy9WYWx1ZUhlbHBcIjtcbmltcG9ydCB0eXBlIHsgQ29uZGl0aW9uT2JqZWN0IH0gZnJvbSBcInNhcC91aS9tZGMvY29uZGl0aW9uL0NvbmRpdGlvblwiO1xuaW1wb3J0IHR5cGUgQ29uZGl0aW9uTW9kZWwgZnJvbSBcInNhcC91aS9tZGMvY29uZGl0aW9uL0NvbmRpdGlvbk1vZGVsXCI7XG5pbXBvcnQgRmllbGRCYXNlRGVsZWdhdGUgZnJvbSBcInNhcC91aS9tZGMvZmllbGQvRmllbGRCYXNlRGVsZWdhdGVcIjtcbmltcG9ydCBNZGNNdWx0aVZhbHVlRmllbGREZWxlZ2F0ZSBmcm9tIFwic2FwL3VpL21kYy9maWVsZC9NdWx0aVZhbHVlRmllbGREZWxlZ2F0ZVwiO1xuaW1wb3J0IHR5cGUgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL0NvbnRleHRcIjtcbmltcG9ydCB0eXBlIE1vZGVsVHlwZSBmcm9tIFwic2FwL3VpL21vZGVsL1R5cGVcIjtcbmltcG9ydCB0eXBlIEpTT05MaXN0QmluZGluZyBmcm9tIFwic2FwL3VpL21vZGVsL2pzb24vSlNPTkxpc3RCaW5kaW5nXCI7XG5pbXBvcnQgdHlwZSBKU09OTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9qc29uL0pTT05Nb2RlbFwiO1xuaW1wb3J0IHR5cGUgT0RhdGFMaXN0QmluZGluZyBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTGlzdEJpbmRpbmdcIjtcbmltcG9ydCB0eXBlIHsgQ29uZGl0aW9uUGF5bG9hZE1hcCwgQ29uZGl0aW9uUGF5bG9hZFR5cGUgfSBmcm9tIFwiLi4vdmFsdWVoZWxwL1ZhbHVlSGVscERlbGVnYXRlXCI7XG5cbmV4cG9ydCBkZWZhdWx0IE9iamVjdC5hc3NpZ24oe30sIE1kY011bHRpVmFsdWVGaWVsZERlbGVnYXRlLCB7XG5cdC8qKlxuXHQgKiBEZXRlcm1pbmVzIHRoZSBkZXNjcmlwdGlvbiBmb3IgYSBnaXZlbiBrZXkuXG5cdCAqIEBwYXJhbSBmaWVsZCBUaGUgPGNvZGU+RmllbGQ8L2NvZGU+IGluc3RhbmNlXG5cdCAqIEBwYXJhbSB2YWx1ZUhlbHAgRmllbGQgaGVscCBhc3NpZ25lZCB0byB0aGUgPGNvZGU+RmllbGQ8L2NvZGU+IG9yIDxjb2RlPkZpbHRlckZpZWxkPC9jb2RlPiBjb250cm9sXG5cdCAqIEBwYXJhbSBrZXkgS2V5IHZhbHVlIG9mIHRoZSBkZXNjcmlwdGlvblxuXHQgKiBAcGFyYW0gX2NvbmRpdGlvbkluIEluIHBhcmFtZXRlcnMgZm9yIHRoZSBrZXkgKG5vIGxvbmdlciBzdXBwb3J0ZWQpXG5cdCAqIEBwYXJhbSBfY29uZGl0aW9uT3V0IE91dCBwYXJhbWV0ZXJzIGZvciB0aGUga2V5IChubyBsb25nZXIgc3VwcG9ydGVkKVxuXHQgKiBAcGFyYW0gYmluZGluZ0NvbnRleHQgQmluZGluZ0NvbnRleHQgPGNvZGU+QmluZGluZ0NvbnRleHQ8L2NvZGU+IG9mIHRoZSBjaGVja2VkIGZpZWxkLiBJbnNpZGUgYSB0YWJsZSwgdGhlIDxjb2RlPlZhbHVlSGVscDwvY29kZT4gZWxlbWVudCBjYW4gYmUgY29ubmVjdGVkIHRvIGEgZGlmZmVyZW50IHJvd1xuXHQgKiBAcGFyYW0gX0NvbmRpdGlvbk1vZGVsIENvbmRpdGlvbk1vZGVsPC9jb2RlPiwgaWYgYm91bmQgdG8gb25lXG5cdCAqIEBwYXJhbSBfY29uZGl0aW9uTW9kZWxOYW1lIE5hbWUgb2YgdGhlIDxjb2RlPkNvbmRpdGlvbk1vZGVsPC9jb2RlPiwgaWYgYm91bmQgdG8gb25lXG5cdCAqIEBwYXJhbSBjb25kaXRpb25QYXlsb2FkIEFkZGl0aW9uYWwgY29udGV4dCBpbmZvcm1hdGlvbiBmb3IgdGhpcyBrZXlcblx0ICogQHBhcmFtIGNvbnRyb2wgSW5zdGFuY2Ugb2YgdGhlIGNhbGxpbmcgY29udHJvbFxuXHQgKiBAcGFyYW0gdHlwZSBUeXBlIG9mIHRoZSB2YWx1ZVxuXHQgKiBAcmV0dXJucyBEZXNjcmlwdGlvbiBmb3IgdGhlIGtleSBvciBvYmplY3QgY29udGFpbmluZyBhIGRlc2NyaXB0aW9uLCBrZXkgYW5kIHBheWxvYWQuIElmIHRoZSBkZXNjcmlwdGlvbiBpcyBub3QgYXZhaWxhYmxlIHJpZ2h0IGF3YXkgKGl0IG11c3QgYmUgcmVxdWVzdGVkKSwgYSA8Y29kZT5Qcm9taXNlPC9jb2RlPiBpcyByZXR1cm5lZFxuXHQgKi9cblx0Z2V0RGVzY3JpcHRpb246IGZ1bmN0aW9uIChcblx0XHRmaWVsZDogRmllbGQgfCBudWxsLFxuXHRcdHZhbHVlSGVscDogVmFsdWVIZWxwLFxuXHRcdGtleTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCxcblx0XHRfY29uZGl0aW9uSW46IG9iamVjdCxcblx0XHRfY29uZGl0aW9uT3V0OiBvYmplY3QsXG5cdFx0YmluZGluZ0NvbnRleHQ6IENvbnRleHQgfCB1bmRlZmluZWQsXG5cdFx0X0NvbmRpdGlvbk1vZGVsOiBDb25kaXRpb25Nb2RlbCxcblx0XHRfY29uZGl0aW9uTW9kZWxOYW1lOiBzdHJpbmcsXG5cdFx0Y29uZGl0aW9uUGF5bG9hZDogQ29uZGl0aW9uUGF5bG9hZE1hcCxcblx0XHRjb250cm9sOiBDb250cm9sLFxuXHRcdHR5cGU6IE1vZGVsVHlwZVxuXHQpIHtcblx0XHRpZiAoa2V5ID09PSB1bmRlZmluZWQgfHwga2V5ID09PSBudWxsKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0cmV0dXJuIEZpZWxkQmFzZURlbGVnYXRlLmdldERlc2NyaXB0aW9uKFxuXHRcdFx0ZmllbGQgYXMgRmllbGQsXG5cdFx0XHR2YWx1ZUhlbHAsXG5cdFx0XHRrZXksXG5cdFx0XHRfY29uZGl0aW9uSW4sXG5cdFx0XHRfY29uZGl0aW9uT3V0LFxuXHRcdFx0YmluZGluZ0NvbnRleHQgYXMgQ29udGV4dCxcblx0XHRcdHVuZGVmaW5lZCxcblx0XHRcdHVuZGVmaW5lZCxcblx0XHRcdGNvbmRpdGlvblBheWxvYWQsXG5cdFx0XHRjb250cm9sLFxuXHRcdFx0dHlwZVxuXHRcdCk7XG5cdH0sXG5cblx0LyoqXG5cdCAqIEltcGxlbWVudHMgdGhlIG1vZGVsLXNwZWNpZmljIGxvZ2ljIHRvIHVwZGF0ZSBpdGVtcyBhZnRlciBjb25kaXRpb25zIGhhdmUgYmVlbiB1cGRhdGVkLlxuXHQgKiBJdGVtcyBjYW4gYmUgcmVtb3ZlZCwgdXBkYXRlZCwgb3IgYWRkZWQuIFVzZSB0aGUgYmluZGluZyBpbmZvcm1hdGlvbiBvZiB0aGUgYE11bHRpVmFsdWVGaWVsZGAgY29udHJvbFxuXHQgKiB0byB1cGRhdGUgdGhlIGRhdGEgaW4gdGhlIG1vZGVsLlxuXHQgKiBAcGFyYW0gX3BheWxvYWQgQWRkaXRpb25hbCBjb250ZXh0IGluZm9ybWF0aW9uIGZvciB0aGlzIGtleVxuXHQgKiBAcGFyYW0gY29uZGl0aW9ucyBDdXJyZW50IGNvbmRpdGlvbnNcblx0ICogQHBhcmFtIGNvbnRyb2wgSW5zdGFuY2Ugb2YgdGhlIGNhbGxpbmcgY29udHJvbFxuXHQgKiBAcmV0dXJucyBQcm9taXNlIGlzIHJldHVybmVkXG5cdCAqL1xuXHR1cGRhdGVJdGVtczogYXN5bmMgZnVuY3Rpb24gKF9wYXlsb2FkOiB1bmRlZmluZWQsIGNvbmRpdGlvbnM6IENvbmRpdGlvbk9iamVjdFtdLCBjb250cm9sOiBNdWx0aVZhbHVlRmllbGQpIHtcblx0XHRjb25zdCBsaXN0QmluZGluZyA9IGNvbnRyb2wuZ2V0QmluZGluZyhcIml0ZW1zXCIpIGFzIE9EYXRhTGlzdEJpbmRpbmcgfCBKU09OTGlzdEJpbmRpbmc7XG5cblx0XHRjb25zdCBpc0pzb25MaXN0QmluZGluZyA9IGxpc3RCaW5kaW5nLmlzQShcInNhcC51aS5tb2RlbC5qc29uLkpTT05MaXN0QmluZGluZ1wiKTtcblx0XHRjb25zdCBpc09EYXRhTGlzdEJpbmRpbmcgPSBsaXN0QmluZGluZy5pc0EoXCJzYXAudWkubW9kZWwub2RhdGEudjQuT0RhdGFMaXN0QmluZGluZ1wiKTtcblxuXHRcdGNvbnN0IGJpbmRpbmdJbmZvID0gY29udHJvbC5nZXRCaW5kaW5nSW5mbyhcIml0ZW1zXCIpO1xuXHRcdC8vIGNoZWNrIGlmIGNvbmRpdGlvbnMgYXJlIGFkZGVkLCByZW1vdmVkIG9yIGNoYW5nZWRcblx0XHRjb25zdCBrZXlCaW5kaW5nSW5mbyA9IGJpbmRpbmdJbmZvLnRlbXBsYXRlLmdldEJpbmRpbmdJbmZvKFwia2V5XCIpO1xuXHRcdGNvbnN0IGRlc2NyaXB0aW9uQmluZGluZ0luZm8gPSBiaW5kaW5nSW5mby50ZW1wbGF0ZS5nZXRCaW5kaW5nSW5mbyhcImRlc2NyaXB0aW9uXCIpO1xuXHRcdGNvbnN0IGtleVBhdGg6IHN0cmluZyA9IGtleUJpbmRpbmdJbmZvICYmIGtleUJpbmRpbmdJbmZvLnBhcnRzWzBdLnBhdGg7XG5cdFx0Y29uc3QgZGVzY3JpcHRpb25QYXRoID1cblx0XHRcdGRlc2NyaXB0aW9uQmluZGluZ0luZm8gJiZcblx0XHRcdGRlc2NyaXB0aW9uQmluZGluZ0luZm8ucGFydHMgJiZcblx0XHRcdGRlc2NyaXB0aW9uQmluZGluZ0luZm8ucGFydHNbMF0gJiZcblx0XHRcdGRlc2NyaXB0aW9uQmluZGluZ0luZm8ucGFydHNbMF0ucGF0aDtcblxuXHRcdGlmIChpc09EYXRhTGlzdEJpbmRpbmcpIHtcblx0XHRcdGF3YWl0IHRoaXMuX3VwZGF0ZUl0ZW1zSW5PRGF0YUxpc3RCaW5kaW5nKGxpc3RCaW5kaW5nIGFzIE9EYXRhTGlzdEJpbmRpbmcsIGNvbmRpdGlvbnMsIGNvbnRyb2wsIGtleVBhdGgsIGRlc2NyaXB0aW9uUGF0aCk7XG5cdFx0fSBlbHNlIGlmIChpc0pzb25MaXN0QmluZGluZykge1xuXHRcdFx0dGhpcy5fdXBkYXRlSXRlbXNJbkpzb25MaXN0QmluZGluZyhjb25kaXRpb25zLCBjb250cm9sLCBrZXlQYXRoLCBkZXNjcmlwdGlvblBhdGgpO1xuXHRcdH1cblx0fSxcblxuXHQvKipcblx0ICogVXBkYXRlcyB0aGUgaXRlbXMgaW4gYW4gT0RhdGEgbGlzdCBiaW5kaW5nLlxuXHQgKiBAcGFyYW0gbGlzdEJpbmRpbmdcblx0ICogQHBhcmFtIGNvbmRpdGlvbnNcblx0ICogQHBhcmFtIGNvbnRyb2xcblx0ICogQHBhcmFtIGtleVBhdGhcblx0ICogQHBhcmFtIGRlc2NyaXB0aW9uUGF0aFxuXHQgKiBAcmV0dXJucyBQcm9taXNlIGNvbnRhaW5pbmcgYWxsIHRoZSB1cGRhdGUgcHJvbWlzZXNcblx0ICovXG5cdF91cGRhdGVJdGVtc0luT0RhdGFMaXN0QmluZGluZzogYXN5bmMgZnVuY3Rpb24gKFxuXHRcdGxpc3RCaW5kaW5nOiBPRGF0YUxpc3RCaW5kaW5nLFxuXHRcdGNvbmRpdGlvbnM6IENvbmRpdGlvbk9iamVjdFtdLFxuXHRcdGNvbnRyb2w6IE11bHRpVmFsdWVGaWVsZCxcblx0XHRrZXlQYXRoOiBzdHJpbmcsXG5cdFx0ZGVzY3JpcHRpb25QYXRoOiBzdHJpbmdcblx0KSB7XG5cdFx0Y29uc3QgY29udGV4dHMgPSBsaXN0QmluZGluZy5nZXRDdXJyZW50Q29udGV4dHMoKTtcblxuXHRcdGNvbnN0IGRhdGFUb0FkZDogQ29uZGl0aW9uUGF5bG9hZFR5cGVbXSA9IFtdO1xuXHRcdGNvbnN0IGNvbnRyb2xsZXIgPSBDb21tb25VdGlscy5nZXRUYXJnZXRWaWV3KGNvbnRyb2wpLmdldENvbnRyb2xsZXIoKTtcblxuXHRcdC8vIENvbnRleHRzIHRvIGRlbGV0ZVxuXHRcdGNvbnN0IG5ld0tleXMgPSBjb25kaXRpb25zLm1hcChmdW5jdGlvbiAoY29uZGl0aW9uOiBDb25kaXRpb25PYmplY3QpIHtcblx0XHRcdHJldHVybiBjb25kaXRpb24udmFsdWVzWzBdO1xuXHRcdH0pO1xuXHRcdGNvbnN0IG9sZEtleXMgPSBjb250ZXh0cy5tYXAoZnVuY3Rpb24gKGNvbnRleHQ6IENvbnRleHQpIHtcblx0XHRcdHJldHVybiBjb250ZXh0LmdldFByb3BlcnR5KGtleVBhdGgpO1xuXHRcdH0pO1xuXHRcdGNvbnN0IG1vZGlmaWNhdGlvblByb21pc2VzID0gW107XG5cblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGNvbnRleHRzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRjb25zdCBkZWxldGVDb250ZXh0ID0gY29udGV4dHNbaV07XG5cdFx0XHRpZiAoIW5ld0tleXMuaW5jbHVkZXMoZGVsZXRlQ29udGV4dC5nZXRQcm9wZXJ0eShrZXlQYXRoKSkpIHtcblx0XHRcdFx0bW9kaWZpY2F0aW9uUHJvbWlzZXMucHVzaChcblx0XHRcdFx0XHRjb250cm9sbGVyLmVkaXRGbG93LmRlbGV0ZU11bHRpcGxlRG9jdW1lbnRzKFtkZWxldGVDb250ZXh0XSwge1xuXHRcdFx0XHRcdFx0Y29udHJvbElkOiBjb250cm9sLmdldElkKCksXG5cdFx0XHRcdFx0XHRub0RpYWxvZzogdHJ1ZSxcblx0XHRcdFx0XHRcdHJlcXVlc3RTaWRlRWZmZWN0czogdHJ1ZVxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdCk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC8vIGRhdGEgdG8gYWRkXG5cdFx0Zm9yIChjb25zdCBjb25kaXRpb24gb2YgY29uZGl0aW9ucykge1xuXHRcdFx0aWYgKCFvbGRLZXlzLmluY2x1ZGVzKGNvbmRpdGlvbi52YWx1ZXNbMF0pKSB7XG5cdFx0XHRcdGNvbnN0IGl0ZW06IENvbmRpdGlvblBheWxvYWRUeXBlID0ge307XG5cdFx0XHRcdGlmIChrZXlQYXRoICYmICFrZXlQYXRoLmluY2x1ZGVzKFwiL1wiKSkge1xuXHRcdFx0XHRcdC8vIHdlIGRvIG5vdCBtYW5hZ2UgdG8gY3JlYXRlIG9uIGEgc3ViIGVudGl0eSBvZiB0aGUgMTpuIG5hdmlnYXRpb25cblx0XHRcdFx0XHRpdGVtW2tleVBhdGhdID0gY29uZGl0aW9uLnZhbHVlc1swXTtcblxuXHRcdFx0XHRcdGlmIChkZXNjcmlwdGlvblBhdGggJiYgIWRlc2NyaXB0aW9uUGF0aC5pbmNsdWRlcyhcIi9cIikgJiYgZGVzY3JpcHRpb25QYXRoICE9PSBrZXlQYXRoKSB7XG5cdFx0XHRcdFx0XHRpdGVtW2Rlc2NyaXB0aW9uUGF0aF0gPSBjb25kaXRpb24udmFsdWVzWzFdO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRkYXRhVG9BZGQucHVzaChpdGVtKTtcblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Y29uc3QgaW5kZXggPSBvbGRLZXlzLmluZGV4T2YoY29uZGl0aW9uLnZhbHVlc1swXSk7XG5cdFx0XHRcdG9sZEtleXMuc3BsaWNlKGluZGV4LCAxKTtcblx0XHRcdFx0Ly8gcmVtb3ZlIHRoZSBrZXkgc28gdGhhdCBpdCBkb2Vzbid0IGdldCByZWNvZ25pemUgdHdpY2Vcblx0XHRcdH1cblx0XHR9XG5cdFx0aWYgKGRhdGFUb0FkZC5sZW5ndGgpIHtcblx0XHRcdG1vZGlmaWNhdGlvblByb21pc2VzLnB1c2goXG5cdFx0XHRcdGNvbnRyb2xsZXIuZWRpdEZsb3cuY3JlYXRlTXVsdGlwbGVEb2N1bWVudHMobGlzdEJpbmRpbmcsIGRhdGFUb0FkZCwgdHJ1ZSwgZmFsc2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB0cnVlKVxuXHRcdFx0KTtcblx0XHR9XG5cdFx0cmV0dXJuIFByb21pc2UuYWxsKG1vZGlmaWNhdGlvblByb21pc2VzKTtcblx0fSxcblx0LyoqXG5cdCAqIFVwZGF0ZXMgdGhlIGl0ZW1zIGluIGEgSlNPTiBsaXN0IGJpbmRpbmcuXG5cdCAqIEBwYXJhbSBjb25kaXRpb25zXG5cdCAqIEBwYXJhbSBjb250cm9sXG5cdCAqIEBwYXJhbSBrZXlQYXRoXG5cdCAqIEBwYXJhbSBkZXNjcmlwdGlvblBhdGhcblx0ICovXG5cdF91cGRhdGVJdGVtc0luSnNvbkxpc3RCaW5kaW5nOiBmdW5jdGlvbiAoXG5cdFx0Y29uZGl0aW9uczogQ29uZGl0aW9uT2JqZWN0W10sXG5cdFx0Y29udHJvbDogTXVsdGlWYWx1ZUZpZWxkLFxuXHRcdGtleVBhdGg6IHN0cmluZyxcblx0XHRkZXNjcmlwdGlvblBhdGg6IHN0cmluZ1xuXHQpIHtcblx0XHRjb25zdCBjdXN0b21EYXRhVmFsdWUgPSBjb250cm9sLmdldEN1c3RvbURhdGEoKS5maW5kKChjZHY6IEN1c3RvbURhdGEpID0+IGNkdi5nZXRLZXkoKSA9PT0gXCJmb3J3YXJkZWRJdGVtc0JpbmRpbmdcIik7XG5cdFx0Y29uc3QgdmFsdWVzID0gY3VzdG9tRGF0YVZhbHVlPy5nZXRWYWx1ZSgpO1xuXHRcdC8vY2xlYW4gYWxsIGVudHJpZXMgdG8ga2VlcCBhcnJheSByZWZlcmVuY2Vcblx0XHR2YWx1ZXMuc3BsaWNlKDApO1xuXHRcdGZvciAoY29uc3QgY29uZGl0aW9uIG9mIGNvbmRpdGlvbnMpIHtcblx0XHRcdGNvbnN0IGl0ZW06IENvbmRpdGlvblBheWxvYWRUeXBlID0ge307XG5cdFx0XHRpdGVtW2tleVBhdGhdID0gY29uZGl0aW9uLnZhbHVlc1swXTtcblx0XHRcdGlmIChjb25kaXRpb24udmFsdWVzWzFdKSB7XG5cdFx0XHRcdGl0ZW1bZGVzY3JpcHRpb25QYXRoXSA9IGNvbmRpdGlvbi52YWx1ZXNbMV07XG5cdFx0XHR9XG5cdFx0XHR2YWx1ZXMucHVzaChpdGVtKTtcblx0XHR9XG5cblx0XHRjb25zdCBtb2RlbE5hbWVGb3JVcGRhdGUgPSBjdXN0b21EYXRhVmFsdWU/LmdldEJpbmRpbmdJbmZvKFwidmFsdWVcIik/LnBhcnRzWzBdPy5tb2RlbDtcblx0XHQoY3VzdG9tRGF0YVZhbHVlPy5nZXRNb2RlbChtb2RlbE5hbWVGb3JVcGRhdGUpIGFzIEpTT05Nb2RlbCk/LnVwZGF0ZUJpbmRpbmdzKHRydWUpO1xuXHR9XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztTQWlCZUEsTUFBTSxDQUFDQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUVDLDBCQUEwQixFQUFFO0lBQzVEO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQUNDQyxjQUFjLEVBQUUsU0FBQUEsQ0FDZkMsS0FBbUIsRUFDbkJDLFNBQW9CLEVBQ3BCQyxHQUE4QixFQUM5QkMsWUFBb0IsRUFDcEJDLGFBQXFCLEVBQ3JCQyxjQUFtQyxFQUNuQ0MsZUFBK0IsRUFDL0JDLG1CQUEyQixFQUMzQkMsZ0JBQXFDLEVBQ3JDQyxPQUFnQixFQUNoQkMsSUFBZSxFQUNkO01BQ0QsSUFBSVIsR0FBRyxLQUFLUyxTQUFTLElBQUlULEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDdEM7TUFDRDtNQUVBLE9BQU9VLGlCQUFpQixDQUFDYixjQUFjLENBQ3RDQyxLQUFLLEVBQ0xDLFNBQVMsRUFDVEMsR0FBRyxFQUNIQyxZQUFZLEVBQ1pDLGFBQWEsRUFDYkMsY0FBYyxFQUNkTSxTQUFTLEVBQ1RBLFNBQVMsRUFDVEgsZ0JBQWdCLEVBQ2hCQyxPQUFPLEVBQ1BDLElBQ0QsQ0FBQztJQUNGLENBQUM7SUFFRDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFDQ0csV0FBVyxFQUFFLGVBQUFBLENBQWdCQyxRQUFtQixFQUFFQyxVQUE2QixFQUFFTixPQUF3QixFQUFFO01BQzFHLE1BQU1PLFdBQVcsR0FBR1AsT0FBTyxDQUFDUSxVQUFVLENBQUMsT0FBTyxDQUF1QztNQUVyRixNQUFNQyxpQkFBaUIsR0FBR0YsV0FBVyxDQUFDRyxHQUFHLENBQUMsbUNBQW1DLENBQUM7TUFDOUUsTUFBTUMsa0JBQWtCLEdBQUdKLFdBQVcsQ0FBQ0csR0FBRyxDQUFDLHdDQUF3QyxDQUFDO01BRXBGLE1BQU1FLFdBQVcsR0FBR1osT0FBTyxDQUFDYSxjQUFjLENBQUMsT0FBTyxDQUFDO01BQ25EO01BQ0EsTUFBTUMsY0FBYyxHQUFHRixXQUFXLENBQUNHLFFBQVEsQ0FBQ0YsY0FBYyxDQUFDLEtBQUssQ0FBQztNQUNqRSxNQUFNRyxzQkFBc0IsR0FBR0osV0FBVyxDQUFDRyxRQUFRLENBQUNGLGNBQWMsQ0FBQyxhQUFhLENBQUM7TUFDakYsTUFBTUksT0FBZSxHQUFHSCxjQUFjLElBQUlBLGNBQWMsQ0FBQ0ksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDQyxJQUFJO01BQ3RFLE1BQU1DLGVBQWUsR0FDcEJKLHNCQUFzQixJQUN0QkEsc0JBQXNCLENBQUNFLEtBQUssSUFDNUJGLHNCQUFzQixDQUFDRSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQy9CRixzQkFBc0IsQ0FBQ0UsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDQyxJQUFJO01BRXJDLElBQUlSLGtCQUFrQixFQUFFO1FBQ3ZCLE1BQU0sSUFBSSxDQUFDVSw4QkFBOEIsQ0FBQ2QsV0FBVyxFQUFzQkQsVUFBVSxFQUFFTixPQUFPLEVBQUVpQixPQUFPLEVBQUVHLGVBQWUsQ0FBQztNQUMxSCxDQUFDLE1BQU0sSUFBSVgsaUJBQWlCLEVBQUU7UUFDN0IsSUFBSSxDQUFDYSw2QkFBNkIsQ0FBQ2hCLFVBQVUsRUFBRU4sT0FBTyxFQUFFaUIsT0FBTyxFQUFFRyxlQUFlLENBQUM7TUFDbEY7SUFDRCxDQUFDO0lBRUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBQ0NDLDhCQUE4QixFQUFFLGVBQUFBLENBQy9CZCxXQUE2QixFQUM3QkQsVUFBNkIsRUFDN0JOLE9BQXdCLEVBQ3hCaUIsT0FBZSxFQUNmRyxlQUF1QixFQUN0QjtNQUNELE1BQU1HLFFBQVEsR0FBR2hCLFdBQVcsQ0FBQ2lCLGtCQUFrQixDQUFDLENBQUM7TUFFakQsTUFBTUMsU0FBaUMsR0FBRyxFQUFFO01BQzVDLE1BQU1DLFVBQVUsR0FBR0MsV0FBVyxDQUFDQyxhQUFhLENBQUM1QixPQUFPLENBQUMsQ0FBQzZCLGFBQWEsQ0FBQyxDQUFDOztNQUVyRTtNQUNBLE1BQU1DLE9BQU8sR0FBR3hCLFVBQVUsQ0FBQ3lCLEdBQUcsQ0FBQyxVQUFVQyxTQUEwQixFQUFFO1FBQ3BFLE9BQU9BLFNBQVMsQ0FBQ0MsTUFBTSxDQUFDLENBQUMsQ0FBQztNQUMzQixDQUFDLENBQUM7TUFDRixNQUFNQyxPQUFPLEdBQUdYLFFBQVEsQ0FBQ1EsR0FBRyxDQUFDLFVBQVVJLE9BQWdCLEVBQUU7UUFDeEQsT0FBT0EsT0FBTyxDQUFDQyxXQUFXLENBQUNuQixPQUFPLENBQUM7TUFDcEMsQ0FBQyxDQUFDO01BQ0YsTUFBTW9CLG9CQUFvQixHQUFHLEVBQUU7TUFFL0IsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUdmLFFBQVEsQ0FBQ2dCLE1BQU0sRUFBRUQsQ0FBQyxFQUFFLEVBQUU7UUFDekMsTUFBTUUsYUFBYSxHQUFHakIsUUFBUSxDQUFDZSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDUixPQUFPLENBQUNXLFFBQVEsQ0FBQ0QsYUFBYSxDQUFDSixXQUFXLENBQUNuQixPQUFPLENBQUMsQ0FBQyxFQUFFO1VBQzFEb0Isb0JBQW9CLENBQUNLLElBQUksQ0FDeEJoQixVQUFVLENBQUNpQixRQUFRLENBQUNDLHVCQUF1QixDQUFDLENBQUNKLGFBQWEsQ0FBQyxFQUFFO1lBQzVESyxTQUFTLEVBQUU3QyxPQUFPLENBQUM4QyxLQUFLLENBQUMsQ0FBQztZQUMxQkMsUUFBUSxFQUFFLElBQUk7WUFDZEMsa0JBQWtCLEVBQUU7VUFDckIsQ0FBQyxDQUNGLENBQUM7UUFDRjtNQUNEO01BQ0E7TUFDQSxLQUFLLE1BQU1oQixTQUFTLElBQUkxQixVQUFVLEVBQUU7UUFDbkMsSUFBSSxDQUFDNEIsT0FBTyxDQUFDTyxRQUFRLENBQUNULFNBQVMsQ0FBQ0MsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7VUFDM0MsTUFBTWdCLElBQTBCLEdBQUcsQ0FBQyxDQUFDO1VBQ3JDLElBQUloQyxPQUFPLElBQUksQ0FBQ0EsT0FBTyxDQUFDd0IsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3RDO1lBQ0FRLElBQUksQ0FBQ2hDLE9BQU8sQ0FBQyxHQUFHZSxTQUFTLENBQUNDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFFbkMsSUFBSWIsZUFBZSxJQUFJLENBQUNBLGVBQWUsQ0FBQ3FCLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSXJCLGVBQWUsS0FBS0gsT0FBTyxFQUFFO2NBQ3JGZ0MsSUFBSSxDQUFDN0IsZUFBZSxDQUFDLEdBQUdZLFNBQVMsQ0FBQ0MsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUM1QztZQUNBUixTQUFTLENBQUNpQixJQUFJLENBQUNPLElBQUksQ0FBQztVQUNyQjtRQUNELENBQUMsTUFBTTtVQUNOLE1BQU1DLEtBQUssR0FBR2hCLE9BQU8sQ0FBQ2lCLE9BQU8sQ0FBQ25CLFNBQVMsQ0FBQ0MsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1VBQ2xEQyxPQUFPLENBQUNrQixNQUFNLENBQUNGLEtBQUssRUFBRSxDQUFDLENBQUM7VUFDeEI7UUFDRDtNQUNEO01BQ0EsSUFBSXpCLFNBQVMsQ0FBQ2MsTUFBTSxFQUFFO1FBQ3JCRixvQkFBb0IsQ0FBQ0ssSUFBSSxDQUN4QmhCLFVBQVUsQ0FBQ2lCLFFBQVEsQ0FBQ1UsdUJBQXVCLENBQUM5QyxXQUFXLEVBQUVrQixTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRXZCLFNBQVMsRUFBRUEsU0FBUyxFQUFFLElBQUksQ0FDNUcsQ0FBQztNQUNGO01BQ0EsT0FBT29ELE9BQU8sQ0FBQ0MsR0FBRyxDQUFDbEIsb0JBQW9CLENBQUM7SUFDekMsQ0FBQztJQUNEO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBQ0NmLDZCQUE2QixFQUFFLFNBQUFBLENBQzlCaEIsVUFBNkIsRUFDN0JOLE9BQXdCLEVBQ3hCaUIsT0FBZSxFQUNmRyxlQUF1QixFQUN0QjtNQUNELE1BQU1vQyxlQUFlLEdBQUd4RCxPQUFPLENBQUN5RCxhQUFhLENBQUMsQ0FBQyxDQUFDQyxJQUFJLENBQUVDLEdBQWUsSUFBS0EsR0FBRyxDQUFDQyxNQUFNLENBQUMsQ0FBQyxLQUFLLHVCQUF1QixDQUFDO01BQ25ILE1BQU0zQixNQUFNLEdBQUd1QixlQUFlLEVBQUVLLFFBQVEsQ0FBQyxDQUFDO01BQzFDO01BQ0E1QixNQUFNLENBQUNtQixNQUFNLENBQUMsQ0FBQyxDQUFDO01BQ2hCLEtBQUssTUFBTXBCLFNBQVMsSUFBSTFCLFVBQVUsRUFBRTtRQUNuQyxNQUFNMkMsSUFBMEIsR0FBRyxDQUFDLENBQUM7UUFDckNBLElBQUksQ0FBQ2hDLE9BQU8sQ0FBQyxHQUFHZSxTQUFTLENBQUNDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDbkMsSUFBSUQsU0FBUyxDQUFDQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUU7VUFDeEJnQixJQUFJLENBQUM3QixlQUFlLENBQUMsR0FBR1ksU0FBUyxDQUFDQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzVDO1FBQ0FBLE1BQU0sQ0FBQ1MsSUFBSSxDQUFDTyxJQUFJLENBQUM7TUFDbEI7TUFFQSxNQUFNYSxrQkFBa0IsR0FBR04sZUFBZSxFQUFFM0MsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU2QyxLQUFLO01BQ25GUCxlQUFlLEVBQUVRLFFBQVEsQ0FBQ0Ysa0JBQWtCLENBQUMsRUFBZ0JHLGNBQWMsQ0FBQyxJQUFJLENBQUM7SUFDbkY7RUFDRCxDQUFDLENBQUM7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -132,7 +132,8 @@ export default Object.assign({}, MdcMultiValueFieldDelegate, {
|
|
|
132
132
|
modificationPromises.push(
|
|
133
133
|
controller.editFlow.deleteMultipleDocuments([deleteContext], {
|
|
134
134
|
controlId: control.getId(),
|
|
135
|
-
noDialog: true
|
|
135
|
+
noDialog: true,
|
|
136
|
+
requestSideEffects: true
|
|
136
137
|
})
|
|
137
138
|
);
|
|
138
139
|
}
|
|
@@ -150,10 +151,16 @@ export default Object.assign({}, MdcMultiValueFieldDelegate, {
|
|
|
150
151
|
}
|
|
151
152
|
dataToAdd.push(item);
|
|
152
153
|
}
|
|
154
|
+
} else {
|
|
155
|
+
const index = oldKeys.indexOf(condition.values[0]);
|
|
156
|
+
oldKeys.splice(index, 1);
|
|
157
|
+
// remove the key so that it doesn't get recognize twice
|
|
153
158
|
}
|
|
154
159
|
}
|
|
155
160
|
if (dataToAdd.length) {
|
|
156
|
-
modificationPromises.push(
|
|
161
|
+
modificationPromises.push(
|
|
162
|
+
controller.editFlow.createMultipleDocuments(listBinding, dataToAdd, true, false, undefined, undefined, true)
|
|
163
|
+
);
|
|
157
164
|
}
|
|
158
165
|
return Promise.all(modificationPromises);
|
|
159
166
|
},
|
|
@@ -58,7 +58,7 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/core/helpers/TypeGuards", "
|
|
|
58
58
|
* @param qualifierMap
|
|
59
59
|
* @returns A payload structure for semanticObjectMappings
|
|
60
60
|
*/;
|
|
61
|
-
QuickView.getSemanticObjectMappingsForPayload = function getSemanticObjectMappingsForPayload(propertyWithSemanticObject, qualifierMap) {
|
|
61
|
+
QuickView.getSemanticObjectMappingsForPayload = function getSemanticObjectMappingsForPayload(propertyWithSemanticObject, qualifierMap, prefix) {
|
|
62
62
|
const semanticObjectMappings = [];
|
|
63
63
|
if (propertyWithSemanticObject !== undefined) {
|
|
64
64
|
for (const semanticObjectMapping of getSemanticObjectMappings(propertyWithSemanticObject)) {
|
|
@@ -73,7 +73,7 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/core/helpers/TypeGuards", "
|
|
|
73
73
|
case "com.sap.vocabularies.Common.v1.SemanticObjectMappingType":
|
|
74
74
|
default:
|
|
75
75
|
return {
|
|
76
|
-
key: semanticObjectMappingType.LocalProperty.value,
|
|
76
|
+
key: prefix ? `${prefix}${semanticObjectMappingType.LocalProperty.value}` : semanticObjectMappingType.LocalProperty.value,
|
|
77
77
|
value: semanticObjectMappingType.SemanticObjectProperty.valueOf()
|
|
78
78
|
};
|
|
79
79
|
}
|
|
@@ -176,7 +176,8 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/core/helpers/TypeGuards", "
|
|
|
176
176
|
semanticObjectsList,
|
|
177
177
|
qualifierMap
|
|
178
178
|
} = getSemanticObjectsAndQualifierMap(propertyWithSemanticObject);
|
|
179
|
-
const
|
|
179
|
+
const prefix = this.valueDataModelPath && valueProperty && getContextRelativeTargetObjectPath(this.valueDataModelPath)?.replace(valueProperty.name, "");
|
|
180
|
+
const semanticObjectMappings = QuickView.getSemanticObjectMappingsForPayload(propertyWithSemanticObject, qualifierMap, prefix);
|
|
180
181
|
const semanticObjectUnavailableActions = QuickView.getSemanticObjectUnavailableActionsForPayload(propertyWithSemanticObject, qualifierMap);
|
|
181
182
|
QuickView.addCustomSemanticObjectToSemanticObjectListForPayload(semanticObjectsList, this.semanticObject, qualifierMap);
|
|
182
183
|
const propertyPathLabel = valueProperty?.annotations.Common?.Label?.valueOf() || "";
|
|
@@ -276,4 +277,4 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/core/helpers/TypeGuards", "
|
|
|
276
277
|
_exports = QuickView;
|
|
277
278
|
return _exports;
|
|
278
279
|
}, false);
|
|
279
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJRdWlja1ZpZXciLCJ2YWx1ZURhdGFNb2RlbFBhdGgiLCJtZXRhUGF0aCIsImNvbnRleHRQYXRoIiwic2VtYW50aWNPYmplY3QiLCJjb21wdXRlUHJvcGVydGllc0FuZFBheWxvYWQiLCJfZXhwb3J0cyIsImdldFJlbGF0aXZlUGF0aFRvUXVpY2tWaWV3RW50aXR5IiwicHJvcGVydHlEYXRhTW9kZWxQYXRoIiwicmVsYXRpdmVQYXRoVG9RdWlja1ZpZXdFbnRpdHkiLCJxdWlja1ZpZXdOYXZQcm9wIiwiZ2V0TmF2UHJvcFRvUXVpY2tWaWV3RW50aXR5IiwibmF2aWdhdGlvblByb3BlcnRpZXMiLCJyZWR1Y2UiLCJyZWxhdGl2UGF0aCIsIm5hdlByb3AiLCJuYW1lIiwiY29udGV4dExvY2F0aW9uIiwiZmluZCIsImNvbnRleHROYXZQcm9wIiwiZ2V0U2VtYW50aWNPYmplY3RNYXBwaW5nc0ZvclBheWxvYWQiLCJwcm9wZXJ0eVdpdGhTZW1hbnRpY09iamVjdCIsInF1YWxpZmllck1hcCIsInNlbWFudGljT2JqZWN0TWFwcGluZ3MiLCJ1bmRlZmluZWQiLCJzZW1hbnRpY09iamVjdE1hcHBpbmciLCJnZXRTZW1hbnRpY09iamVjdE1hcHBpbmdzIiwiY29ycmVzcG9uZGluZ1NlbWFudGljT2JqZWN0IiwicXVhbGlmaWVyIiwicHVzaCIsIml0ZW1zIiwibWFwIiwic2VtYW50aWNPYmplY3RNYXBwaW5nVHlwZSIsIiRUeXBlIiwiRXJyb3IiLCJrZXkiLCJMb2NhbFByb3BlcnR5IiwidmFsdWUiLCJTZW1hbnRpY09iamVjdFByb3BlcnR5IiwidmFsdWVPZiIsImdldFNlbWFudGljT2JqZWN0VW5hdmFpbGFibGVBY3Rpb25zRm9yUGF5bG9hZCIsInNlbWFudGljT2JqZWN0VW5hdmFpbGFibGVBY3Rpb25zIiwidW5hdmFpbGFibGVBY3Rpb25Bbm5vdGF0aW9uIiwiZ2V0U2VtYW50aWNPYmplY3RVbmF2YWlsYWJsZUFjdGlvbnMiLCJhY3Rpb25zIiwidW5hdmFpbGFibGVBY3Rpb24iLCJhZGRDdXN0b21TZW1hbnRpY09iamVjdFRvU2VtYW50aWNPYmplY3RMaXN0Rm9yUGF5bG9hZCIsInNlbWFudGljT2JqZWN0c0xpc3QiLCJjdXN0b21TZW1hbnRpY09iamVjdCIsInNwbGljZSIsImxlbmd0aCIsInN0YXJ0c1dpdGgiLCJpbmNsdWRlcyIsIkpTT04iLCJwYXJzZSIsInByb3BlcnR5IiwidGFyZ2V0T2JqZWN0IiwidGFyZ2V0RW50aXR5VHlwZSIsInJlZmVyZW50aWFsQ29uc3RyYWludCIsInNvbWUiLCJzb3VyY2VQcm9wZXJ0eSIsInRhcmdldFR5cGUiLCJhbm5vdGF0aW9ucyIsIlVJIiwiUXVpY2tWaWV3RmFjZXRzIiwidGFyZ2V0RW50aXR5U2V0Iiwic2VtYW50aWNLZXlzIiwiQ29tbW9uIiwiU2VtYW50aWNLZXkiLCJpc1Byb3BlcnR5U2VtYW50aWNLZXkiLCJzZW1hbnRpY0tleSIsIiR0YXJnZXQiLCJsYXN0TmF2UHJvcCIsImlzS2V5IiwiX3Byb3RvIiwicHJvdG90eXBlIiwidmFsdWVQcm9wZXJ0eSIsImlzUHJvcGVydHkiLCJoYXNRdWlja1ZpZXdGYWNldHMiLCJpc1VzZWRJbk5hdmlnYXRpb25XaXRoUXVpY2tWaWV3RmFjZXRzIiwiYWJzb2x1dGVDb250ZXh0UGF0aCIsImVuZHNXaXRoIiwic2xpY2UiLCJxdWlja1ZpZXdFbnRpdHkiLCJuYXZpZ2F0aW9uUGF0aCIsImNvbXBpbGVFeHByZXNzaW9uIiwicGF0aEluTW9kZWwiLCJnZXRQcm9wZXJ0eVdpdGhTZW1hbnRpY09iamVjdCIsImdldFNlbWFudGljT2JqZWN0c0FuZFF1YWxpZmllck1hcCIsInByb3BlcnR5UGF0aExhYmVsIiwiTGFiZWwiLCJxdWFsaWZpZXJzIiwiT2JqZWN0IiwiZnJvbUVudHJpZXMiLCJlbnRyaWVzIiwiX3JlZiIsInF1YWxpZmllcktleSIsInBheWxvYWQiLCJzZW1hbnRpY09iamVjdHMiLCJlbnRpdHlUeXBlIiwiZGF0YUZpZWxkIiwiY29udGFjdCIsImRhdGFGaWVsZFByb3BQYXRoIiwiZ2V0Q29udGV4dFJlbGF0aXZlVGFyZ2V0T2JqZWN0UGF0aCIsImNyZWF0ZUNvbnRlbnQiLCJkZWxlZ2F0ZUNvbmZpZ3VyYXRpb24iLCJjdXN0b21EYXRhIiwiZ2V0QWxsQ3VzdG9tRGF0YSIsIl9qc3giLCJNZGNMaW5rIiwiZGVsZWdhdGUiLCJjaGlsZHJlbiIsImdldEN1c3RvbURhdGFGb3JTZW1hbnRpY09iamVjdCIsImR5bmFtaWNQYXRoV2l0aFJlbGF0aXZlTG9jYXRpb24iLCJpbmRleE9mUXVhbGlmaWVyIiwiZ2V0RHluYW1pY1BhdGhGcm9tU2VtYW50aWNPYmplY3QiLCJrZXlzIiwiQ3VzdG9tRGF0YSIsInJlbGF0aXZlTG9jYXRpb24iLCJnZXRSZWxhdGl2ZVBhdGhzIiwiZHluYW1pY1BhdGhGcm9tU2VtYW50aWNPYmplY3QiLCJ2YWx1ZXMiLCJmaW5kSW5kZXgiLCJzZW1hbnRpY09iamVjdEZyb21RdWFsaWZpZXIiLCJpdGVtIiwiY3VzdG9tRGF0YUZvclNlbWFudGljT2JqZWN0Il0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJRdWlja1ZpZXcudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQW5ub3RhdGlvblRlcm0sIE5hdmlnYXRpb25Qcm9wZXJ0eSwgUHJvcGVydHkgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB0eXBlICogYXMgRWRtIGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy9FZG1cIjtcbmltcG9ydCB0eXBlIHsgQ29tbW9uQW5ub3RhdGlvblRlcm1zIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9Db21tb25cIjtcbmltcG9ydCB7IENvbW1vbkFubm90YXRpb25UeXBlcyB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvQ29tbW9uXCI7XG5pbXBvcnQgeyBjb21waWxlRXhwcmVzc2lvbiwgcGF0aEluTW9kZWwsIHR5cGUgQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb24gfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB7IGlzUHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9UeXBlR3VhcmRzXCI7XG5pbXBvcnQgeyBnZXRDb250ZXh0UmVsYXRpdmVUYXJnZXRPYmplY3RQYXRoLCBnZXRSZWxhdGl2ZVBhdGhzLCB0eXBlIERhdGFNb2RlbE9iamVjdFBhdGggfSBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9EYXRhTW9kZWxQYXRoSGVscGVyXCI7XG5pbXBvcnQge1xuXHRnZXREeW5hbWljUGF0aEZyb21TZW1hbnRpY09iamVjdCxcblx0Z2V0UHJvcGVydHlXaXRoU2VtYW50aWNPYmplY3QsXG5cdGdldFNlbWFudGljT2JqZWN0TWFwcGluZ3MsXG5cdGdldFNlbWFudGljT2JqZWN0VW5hdmFpbGFibGVBY3Rpb25zLFxuXHRnZXRTZW1hbnRpY09iamVjdHNBbmRRdWFsaWZpZXJNYXBcbn0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvU2VtYW50aWNPYmplY3RIZWxwZXJcIjtcbmltcG9ydCB7IGlzVXNlZEluTmF2aWdhdGlvbldpdGhRdWlja1ZpZXdGYWNldHMgfSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9maWVsZC9GaWVsZFRlbXBsYXRpbmdcIjtcbmltcG9ydCB0eXBlIHtcblx0TGlua0RlbGVnYXRlUGF5bG9hZCxcblx0UmVnaXN0ZXJlZFNlbWFudGljT2JqZWN0TWFwcGluZyxcblx0UmVnaXN0ZXJlZFNlbWFudGljT2JqZWN0VW5hdmFpbGFibGVBY3Rpb25cbn0gZnJvbSBcInNhcC9mZS9tYWNyb3MvcXVpY2tWaWV3L1F1aWNrVmlld0RlbGVnYXRlXCI7XG5pbXBvcnQgQ3VzdG9tRGF0YSBmcm9tIFwic2FwL3VpL2NvcmUvQ3VzdG9tRGF0YVwiO1xuaW1wb3J0IE1kY0xpbmsgZnJvbSBcInNhcC91aS9tZGMvTGlua1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBRdWlja1ZpZXcge1xuXHRwdWJsaWMgbWV0YVBhdGghOiBzdHJpbmc7XG5cblx0cHVibGljIGNvbnRleHRQYXRoITogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBDdXN0b20gc2VtYW50aWMgb2JqZWN0XG5cdCAqL1xuXHRwdWJsaWMgc2VtYW50aWNPYmplY3Q/OiBzdHJpbmc7XG5cblx0cHVibGljIHZhbHVlRGF0YU1vZGVsUGF0aCE6IERhdGFNb2RlbE9iamVjdFBhdGg8UHJvcGVydHk+O1xuXG5cdHByaXZhdGUgcGF5bG9hZCE6IExpbmtEZWxlZ2F0ZVBheWxvYWQ7XG5cblx0cHJpdmF0ZSBxdWFsaWZpZXJNYXAhOiBSZWNvcmQ8c3RyaW5nLCBDb21waWxlZEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbj47XG5cblx0Y29uc3RydWN0b3IodmFsdWVEYXRhTW9kZWxQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoPFByb3BlcnR5PiwgbWV0YVBhdGg6IHN0cmluZywgY29udGV4dFBhdGg6IHN0cmluZywgc2VtYW50aWNPYmplY3Q/OiBzdHJpbmcpIHtcblx0XHR0aGlzLnZhbHVlRGF0YU1vZGVsUGF0aCA9IHZhbHVlRGF0YU1vZGVsUGF0aDtcblx0XHR0aGlzLm1ldGFQYXRoID0gbWV0YVBhdGg7XG5cdFx0dGhpcy5jb250ZXh0UGF0aCA9IGNvbnRleHRQYXRoO1xuXHRcdHRoaXMuc2VtYW50aWNPYmplY3QgPSBzZW1hbnRpY09iamVjdDtcblx0XHR0aGlzLmNvbXB1dGVQcm9wZXJ0aWVzQW5kUGF5bG9hZCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldCB0aGUgcmVsYXRpdmUgcGF0aCB0byB0aGUgZW50aXR5IHdoaWNoIHF1aWNrIHZpZXcgRmFjZXRzIHdlIHdhbnQgdG8gZGlzcGxheS5cblx0ICogQHBhcmFtIHByb3BlcnR5RGF0YU1vZGVsUGF0aFxuXHQgKiBAcmV0dXJucyBBIHBhdGggaWYgaXQgZXhpc3RzLlxuXHQgKi9cblx0c3RhdGljIGdldFJlbGF0aXZlUGF0aFRvUXVpY2tWaWV3RW50aXR5KHByb3BlcnR5RGF0YU1vZGVsUGF0aDogRGF0YU1vZGVsT2JqZWN0UGF0aDxQcm9wZXJ0eT4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRcdGxldCByZWxhdGl2ZVBhdGhUb1F1aWNrVmlld0VudGl0eTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXHRcdGNvbnN0IHF1aWNrVmlld05hdlByb3AgPSB0aGlzLmdldE5hdlByb3BUb1F1aWNrVmlld0VudGl0eShwcm9wZXJ0eURhdGFNb2RlbFBhdGgpO1xuXHRcdGlmIChxdWlja1ZpZXdOYXZQcm9wKSB7XG5cdFx0XHRyZWxhdGl2ZVBhdGhUb1F1aWNrVmlld0VudGl0eSA9IHByb3BlcnR5RGF0YU1vZGVsUGF0aC5uYXZpZ2F0aW9uUHJvcGVydGllcy5yZWR1Y2UoKHJlbGF0aXZQYXRoOiBzdHJpbmcsIG5hdlByb3ApID0+IHtcblx0XHRcdFx0aWYgKFxuXHRcdFx0XHRcdG5hdlByb3AubmFtZSAhPT0gcXVpY2tWaWV3TmF2UHJvcC5uYW1lICYmXG5cdFx0XHRcdFx0IXByb3BlcnR5RGF0YU1vZGVsUGF0aC5jb250ZXh0TG9jYXRpb24/Lm5hdmlnYXRpb25Qcm9wZXJ0aWVzLmZpbmQoXG5cdFx0XHRcdFx0XHQoY29udGV4dE5hdlByb3ApID0+IGNvbnRleHROYXZQcm9wLm5hbWUgPT09IG5hdlByb3AubmFtZVxuXHRcdFx0XHRcdClcblx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0Ly8gd2Uga2VlcCBvbmx5IG5hdlByb3BlcnRpZXMgdGhhdCBhcmUgcGFydCBvZiB0aGUgcmVsYXRpdmVQYXRoIGFuZCBub3QgdGhlIG9uZSBmb3IgcXVpY2tWaWV3TmF2UHJvcFxuXHRcdFx0XHRcdHJldHVybiBgJHtyZWxhdGl2UGF0aH0ke25hdlByb3AubmFtZX0vYDtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gcmVsYXRpdlBhdGg7XG5cdFx0XHR9LCBcIlwiKTtcblx0XHRcdHJlbGF0aXZlUGF0aFRvUXVpY2tWaWV3RW50aXR5ID0gYCR7cmVsYXRpdmVQYXRoVG9RdWlja1ZpZXdFbnRpdHl9JHtxdWlja1ZpZXdOYXZQcm9wLm5hbWV9YDtcblx0XHR9XG5cdFx0cmV0dXJuIHJlbGF0aXZlUGF0aFRvUXVpY2tWaWV3RW50aXR5O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldCB0aGUgc2VtYW50aWNPYmplY3RNYXBwaW5ncyBmcm9tIG1ldGFkYXRhIGluIHRoZSBwYXlsb2FkIGV4cGVjdGVkIHN0cnVjdHVyZS5cblx0ICogQHBhcmFtIHByb3BlcnR5V2l0aFNlbWFudGljT2JqZWN0XG5cdCAqIEBwYXJhbSBxdWFsaWZpZXJNYXBcblx0ICogQHJldHVybnMgQSBwYXlsb2FkIHN0cnVjdHVyZSBmb3Igc2VtYW50aWNPYmplY3RNYXBwaW5nc1xuXHQgKi9cblx0c3RhdGljIGdldFNlbWFudGljT2JqZWN0TWFwcGluZ3NGb3JQYXlsb2FkKFxuXHRcdHByb3BlcnR5V2l0aFNlbWFudGljT2JqZWN0OiBQcm9wZXJ0eSB8IE5hdmlnYXRpb25Qcm9wZXJ0eSB8IHVuZGVmaW5lZCxcblx0XHRxdWFsaWZpZXJNYXA6IFJlY29yZDxzdHJpbmcsIENvbXBpbGVkQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPlxuXHQpOiBSZWdpc3RlcmVkU2VtYW50aWNPYmplY3RNYXBwaW5nW10ge1xuXHRcdGNvbnN0IHNlbWFudGljT2JqZWN0TWFwcGluZ3M6IFJlZ2lzdGVyZWRTZW1hbnRpY09iamVjdE1hcHBpbmdbXSA9IFtdO1xuXHRcdGlmIChwcm9wZXJ0eVdpdGhTZW1hbnRpY09iamVjdCAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRmb3IgKGNvbnN0IHNlbWFudGljT2JqZWN0TWFwcGluZyBvZiBnZXRTZW1hbnRpY09iamVjdE1hcHBpbmdzKHByb3BlcnR5V2l0aFNlbWFudGljT2JqZWN0KSkge1xuXHRcdFx0XHRjb25zdCBjb3JyZXNwb25kaW5nU2VtYW50aWNPYmplY3QgPSBxdWFsaWZpZXJNYXBbc2VtYW50aWNPYmplY3RNYXBwaW5nLnF1YWxpZmllciB8fCBcIlwiXTtcblx0XHRcdFx0aWYgKGNvcnJlc3BvbmRpbmdTZW1hbnRpY09iamVjdCkge1xuXHRcdFx0XHRcdHNlbWFudGljT2JqZWN0TWFwcGluZ3MucHVzaCh7XG5cdFx0XHRcdFx0XHRzZW1hbnRpY09iamVjdDogY29ycmVzcG9uZGluZ1NlbWFudGljT2JqZWN0LFxuXHRcdFx0XHRcdFx0aXRlbXM6IHNlbWFudGljT2JqZWN0TWFwcGluZy5tYXAoKHNlbWFudGljT2JqZWN0TWFwcGluZ1R5cGUpID0+IHtcblx0XHRcdFx0XHRcdFx0c3dpdGNoIChzZW1hbnRpY09iamVjdE1hcHBpbmdUeXBlLiRUeXBlKSB7XG5cdFx0XHRcdFx0XHRcdFx0Y2FzZSBDb21tb25Bbm5vdGF0aW9uVHlwZXMuU2VtYW50aWNPYmplY3RNYXBwaW5nQ29uc3RhbnQ6XG5cdFx0XHRcdFx0XHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJVc2luZyBTZW1hbnRpY09iamVjdE1hcHBpbmdDb25zdGFudCBpcyBub3Qgc3VwcG9ydGVkLlwiKTtcblx0XHRcdFx0XHRcdFx0XHRjYXNlIENvbW1vbkFubm90YXRpb25UeXBlcy5TZW1hbnRpY09iamVjdE1hcHBpbmdUeXBlOlxuXHRcdFx0XHRcdFx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRrZXk6IHNlbWFudGljT2JqZWN0TWFwcGluZ1R5cGUuTG9jYWxQcm9wZXJ0eS52YWx1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFsdWU6IHNlbWFudGljT2JqZWN0TWFwcGluZ1R5cGUuU2VtYW50aWNPYmplY3RQcm9wZXJ0eS52YWx1ZU9mKClcblx0XHRcdFx0XHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIHNlbWFudGljT2JqZWN0TWFwcGluZ3M7XG5cdH1cblxuXHQvKipcblx0ICogR2V0IHRoZSBzZW1hbnRpY09iamVjdFVuYXZhaWxhYmxlQWN0aW9ucyBmcm9tIG1ldGFkYXRhIGluIHRoZSBwYXlsb2FkIGV4cGVjdGVkIHN0cnVjdHVyZS5cblx0ICogQHBhcmFtIHByb3BlcnR5V2l0aFNlbWFudGljT2JqZWN0XG5cdCAqIEBwYXJhbSBxdWFsaWZpZXJNYXBcblx0ICogQHJldHVybnMgQSBwYXlsb2FkIHN0cnVjdHVyZSBmb3Igc2VtYW50aWNPYmplY3RVbmF2YWlsYWJsZUFjdGlvbnNcblx0ICovXG5cdHN0YXRpYyBnZXRTZW1hbnRpY09iamVjdFVuYXZhaWxhYmxlQWN0aW9uc0ZvclBheWxvYWQoXG5cdFx0cHJvcGVydHlXaXRoU2VtYW50aWNPYmplY3Q6IFByb3BlcnR5IHwgTmF2aWdhdGlvblByb3BlcnR5IHwgdW5kZWZpbmVkLFxuXHRcdHF1YWxpZmllck1hcDogUmVjb3JkPHN0cmluZywgQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb24+XG5cdCk6IFJlZ2lzdGVyZWRTZW1hbnRpY09iamVjdFVuYXZhaWxhYmxlQWN0aW9uW10ge1xuXHRcdGNvbnN0IHNlbWFudGljT2JqZWN0VW5hdmFpbGFibGVBY3Rpb25zOiBSZWdpc3RlcmVkU2VtYW50aWNPYmplY3RVbmF2YWlsYWJsZUFjdGlvbltdID0gW107XG5cdFx0aWYgKHByb3BlcnR5V2l0aFNlbWFudGljT2JqZWN0ICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdGZvciAoY29uc3QgdW5hdmFpbGFibGVBY3Rpb25Bbm5vdGF0aW9uIG9mIGdldFNlbWFudGljT2JqZWN0VW5hdmFpbGFibGVBY3Rpb25zKHByb3BlcnR5V2l0aFNlbWFudGljT2JqZWN0KSBhcyAoe1xuXHRcdFx0XHR0ZXJtOiBDb21tb25Bbm5vdGF0aW9uVGVybXMuU2VtYW50aWNPYmplY3RVbmF2YWlsYWJsZUFjdGlvbnM7XG5cdFx0XHR9ICYgQW5ub3RhdGlvblRlcm08RWRtLlN0cmluZ1tdPilbXSkge1xuXHRcdFx0XHRjb25zdCBjb3JyZXNwb25kaW5nU2VtYW50aWNPYmplY3QgPSBxdWFsaWZpZXJNYXBbdW5hdmFpbGFibGVBY3Rpb25Bbm5vdGF0aW9uLnF1YWxpZmllciB8fCBcIlwiXTtcblx0XHRcdFx0aWYgKGNvcnJlc3BvbmRpbmdTZW1hbnRpY09iamVjdCkge1xuXHRcdFx0XHRcdHNlbWFudGljT2JqZWN0VW5hdmFpbGFibGVBY3Rpb25zLnB1c2goe1xuXHRcdFx0XHRcdFx0c2VtYW50aWNPYmplY3Q6IGNvcnJlc3BvbmRpbmdTZW1hbnRpY09iamVjdCxcblx0XHRcdFx0XHRcdGFjdGlvbnM6IHVuYXZhaWxhYmxlQWN0aW9uQW5ub3RhdGlvbi5tYXAoKHVuYXZhaWxhYmxlQWN0aW9uKSA9PiB1bmF2YWlsYWJsZUFjdGlvbiBhcyBzdHJpbmcpXG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIHNlbWFudGljT2JqZWN0VW5hdmFpbGFibGVBY3Rpb25zO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkZCBjdXN0b21PYmplY3QocykgdG8gdGhlIHNlbWFudGljT2JqZWN0IGxpc3QgZm9yIHRoZSBwYXlsb2FkIGlmIGl0IGV4aXN0cy5cblx0ICogQHBhcmFtIHNlbWFudGljT2JqZWN0c0xpc3QgTGlzdCBvZiBhY3R1YWwgc2VtYW50aWMgb2JqZWN0c1xuXHQgKiBAcGFyYW0gY3VzdG9tU2VtYW50aWNPYmplY3QgU2VtYW50aWMgb2JqZWN0IGRlZmluZWQgaW4gdGhlIHByb3BlcnR5ICdzZW1hbnRpY09iamVjdCcgb2YgdGhlIG1hY3JvIGZpZWxkIGJsb2NrXG5cdCAqIEBwYXJhbSBxdWFsaWZpZXJNYXAgTWFwIG9mIHNlbWFudGljIG9iamVjdCBxdWFsaWZpZXJzIGZyb20gYW5ub3RhdGlvbnNcblx0ICovXG5cdHN0YXRpYyBhZGRDdXN0b21TZW1hbnRpY09iamVjdFRvU2VtYW50aWNPYmplY3RMaXN0Rm9yUGF5bG9hZChcblx0XHRzZW1hbnRpY09iamVjdHNMaXN0OiBzdHJpbmdbXSxcblx0XHRjdXN0b21TZW1hbnRpY09iamVjdDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuXHRcdHF1YWxpZmllck1hcDogUmVjb3JkPHN0cmluZywgQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb24+XG5cdCk6IHZvaWQge1xuXHRcdGlmIChjdXN0b21TZW1hbnRpY09iamVjdCkge1xuXHRcdFx0c2VtYW50aWNPYmplY3RzTGlzdC5zcGxpY2UoMCwgc2VtYW50aWNPYmplY3RzTGlzdC5sZW5ndGgpO1xuXHRcdFx0Ly8gdGhlIGN1c3RvbSBzZW1hbnRpYyBvYmplY3RzIGFyZSBlaXRoZXIgYSBzaW5nbGUgc3RyaW5nL2tleSB0byBjdXN0b20gZGF0YSBvciBhIHN0cmluZ2lmaWVkIGFycmF5XG5cdFx0XHRpZiAoIWN1c3RvbVNlbWFudGljT2JqZWN0LnN0YXJ0c1dpdGgoXCJbXCIpKSB7XG5cdFx0XHRcdC8vIGN1c3RvbVNlbWFudGljT2JqZWN0ID0gXCJzZW1hbnRpY09iamVjdFwiIHwgXCJ7cGF0aEluTW9kZWx9IHwge2Zvcm1hdHRlci4uLn1cIlxuXHRcdFx0XHRpZiAoIXNlbWFudGljT2JqZWN0c0xpc3QuaW5jbHVkZXMoY3VzdG9tU2VtYW50aWNPYmplY3QpKSB7XG5cdFx0XHRcdFx0c2VtYW50aWNPYmplY3RzTGlzdC5wdXNoKGN1c3RvbVNlbWFudGljT2JqZWN0KTtcblx0XHRcdFx0XHRxdWFsaWZpZXJNYXBbXCJ1bmRlZmluZWRcIl0gPSBjdXN0b21TZW1hbnRpY09iamVjdDtcblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Ly8gY3VzdG9tU2VtYW50aWNPYmplY3QgPSAnW1wic2VtYW50aWNPYmplY3QxXCIsXCJzZW1hbnRpY09iamVjdDJcIl0nXG5cdFx0XHRcdGZvciAoY29uc3Qgc2VtYW50aWNPYmplY3Qgb2YgSlNPTi5wYXJzZShjdXN0b21TZW1hbnRpY09iamVjdCkgYXMgc3RyaW5nW10pIHtcblx0XHRcdFx0XHRpZiAoIXNlbWFudGljT2JqZWN0c0xpc3QuaW5jbHVkZXMoc2VtYW50aWNPYmplY3QpKSB7XG5cdFx0XHRcdFx0XHRzZW1hbnRpY09iamVjdHNMaXN0LnB1c2goc2VtYW50aWNPYmplY3QpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBHZXQgdGhlIG5hdmlnYXRpb25Qcm9wZXJ0eSB0byBhbiBlbnRpdHkgd2l0aCBRdWlja1ZpZXdGYWNldHMgdGhhdCBjYW4gYmUgbGlua2VkIHRvIHRoZSBwcm9wZXJ0eS5cblx0ICogQHBhcmFtIHByb3BlcnR5RGF0YU1vZGVsUGF0aFxuXHQgKiBAcmV0dXJucyBBIG5hdmlnYXRpb24gcHJvcGVydHkgaWYgaXQgZXhpc3RzLlxuXHQgKi9cblx0c3RhdGljIGdldE5hdlByb3BUb1F1aWNrVmlld0VudGl0eShwcm9wZXJ0eURhdGFNb2RlbFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGg8UHJvcGVydHk+KTogTmF2aWdhdGlvblByb3BlcnR5IHwgdW5kZWZpbmVkIHtcblx0XHQvL1RPRE8gd2Ugc2hvdWxkIGludmVzdGlnYXRlIHRvIHB1dCB0aGlzIGNvZGUgYXMgY29tbW9uIHdpdGggRmllbGRUZW1wbGF0aW5nLmlzVXNlZEluTmF2aWdhdGlvbldpdGhRdWlja1ZpZXdGYWNldHNcblx0XHRjb25zdCBwcm9wZXJ0eSA9IHByb3BlcnR5RGF0YU1vZGVsUGF0aC50YXJnZXRPYmplY3QgYXMgUHJvcGVydHk7XG5cdFx0Y29uc3QgbmF2aWdhdGlvblByb3BlcnRpZXMgPSBwcm9wZXJ0eURhdGFNb2RlbFBhdGgudGFyZ2V0RW50aXR5VHlwZS5uYXZpZ2F0aW9uUHJvcGVydGllcztcblx0XHRsZXQgcXVpY2tWaWV3TmF2UHJvcCA9IG5hdmlnYXRpb25Qcm9wZXJ0aWVzLmZpbmQoKG5hdlByb3A6IE5hdmlnYXRpb25Qcm9wZXJ0eSkgPT4ge1xuXHRcdFx0cmV0dXJuIG5hdlByb3AucmVmZXJlbnRpYWxDb25zdHJhaW50LnNvbWUoKHJlZmVyZW50aWFsQ29uc3RyYWludCkgPT4ge1xuXHRcdFx0XHRyZXR1cm4gcmVmZXJlbnRpYWxDb25zdHJhaW50LnNvdXJjZVByb3BlcnR5ID09PSBwcm9wZXJ0eS5uYW1lICYmIG5hdlByb3AudGFyZ2V0VHlwZS5hbm5vdGF0aW9ucy5VST8uUXVpY2tWaWV3RmFjZXRzO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdFx0aWYgKCFxdWlja1ZpZXdOYXZQcm9wICYmIHByb3BlcnR5RGF0YU1vZGVsUGF0aC5jb250ZXh0TG9jYXRpb24/LnRhcmdldEVudGl0eVNldCAhPT0gcHJvcGVydHlEYXRhTW9kZWxQYXRoLnRhcmdldEVudGl0eVNldCkge1xuXHRcdFx0Y29uc3Qgc2VtYW50aWNLZXlzID0gcHJvcGVydHlEYXRhTW9kZWxQYXRoLnRhcmdldEVudGl0eVR5cGUuYW5ub3RhdGlvbnMuQ29tbW9uPy5TZW1hbnRpY0tleSB8fCBbXTtcblx0XHRcdGNvbnN0IGlzUHJvcGVydHlTZW1hbnRpY0tleSA9IHNlbWFudGljS2V5cy5zb21lKChzZW1hbnRpY0tleSkgPT4gc2VtYW50aWNLZXkuJHRhcmdldCA9PT0gcHJvcGVydHkpO1xuXHRcdFx0Y29uc3QgbGFzdE5hdlByb3AgPSBwcm9wZXJ0eURhdGFNb2RlbFBhdGgubmF2aWdhdGlvblByb3BlcnRpZXNbcHJvcGVydHlEYXRhTW9kZWxQYXRoLm5hdmlnYXRpb25Qcm9wZXJ0aWVzLmxlbmd0aCAtIDFdO1xuXHRcdFx0aWYgKChpc1Byb3BlcnR5U2VtYW50aWNLZXkgfHwgcHJvcGVydHkuaXNLZXkpICYmIHByb3BlcnR5RGF0YU1vZGVsUGF0aC50YXJnZXRFbnRpdHlUeXBlLmFubm90YXRpb25zLlVJPy5RdWlja1ZpZXdGYWNldHMpIHtcblx0XHRcdFx0cXVpY2tWaWV3TmF2UHJvcCA9IGxhc3ROYXZQcm9wIGFzIHVua25vd24gYXMgTmF2aWdhdGlvblByb3BlcnR5O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gcXVpY2tWaWV3TmF2UHJvcDtcblx0fVxuXG5cdC8qKlxuXHQgKiBDb21wdXRlIHRoZSBwcm9wZXJ0aWVzIGFuZCBwYXlsb2FkIGZvciB0aGUgUXVpY2tWaWV3LlxuXHQgKi9cblx0Y29tcHV0ZVByb3BlcnRpZXNBbmRQYXlsb2FkKCk6IHZvaWQge1xuXHRcdGNvbnN0IHZhbHVlUHJvcGVydHkgPSBpc1Byb3BlcnR5KHRoaXMudmFsdWVEYXRhTW9kZWxQYXRoLnRhcmdldE9iamVjdCkgPyB0aGlzLnZhbHVlRGF0YU1vZGVsUGF0aC50YXJnZXRPYmplY3QgOiB1bmRlZmluZWQ7XG5cdFx0Y29uc3QgaGFzUXVpY2tWaWV3RmFjZXRzID1cblx0XHRcdHZhbHVlUHJvcGVydHkgJiYgaXNVc2VkSW5OYXZpZ2F0aW9uV2l0aFF1aWNrVmlld0ZhY2V0cyh0aGlzLnZhbHVlRGF0YU1vZGVsUGF0aCwgdmFsdWVQcm9wZXJ0eSkgPyBcInRydWVcIiA6IFwiZmFsc2VcIjtcblxuXHRcdGNvbnN0IHJlbGF0aXZlUGF0aFRvUXVpY2tWaWV3RW50aXR5ID0gUXVpY2tWaWV3LmdldFJlbGF0aXZlUGF0aFRvUXVpY2tWaWV3RW50aXR5KHRoaXMudmFsdWVEYXRhTW9kZWxQYXRoKTtcblx0XHRsZXQgYWJzb2x1dGVDb250ZXh0UGF0aCA9IHRoaXMuY29udGV4dFBhdGg7XG5cdFx0YWJzb2x1dGVDb250ZXh0UGF0aCA9IGFic29sdXRlQ29udGV4dFBhdGguZW5kc1dpdGgoXCIvXCIpID8gYWJzb2x1dGVDb250ZXh0UGF0aC5zbGljZSgwLCAtMSkgOiBhYnNvbHV0ZUNvbnRleHRQYXRoO1xuXHRcdGNvbnN0IHF1aWNrVmlld0VudGl0eSA9IHJlbGF0aXZlUGF0aFRvUXVpY2tWaWV3RW50aXR5ID8gYCR7YWJzb2x1dGVDb250ZXh0UGF0aH0vJHtyZWxhdGl2ZVBhdGhUb1F1aWNrVmlld0VudGl0eX1gIDogdW5kZWZpbmVkO1xuXHRcdGNvbnN0IG5hdmlnYXRpb25QYXRoID0gcmVsYXRpdmVQYXRoVG9RdWlja1ZpZXdFbnRpdHkgPyBjb21waWxlRXhwcmVzc2lvbihwYXRoSW5Nb2RlbChyZWxhdGl2ZVBhdGhUb1F1aWNrVmlld0VudGl0eSkpIDogdW5kZWZpbmVkO1xuXG5cdFx0Y29uc3QgcHJvcGVydHlXaXRoU2VtYW50aWNPYmplY3QgPSBnZXRQcm9wZXJ0eVdpdGhTZW1hbnRpY09iamVjdCh0aGlzLnZhbHVlRGF0YU1vZGVsUGF0aCk7XG5cdFx0Y29uc3QgeyBzZW1hbnRpY09iamVjdHNMaXN0LCBxdWFsaWZpZXJNYXAgfSA9IGdldFNlbWFudGljT2JqZWN0c0FuZFF1YWxpZmllck1hcChwcm9wZXJ0eVdpdGhTZW1hbnRpY09iamVjdCk7XG5cdFx0Y29uc3Qgc2VtYW50aWNPYmplY3RNYXBwaW5ncyA9IFF1aWNrVmlldy5nZXRTZW1hbnRpY09iamVjdE1hcHBpbmdzRm9yUGF5bG9hZChwcm9wZXJ0eVdpdGhTZW1hbnRpY09iamVjdCwgcXVhbGlmaWVyTWFwKTtcblx0XHRjb25zdCBzZW1hbnRpY09iamVjdFVuYXZhaWxhYmxlQWN0aW9ucyA9IFF1aWNrVmlldy5nZXRTZW1hbnRpY09iamVjdFVuYXZhaWxhYmxlQWN0aW9uc0ZvclBheWxvYWQoXG5cdFx0XHRwcm9wZXJ0eVdpdGhTZW1hbnRpY09iamVjdCxcblx0XHRcdHF1YWxpZmllck1hcFxuXHRcdCk7XG5cdFx0UXVpY2tWaWV3LmFkZEN1c3RvbVNlbWFudGljT2JqZWN0VG9TZW1hbnRpY09iamVjdExpc3RGb3JQYXlsb2FkKHNlbWFudGljT2JqZWN0c0xpc3QsIHRoaXMuc2VtYW50aWNPYmplY3QsIHF1YWxpZmllck1hcCk7XG5cdFx0Y29uc3QgcHJvcGVydHlQYXRoTGFiZWwgPSAodmFsdWVQcm9wZXJ0eT8uYW5ub3RhdGlvbnMuQ29tbW9uPy5MYWJlbD8udmFsdWVPZigpIGFzIHN0cmluZykgfHwgXCJcIjtcblxuXHRcdGNvbnN0IHF1YWxpZmllcnMgPSBPYmplY3QuZnJvbUVudHJpZXMoXG5cdFx0XHRPYmplY3QuZW50cmllcyhxdWFsaWZpZXJNYXApLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHF1YWxpZmllcktleSA9IGtleSA9PT0gXCJcIiA/IFwiU2VtYW50aWNPYmplY3RcIiA6IGBTZW1hbnRpY09iamVjdCMke2tleX1gO1xuXHRcdFx0XHRyZXR1cm4gW3F1YWxpZmllcktleSwgdmFsdWVdO1xuXHRcdFx0fSlcblx0XHQpO1xuXHRcdHRoaXMucXVhbGlmaWVyTWFwID0gcXVhbGlmaWVyTWFwO1xuXHRcdHRoaXMucGF5bG9hZCA9IHtcblx0XHRcdHNlbWFudGljT2JqZWN0czogc2VtYW50aWNPYmplY3RzTGlzdCxcblx0XHRcdGVudGl0eVR5cGU6IHF1aWNrVmlld0VudGl0eSxcblx0XHRcdHNlbWFudGljT2JqZWN0VW5hdmFpbGFibGVBY3Rpb25zOiBzZW1hbnRpY09iamVjdFVuYXZhaWxhYmxlQWN0aW9ucyxcblx0XHRcdHNlbWFudGljT2JqZWN0TWFwcGluZ3M6IHNlbWFudGljT2JqZWN0TWFwcGluZ3MsXG5cdFx0XHRwcm9wZXJ0eVBhdGhMYWJlbDogcHJvcGVydHlQYXRoTGFiZWwsXG5cdFx0XHRjb250ZXh0UGF0aDogdGhpcy5jb250ZXh0UGF0aCxcblx0XHRcdGRhdGFGaWVsZDogcXVpY2tWaWV3RW50aXR5ID09PSB1bmRlZmluZWQgPyB0aGlzLm1ldGFQYXRoIDogdW5kZWZpbmVkLFxuXHRcdFx0Y29udGFjdDogdW5kZWZpbmVkLFxuXHRcdFx0ZGF0YUZpZWxkUHJvcFBhdGg6IGdldENvbnRleHRSZWxhdGl2ZVRhcmdldE9iamVjdFBhdGgodGhpcy52YWx1ZURhdGFNb2RlbFBhdGgpLFxuXHRcdFx0bmF2aWdhdGlvblBhdGg6IG5hdmlnYXRpb25QYXRoLFxuXHRcdFx0aGFzUXVpY2tWaWV3RmFjZXRzOiBoYXNRdWlja1ZpZXdGYWNldHMsXG5cdFx0XHRxdWFsaWZpZXJzOiBxdWFsaWZpZXJzXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGUgdGhlIGNvbnRlbnQgZm9yIHRoZSBRdWlja1ZpZXcuXG5cdCAqIEByZXR1cm5zIFRoZSBjb250cm9sIGRlZmluaXRpb24uXG5cdCAqL1xuXHRwdWJsaWMgY3JlYXRlQ29udGVudCgpOiBNZGNMaW5rIHwgc3RyaW5nIHtcblx0XHRjb25zdCBkZWxlZ2F0ZUNvbmZpZ3VyYXRpb24gPSB7XG5cdFx0XHRuYW1lOiBcInNhcC9mZS9tYWNyb3MvcXVpY2tWaWV3L1F1aWNrVmlld0RlbGVnYXRlXCIsXG5cdFx0XHRwYXlsb2FkOiB0aGlzLnBheWxvYWRcblx0XHR9O1xuXHRcdGNvbnN0IGN1c3RvbURhdGEgPSB0aGlzLmdldEFsbEN1c3RvbURhdGEodGhpcy5wYXlsb2FkLnNlbWFudGljT2JqZWN0cywgdGhpcy52YWx1ZURhdGFNb2RlbFBhdGgpO1xuXHRcdHJldHVybiA8TWRjTGluayBkZWxlZ2F0ZT17ZGVsZWdhdGVDb25maWd1cmF0aW9ufT57Y3VzdG9tRGF0YS5sZW5ndGggPyB7IGN1c3RvbURhdGE6IGN1c3RvbURhdGEgfSA6IHt9fTwvTWRjTGluaz47XG5cdH1cblxuXHQvKipcblx0ICogUHJlcGFyZSB0aGUgY3VzdG9tIGRhdGEgaW5mb3JtYXRpb24gZm9yIHRoZSBtZGMgbGluayBjb250cm9sLlxuXHQgKiBAcGFyYW0gZHluYW1pY1BhdGhXaXRoUmVsYXRpdmVMb2NhdGlvbiBUaGUgY29tcGxpZWQgZXhwcmVzc2lvbiBvZiB0aGUgc2VtYW50aWMgb2JqZWN0XG5cdCAqIEBwYXJhbSBpbmRleE9mUXVhbGlmaWVyIFRoZSBpbmRleCBvZiB0aGUgcXVhbGlmaWVyIG1hcFxuXHQgKiBAcmV0dXJucyBUaGUgY3VzdG9tIGRhdGEgbm9kZSB1cGRhdGVkLlxuXHQgKi9cblx0Z2V0Q3VzdG9tRGF0YUZvclNlbWFudGljT2JqZWN0KGR5bmFtaWNQYXRoV2l0aFJlbGF0aXZlTG9jYXRpb246IHN0cmluZywgaW5kZXhPZlF1YWxpZmllcjogbnVtYmVyKTogQ3VzdG9tRGF0YSB8IHVuZGVmaW5lZCB7XG5cdFx0aWYgKGdldER5bmFtaWNQYXRoRnJvbVNlbWFudGljT2JqZWN0KGR5bmFtaWNQYXRoV2l0aFJlbGF0aXZlTG9jYXRpb24pKSB7XG5cdFx0XHRjb25zdCBxdWFsaWZpZXIgPVxuXHRcdFx0XHRPYmplY3Qua2V5cyh0aGlzLnF1YWxpZmllck1hcClbaW5kZXhPZlF1YWxpZmllcl0gPT09IFwiXCIgPyBcIlwiIDogYCMke09iamVjdC5rZXlzKHRoaXMucXVhbGlmaWVyTWFwKVtpbmRleE9mUXVhbGlmaWVyXX1gO1xuXHRcdFx0Y29uc3Qga2V5ID0gYFNlbWFudGljT2JqZWN0JHtxdWFsaWZpZXJ9YDtcblx0XHRcdHJldHVybiA8Q3VzdG9tRGF0YSBrZXk9e2tleX0gdmFsdWU9e2R5bmFtaWNQYXRoV2l0aFJlbGF0aXZlTG9jYXRpb259IC8+O1xuXHRcdH1cblx0XHRyZXR1cm47XG5cdH1cblxuXHQvKipcblx0ICogR2V0IGFsbCBjdXN0b20gZGF0YSBmb3IgdGhlIHNlbWFudGljIG9iamVjdHMuXG5cdCAqIEBwYXJhbSBzZW1hbnRpY09iamVjdHMgVGhlIGxpc3Qgb2Ygc2VtYW50aWMgb2JqZWN0c1xuXHQgKiBAcGFyYW0gdmFsdWVEYXRhTW9kZWxQYXRoIFRoZSBkYXRhIG1vZGVsIHBhdGggb2YgdGhlIHByb3BlcnR5XG5cdCAqIEByZXR1cm5zIFRoZSBjdXN0b20gZGF0YS5cblx0ICovXG5cblx0Z2V0QWxsQ3VzdG9tRGF0YShzZW1hbnRpY09iamVjdHM6IHN0cmluZ1tdLCB2YWx1ZURhdGFNb2RlbFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGg8UHJvcGVydHk+IHwgdW5kZWZpbmVkKTogQ3VzdG9tRGF0YVtdIHtcblx0XHRjb25zdCBjdXN0b21EYXRhID0gW107XG5cdFx0bGV0IGluZGV4T2ZRdWFsaWZpZXIgPSAwO1xuXHRcdGNvbnN0IHJlbGF0aXZlTG9jYXRpb24gPSB2YWx1ZURhdGFNb2RlbFBhdGggJiYgZ2V0UmVsYXRpdmVQYXRocyh2YWx1ZURhdGFNb2RlbFBhdGgpO1xuXG5cdFx0Zm9yIChjb25zdCBzZW1hbnRpY09iamVjdCBvZiBzZW1hbnRpY09iamVjdHMpIHtcblx0XHRcdGNvbnN0IGR5bmFtaWNQYXRoRnJvbVNlbWFudGljT2JqZWN0ID0gZ2V0RHluYW1pY1BhdGhGcm9tU2VtYW50aWNPYmplY3Qoc2VtYW50aWNPYmplY3QpO1xuXHRcdFx0bGV0IGR5bmFtaWNQYXRoV2l0aFJlbGF0aXZlTG9jYXRpb247XG5cdFx0XHRpZiAoZHluYW1pY1BhdGhGcm9tU2VtYW50aWNPYmplY3QpIHtcblx0XHRcdFx0aW5kZXhPZlF1YWxpZmllciA9IE9iamVjdC52YWx1ZXModGhpcy5xdWFsaWZpZXJNYXApLmZpbmRJbmRleChcblx0XHRcdFx0XHQoc2VtYW50aWNPYmplY3RGcm9tUXVhbGlmaWVyKSA9PiBzZW1hbnRpY09iamVjdEZyb21RdWFsaWZpZXIgPT09IHNlbWFudGljT2JqZWN0XG5cdFx0XHRcdCk7XG5cdFx0XHRcdGlmIChzZW1hbnRpY09iamVjdC5zdGFydHNXaXRoKFwiez1cIikgfHwgc2VtYW50aWNPYmplY3Quc3RhcnRzV2l0aChcInskY29tcG9uZW50U3RhdGU+XCIpKSB7XG5cdFx0XHRcdFx0Ly8gVGhpcyBhIGNvbXBsZXggc2VtYW50aWMgb2JqZWN0IG9yIGEgYmluZGluZyBvbiBhbm90aGVyIG1vZGVsLCB3ZSBkbyBub3QgbWFuaXB1bGF0ZSB0aGUgZXhwcmVzc2lvbiBiaW5kaW5nLlxuXHRcdFx0XHRcdGR5bmFtaWNQYXRoV2l0aFJlbGF0aXZlTG9jYXRpb24gPSBzZW1hbnRpY09iamVjdDtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRkeW5hbWljUGF0aFdpdGhSZWxhdGl2ZUxvY2F0aW9uID0gY29tcGlsZUV4cHJlc3Npb24oXG5cdFx0XHRcdFx0XHRwYXRoSW5Nb2RlbChkeW5hbWljUGF0aEZyb21TZW1hbnRpY09iamVjdCwgdW5kZWZpbmVkLCByZWxhdGl2ZUxvY2F0aW9uKVxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0Zm9yIChjb25zdCBpdGVtIG9mIE9iamVjdC5rZXlzKHRoaXMucXVhbGlmaWVyTWFwKSkge1xuXHRcdFx0XHRcdFx0aWYgKHRoaXMucXVhbGlmaWVyTWFwW2l0ZW1dID09PSBzZW1hbnRpY09iamVjdCkge1xuXHRcdFx0XHRcdFx0XHR0aGlzLnF1YWxpZmllck1hcFtpdGVtXSA9IGR5bmFtaWNQYXRoV2l0aFJlbGF0aXZlTG9jYXRpb247XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdGNvbnN0IGN1c3RvbURhdGFGb3JTZW1hbnRpY09iamVjdCA9IHRoaXMuZ2V0Q3VzdG9tRGF0YUZvclNlbWFudGljT2JqZWN0KFxuXHRcdFx0XHRcdGR5bmFtaWNQYXRoV2l0aFJlbGF0aXZlTG9jYXRpb24gPyBkeW5hbWljUGF0aFdpdGhSZWxhdGl2ZUxvY2F0aW9uIDogXCJcIixcblx0XHRcdFx0XHRpbmRleE9mUXVhbGlmaWVyXG5cdFx0XHRcdCk7XG5cdFx0XHRcdGlmIChjdXN0b21EYXRhRm9yU2VtYW50aWNPYmplY3QpIHtcblx0XHRcdFx0XHRjdXN0b21EYXRhLnB1c2goY3VzdG9tRGF0YUZvclNlbWFudGljT2JqZWN0KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gY3VzdG9tRGF0YTtcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BdUJxQkEsU0FBUztJQUs3QjtBQUNEO0FBQ0E7O0lBU0MsU0FBQUEsVUFBWUMsa0JBQWlELEVBQUVDLFFBQWdCLEVBQUVDLFdBQW1CLEVBQUVDLGNBQXVCLEVBQUU7TUFDOUgsSUFBSSxDQUFDSCxrQkFBa0IsR0FBR0Esa0JBQWtCO01BQzVDLElBQUksQ0FBQ0MsUUFBUSxHQUFHQSxRQUFRO01BQ3hCLElBQUksQ0FBQ0MsV0FBVyxHQUFHQSxXQUFXO01BQzlCLElBQUksQ0FBQ0MsY0FBYyxHQUFHQSxjQUFjO01BQ3BDLElBQUksQ0FBQ0MsMkJBQTJCLENBQUMsQ0FBQztJQUNuQzs7SUFFQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0lBSkNDLFFBQUEsR0FBQU4sU0FBQTtJQUFBQSxTQUFBLENBS09PLGdDQUFnQyxHQUF2QyxTQUFPQSxnQ0FBZ0NBLENBQUNDLHFCQUFvRCxFQUFzQjtNQUNqSCxJQUFJQyw2QkFBaUQ7TUFDckQsTUFBTUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDQywyQkFBMkIsQ0FBQ0gscUJBQXFCLENBQUM7TUFDaEYsSUFBSUUsZ0JBQWdCLEVBQUU7UUFDckJELDZCQUE2QixHQUFHRCxxQkFBcUIsQ0FBQ0ksb0JBQW9CLENBQUNDLE1BQU0sQ0FBQyxDQUFDQyxXQUFtQixFQUFFQyxPQUFPLEtBQUs7VUFDbkgsSUFDQ0EsT0FBTyxDQUFDQyxJQUFJLEtBQUtOLGdCQUFnQixDQUFDTSxJQUFJLElBQ3RDLENBQUNSLHFCQUFxQixDQUFDUyxlQUFlLEVBQUVMLG9CQUFvQixDQUFDTSxJQUFJLENBQy9EQyxjQUFjLElBQUtBLGNBQWMsQ0FBQ0gsSUFBSSxLQUFLRCxPQUFPLENBQUNDLElBQ3JELENBQUMsRUFDQTtZQUNEO1lBQ0EsT0FBTyxHQUFHRixXQUFXLEdBQUdDLE9BQU8sQ0FBQ0MsSUFBSSxHQUFHO1VBQ3hDO1VBQ0EsT0FBT0YsV0FBVztRQUNuQixDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ05MLDZCQUE2QixHQUFHLEdBQUdBLDZCQUE2QixHQUFHQyxnQkFBZ0IsQ0FBQ00sSUFBSSxFQUFFO01BQzNGO01BQ0EsT0FBT1AsNkJBQTZCO0lBQ3JDOztJQUVBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUxDO0lBQUFULFNBQUEsQ0FNT29CLG1DQUFtQyxHQUExQyxTQUFPQSxtQ0FBbUNBLENBQ3pDQywwQkFBcUUsRUFDckVDLFlBQThELEVBQzFCO01BQ3BDLE1BQU1DLHNCQUF5RCxHQUFHLEVBQUU7TUFDcEUsSUFBSUYsMEJBQTBCLEtBQUtHLFNBQVMsRUFBRTtRQUM3QyxLQUFLLE1BQU1DLHFCQUFxQixJQUFJQyx5QkFBeUIsQ0FBQ0wsMEJBQTBCLENBQUMsRUFBRTtVQUMxRixNQUFNTSwyQkFBMkIsR0FBR0wsWUFBWSxDQUFDRyxxQkFBcUIsQ0FBQ0csU0FBUyxJQUFJLEVBQUUsQ0FBQztVQUN2RixJQUFJRCwyQkFBMkIsRUFBRTtZQUNoQ0osc0JBQXNCLENBQUNNLElBQUksQ0FBQztjQUMzQnpCLGNBQWMsRUFBRXVCLDJCQUEyQjtjQUMzQ0csS0FBSyxFQUFFTCxxQkFBcUIsQ0FBQ00sR0FBRyxDQUFFQyx5QkFBeUIsSUFBSztnQkFDL0QsUUFBUUEseUJBQXlCLENBQUNDLEtBQUs7a0JBQ3RDO29CQUNDLE1BQU0sSUFBSUMsS0FBSyxDQUFDLHVEQUF1RCxDQUFDO2tCQUN6RTtrQkFDQTtvQkFDQyxPQUFPO3NCQUNOQyxHQUFHLEVBQUVILHlCQUF5QixDQUFDSSxhQUFhLENBQUNDLEtBQUs7c0JBQ2xEQSxLQUFLLEVBQUVMLHlCQUF5QixDQUFDTSxzQkFBc0IsQ0FBQ0MsT0FBTyxDQUFDO29CQUNqRSxDQUFDO2dCQUNIO2NBQ0QsQ0FBQztZQUNGLENBQUMsQ0FBQztVQUNIO1FBQ0Q7TUFDRDtNQUNBLE9BQU9oQixzQkFBc0I7SUFDOUI7O0lBRUE7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BTEM7SUFBQXZCLFNBQUEsQ0FNT3dDLDZDQUE2QyxHQUFwRCxTQUFPQSw2Q0FBNkNBLENBQ25EbkIsMEJBQXFFLEVBQ3JFQyxZQUE4RCxFQUNoQjtNQUM5QyxNQUFNbUIsZ0NBQTZFLEdBQUcsRUFBRTtNQUN4RixJQUFJcEIsMEJBQTBCLEtBQUtHLFNBQVMsRUFBRTtRQUM3QyxLQUFLLE1BQU1rQiwyQkFBMkIsSUFBSUMsbUNBQW1DLENBQUN0QiwwQkFBMEIsQ0FBQyxFQUVwRTtVQUNwQyxNQUFNTSwyQkFBMkIsR0FBR0wsWUFBWSxDQUFDb0IsMkJBQTJCLENBQUNkLFNBQVMsSUFBSSxFQUFFLENBQUM7VUFDN0YsSUFBSUQsMkJBQTJCLEVBQUU7WUFDaENjLGdDQUFnQyxDQUFDWixJQUFJLENBQUM7Y0FDckN6QixjQUFjLEVBQUV1QiwyQkFBMkI7Y0FDM0NpQixPQUFPLEVBQUVGLDJCQUEyQixDQUFDWCxHQUFHLENBQUVjLGlCQUFpQixJQUFLQSxpQkFBMkI7WUFDNUYsQ0FBQyxDQUFDO1VBQ0g7UUFDRDtNQUNEO01BQ0EsT0FBT0osZ0NBQWdDO0lBQ3hDOztJQUVBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUxDO0lBQUF6QyxTQUFBLENBTU84QyxxREFBcUQsR0FBNUQsU0FBT0EscURBQXFEQSxDQUMzREMsbUJBQTZCLEVBQzdCQyxvQkFBd0MsRUFDeEMxQixZQUE4RCxFQUN2RDtNQUNQLElBQUkwQixvQkFBb0IsRUFBRTtRQUN6QkQsbUJBQW1CLENBQUNFLE1BQU0sQ0FBQyxDQUFDLEVBQUVGLG1CQUFtQixDQUFDRyxNQUFNLENBQUM7UUFDekQ7UUFDQSxJQUFJLENBQUNGLG9CQUFvQixDQUFDRyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7VUFDMUM7VUFDQSxJQUFJLENBQUNKLG1CQUFtQixDQUFDSyxRQUFRLENBQUNKLG9CQUFvQixDQUFDLEVBQUU7WUFDeERELG1CQUFtQixDQUFDbEIsSUFBSSxDQUFDbUIsb0JBQW9CLENBQUM7WUFDOUMxQixZQUFZLENBQUMsV0FBVyxDQUFDLEdBQUcwQixvQkFBb0I7VUFDakQ7UUFDRCxDQUFDLE1BQU07VUFDTjtVQUNBLEtBQUssTUFBTTVDLGNBQWMsSUFBSWlELElBQUksQ0FBQ0MsS0FBSyxDQUFDTixvQkFBb0IsQ0FBQyxFQUFjO1lBQzFFLElBQUksQ0FBQ0QsbUJBQW1CLENBQUNLLFFBQVEsQ0FBQ2hELGNBQWMsQ0FBQyxFQUFFO2NBQ2xEMkMsbUJBQW1CLENBQUNsQixJQUFJLENBQUN6QixjQUFjLENBQUM7WUFDekM7VUFDRDtRQUNEO01BQ0Q7SUFDRDs7SUFFQTtBQUNEO0FBQ0E7QUFDQTtBQUNBLE9BSkM7SUFBQUosU0FBQSxDQUtPVywyQkFBMkIsR0FBbEMsU0FBT0EsMkJBQTJCQSxDQUFDSCxxQkFBb0QsRUFBa0M7TUFDeEg7TUFDQSxNQUFNK0MsUUFBUSxHQUFHL0MscUJBQXFCLENBQUNnRCxZQUF3QjtNQUMvRCxNQUFNNUMsb0JBQW9CLEdBQUdKLHFCQUFxQixDQUFDaUQsZ0JBQWdCLENBQUM3QyxvQkFBb0I7TUFDeEYsSUFBSUYsZ0JBQWdCLEdBQUdFLG9CQUFvQixDQUFDTSxJQUFJLENBQUVILE9BQTJCLElBQUs7UUFDakYsT0FBT0EsT0FBTyxDQUFDMkMscUJBQXFCLENBQUNDLElBQUksQ0FBRUQscUJBQXFCLElBQUs7VUFDcEUsT0FBT0EscUJBQXFCLENBQUNFLGNBQWMsS0FBS0wsUUFBUSxDQUFDdkMsSUFBSSxJQUFJRCxPQUFPLENBQUM4QyxVQUFVLENBQUNDLFdBQVcsQ0FBQ0MsRUFBRSxFQUFFQyxlQUFlO1FBQ3BILENBQUMsQ0FBQztNQUNILENBQUMsQ0FBQztNQUNGLElBQUksQ0FBQ3RELGdCQUFnQixJQUFJRixxQkFBcUIsQ0FBQ1MsZUFBZSxFQUFFZ0QsZUFBZSxLQUFLekQscUJBQXFCLENBQUN5RCxlQUFlLEVBQUU7UUFDMUgsTUFBTUMsWUFBWSxHQUFHMUQscUJBQXFCLENBQUNpRCxnQkFBZ0IsQ0FBQ0ssV0FBVyxDQUFDSyxNQUFNLEVBQUVDLFdBQVcsSUFBSSxFQUFFO1FBQ2pHLE1BQU1DLHFCQUFxQixHQUFHSCxZQUFZLENBQUNQLElBQUksQ0FBRVcsV0FBVyxJQUFLQSxXQUFXLENBQUNDLE9BQU8sS0FBS2hCLFFBQVEsQ0FBQztRQUNsRyxNQUFNaUIsV0FBVyxHQUFHaEUscUJBQXFCLENBQUNJLG9CQUFvQixDQUFDSixxQkFBcUIsQ0FBQ0ksb0JBQW9CLENBQUNzQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3JILElBQUksQ0FBQ21CLHFCQUFxQixJQUFJZCxRQUFRLENBQUNrQixLQUFLLEtBQUtqRSxxQkFBcUIsQ0FBQ2lELGdCQUFnQixDQUFDSyxXQUFXLENBQUNDLEVBQUUsRUFBRUMsZUFBZSxFQUFFO1VBQ3hIdEQsZ0JBQWdCLEdBQUc4RCxXQUE0QztRQUNoRTtNQUNEO01BQ0EsT0FBTzlELGdCQUFnQjtJQUN4Qjs7SUFFQTtBQUNEO0FBQ0EsT0FGQztJQUFBLElBQUFnRSxNQUFBLEdBQUExRSxTQUFBLENBQUEyRSxTQUFBO0lBQUFELE1BQUEsQ0FHQXJFLDJCQUEyQixHQUEzQixTQUFBQSwyQkFBMkJBLENBQUEsRUFBUztNQUNuQyxNQUFNdUUsYUFBYSxHQUFHQyxVQUFVLENBQUMsSUFBSSxDQUFDNUUsa0JBQWtCLENBQUN1RCxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUN2RCxrQkFBa0IsQ0FBQ3VELFlBQVksR0FBR2hDLFNBQVM7TUFDekgsTUFBTXNELGtCQUFrQixHQUN2QkYsYUFBYSxJQUFJRyxxQ0FBcUMsQ0FBQyxJQUFJLENBQUM5RSxrQkFBa0IsRUFBRTJFLGFBQWEsQ0FBQyxHQUFHLE1BQU0sR0FBRyxPQUFPO01BRWxILE1BQU1uRSw2QkFBNkIsR0FBR1QsU0FBUyxDQUFDTyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUNOLGtCQUFrQixDQUFDO01BQ3pHLElBQUkrRSxtQkFBbUIsR0FBRyxJQUFJLENBQUM3RSxXQUFXO01BQzFDNkUsbUJBQW1CLEdBQUdBLG1CQUFtQixDQUFDQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUdELG1CQUFtQixDQUFDRSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUdGLG1CQUFtQjtNQUNoSCxNQUFNRyxlQUFlLEdBQUcxRSw2QkFBNkIsR0FBRyxHQUFHdUUsbUJBQW1CLElBQUl2RSw2QkFBNkIsRUFBRSxHQUFHZSxTQUFTO01BQzdILE1BQU00RCxjQUFjLEdBQUczRSw2QkFBNkIsR0FBRzRFLGlCQUFpQixDQUFDQyxXQUFXLENBQUM3RSw2QkFBNkIsQ0FBQyxDQUFDLEdBQUdlLFNBQVM7TUFFaEksTUFBTUgsMEJBQTBCLEdBQUdrRSw2QkFBNkIsQ0FBQyxJQUFJLENBQUN0RixrQkFBa0IsQ0FBQztNQUN6RixNQUFNO1FBQUU4QyxtQkFBbUI7UUFBRXpCO01BQWEsQ0FBQyxHQUFHa0UsaUNBQWlDLENBQUNuRSwwQkFBMEIsQ0FBQztNQUMzRyxNQUFNRSxzQkFBc0IsR0FBR3ZCLFNBQVMsQ0FBQ29CLG1DQUFtQyxDQUFDQywwQkFBMEIsRUFBRUMsWUFBWSxDQUFDO01BQ3RILE1BQU1tQixnQ0FBZ0MsR0FBR3pDLFNBQVMsQ0FBQ3dDLDZDQUE2QyxDQUMvRm5CLDBCQUEwQixFQUMxQkMsWUFDRCxDQUFDO01BQ0R0QixTQUFTLENBQUM4QyxxREFBcUQsQ0FBQ0MsbUJBQW1CLEVBQUUsSUFBSSxDQUFDM0MsY0FBYyxFQUFFa0IsWUFBWSxDQUFDO01BQ3ZILE1BQU1tRSxpQkFBaUIsR0FBSWIsYUFBYSxFQUFFZCxXQUFXLENBQUNLLE1BQU0sRUFBRXVCLEtBQUssRUFBRW5ELE9BQU8sQ0FBQyxDQUFDLElBQWUsRUFBRTtNQUUvRixNQUFNb0QsVUFBVSxHQUFHQyxNQUFNLENBQUNDLFdBQVcsQ0FDcENELE1BQU0sQ0FBQ0UsT0FBTyxDQUFDeEUsWUFBWSxDQUFDLENBQUNTLEdBQUcsQ0FBQ2dFLElBQUEsSUFBa0I7UUFBQSxJQUFqQixDQUFDNUQsR0FBRyxFQUFFRSxLQUFLLENBQUMsR0FBQTBELElBQUE7UUFDN0MsTUFBTUMsWUFBWSxHQUFHN0QsR0FBRyxLQUFLLEVBQUUsR0FBRyxnQkFBZ0IsR0FBRyxrQkFBa0JBLEdBQUcsRUFBRTtRQUM1RSxPQUFPLENBQUM2RCxZQUFZLEVBQUUzRCxLQUFLLENBQUM7TUFDN0IsQ0FBQyxDQUNGLENBQUM7TUFDRCxJQUFJLENBQUNmLFlBQVksR0FBR0EsWUFBWTtNQUNoQyxJQUFJLENBQUMyRSxPQUFPLEdBQUc7UUFDZEMsZUFBZSxFQUFFbkQsbUJBQW1CO1FBQ3BDb0QsVUFBVSxFQUFFaEIsZUFBZTtRQUMzQjFDLGdDQUFnQyxFQUFFQSxnQ0FBZ0M7UUFDbEVsQixzQkFBc0IsRUFBRUEsc0JBQXNCO1FBQzlDa0UsaUJBQWlCLEVBQUVBLGlCQUFpQjtRQUNwQ3RGLFdBQVcsRUFBRSxJQUFJLENBQUNBLFdBQVc7UUFDN0JpRyxTQUFTLEVBQUVqQixlQUFlLEtBQUszRCxTQUFTLEdBQUcsSUFBSSxDQUFDdEIsUUFBUSxHQUFHc0IsU0FBUztRQUNwRTZFLE9BQU8sRUFBRTdFLFNBQVM7UUFDbEI4RSxpQkFBaUIsRUFBRUMsa0NBQWtDLENBQUMsSUFBSSxDQUFDdEcsa0JBQWtCLENBQUM7UUFDOUVtRixjQUFjLEVBQUVBLGNBQWM7UUFDOUJOLGtCQUFrQixFQUFFQSxrQkFBa0I7UUFDdENhLFVBQVUsRUFBRUE7TUFDYixDQUFDO0lBQ0Y7O0lBRUE7QUFDRDtBQUNBO0FBQ0EsT0FIQztJQUFBakIsTUFBQSxDQUlPOEIsYUFBYSxHQUFwQixTQUFPQSxhQUFhQSxDQUFBLEVBQXFCO01BQ3hDLE1BQU1DLHFCQUFxQixHQUFHO1FBQzdCekYsSUFBSSxFQUFFLDJDQUEyQztRQUNqRGlGLE9BQU8sRUFBRSxJQUFJLENBQUNBO01BQ2YsQ0FBQztNQUNELE1BQU1TLFVBQVUsR0FBRyxJQUFJLENBQUNDLGdCQUFnQixDQUFDLElBQUksQ0FBQ1YsT0FBTyxDQUFDQyxlQUFlLEVBQUUsSUFBSSxDQUFDakcsa0JBQWtCLENBQUM7TUFDL0YsT0FBTzJHLElBQUEsQ0FBQ0MsT0FBTztRQUFDQyxRQUFRLEVBQUVMLHFCQUFzQjtRQUFBTSxRQUFBLEVBQUVMLFVBQVUsQ0FBQ3hELE1BQU0sR0FBRztVQUFFd0QsVUFBVSxFQUFFQTtRQUFXLENBQUMsR0FBRyxDQUFDO01BQUMsQ0FBVSxDQUFDO0lBQ2pIOztJQUVBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUxDO0lBQUFoQyxNQUFBLENBTUFzQyw4QkFBOEIsR0FBOUIsU0FBQUEsOEJBQThCQSxDQUFDQywrQkFBdUMsRUFBRUMsZ0JBQXdCLEVBQTBCO01BQ3pILElBQUlDLGdDQUFnQyxDQUFDRiwrQkFBK0IsQ0FBQyxFQUFFO1FBQ3RFLE1BQU1yRixTQUFTLEdBQ2RnRSxNQUFNLENBQUN3QixJQUFJLENBQUMsSUFBSSxDQUFDOUYsWUFBWSxDQUFDLENBQUM0RixnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSXRCLE1BQU0sQ0FBQ3dCLElBQUksQ0FBQyxJQUFJLENBQUM5RixZQUFZLENBQUMsQ0FBQzRGLGdCQUFnQixDQUFDLEVBQUU7UUFDdEgsTUFBTS9FLEdBQUcsR0FBRyxpQkFBaUJQLFNBQVMsRUFBRTtRQUN4QyxPQUFPZ0YsSUFBQSxDQUFDUyxVQUFVO1VBQVdoRixLQUFLLEVBQUU0RTtRQUFnQyxHQUE1QzlFLEdBQThDLENBQUM7TUFDeEU7TUFDQTtJQUNEOztJQUVBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUxDO0lBQUF1QyxNQUFBLENBT0FpQyxnQkFBZ0IsR0FBaEIsU0FBQUEsZ0JBQWdCQSxDQUFDVCxlQUF5QixFQUFFakcsa0JBQTZELEVBQWdCO01BQ3hILE1BQU15RyxVQUFVLEdBQUcsRUFBRTtNQUNyQixJQUFJUSxnQkFBZ0IsR0FBRyxDQUFDO01BQ3hCLE1BQU1JLGdCQUFnQixHQUFHckgsa0JBQWtCLElBQUlzSCxnQkFBZ0IsQ0FBQ3RILGtCQUFrQixDQUFDO01BRW5GLEtBQUssTUFBTUcsY0FBYyxJQUFJOEYsZUFBZSxFQUFFO1FBQzdDLE1BQU1zQiw2QkFBNkIsR0FBR0wsZ0NBQWdDLENBQUMvRyxjQUFjLENBQUM7UUFDdEYsSUFBSTZHLCtCQUErQjtRQUNuQyxJQUFJTyw2QkFBNkIsRUFBRTtVQUNsQ04sZ0JBQWdCLEdBQUd0QixNQUFNLENBQUM2QixNQUFNLENBQUMsSUFBSSxDQUFDbkcsWUFBWSxDQUFDLENBQUNvRyxTQUFTLENBQzNEQywyQkFBMkIsSUFBS0EsMkJBQTJCLEtBQUt2SCxjQUNsRSxDQUFDO1VBQ0QsSUFBSUEsY0FBYyxDQUFDK0MsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJL0MsY0FBYyxDQUFDK0MsVUFBVSxDQUFDLG1CQUFtQixDQUFDLEVBQUU7WUFDdEY7WUFDQThELCtCQUErQixHQUFHN0csY0FBYztVQUNqRCxDQUFDLE1BQU07WUFDTjZHLCtCQUErQixHQUFHNUIsaUJBQWlCLENBQ2xEQyxXQUFXLENBQUNrQyw2QkFBNkIsRUFBRWhHLFNBQVMsRUFBRThGLGdCQUFnQixDQUN2RSxDQUFDO1lBQ0QsS0FBSyxNQUFNTSxJQUFJLElBQUloQyxNQUFNLENBQUN3QixJQUFJLENBQUMsSUFBSSxDQUFDOUYsWUFBWSxDQUFDLEVBQUU7Y0FDbEQsSUFBSSxJQUFJLENBQUNBLFlBQVksQ0FBQ3NHLElBQUksQ0FBQyxLQUFLeEgsY0FBYyxFQUFFO2dCQUMvQyxJQUFJLENBQUNrQixZQUFZLENBQUNzRyxJQUFJLENBQUMsR0FBR1gsK0JBQStCO2NBQzFEO1lBQ0Q7VUFDRDtVQUNBLE1BQU1ZLDJCQUEyQixHQUFHLElBQUksQ0FBQ2IsOEJBQThCLENBQ3RFQywrQkFBK0IsR0FBR0EsK0JBQStCLEdBQUcsRUFBRSxFQUN0RUMsZ0JBQ0QsQ0FBQztVQUNELElBQUlXLDJCQUEyQixFQUFFO1lBQ2hDbkIsVUFBVSxDQUFDN0UsSUFBSSxDQUFDZ0csMkJBQTJCLENBQUM7VUFDN0M7UUFDRDtNQUNEO01BQ0EsT0FBT25CLFVBQVU7SUFDbEIsQ0FBQztJQUFBLE9BQUExRyxTQUFBO0VBQUE7RUFBQU0sUUFBQSxHQUFBTixTQUFBO0VBQUEsT0FBQU0sUUFBQTtBQUFBIiwiaWdub3JlTGlzdCI6W119
|
|
280
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJRdWlja1ZpZXciLCJ2YWx1ZURhdGFNb2RlbFBhdGgiLCJtZXRhUGF0aCIsImNvbnRleHRQYXRoIiwic2VtYW50aWNPYmplY3QiLCJjb21wdXRlUHJvcGVydGllc0FuZFBheWxvYWQiLCJfZXhwb3J0cyIsImdldFJlbGF0aXZlUGF0aFRvUXVpY2tWaWV3RW50aXR5IiwicHJvcGVydHlEYXRhTW9kZWxQYXRoIiwicmVsYXRpdmVQYXRoVG9RdWlja1ZpZXdFbnRpdHkiLCJxdWlja1ZpZXdOYXZQcm9wIiwiZ2V0TmF2UHJvcFRvUXVpY2tWaWV3RW50aXR5IiwibmF2aWdhdGlvblByb3BlcnRpZXMiLCJyZWR1Y2UiLCJyZWxhdGl2UGF0aCIsIm5hdlByb3AiLCJuYW1lIiwiY29udGV4dExvY2F0aW9uIiwiZmluZCIsImNvbnRleHROYXZQcm9wIiwiZ2V0U2VtYW50aWNPYmplY3RNYXBwaW5nc0ZvclBheWxvYWQiLCJwcm9wZXJ0eVdpdGhTZW1hbnRpY09iamVjdCIsInF1YWxpZmllck1hcCIsInByZWZpeCIsInNlbWFudGljT2JqZWN0TWFwcGluZ3MiLCJ1bmRlZmluZWQiLCJzZW1hbnRpY09iamVjdE1hcHBpbmciLCJnZXRTZW1hbnRpY09iamVjdE1hcHBpbmdzIiwiY29ycmVzcG9uZGluZ1NlbWFudGljT2JqZWN0IiwicXVhbGlmaWVyIiwicHVzaCIsIml0ZW1zIiwibWFwIiwic2VtYW50aWNPYmplY3RNYXBwaW5nVHlwZSIsIiRUeXBlIiwiRXJyb3IiLCJrZXkiLCJMb2NhbFByb3BlcnR5IiwidmFsdWUiLCJTZW1hbnRpY09iamVjdFByb3BlcnR5IiwidmFsdWVPZiIsImdldFNlbWFudGljT2JqZWN0VW5hdmFpbGFibGVBY3Rpb25zRm9yUGF5bG9hZCIsInNlbWFudGljT2JqZWN0VW5hdmFpbGFibGVBY3Rpb25zIiwidW5hdmFpbGFibGVBY3Rpb25Bbm5vdGF0aW9uIiwiZ2V0U2VtYW50aWNPYmplY3RVbmF2YWlsYWJsZUFjdGlvbnMiLCJhY3Rpb25zIiwidW5hdmFpbGFibGVBY3Rpb24iLCJhZGRDdXN0b21TZW1hbnRpY09iamVjdFRvU2VtYW50aWNPYmplY3RMaXN0Rm9yUGF5bG9hZCIsInNlbWFudGljT2JqZWN0c0xpc3QiLCJjdXN0b21TZW1hbnRpY09iamVjdCIsInNwbGljZSIsImxlbmd0aCIsInN0YXJ0c1dpdGgiLCJpbmNsdWRlcyIsIkpTT04iLCJwYXJzZSIsInByb3BlcnR5IiwidGFyZ2V0T2JqZWN0IiwidGFyZ2V0RW50aXR5VHlwZSIsInJlZmVyZW50aWFsQ29uc3RyYWludCIsInNvbWUiLCJzb3VyY2VQcm9wZXJ0eSIsInRhcmdldFR5cGUiLCJhbm5vdGF0aW9ucyIsIlVJIiwiUXVpY2tWaWV3RmFjZXRzIiwidGFyZ2V0RW50aXR5U2V0Iiwic2VtYW50aWNLZXlzIiwiQ29tbW9uIiwiU2VtYW50aWNLZXkiLCJpc1Byb3BlcnR5U2VtYW50aWNLZXkiLCJzZW1hbnRpY0tleSIsIiR0YXJnZXQiLCJsYXN0TmF2UHJvcCIsImlzS2V5IiwiX3Byb3RvIiwicHJvdG90eXBlIiwidmFsdWVQcm9wZXJ0eSIsImlzUHJvcGVydHkiLCJoYXNRdWlja1ZpZXdGYWNldHMiLCJpc1VzZWRJbk5hdmlnYXRpb25XaXRoUXVpY2tWaWV3RmFjZXRzIiwiYWJzb2x1dGVDb250ZXh0UGF0aCIsImVuZHNXaXRoIiwic2xpY2UiLCJxdWlja1ZpZXdFbnRpdHkiLCJuYXZpZ2F0aW9uUGF0aCIsImNvbXBpbGVFeHByZXNzaW9uIiwicGF0aEluTW9kZWwiLCJnZXRQcm9wZXJ0eVdpdGhTZW1hbnRpY09iamVjdCIsImdldFNlbWFudGljT2JqZWN0c0FuZFF1YWxpZmllck1hcCIsImdldENvbnRleHRSZWxhdGl2ZVRhcmdldE9iamVjdFBhdGgiLCJyZXBsYWNlIiwicHJvcGVydHlQYXRoTGFiZWwiLCJMYWJlbCIsInF1YWxpZmllcnMiLCJPYmplY3QiLCJmcm9tRW50cmllcyIsImVudHJpZXMiLCJfcmVmIiwicXVhbGlmaWVyS2V5IiwicGF5bG9hZCIsInNlbWFudGljT2JqZWN0cyIsImVudGl0eVR5cGUiLCJkYXRhRmllbGQiLCJjb250YWN0IiwiZGF0YUZpZWxkUHJvcFBhdGgiLCJjcmVhdGVDb250ZW50IiwiZGVsZWdhdGVDb25maWd1cmF0aW9uIiwiY3VzdG9tRGF0YSIsImdldEFsbEN1c3RvbURhdGEiLCJfanN4IiwiTWRjTGluayIsImRlbGVnYXRlIiwiY2hpbGRyZW4iLCJnZXRDdXN0b21EYXRhRm9yU2VtYW50aWNPYmplY3QiLCJkeW5hbWljUGF0aFdpdGhSZWxhdGl2ZUxvY2F0aW9uIiwiaW5kZXhPZlF1YWxpZmllciIsImdldER5bmFtaWNQYXRoRnJvbVNlbWFudGljT2JqZWN0Iiwia2V5cyIsIkN1c3RvbURhdGEiLCJyZWxhdGl2ZUxvY2F0aW9uIiwiZ2V0UmVsYXRpdmVQYXRocyIsImR5bmFtaWNQYXRoRnJvbVNlbWFudGljT2JqZWN0IiwidmFsdWVzIiwiZmluZEluZGV4Iiwic2VtYW50aWNPYmplY3RGcm9tUXVhbGlmaWVyIiwiaXRlbSIsImN1c3RvbURhdGFGb3JTZW1hbnRpY09iamVjdCJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiUXVpY2tWaWV3LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFubm90YXRpb25UZXJtLCBOYXZpZ2F0aW9uUHJvcGVydHksIFByb3BlcnR5IH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5pbXBvcnQgdHlwZSAqIGFzIEVkbSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvRWRtXCI7XG5pbXBvcnQgdHlwZSB7IENvbW1vbkFubm90YXRpb25UZXJtcyB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvQ29tbW9uXCI7XG5pbXBvcnQgeyBDb21tb25Bbm5vdGF0aW9uVHlwZXMgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvdm9jYWJ1bGFyaWVzL0NvbW1vblwiO1xuaW1wb3J0IHsgY29tcGlsZUV4cHJlc3Npb24sIHBhdGhJbk1vZGVsLCB0eXBlIENvbXBpbGVkQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9iYXNlL0JpbmRpbmdUb29sa2l0XCI7XG5pbXBvcnQgeyBpc1Byb3BlcnR5IH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvVHlwZUd1YXJkc1wiO1xuaW1wb3J0IHsgZ2V0Q29udGV4dFJlbGF0aXZlVGFyZ2V0T2JqZWN0UGF0aCwgZ2V0UmVsYXRpdmVQYXRocywgdHlwZSBEYXRhTW9kZWxPYmplY3RQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0IHtcblx0Z2V0RHluYW1pY1BhdGhGcm9tU2VtYW50aWNPYmplY3QsXG5cdGdldFByb3BlcnR5V2l0aFNlbWFudGljT2JqZWN0LFxuXHRnZXRTZW1hbnRpY09iamVjdE1hcHBpbmdzLFxuXHRnZXRTZW1hbnRpY09iamVjdFVuYXZhaWxhYmxlQWN0aW9ucyxcblx0Z2V0U2VtYW50aWNPYmplY3RzQW5kUXVhbGlmaWVyTWFwXG59IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL1NlbWFudGljT2JqZWN0SGVscGVyXCI7XG5pbXBvcnQgeyBpc1VzZWRJbk5hdmlnYXRpb25XaXRoUXVpY2tWaWV3RmFjZXRzIH0gZnJvbSBcInNhcC9mZS9tYWNyb3MvZmllbGQvRmllbGRUZW1wbGF0aW5nXCI7XG5pbXBvcnQgdHlwZSB7XG5cdExpbmtEZWxlZ2F0ZVBheWxvYWQsXG5cdFJlZ2lzdGVyZWRTZW1hbnRpY09iamVjdE1hcHBpbmcsXG5cdFJlZ2lzdGVyZWRTZW1hbnRpY09iamVjdFVuYXZhaWxhYmxlQWN0aW9uXG59IGZyb20gXCJzYXAvZmUvbWFjcm9zL3F1aWNrVmlldy9RdWlja1ZpZXdEZWxlZ2F0ZVwiO1xuaW1wb3J0IEN1c3RvbURhdGEgZnJvbSBcInNhcC91aS9jb3JlL0N1c3RvbURhdGFcIjtcbmltcG9ydCBNZGNMaW5rIGZyb20gXCJzYXAvdWkvbWRjL0xpbmtcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUXVpY2tWaWV3IHtcblx0cHVibGljIG1ldGFQYXRoITogc3RyaW5nO1xuXG5cdHB1YmxpYyBjb250ZXh0UGF0aCE6IHN0cmluZztcblxuXHQvKipcblx0ICogQ3VzdG9tIHNlbWFudGljIG9iamVjdFxuXHQgKi9cblx0cHVibGljIHNlbWFudGljT2JqZWN0Pzogc3RyaW5nO1xuXG5cdHB1YmxpYyB2YWx1ZURhdGFNb2RlbFBhdGghOiBEYXRhTW9kZWxPYmplY3RQYXRoPFByb3BlcnR5PjtcblxuXHRwcml2YXRlIHBheWxvYWQhOiBMaW5rRGVsZWdhdGVQYXlsb2FkO1xuXG5cdHByaXZhdGUgcXVhbGlmaWVyTWFwITogUmVjb3JkPHN0cmluZywgQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb24+O1xuXG5cdGNvbnN0cnVjdG9yKHZhbHVlRGF0YU1vZGVsUGF0aDogRGF0YU1vZGVsT2JqZWN0UGF0aDxQcm9wZXJ0eT4sIG1ldGFQYXRoOiBzdHJpbmcsIGNvbnRleHRQYXRoOiBzdHJpbmcsIHNlbWFudGljT2JqZWN0Pzogc3RyaW5nKSB7XG5cdFx0dGhpcy52YWx1ZURhdGFNb2RlbFBhdGggPSB2YWx1ZURhdGFNb2RlbFBhdGg7XG5cdFx0dGhpcy5tZXRhUGF0aCA9IG1ldGFQYXRoO1xuXHRcdHRoaXMuY29udGV4dFBhdGggPSBjb250ZXh0UGF0aDtcblx0XHR0aGlzLnNlbWFudGljT2JqZWN0ID0gc2VtYW50aWNPYmplY3Q7XG5cdFx0dGhpcy5jb21wdXRlUHJvcGVydGllc0FuZFBheWxvYWQoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXQgdGhlIHJlbGF0aXZlIHBhdGggdG8gdGhlIGVudGl0eSB3aGljaCBxdWljayB2aWV3IEZhY2V0cyB3ZSB3YW50IHRvIGRpc3BsYXkuXG5cdCAqIEBwYXJhbSBwcm9wZXJ0eURhdGFNb2RlbFBhdGhcblx0ICogQHJldHVybnMgQSBwYXRoIGlmIGl0IGV4aXN0cy5cblx0ICovXG5cdHN0YXRpYyBnZXRSZWxhdGl2ZVBhdGhUb1F1aWNrVmlld0VudGl0eShwcm9wZXJ0eURhdGFNb2RlbFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGg8UHJvcGVydHk+KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHRsZXQgcmVsYXRpdmVQYXRoVG9RdWlja1ZpZXdFbnRpdHk6IHN0cmluZyB8IHVuZGVmaW5lZDtcblx0XHRjb25zdCBxdWlja1ZpZXdOYXZQcm9wID0gdGhpcy5nZXROYXZQcm9wVG9RdWlja1ZpZXdFbnRpdHkocHJvcGVydHlEYXRhTW9kZWxQYXRoKTtcblx0XHRpZiAocXVpY2tWaWV3TmF2UHJvcCkge1xuXHRcdFx0cmVsYXRpdmVQYXRoVG9RdWlja1ZpZXdFbnRpdHkgPSBwcm9wZXJ0eURhdGFNb2RlbFBhdGgubmF2aWdhdGlvblByb3BlcnRpZXMucmVkdWNlKChyZWxhdGl2UGF0aDogc3RyaW5nLCBuYXZQcm9wKSA9PiB7XG5cdFx0XHRcdGlmIChcblx0XHRcdFx0XHRuYXZQcm9wLm5hbWUgIT09IHF1aWNrVmlld05hdlByb3AubmFtZSAmJlxuXHRcdFx0XHRcdCFwcm9wZXJ0eURhdGFNb2RlbFBhdGguY29udGV4dExvY2F0aW9uPy5uYXZpZ2F0aW9uUHJvcGVydGllcy5maW5kKFxuXHRcdFx0XHRcdFx0KGNvbnRleHROYXZQcm9wKSA9PiBjb250ZXh0TmF2UHJvcC5uYW1lID09PSBuYXZQcm9wLm5hbWVcblx0XHRcdFx0XHQpXG5cdFx0XHRcdCkge1xuXHRcdFx0XHRcdC8vIHdlIGtlZXAgb25seSBuYXZQcm9wZXJ0aWVzIHRoYXQgYXJlIHBhcnQgb2YgdGhlIHJlbGF0aXZlUGF0aCBhbmQgbm90IHRoZSBvbmUgZm9yIHF1aWNrVmlld05hdlByb3Bcblx0XHRcdFx0XHRyZXR1cm4gYCR7cmVsYXRpdlBhdGh9JHtuYXZQcm9wLm5hbWV9L2A7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIHJlbGF0aXZQYXRoO1xuXHRcdFx0fSwgXCJcIik7XG5cdFx0XHRyZWxhdGl2ZVBhdGhUb1F1aWNrVmlld0VudGl0eSA9IGAke3JlbGF0aXZlUGF0aFRvUXVpY2tWaWV3RW50aXR5fSR7cXVpY2tWaWV3TmF2UHJvcC5uYW1lfWA7XG5cdFx0fVxuXHRcdHJldHVybiByZWxhdGl2ZVBhdGhUb1F1aWNrVmlld0VudGl0eTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXQgdGhlIHNlbWFudGljT2JqZWN0TWFwcGluZ3MgZnJvbSBtZXRhZGF0YSBpbiB0aGUgcGF5bG9hZCBleHBlY3RlZCBzdHJ1Y3R1cmUuXG5cdCAqIEBwYXJhbSBwcm9wZXJ0eVdpdGhTZW1hbnRpY09iamVjdFxuXHQgKiBAcGFyYW0gcXVhbGlmaWVyTWFwXG5cdCAqIEByZXR1cm5zIEEgcGF5bG9hZCBzdHJ1Y3R1cmUgZm9yIHNlbWFudGljT2JqZWN0TWFwcGluZ3Ncblx0ICovXG5cdHN0YXRpYyBnZXRTZW1hbnRpY09iamVjdE1hcHBpbmdzRm9yUGF5bG9hZChcblx0XHRwcm9wZXJ0eVdpdGhTZW1hbnRpY09iamVjdDogUHJvcGVydHkgfCBOYXZpZ2F0aW9uUHJvcGVydHkgfCB1bmRlZmluZWQsXG5cdFx0cXVhbGlmaWVyTWFwOiBSZWNvcmQ8c3RyaW5nLCBDb21waWxlZEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbj4sXG5cdFx0cHJlZml4OiBzdHJpbmcgfCB1bmRlZmluZWRcblx0KTogUmVnaXN0ZXJlZFNlbWFudGljT2JqZWN0TWFwcGluZ1tdIHtcblx0XHRjb25zdCBzZW1hbnRpY09iamVjdE1hcHBpbmdzOiBSZWdpc3RlcmVkU2VtYW50aWNPYmplY3RNYXBwaW5nW10gPSBbXTtcblx0XHRpZiAocHJvcGVydHlXaXRoU2VtYW50aWNPYmplY3QgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0Zm9yIChjb25zdCBzZW1hbnRpY09iamVjdE1hcHBpbmcgb2YgZ2V0U2VtYW50aWNPYmplY3RNYXBwaW5ncyhwcm9wZXJ0eVdpdGhTZW1hbnRpY09iamVjdCkpIHtcblx0XHRcdFx0Y29uc3QgY29ycmVzcG9uZGluZ1NlbWFudGljT2JqZWN0ID0gcXVhbGlmaWVyTWFwW3NlbWFudGljT2JqZWN0TWFwcGluZy5xdWFsaWZpZXIgfHwgXCJcIl07XG5cdFx0XHRcdGlmIChjb3JyZXNwb25kaW5nU2VtYW50aWNPYmplY3QpIHtcblx0XHRcdFx0XHRzZW1hbnRpY09iamVjdE1hcHBpbmdzLnB1c2goe1xuXHRcdFx0XHRcdFx0c2VtYW50aWNPYmplY3Q6IGNvcnJlc3BvbmRpbmdTZW1hbnRpY09iamVjdCxcblx0XHRcdFx0XHRcdGl0ZW1zOiBzZW1hbnRpY09iamVjdE1hcHBpbmcubWFwKChzZW1hbnRpY09iamVjdE1hcHBpbmdUeXBlKSA9PiB7XG5cdFx0XHRcdFx0XHRcdHN3aXRjaCAoc2VtYW50aWNPYmplY3RNYXBwaW5nVHlwZS4kVHlwZSkge1xuXHRcdFx0XHRcdFx0XHRcdGNhc2UgQ29tbW9uQW5ub3RhdGlvblR5cGVzLlNlbWFudGljT2JqZWN0TWFwcGluZ0NvbnN0YW50OlxuXHRcdFx0XHRcdFx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiVXNpbmcgU2VtYW50aWNPYmplY3RNYXBwaW5nQ29uc3RhbnQgaXMgbm90IHN1cHBvcnRlZC5cIik7XG5cdFx0XHRcdFx0XHRcdFx0Y2FzZSBDb21tb25Bbm5vdGF0aW9uVHlwZXMuU2VtYW50aWNPYmplY3RNYXBwaW5nVHlwZTpcblx0XHRcdFx0XHRcdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0a2V5OiBwcmVmaXhcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ/IGAke3ByZWZpeH0ke3NlbWFudGljT2JqZWN0TWFwcGluZ1R5cGUuTG9jYWxQcm9wZXJ0eS52YWx1ZX1gXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0OiBzZW1hbnRpY09iamVjdE1hcHBpbmdUeXBlLkxvY2FsUHJvcGVydHkudmFsdWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBzZW1hbnRpY09iamVjdE1hcHBpbmdUeXBlLlNlbWFudGljT2JqZWN0UHJvcGVydHkudmFsdWVPZigpXG5cdFx0XHRcdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBzZW1hbnRpY09iamVjdE1hcHBpbmdzO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldCB0aGUgc2VtYW50aWNPYmplY3RVbmF2YWlsYWJsZUFjdGlvbnMgZnJvbSBtZXRhZGF0YSBpbiB0aGUgcGF5bG9hZCBleHBlY3RlZCBzdHJ1Y3R1cmUuXG5cdCAqIEBwYXJhbSBwcm9wZXJ0eVdpdGhTZW1hbnRpY09iamVjdFxuXHQgKiBAcGFyYW0gcXVhbGlmaWVyTWFwXG5cdCAqIEByZXR1cm5zIEEgcGF5bG9hZCBzdHJ1Y3R1cmUgZm9yIHNlbWFudGljT2JqZWN0VW5hdmFpbGFibGVBY3Rpb25zXG5cdCAqL1xuXHRzdGF0aWMgZ2V0U2VtYW50aWNPYmplY3RVbmF2YWlsYWJsZUFjdGlvbnNGb3JQYXlsb2FkKFxuXHRcdHByb3BlcnR5V2l0aFNlbWFudGljT2JqZWN0OiBQcm9wZXJ0eSB8IE5hdmlnYXRpb25Qcm9wZXJ0eSB8IHVuZGVmaW5lZCxcblx0XHRxdWFsaWZpZXJNYXA6IFJlY29yZDxzdHJpbmcsIENvbXBpbGVkQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPlxuXHQpOiBSZWdpc3RlcmVkU2VtYW50aWNPYmplY3RVbmF2YWlsYWJsZUFjdGlvbltdIHtcblx0XHRjb25zdCBzZW1hbnRpY09iamVjdFVuYXZhaWxhYmxlQWN0aW9uczogUmVnaXN0ZXJlZFNlbWFudGljT2JqZWN0VW5hdmFpbGFibGVBY3Rpb25bXSA9IFtdO1xuXHRcdGlmIChwcm9wZXJ0eVdpdGhTZW1hbnRpY09iamVjdCAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRmb3IgKGNvbnN0IHVuYXZhaWxhYmxlQWN0aW9uQW5ub3RhdGlvbiBvZiBnZXRTZW1hbnRpY09iamVjdFVuYXZhaWxhYmxlQWN0aW9ucyhwcm9wZXJ0eVdpdGhTZW1hbnRpY09iamVjdCkgYXMgKHtcblx0XHRcdFx0dGVybTogQ29tbW9uQW5ub3RhdGlvblRlcm1zLlNlbWFudGljT2JqZWN0VW5hdmFpbGFibGVBY3Rpb25zO1xuXHRcdFx0fSAmIEFubm90YXRpb25UZXJtPEVkbS5TdHJpbmdbXT4pW10pIHtcblx0XHRcdFx0Y29uc3QgY29ycmVzcG9uZGluZ1NlbWFudGljT2JqZWN0ID0gcXVhbGlmaWVyTWFwW3VuYXZhaWxhYmxlQWN0aW9uQW5ub3RhdGlvbi5xdWFsaWZpZXIgfHwgXCJcIl07XG5cdFx0XHRcdGlmIChjb3JyZXNwb25kaW5nU2VtYW50aWNPYmplY3QpIHtcblx0XHRcdFx0XHRzZW1hbnRpY09iamVjdFVuYXZhaWxhYmxlQWN0aW9ucy5wdXNoKHtcblx0XHRcdFx0XHRcdHNlbWFudGljT2JqZWN0OiBjb3JyZXNwb25kaW5nU2VtYW50aWNPYmplY3QsXG5cdFx0XHRcdFx0XHRhY3Rpb25zOiB1bmF2YWlsYWJsZUFjdGlvbkFubm90YXRpb24ubWFwKCh1bmF2YWlsYWJsZUFjdGlvbikgPT4gdW5hdmFpbGFibGVBY3Rpb24gYXMgc3RyaW5nKVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBzZW1hbnRpY09iamVjdFVuYXZhaWxhYmxlQWN0aW9ucztcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGQgY3VzdG9tT2JqZWN0KHMpIHRvIHRoZSBzZW1hbnRpY09iamVjdCBsaXN0IGZvciB0aGUgcGF5bG9hZCBpZiBpdCBleGlzdHMuXG5cdCAqIEBwYXJhbSBzZW1hbnRpY09iamVjdHNMaXN0IExpc3Qgb2YgYWN0dWFsIHNlbWFudGljIG9iamVjdHNcblx0ICogQHBhcmFtIGN1c3RvbVNlbWFudGljT2JqZWN0IFNlbWFudGljIG9iamVjdCBkZWZpbmVkIGluIHRoZSBwcm9wZXJ0eSAnc2VtYW50aWNPYmplY3QnIG9mIHRoZSBtYWNybyBmaWVsZCBibG9ja1xuXHQgKiBAcGFyYW0gcXVhbGlmaWVyTWFwIE1hcCBvZiBzZW1hbnRpYyBvYmplY3QgcXVhbGlmaWVycyBmcm9tIGFubm90YXRpb25zXG5cdCAqL1xuXHRzdGF0aWMgYWRkQ3VzdG9tU2VtYW50aWNPYmplY3RUb1NlbWFudGljT2JqZWN0TGlzdEZvclBheWxvYWQoXG5cdFx0c2VtYW50aWNPYmplY3RzTGlzdDogc3RyaW5nW10sXG5cdFx0Y3VzdG9tU2VtYW50aWNPYmplY3Q6IHN0cmluZyB8IHVuZGVmaW5lZCxcblx0XHRxdWFsaWZpZXJNYXA6IFJlY29yZDxzdHJpbmcsIENvbXBpbGVkQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPlxuXHQpOiB2b2lkIHtcblx0XHRpZiAoY3VzdG9tU2VtYW50aWNPYmplY3QpIHtcblx0XHRcdHNlbWFudGljT2JqZWN0c0xpc3Quc3BsaWNlKDAsIHNlbWFudGljT2JqZWN0c0xpc3QubGVuZ3RoKTtcblx0XHRcdC8vIHRoZSBjdXN0b20gc2VtYW50aWMgb2JqZWN0cyBhcmUgZWl0aGVyIGEgc2luZ2xlIHN0cmluZy9rZXkgdG8gY3VzdG9tIGRhdGEgb3IgYSBzdHJpbmdpZmllZCBhcnJheVxuXHRcdFx0aWYgKCFjdXN0b21TZW1hbnRpY09iamVjdC5zdGFydHNXaXRoKFwiW1wiKSkge1xuXHRcdFx0XHQvLyBjdXN0b21TZW1hbnRpY09iamVjdCA9IFwic2VtYW50aWNPYmplY3RcIiB8IFwie3BhdGhJbk1vZGVsfSB8IHtmb3JtYXR0ZXIuLi59XCJcblx0XHRcdFx0aWYgKCFzZW1hbnRpY09iamVjdHNMaXN0LmluY2x1ZGVzKGN1c3RvbVNlbWFudGljT2JqZWN0KSkge1xuXHRcdFx0XHRcdHNlbWFudGljT2JqZWN0c0xpc3QucHVzaChjdXN0b21TZW1hbnRpY09iamVjdCk7XG5cdFx0XHRcdFx0cXVhbGlmaWVyTWFwW1widW5kZWZpbmVkXCJdID0gY3VzdG9tU2VtYW50aWNPYmplY3Q7XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdC8vIGN1c3RvbVNlbWFudGljT2JqZWN0ID0gJ1tcInNlbWFudGljT2JqZWN0MVwiLFwic2VtYW50aWNPYmplY3QyXCJdJ1xuXHRcdFx0XHRmb3IgKGNvbnN0IHNlbWFudGljT2JqZWN0IG9mIEpTT04ucGFyc2UoY3VzdG9tU2VtYW50aWNPYmplY3QpIGFzIHN0cmluZ1tdKSB7XG5cdFx0XHRcdFx0aWYgKCFzZW1hbnRpY09iamVjdHNMaXN0LmluY2x1ZGVzKHNlbWFudGljT2JqZWN0KSkge1xuXHRcdFx0XHRcdFx0c2VtYW50aWNPYmplY3RzTGlzdC5wdXNoKHNlbWFudGljT2JqZWN0KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogR2V0IHRoZSBuYXZpZ2F0aW9uUHJvcGVydHkgdG8gYW4gZW50aXR5IHdpdGggUXVpY2tWaWV3RmFjZXRzIHRoYXQgY2FuIGJlIGxpbmtlZCB0byB0aGUgcHJvcGVydHkuXG5cdCAqIEBwYXJhbSBwcm9wZXJ0eURhdGFNb2RlbFBhdGhcblx0ICogQHJldHVybnMgQSBuYXZpZ2F0aW9uIHByb3BlcnR5IGlmIGl0IGV4aXN0cy5cblx0ICovXG5cdHN0YXRpYyBnZXROYXZQcm9wVG9RdWlja1ZpZXdFbnRpdHkocHJvcGVydHlEYXRhTW9kZWxQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoPFByb3BlcnR5Pik6IE5hdmlnYXRpb25Qcm9wZXJ0eSB8IHVuZGVmaW5lZCB7XG5cdFx0Ly9UT0RPIHdlIHNob3VsZCBpbnZlc3RpZ2F0ZSB0byBwdXQgdGhpcyBjb2RlIGFzIGNvbW1vbiB3aXRoIEZpZWxkVGVtcGxhdGluZy5pc1VzZWRJbk5hdmlnYXRpb25XaXRoUXVpY2tWaWV3RmFjZXRzXG5cdFx0Y29uc3QgcHJvcGVydHkgPSBwcm9wZXJ0eURhdGFNb2RlbFBhdGgudGFyZ2V0T2JqZWN0IGFzIFByb3BlcnR5O1xuXHRcdGNvbnN0IG5hdmlnYXRpb25Qcm9wZXJ0aWVzID0gcHJvcGVydHlEYXRhTW9kZWxQYXRoLnRhcmdldEVudGl0eVR5cGUubmF2aWdhdGlvblByb3BlcnRpZXM7XG5cdFx0bGV0IHF1aWNrVmlld05hdlByb3AgPSBuYXZpZ2F0aW9uUHJvcGVydGllcy5maW5kKChuYXZQcm9wOiBOYXZpZ2F0aW9uUHJvcGVydHkpID0+IHtcblx0XHRcdHJldHVybiBuYXZQcm9wLnJlZmVyZW50aWFsQ29uc3RyYWludC5zb21lKChyZWZlcmVudGlhbENvbnN0cmFpbnQpID0+IHtcblx0XHRcdFx0cmV0dXJuIHJlZmVyZW50aWFsQ29uc3RyYWludC5zb3VyY2VQcm9wZXJ0eSA9PT0gcHJvcGVydHkubmFtZSAmJiBuYXZQcm9wLnRhcmdldFR5cGUuYW5ub3RhdGlvbnMuVUk/LlF1aWNrVmlld0ZhY2V0cztcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHRcdGlmICghcXVpY2tWaWV3TmF2UHJvcCAmJiBwcm9wZXJ0eURhdGFNb2RlbFBhdGguY29udGV4dExvY2F0aW9uPy50YXJnZXRFbnRpdHlTZXQgIT09IHByb3BlcnR5RGF0YU1vZGVsUGF0aC50YXJnZXRFbnRpdHlTZXQpIHtcblx0XHRcdGNvbnN0IHNlbWFudGljS2V5cyA9IHByb3BlcnR5RGF0YU1vZGVsUGF0aC50YXJnZXRFbnRpdHlUeXBlLmFubm90YXRpb25zLkNvbW1vbj8uU2VtYW50aWNLZXkgfHwgW107XG5cdFx0XHRjb25zdCBpc1Byb3BlcnR5U2VtYW50aWNLZXkgPSBzZW1hbnRpY0tleXMuc29tZSgoc2VtYW50aWNLZXkpID0+IHNlbWFudGljS2V5LiR0YXJnZXQgPT09IHByb3BlcnR5KTtcblx0XHRcdGNvbnN0IGxhc3ROYXZQcm9wID0gcHJvcGVydHlEYXRhTW9kZWxQYXRoLm5hdmlnYXRpb25Qcm9wZXJ0aWVzW3Byb3BlcnR5RGF0YU1vZGVsUGF0aC5uYXZpZ2F0aW9uUHJvcGVydGllcy5sZW5ndGggLSAxXTtcblx0XHRcdGlmICgoaXNQcm9wZXJ0eVNlbWFudGljS2V5IHx8IHByb3BlcnR5LmlzS2V5KSAmJiBwcm9wZXJ0eURhdGFNb2RlbFBhdGgudGFyZ2V0RW50aXR5VHlwZS5hbm5vdGF0aW9ucy5VST8uUXVpY2tWaWV3RmFjZXRzKSB7XG5cdFx0XHRcdHF1aWNrVmlld05hdlByb3AgPSBsYXN0TmF2UHJvcCBhcyB1bmtub3duIGFzIE5hdmlnYXRpb25Qcm9wZXJ0eTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIHF1aWNrVmlld05hdlByb3A7XG5cdH1cblxuXHQvKipcblx0ICogQ29tcHV0ZSB0aGUgcHJvcGVydGllcyBhbmQgcGF5bG9hZCBmb3IgdGhlIFF1aWNrVmlldy5cblx0ICovXG5cdGNvbXB1dGVQcm9wZXJ0aWVzQW5kUGF5bG9hZCgpOiB2b2lkIHtcblx0XHRjb25zdCB2YWx1ZVByb3BlcnR5ID0gaXNQcm9wZXJ0eSh0aGlzLnZhbHVlRGF0YU1vZGVsUGF0aC50YXJnZXRPYmplY3QpID8gdGhpcy52YWx1ZURhdGFNb2RlbFBhdGgudGFyZ2V0T2JqZWN0IDogdW5kZWZpbmVkO1xuXHRcdGNvbnN0IGhhc1F1aWNrVmlld0ZhY2V0cyA9XG5cdFx0XHR2YWx1ZVByb3BlcnR5ICYmIGlzVXNlZEluTmF2aWdhdGlvbldpdGhRdWlja1ZpZXdGYWNldHModGhpcy52YWx1ZURhdGFNb2RlbFBhdGgsIHZhbHVlUHJvcGVydHkpID8gXCJ0cnVlXCIgOiBcImZhbHNlXCI7XG5cblx0XHRjb25zdCByZWxhdGl2ZVBhdGhUb1F1aWNrVmlld0VudGl0eSA9IFF1aWNrVmlldy5nZXRSZWxhdGl2ZVBhdGhUb1F1aWNrVmlld0VudGl0eSh0aGlzLnZhbHVlRGF0YU1vZGVsUGF0aCk7XG5cdFx0bGV0IGFic29sdXRlQ29udGV4dFBhdGggPSB0aGlzLmNvbnRleHRQYXRoO1xuXHRcdGFic29sdXRlQ29udGV4dFBhdGggPSBhYnNvbHV0ZUNvbnRleHRQYXRoLmVuZHNXaXRoKFwiL1wiKSA/IGFic29sdXRlQ29udGV4dFBhdGguc2xpY2UoMCwgLTEpIDogYWJzb2x1dGVDb250ZXh0UGF0aDtcblx0XHRjb25zdCBxdWlja1ZpZXdFbnRpdHkgPSByZWxhdGl2ZVBhdGhUb1F1aWNrVmlld0VudGl0eSA/IGAke2Fic29sdXRlQ29udGV4dFBhdGh9LyR7cmVsYXRpdmVQYXRoVG9RdWlja1ZpZXdFbnRpdHl9YCA6IHVuZGVmaW5lZDtcblx0XHRjb25zdCBuYXZpZ2F0aW9uUGF0aCA9IHJlbGF0aXZlUGF0aFRvUXVpY2tWaWV3RW50aXR5ID8gY29tcGlsZUV4cHJlc3Npb24ocGF0aEluTW9kZWwocmVsYXRpdmVQYXRoVG9RdWlja1ZpZXdFbnRpdHkpKSA6IHVuZGVmaW5lZDtcblxuXHRcdGNvbnN0IHByb3BlcnR5V2l0aFNlbWFudGljT2JqZWN0ID0gZ2V0UHJvcGVydHlXaXRoU2VtYW50aWNPYmplY3QodGhpcy52YWx1ZURhdGFNb2RlbFBhdGgpO1xuXHRcdGNvbnN0IHsgc2VtYW50aWNPYmplY3RzTGlzdCwgcXVhbGlmaWVyTWFwIH0gPSBnZXRTZW1hbnRpY09iamVjdHNBbmRRdWFsaWZpZXJNYXAocHJvcGVydHlXaXRoU2VtYW50aWNPYmplY3QpO1xuXHRcdGNvbnN0IHByZWZpeCA9XG5cdFx0XHR0aGlzLnZhbHVlRGF0YU1vZGVsUGF0aCAmJlxuXHRcdFx0dmFsdWVQcm9wZXJ0eSAmJlxuXHRcdFx0Z2V0Q29udGV4dFJlbGF0aXZlVGFyZ2V0T2JqZWN0UGF0aCh0aGlzLnZhbHVlRGF0YU1vZGVsUGF0aCk/LnJlcGxhY2UodmFsdWVQcm9wZXJ0eS5uYW1lLCBcIlwiKTtcblx0XHRjb25zdCBzZW1hbnRpY09iamVjdE1hcHBpbmdzID0gUXVpY2tWaWV3LmdldFNlbWFudGljT2JqZWN0TWFwcGluZ3NGb3JQYXlsb2FkKHByb3BlcnR5V2l0aFNlbWFudGljT2JqZWN0LCBxdWFsaWZpZXJNYXAsIHByZWZpeCk7XG5cdFx0Y29uc3Qgc2VtYW50aWNPYmplY3RVbmF2YWlsYWJsZUFjdGlvbnMgPSBRdWlja1ZpZXcuZ2V0U2VtYW50aWNPYmplY3RVbmF2YWlsYWJsZUFjdGlvbnNGb3JQYXlsb2FkKFxuXHRcdFx0cHJvcGVydHlXaXRoU2VtYW50aWNPYmplY3QsXG5cdFx0XHRxdWFsaWZpZXJNYXBcblx0XHQpO1xuXHRcdFF1aWNrVmlldy5hZGRDdXN0b21TZW1hbnRpY09iamVjdFRvU2VtYW50aWNPYmplY3RMaXN0Rm9yUGF5bG9hZChzZW1hbnRpY09iamVjdHNMaXN0LCB0aGlzLnNlbWFudGljT2JqZWN0LCBxdWFsaWZpZXJNYXApO1xuXHRcdGNvbnN0IHByb3BlcnR5UGF0aExhYmVsID0gKHZhbHVlUHJvcGVydHk/LmFubm90YXRpb25zLkNvbW1vbj8uTGFiZWw/LnZhbHVlT2YoKSBhcyBzdHJpbmcpIHx8IFwiXCI7XG5cblx0XHRjb25zdCBxdWFsaWZpZXJzID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuXHRcdFx0T2JqZWN0LmVudHJpZXMocXVhbGlmaWVyTWFwKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xuXHRcdFx0XHRjb25zdCBxdWFsaWZpZXJLZXkgPSBrZXkgPT09IFwiXCIgPyBcIlNlbWFudGljT2JqZWN0XCIgOiBgU2VtYW50aWNPYmplY3QjJHtrZXl9YDtcblx0XHRcdFx0cmV0dXJuIFtxdWFsaWZpZXJLZXksIHZhbHVlXTtcblx0XHRcdH0pXG5cdFx0KTtcblx0XHR0aGlzLnF1YWxpZmllck1hcCA9IHF1YWxpZmllck1hcDtcblx0XHR0aGlzLnBheWxvYWQgPSB7XG5cdFx0XHRzZW1hbnRpY09iamVjdHM6IHNlbWFudGljT2JqZWN0c0xpc3QsXG5cdFx0XHRlbnRpdHlUeXBlOiBxdWlja1ZpZXdFbnRpdHksXG5cdFx0XHRzZW1hbnRpY09iamVjdFVuYXZhaWxhYmxlQWN0aW9uczogc2VtYW50aWNPYmplY3RVbmF2YWlsYWJsZUFjdGlvbnMsXG5cdFx0XHRzZW1hbnRpY09iamVjdE1hcHBpbmdzOiBzZW1hbnRpY09iamVjdE1hcHBpbmdzLFxuXHRcdFx0cHJvcGVydHlQYXRoTGFiZWw6IHByb3BlcnR5UGF0aExhYmVsLFxuXHRcdFx0Y29udGV4dFBhdGg6IHRoaXMuY29udGV4dFBhdGgsXG5cdFx0XHRkYXRhRmllbGQ6IHF1aWNrVmlld0VudGl0eSA9PT0gdW5kZWZpbmVkID8gdGhpcy5tZXRhUGF0aCA6IHVuZGVmaW5lZCxcblx0XHRcdGNvbnRhY3Q6IHVuZGVmaW5lZCxcblx0XHRcdGRhdGFGaWVsZFByb3BQYXRoOiBnZXRDb250ZXh0UmVsYXRpdmVUYXJnZXRPYmplY3RQYXRoKHRoaXMudmFsdWVEYXRhTW9kZWxQYXRoKSxcblx0XHRcdG5hdmlnYXRpb25QYXRoOiBuYXZpZ2F0aW9uUGF0aCxcblx0XHRcdGhhc1F1aWNrVmlld0ZhY2V0czogaGFzUXVpY2tWaWV3RmFjZXRzLFxuXHRcdFx0cXVhbGlmaWVyczogcXVhbGlmaWVyc1xuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlIHRoZSBjb250ZW50IGZvciB0aGUgUXVpY2tWaWV3LlxuXHQgKiBAcmV0dXJucyBUaGUgY29udHJvbCBkZWZpbml0aW9uLlxuXHQgKi9cblx0cHVibGljIGNyZWF0ZUNvbnRlbnQoKTogTWRjTGluayB8IHN0cmluZyB7XG5cdFx0Y29uc3QgZGVsZWdhdGVDb25maWd1cmF0aW9uID0ge1xuXHRcdFx0bmFtZTogXCJzYXAvZmUvbWFjcm9zL3F1aWNrVmlldy9RdWlja1ZpZXdEZWxlZ2F0ZVwiLFxuXHRcdFx0cGF5bG9hZDogdGhpcy5wYXlsb2FkXG5cdFx0fTtcblx0XHRjb25zdCBjdXN0b21EYXRhID0gdGhpcy5nZXRBbGxDdXN0b21EYXRhKHRoaXMucGF5bG9hZC5zZW1hbnRpY09iamVjdHMsIHRoaXMudmFsdWVEYXRhTW9kZWxQYXRoKTtcblx0XHRyZXR1cm4gPE1kY0xpbmsgZGVsZWdhdGU9e2RlbGVnYXRlQ29uZmlndXJhdGlvbn0+e2N1c3RvbURhdGEubGVuZ3RoID8geyBjdXN0b21EYXRhOiBjdXN0b21EYXRhIH0gOiB7fX08L01kY0xpbms+O1xuXHR9XG5cblx0LyoqXG5cdCAqIFByZXBhcmUgdGhlIGN1c3RvbSBkYXRhIGluZm9ybWF0aW9uIGZvciB0aGUgbWRjIGxpbmsgY29udHJvbC5cblx0ICogQHBhcmFtIGR5bmFtaWNQYXRoV2l0aFJlbGF0aXZlTG9jYXRpb24gVGhlIGNvbXBsaWVkIGV4cHJlc3Npb24gb2YgdGhlIHNlbWFudGljIG9iamVjdFxuXHQgKiBAcGFyYW0gaW5kZXhPZlF1YWxpZmllciBUaGUgaW5kZXggb2YgdGhlIHF1YWxpZmllciBtYXBcblx0ICogQHJldHVybnMgVGhlIGN1c3RvbSBkYXRhIG5vZGUgdXBkYXRlZC5cblx0ICovXG5cdGdldEN1c3RvbURhdGFGb3JTZW1hbnRpY09iamVjdChkeW5hbWljUGF0aFdpdGhSZWxhdGl2ZUxvY2F0aW9uOiBzdHJpbmcsIGluZGV4T2ZRdWFsaWZpZXI6IG51bWJlcik6IEN1c3RvbURhdGEgfCB1bmRlZmluZWQge1xuXHRcdGlmIChnZXREeW5hbWljUGF0aEZyb21TZW1hbnRpY09iamVjdChkeW5hbWljUGF0aFdpdGhSZWxhdGl2ZUxvY2F0aW9uKSkge1xuXHRcdFx0Y29uc3QgcXVhbGlmaWVyID1cblx0XHRcdFx0T2JqZWN0LmtleXModGhpcy5xdWFsaWZpZXJNYXApW2luZGV4T2ZRdWFsaWZpZXJdID09PSBcIlwiID8gXCJcIiA6IGAjJHtPYmplY3Qua2V5cyh0aGlzLnF1YWxpZmllck1hcClbaW5kZXhPZlF1YWxpZmllcl19YDtcblx0XHRcdGNvbnN0IGtleSA9IGBTZW1hbnRpY09iamVjdCR7cXVhbGlmaWVyfWA7XG5cdFx0XHRyZXR1cm4gPEN1c3RvbURhdGEga2V5PXtrZXl9IHZhbHVlPXtkeW5hbWljUGF0aFdpdGhSZWxhdGl2ZUxvY2F0aW9ufSAvPjtcblx0XHR9XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldCBhbGwgY3VzdG9tIGRhdGEgZm9yIHRoZSBzZW1hbnRpYyBvYmplY3RzLlxuXHQgKiBAcGFyYW0gc2VtYW50aWNPYmplY3RzIFRoZSBsaXN0IG9mIHNlbWFudGljIG9iamVjdHNcblx0ICogQHBhcmFtIHZhbHVlRGF0YU1vZGVsUGF0aCBUaGUgZGF0YSBtb2RlbCBwYXRoIG9mIHRoZSBwcm9wZXJ0eVxuXHQgKiBAcmV0dXJucyBUaGUgY3VzdG9tIGRhdGEuXG5cdCAqL1xuXG5cdGdldEFsbEN1c3RvbURhdGEoc2VtYW50aWNPYmplY3RzOiBzdHJpbmdbXSwgdmFsdWVEYXRhTW9kZWxQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoPFByb3BlcnR5PiB8IHVuZGVmaW5lZCk6IEN1c3RvbURhdGFbXSB7XG5cdFx0Y29uc3QgY3VzdG9tRGF0YSA9IFtdO1xuXHRcdGxldCBpbmRleE9mUXVhbGlmaWVyID0gMDtcblx0XHRjb25zdCByZWxhdGl2ZUxvY2F0aW9uID0gdmFsdWVEYXRhTW9kZWxQYXRoICYmIGdldFJlbGF0aXZlUGF0aHModmFsdWVEYXRhTW9kZWxQYXRoKTtcblxuXHRcdGZvciAoY29uc3Qgc2VtYW50aWNPYmplY3Qgb2Ygc2VtYW50aWNPYmplY3RzKSB7XG5cdFx0XHRjb25zdCBkeW5hbWljUGF0aEZyb21TZW1hbnRpY09iamVjdCA9IGdldER5bmFtaWNQYXRoRnJvbVNlbWFudGljT2JqZWN0KHNlbWFudGljT2JqZWN0KTtcblx0XHRcdGxldCBkeW5hbWljUGF0aFdpdGhSZWxhdGl2ZUxvY2F0aW9uO1xuXHRcdFx0aWYgKGR5bmFtaWNQYXRoRnJvbVNlbWFudGljT2JqZWN0KSB7XG5cdFx0XHRcdGluZGV4T2ZRdWFsaWZpZXIgPSBPYmplY3QudmFsdWVzKHRoaXMucXVhbGlmaWVyTWFwKS5maW5kSW5kZXgoXG5cdFx0XHRcdFx0KHNlbWFudGljT2JqZWN0RnJvbVF1YWxpZmllcikgPT4gc2VtYW50aWNPYmplY3RGcm9tUXVhbGlmaWVyID09PSBzZW1hbnRpY09iamVjdFxuXHRcdFx0XHQpO1xuXHRcdFx0XHRpZiAoc2VtYW50aWNPYmplY3Quc3RhcnRzV2l0aChcIns9XCIpIHx8IHNlbWFudGljT2JqZWN0LnN0YXJ0c1dpdGgoXCJ7JGNvbXBvbmVudFN0YXRlPlwiKSkge1xuXHRcdFx0XHRcdC8vIFRoaXMgYSBjb21wbGV4IHNlbWFudGljIG9iamVjdCBvciBhIGJpbmRpbmcgb24gYW5vdGhlciBtb2RlbCwgd2UgZG8gbm90IG1hbmlwdWxhdGUgdGhlIGV4cHJlc3Npb24gYmluZGluZy5cblx0XHRcdFx0XHRkeW5hbWljUGF0aFdpdGhSZWxhdGl2ZUxvY2F0aW9uID0gc2VtYW50aWNPYmplY3Q7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0ZHluYW1pY1BhdGhXaXRoUmVsYXRpdmVMb2NhdGlvbiA9IGNvbXBpbGVFeHByZXNzaW9uKFxuXHRcdFx0XHRcdFx0cGF0aEluTW9kZWwoZHluYW1pY1BhdGhGcm9tU2VtYW50aWNPYmplY3QsIHVuZGVmaW5lZCwgcmVsYXRpdmVMb2NhdGlvbilcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdGZvciAoY29uc3QgaXRlbSBvZiBPYmplY3Qua2V5cyh0aGlzLnF1YWxpZmllck1hcCkpIHtcblx0XHRcdFx0XHRcdGlmICh0aGlzLnF1YWxpZmllck1hcFtpdGVtXSA9PT0gc2VtYW50aWNPYmplY3QpIHtcblx0XHRcdFx0XHRcdFx0dGhpcy5xdWFsaWZpZXJNYXBbaXRlbV0gPSBkeW5hbWljUGF0aFdpdGhSZWxhdGl2ZUxvY2F0aW9uO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRjb25zdCBjdXN0b21EYXRhRm9yU2VtYW50aWNPYmplY3QgPSB0aGlzLmdldEN1c3RvbURhdGFGb3JTZW1hbnRpY09iamVjdChcblx0XHRcdFx0XHRkeW5hbWljUGF0aFdpdGhSZWxhdGl2ZUxvY2F0aW9uID8gZHluYW1pY1BhdGhXaXRoUmVsYXRpdmVMb2NhdGlvbiA6IFwiXCIsXG5cdFx0XHRcdFx0aW5kZXhPZlF1YWxpZmllclxuXHRcdFx0XHQpO1xuXHRcdFx0XHRpZiAoY3VzdG9tRGF0YUZvclNlbWFudGljT2JqZWN0KSB7XG5cdFx0XHRcdFx0Y3VzdG9tRGF0YS5wdXNoKGN1c3RvbURhdGFGb3JTZW1hbnRpY09iamVjdCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIGN1c3RvbURhdGE7XG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQXVCcUJBLFNBQVM7SUFLN0I7QUFDRDtBQUNBOztJQVNDLFNBQUFB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
|
|
@@ -79,7 +79,8 @@ export default class QuickView {
|
|
|
79
79
|
*/
|
|
80
80
|
static getSemanticObjectMappingsForPayload(
|
|
81
81
|
propertyWithSemanticObject: Property | NavigationProperty | undefined,
|
|
82
|
-
qualifierMap: Record<string, CompiledBindingToolkitExpression
|
|
82
|
+
qualifierMap: Record<string, CompiledBindingToolkitExpression>,
|
|
83
|
+
prefix: string | undefined
|
|
83
84
|
): RegisteredSemanticObjectMapping[] {
|
|
84
85
|
const semanticObjectMappings: RegisteredSemanticObjectMapping[] = [];
|
|
85
86
|
if (propertyWithSemanticObject !== undefined) {
|
|
@@ -95,7 +96,9 @@ export default class QuickView {
|
|
|
95
96
|
case CommonAnnotationTypes.SemanticObjectMappingType:
|
|
96
97
|
default:
|
|
97
98
|
return {
|
|
98
|
-
key:
|
|
99
|
+
key: prefix
|
|
100
|
+
? `${prefix}${semanticObjectMappingType.LocalProperty.value}`
|
|
101
|
+
: semanticObjectMappingType.LocalProperty.value,
|
|
99
102
|
value: semanticObjectMappingType.SemanticObjectProperty.valueOf()
|
|
100
103
|
};
|
|
101
104
|
}
|
|
@@ -206,7 +209,11 @@ export default class QuickView {
|
|
|
206
209
|
|
|
207
210
|
const propertyWithSemanticObject = getPropertyWithSemanticObject(this.valueDataModelPath);
|
|
208
211
|
const { semanticObjectsList, qualifierMap } = getSemanticObjectsAndQualifierMap(propertyWithSemanticObject);
|
|
209
|
-
const
|
|
212
|
+
const prefix =
|
|
213
|
+
this.valueDataModelPath &&
|
|
214
|
+
valueProperty &&
|
|
215
|
+
getContextRelativeTargetObjectPath(this.valueDataModelPath)?.replace(valueProperty.name, "");
|
|
216
|
+
const semanticObjectMappings = QuickView.getSemanticObjectMappingsForPayload(propertyWithSemanticObject, qualifierMap, prefix);
|
|
210
217
|
const semanticObjectUnavailableActions = QuickView.getSemanticObjectUnavailableActionsForPayload(
|
|
211
218
|
propertyWithSemanticObject,
|
|
212
219
|
qualifierMap
|