barsa-sap-ui 2.0.125 → 2.0.127
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/barsa-tree-item/barsa-tree-item.component.mjs +23 -17
- package/esm2022/lib/column-renderer/column-renderer.component.mjs +3 -3
- package/esm2022/lib/file-viewer-content/file-viewer-content.component.mjs +11 -6
- package/esm2022/lib/layout-actions/layout-actions.component.mjs +2 -2
- package/esm2022/lib/layout-control/layout-control.component.mjs +2 -1
- package/esm2022/lib/ui-form-panel/ui-form-panel.component.mjs +7 -2
- package/esm2022/lib/ui-table-view/ui-table-view.component.mjs +5 -4
- package/esm2022/lib/ui-tree/ui-tree.component.mjs +12 -12
- package/esm2022/lib/ui-tree-view/ui-tree-view.component.mjs +3 -8
- package/esm2022/lib/ulv-toolbar/ulv-toolbar.component.mjs +3 -3
- package/fesm2022/barsa-sap-ui.mjs +171 -160
- package/fesm2022/barsa-sap-ui.mjs.map +1 -1
- package/lib/barsa-tree-item/barsa-tree-item.component.d.ts +4 -3
- package/lib/file-viewer-content/file-viewer-content.component.d.ts +10 -0
- package/lib/ui-form-panel/ui-form-panel.component.d.ts +1 -0
- package/lib/ui-tree-view/ui-tree-view.component.d.ts +0 -2
- package/package.json +1 -1
|
@@ -19,11 +19,6 @@ export class UiTreeViewComponent extends ReportViewBaseComponent {
|
|
|
19
19
|
this.itemDrop = new EventEmitter();
|
|
20
20
|
this.itemDragMoved = new EventEmitter();
|
|
21
21
|
this.cursor = 'default';
|
|
22
|
-
this.parentWidth = 0;
|
|
23
|
-
}
|
|
24
|
-
ngOnInit() {
|
|
25
|
-
super.ngOnInit();
|
|
26
|
-
this.parentWidth = this._el.nativeElement.parentNode.getBoundingClientRect().width;
|
|
27
22
|
}
|
|
28
23
|
onActionListClick2(node, index, itemId) {
|
|
29
24
|
if (itemId === 'Show') {
|
|
@@ -58,11 +53,11 @@ export class UiTreeViewComponent extends ReportViewBaseComponent {
|
|
|
58
53
|
this.loadChildren.emit(node);
|
|
59
54
|
}
|
|
60
55
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiTreeViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
61
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: UiTreeViewComponent, selector: "bsu-ui-tree-view", inputs: { root: "root", selectedNode: "selectedNode", isHetro: "isHetro", leafCursorPointer: "leafCursorPointer", relationList: "relationList", showOkCancelButtons: "showOkCancelButtons", enableNodeReordering: "enableNodeReordering", collapseIcon: "collapseIcon", iconField: "iconField", colorField: "colorField", viewSettingsContentDensity: "viewSettingsContentDensity" }, outputs: { checkChange: "checkChange", nodeSelect: "nodeSelect", createNew: "createNew", loadChildren: "loadChildren", nodeViewClick: "nodeViewClick", nodeUlvCommand: "nodeUlvCommand", itemDrop: "itemDrop", itemDragMoved: "itemDragMoved" }, usesInheritance: true, ngImport: i0, template: "<fd-layout-panel>\n <fd-layout-panel-body [bleed]=\"true\">\n <ul\n cdkDropList\n [cdkDropListData]=\"moDataList\"\n [id]=\"'$Root'\"\n [cdkDropListDisabled]=\"!enableNodeReordering\"\n (cdkDropListDropped)=\"onDrop($event)\"\n [cdkDropListSortingDisabled]=\"true\"\n fd-list\n [class.is-compact]=\"viewSettingsContentDensity === 'compact'\"\n [class.is-cozy]=\"viewSettingsContentDensity === 'cozy'\"\n >\n @if (moDataList?.length > 0) { @for (node of moDataList; track node.key; let index = $index) { @if\n (node.visibility === true && node.parentNode | isExpandedNode) {\n <bsu-barsa-tree-item\n class=\"node-item\"\n [attr.data-id]=\"node.Data.Id\"\n [attr.id]=\"'node-' + node.Data.Id\"\n [isdirty]=\"node.$Dirty\"\n [enableNodeReordering]=\"enableNodeReordering\"\n [leafCursorPointer]=\"leafCursorPointer && node.leaf\"\n [hasInlineDeleteButton]=\"hasInlineDeleteButton\"\n [hasInlineEditButton]=\"hasInlineEditButton\"\n [actionList]=\"actionList\"\n [style.cursor]=\"cursor\"\n [node]=\"node\"\n [hideIcon]=\"hideIcon\"\n [
|
|
56
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: UiTreeViewComponent, selector: "bsu-ui-tree-view", inputs: { root: "root", selectedNode: "selectedNode", isHetro: "isHetro", leafCursorPointer: "leafCursorPointer", relationList: "relationList", showOkCancelButtons: "showOkCancelButtons", enableNodeReordering: "enableNodeReordering", collapseIcon: "collapseIcon", iconField: "iconField", colorField: "colorField", viewSettingsContentDensity: "viewSettingsContentDensity" }, outputs: { checkChange: "checkChange", nodeSelect: "nodeSelect", createNew: "createNew", loadChildren: "loadChildren", nodeViewClick: "nodeViewClick", nodeUlvCommand: "nodeUlvCommand", itemDrop: "itemDrop", itemDragMoved: "itemDragMoved" }, usesInheritance: true, ngImport: i0, template: "<fd-layout-panel>\n <fd-layout-panel-body [bleed]=\"true\">\n <ul\n cdkDropList\n [cdkDropListData]=\"moDataList\"\n [id]=\"'$Root'\"\n [cdkDropListDisabled]=\"!enableNodeReordering\"\n (cdkDropListDropped)=\"onDrop($event)\"\n [cdkDropListSortingDisabled]=\"true\"\n fd-list\n [class.is-compact]=\"viewSettingsContentDensity === 'compact'\"\n [class.is-cozy]=\"viewSettingsContentDensity === 'cozy'\"\n >\n @if (moDataList?.length > 0) { @for (node of moDataList; track node.key; let index = $index) { @if\n (node.visibility === true && node.parentNode | isExpandedNode) {\n <bsu-barsa-tree-item\n class=\"node-item\"\n [attr.data-id]=\"node.Data.Id\"\n [attr.id]=\"'node-' + node.Data.Id\"\n [isdirty]=\"node.$Dirty\"\n [enableNodeReordering]=\"enableNodeReordering\"\n [leafCursorPointer]=\"leafCursorPointer && node.leaf\"\n [hasInlineDeleteButton]=\"hasInlineDeleteButton\"\n [hasInlineEditButton]=\"hasInlineEditButton\"\n [actionList]=\"actionList\"\n [style.cursor]=\"cursor\"\n [node]=\"node\"\n [hideIcon]=\"hideIcon\"\n [icon]=\"iconField | rval: node.Data:allColumns\"\n [color]=\"colorField | rval: node.Data:allColumns\"\n [level]=\"node.level\"\n [hideOpenIcon]=\"hideOpenIcon\"\n [styleIndex]=\"node.Data.$StyleIndex\"\n [isChecked]=\"selectedNode?.Data?.Id === node.Data.Id || (inDialog && node.Data.$IsChecked)\"\n [hasChildren]=\"node.Data.$HasChildren\"\n [loading]=\"node.loading\"\n [inDialog]=\"inDialog\"\n [isMultiSelect]=\"isMultiSelect\"\n [isExpand]=\"node.isExpand\"\n [isHetro]=\"isHetro\"\n [parentNode]=\"node.parentNode\"\n [text]=\"node.text\"\n [openOnClick]=\"openOnClick\"\n [collapseIcon]=\"rtl ? 'slim-arrow-left' : 'slim-arrow-right'\"\n [navigationArrow]=\"navigationArrow\"\n [rtl]=\"rtl\"\n [index]=\"index\"\n [allColumns]=\"allColumns\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [showOkCancelButtons]=\"showOkCancelButtons\"\n [selectedNode]=\"selectedNode\"\n [conditionalFormats]=\"conditionalFormats\"\n [contextMenuItems]=\"contextMenuItems\"\n [isCheckList]=\"isCheckList\"\n [deviceName]=\"deviceName\"\n [access]=\"access\"\n (actionListClick)=\"onActionListClick2(node, index, $event)\"\n (checkChange)=\"onCheckChange($event)\"\n (select)=\"onNodeSelect(node, index)\"\n (ulvCommandClick)=\"onNodeUlvCommand(node, index)\"\n (viewClick)=\"onNodeViewClick(node, index)\"\n (loadChildren)=\"onLoadChildren(node)\"\n (dragMoved)=\"onDragMoved($event)\"\n [relationList]=\"relationList\"\n (createNew)=\"createNew.emit($event)\"\n >\n </bsu-barsa-tree-item>\n } } } @else {\n <bsu-no-data [simple]=\"true\"></bsu-no-data>\n }\n </ul>\n </fd-layout-panel-body>\n</fd-layout-panel>\n\n<!--noData-->\n", styles: ["fd-layout-panel{border-radius:0}.cdk-drag-placeholder{display:none}.cdk-drag-preview{box-sizing:border-box;box-shadow:0 3px 3px -2px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;background:#fff;opacity:.3}ul{padding-inline-start:0}.drop-inside{border:1px solid #00f}.drop-inside ::ng-deep .fd-list__item{background-color:#dce9f6!important}.drop-before{border-top:1px solid #00f}.drop-before ::ng-deep .fd-list__item{background-color:#dce9f6!important}.drop-after{border-bottom:1px solid #00f}.drop-after ::ng-deep .fd-list__item{background-color:#dce9f6!important}.no-drop ::ng-deep li,.no-drop li .cdk-drag-handle{cursor:no-drop!important}.node-title{padding:15px;margin:5px;background:#eee;cursor:grab}.node-children{position:relative;transition:height .2s;margin-left:40px}.item-notes{margin-left:20px;color:#aaa}\n"], dependencies: [{ kind: "directive", type: i1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: i2.LayoutPanelComponent, selector: "fd-layout-panel", inputs: ["backgroundImage", "id", "transparent"] }, { kind: "component", type: i2.LayoutPanelBodyComponent, selector: "fd-layout-panel-body", inputs: ["bleed"] }, { kind: "component", type: i3.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i4.BarsaTreeItemComponent, selector: "bsu-barsa-tree-item", inputs: ["node", "selectedNode", "relationList", "hideOpenIcon", "hasArrowIcon", "collapseIcon", "loading", "hasChildren", "leafCursorPointer", "isExpand", "children", "parentNode", "text", "icon", "color", "isHetro", "enableNodeReordering", "hideIcon"], outputs: ["createNew", "select", "checkChange", "viewClick", "loadChildren", "dragMoved"] }, { kind: "component", type: i5.NoDataComponent, selector: "bsu-no-data", inputs: ["simple"] }, { kind: "pipe", type: i6.MoReportValuePipe, name: "rval" }, { kind: "pipe", type: i6.IsExpandedNodePipe, name: "isExpandedNode" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
62
57
|
}
|
|
63
58
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiTreeViewComponent, decorators: [{
|
|
64
59
|
type: Component,
|
|
65
|
-
args: [{ selector: 'bsu-ui-tree-view', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-layout-panel>\n <fd-layout-panel-body [bleed]=\"true\">\n <ul\n cdkDropList\n [cdkDropListData]=\"moDataList\"\n [id]=\"'$Root'\"\n [cdkDropListDisabled]=\"!enableNodeReordering\"\n (cdkDropListDropped)=\"onDrop($event)\"\n [cdkDropListSortingDisabled]=\"true\"\n fd-list\n [class.is-compact]=\"viewSettingsContentDensity === 'compact'\"\n [class.is-cozy]=\"viewSettingsContentDensity === 'cozy'\"\n >\n @if (moDataList?.length > 0) { @for (node of moDataList; track node.key; let index = $index) { @if\n (node.visibility === true && node.parentNode | isExpandedNode) {\n <bsu-barsa-tree-item\n class=\"node-item\"\n [attr.data-id]=\"node.Data.Id\"\n [attr.id]=\"'node-' + node.Data.Id\"\n [isdirty]=\"node.$Dirty\"\n [enableNodeReordering]=\"enableNodeReordering\"\n [leafCursorPointer]=\"leafCursorPointer && node.leaf\"\n [hasInlineDeleteButton]=\"hasInlineDeleteButton\"\n [hasInlineEditButton]=\"hasInlineEditButton\"\n [actionList]=\"actionList\"\n [style.cursor]=\"cursor\"\n [node]=\"node\"\n [hideIcon]=\"hideIcon\"\n [
|
|
60
|
+
args: [{ selector: 'bsu-ui-tree-view', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-layout-panel>\n <fd-layout-panel-body [bleed]=\"true\">\n <ul\n cdkDropList\n [cdkDropListData]=\"moDataList\"\n [id]=\"'$Root'\"\n [cdkDropListDisabled]=\"!enableNodeReordering\"\n (cdkDropListDropped)=\"onDrop($event)\"\n [cdkDropListSortingDisabled]=\"true\"\n fd-list\n [class.is-compact]=\"viewSettingsContentDensity === 'compact'\"\n [class.is-cozy]=\"viewSettingsContentDensity === 'cozy'\"\n >\n @if (moDataList?.length > 0) { @for (node of moDataList; track node.key; let index = $index) { @if\n (node.visibility === true && node.parentNode | isExpandedNode) {\n <bsu-barsa-tree-item\n class=\"node-item\"\n [attr.data-id]=\"node.Data.Id\"\n [attr.id]=\"'node-' + node.Data.Id\"\n [isdirty]=\"node.$Dirty\"\n [enableNodeReordering]=\"enableNodeReordering\"\n [leafCursorPointer]=\"leafCursorPointer && node.leaf\"\n [hasInlineDeleteButton]=\"hasInlineDeleteButton\"\n [hasInlineEditButton]=\"hasInlineEditButton\"\n [actionList]=\"actionList\"\n [style.cursor]=\"cursor\"\n [node]=\"node\"\n [hideIcon]=\"hideIcon\"\n [icon]=\"iconField | rval: node.Data:allColumns\"\n [color]=\"colorField | rval: node.Data:allColumns\"\n [level]=\"node.level\"\n [hideOpenIcon]=\"hideOpenIcon\"\n [styleIndex]=\"node.Data.$StyleIndex\"\n [isChecked]=\"selectedNode?.Data?.Id === node.Data.Id || (inDialog && node.Data.$IsChecked)\"\n [hasChildren]=\"node.Data.$HasChildren\"\n [loading]=\"node.loading\"\n [inDialog]=\"inDialog\"\n [isMultiSelect]=\"isMultiSelect\"\n [isExpand]=\"node.isExpand\"\n [isHetro]=\"isHetro\"\n [parentNode]=\"node.parentNode\"\n [text]=\"node.text\"\n [openOnClick]=\"openOnClick\"\n [collapseIcon]=\"rtl ? 'slim-arrow-left' : 'slim-arrow-right'\"\n [navigationArrow]=\"navigationArrow\"\n [rtl]=\"rtl\"\n [index]=\"index\"\n [allColumns]=\"allColumns\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [showOkCancelButtons]=\"showOkCancelButtons\"\n [selectedNode]=\"selectedNode\"\n [conditionalFormats]=\"conditionalFormats\"\n [contextMenuItems]=\"contextMenuItems\"\n [isCheckList]=\"isCheckList\"\n [deviceName]=\"deviceName\"\n [access]=\"access\"\n (actionListClick)=\"onActionListClick2(node, index, $event)\"\n (checkChange)=\"onCheckChange($event)\"\n (select)=\"onNodeSelect(node, index)\"\n (ulvCommandClick)=\"onNodeUlvCommand(node, index)\"\n (viewClick)=\"onNodeViewClick(node, index)\"\n (loadChildren)=\"onLoadChildren(node)\"\n (dragMoved)=\"onDragMoved($event)\"\n [relationList]=\"relationList\"\n (createNew)=\"createNew.emit($event)\"\n >\n </bsu-barsa-tree-item>\n } } } @else {\n <bsu-no-data [simple]=\"true\"></bsu-no-data>\n }\n </ul>\n </fd-layout-panel-body>\n</fd-layout-panel>\n\n<!--noData-->\n", styles: ["fd-layout-panel{border-radius:0}.cdk-drag-placeholder{display:none}.cdk-drag-preview{box-sizing:border-box;box-shadow:0 3px 3px -2px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;background:#fff;opacity:.3}ul{padding-inline-start:0}.drop-inside{border:1px solid #00f}.drop-inside ::ng-deep .fd-list__item{background-color:#dce9f6!important}.drop-before{border-top:1px solid #00f}.drop-before ::ng-deep .fd-list__item{background-color:#dce9f6!important}.drop-after{border-bottom:1px solid #00f}.drop-after ::ng-deep .fd-list__item{background-color:#dce9f6!important}.no-drop ::ng-deep li,.no-drop li .cdk-drag-handle{cursor:no-drop!important}.node-title{padding:15px;margin:5px;background:#eee;cursor:grab}.node-children{position:relative;transition:height .2s;margin-left:40px}.item-notes{margin-left:20px;color:#aaa}\n"] }]
|
|
66
61
|
}], propDecorators: { root: [{
|
|
67
62
|
type: Input
|
|
68
63
|
}], selectedNode: [{
|
|
@@ -102,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
102
97
|
}], itemDragMoved: [{
|
|
103
98
|
type: Output
|
|
104
99
|
}] } });
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdHJlZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL3VpLXRyZWUtdmlldy91aS10cmVlLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdHJlZS12aWV3L3VpLXRyZWUtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBMkIsdUJBQXVCLEVBQWlDLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7O0FBYXZILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSx1QkFBZ0Q7SUFOekY7O1FBa0JjLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBSXBDLENBQUM7UUFFSyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBR25DLENBQUM7UUFDSyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFFakQsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO1FBQy9DLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBR3RDLENBQUM7UUFDSyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUd2QyxDQUFDO1FBQ0ssYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDbkMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRWxELFdBQU0sR0FBRyxTQUFTLENBQUM7UUFDbkIsZ0JBQVcsR0FBRyxDQUFDLENBQUM7S0EwQ25CO0lBekNHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxLQUFLLENBQUM7SUFDdkYsQ0FBQztJQUNELGtCQUFrQixDQUFDLElBQWlCLEVBQUUsS0FBYSxFQUFFLE1BQWM7UUFDL0QsSUFBSSxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbEMsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLE1BQU0sS0FBSyxNQUFNLENBQUMsQ0FBQztRQUN4RSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1QsT0FBZSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxDQUFDO0lBQ0wsQ0FBQztJQUNELE1BQU0sQ0FBQyxNQUFNO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFNO1FBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFpQixFQUFFLEtBQUs7UUFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBaUIsRUFBRSxLQUFhO1FBQzdDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFpQixFQUFFLEtBQWE7UUFDNUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQ0QsYUFBYSxDQUFDLE1BQU07UUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFTO1FBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7OEdBOUVRLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHNyQkNkaEMscWxIQTRFQTs7MkZEOURhLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDSSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBTUcsVUFBVTtzQkFBbkIsTUFBTTtnQkFJRyxTQUFTO3NCQUFsQixNQUFNO2dCQUVHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFJRyxjQUFjO3NCQUF2QixNQUFNO2dCQUlHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVWlSZXBvcnRWaWV3QmFzZVNldHRpbmcsIFJlcG9ydFZpZXdCYXNlQ29tcG9uZW50LCBUcmVlTm9kZU9iaiwgUmVsYXRpb25JdGVtVHlwZSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBEcm9wSW5mbyB7XG4gICAgdGFyZ2V0SWQ6IHN0cmluZyB8IG51bGw7XG4gICAgYWN0aW9uPzogc3RyaW5nIHwgbnVsbDtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtdWktdHJlZS12aWV3JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktdHJlZS12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi91aS10cmVlLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBVaVRyZWVWaWV3Q29tcG9uZW50IGV4dGVuZHMgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQ8VWlSZXBvcnRWaWV3QmFzZVNldHRpbmc+IHtcbiAgICBASW5wdXQoKSByb290OiBhbnk7XG4gICAgQElucHV0KCkgc2VsZWN0ZWROb2RlOiBhbnk7XG4gICAgQElucHV0KCkgaXNIZXRybzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBsZWFmQ3Vyc29yUG9pbnRlcjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSByZWxhdGlvbkxpc3Q6IFJlbGF0aW9uSXRlbVR5cGVbXTtcbiAgICBASW5wdXQoKSBzaG93T2tDYW5jZWxCdXR0b25zO1xuICAgIEBJbnB1dCgpIGVuYWJsZU5vZGVSZW9yZGVyaW5nO1xuICAgIEBJbnB1dCgpIGNvbGxhcHNlSWNvbjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGljb25GaWVsZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGNvbG9yRmllbGQ6IHN0cmluZztcbiAgICBASW5wdXQoKSB2aWV3U2V0dGluZ3NDb250ZW50RGVuc2l0eTogJ2NvbXBhY3QnIHwgJ2NvenknIHwgdW5kZWZpbmVkO1xuICAgIEBPdXRwdXQoKSBjaGVja0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8e1xuICAgICAgICBub2RlOiBUcmVlTm9kZU9iajtcbiAgICAgICAgaW5kZXg6IG51bWJlcjtcbiAgICAgICAgY2hlY2tlZDogYm9vbGVhbjtcbiAgICB9PigpO1xuXG4gICAgQE91dHB1dCgpIG5vZGVTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICAgICAgbm9kZTogVHJlZU5vZGVPYmo7XG4gICAgICAgIGluZGV4OiBudW1iZXI7XG4gICAgfT4oKTtcbiAgICBAT3V0cHV0KCkgY3JlYXRlTmV3ID0gbmV3IEV2ZW50RW1pdHRlcjxSZWxhdGlvbkl0ZW1UeXBlPigpO1xuXG4gICAgQE91dHB1dCgpIGxvYWRDaGlsZHJlbiA9IG5ldyBFdmVudEVtaXR0ZXI8VHJlZU5vZGVPYmo+KCk7XG4gICAgQE91dHB1dCgpIG5vZGVWaWV3Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICAgICAgbm9kZTogVHJlZU5vZGVPYmo7XG4gICAgICAgIGluZGV4OiBudW1iZXI7XG4gICAgfT4oKTtcbiAgICBAT3V0cHV0KCkgbm9kZVVsdkNvbW1hbmQgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICAgICAgbm9kZTogVHJlZU5vZGVPYmo7XG4gICAgICAgIGluZGV4OiBudW1iZXI7XG4gICAgfT4oKTtcbiAgICBAT3V0cHV0KCkgaXRlbURyb3AgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgaXRlbURyYWdNb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgY3Vyc29yID0gJ2RlZmF1bHQnO1xuICAgIHBhcmVudFdpZHRoID0gMDtcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5wYXJlbnRXaWR0aCA9IHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQucGFyZW50Tm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICB9XG4gICAgb25BY3Rpb25MaXN0Q2xpY2syKG5vZGU6IFRyZWVOb2RlT2JqLCBpbmRleDogbnVtYmVyLCBpdGVtSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoaXRlbUlkID09PSAnU2hvdycpIHtcbiAgICAgICAgICAgIHRoaXMub25Ob2RlVmlld0NsaWNrKG5vZGUsIGluZGV4KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9uTm9kZVNlbGVjdChub2RlLCBpbmRleCk7XG4gICAgICAgIGNvbnN0IGVkaXRCdG4gPSB0aGlzLnRvb2xiYXJCdXR0b25zLmZpbmQoKHRiKSA9PiB0Yj8uaXRlbUlkID09PSBpdGVtSWQpO1xuICAgICAgICBpZiAoZWRpdEJ0bikge1xuICAgICAgICAgICAgKGVkaXRCdG4gYXMgYW55KS5oYW5kbGVyKGVkaXRCdG4pO1xuICAgICAgICB9XG4gICAgfVxuICAgIG9uRHJvcCgkZXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtRHJvcC5lbWl0KCRldmVudCk7XG4gICAgfVxuXG4gICAgb25EcmFnTW92ZWQoJGV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbURyYWdNb3ZlZC5lbWl0KCRldmVudCk7XG4gICAgfVxuXG4gICAgb25Ob2RlU2VsZWN0KG5vZGU6IFRyZWVOb2RlT2JqLCBpbmRleCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5vZGVTZWxlY3QuZW1pdCh7IG5vZGUsIGluZGV4IH0pO1xuICAgIH1cblxuICAgIG9uTm9kZVVsdkNvbW1hbmQobm9kZTogVHJlZU5vZGVPYmosIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ub2RlVWx2Q29tbWFuZC5lbWl0KHsgbm9kZSwgaW5kZXggfSk7XG4gICAgfVxuXG4gICAgb25Ob2RlVmlld0NsaWNrKG5vZGU6IFRyZWVOb2RlT2JqLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMubm9kZVZpZXdDbGljay5lbWl0KHsgbm9kZSwgaW5kZXggfSk7XG4gICAgfVxuICAgIG9uQ2hlY2tDaGFuZ2UoJGV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hlY2tDaGFuZ2UuZW1pdCgkZXZlbnQpO1xuICAgIH1cblxuICAgIG9uTG9hZENoaWxkcmVuKG5vZGU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvYWRDaGlsZHJlbi5lbWl0KG5vZGUpO1xuICAgIH1cbn1cbiIsIjxmZC1sYXlvdXQtcGFuZWw+XG4gICAgPGZkLWxheW91dC1wYW5lbC1ib2R5IFtibGVlZF09XCJ0cnVlXCI+XG4gICAgICAgIDx1bFxuICAgICAgICAgICAgY2RrRHJvcExpc3RcbiAgICAgICAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwibW9EYXRhTGlzdFwiXG4gICAgICAgICAgICBbaWRdPVwiJyRSb290J1wiXG4gICAgICAgICAgICBbY2RrRHJvcExpc3REaXNhYmxlZF09XCIhZW5hYmxlTm9kZVJlb3JkZXJpbmdcIlxuICAgICAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJvbkRyb3AoJGV2ZW50KVwiXG4gICAgICAgICAgICBbY2RrRHJvcExpc3RTb3J0aW5nRGlzYWJsZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBmZC1saXN0XG4gICAgICAgICAgICBbY2xhc3MuaXMtY29tcGFjdF09XCJ2aWV3U2V0dGluZ3NDb250ZW50RGVuc2l0eSA9PT0gJ2NvbXBhY3QnXCJcbiAgICAgICAgICAgIFtjbGFzcy5pcy1jb3p5XT1cInZpZXdTZXR0aW5nc0NvbnRlbnREZW5zaXR5ID09PSAnY296eSdcIlxuICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKG1vRGF0YUxpc3Q/Lmxlbmd0aCA+IDApIHsgQGZvciAobm9kZSBvZiBtb0RhdGFMaXN0OyB0cmFjayBub2RlLmtleTsgbGV0IGluZGV4ID0gJGluZGV4KSB7IEBpZlxuICAgICAgICAgICAgKG5vZGUudmlzaWJpbGl0eSA9PT0gdHJ1ZSAmJiBub2RlLnBhcmVudE5vZGUgfCBpc0V4cGFuZGVkTm9kZSkge1xuICAgICAgICAgICAgPGJzdS1iYXJzYS10cmVlLWl0ZW1cbiAgICAgICAgICAgICAgICBjbGFzcz1cIm5vZGUtaXRlbVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1pZF09XCJub2RlLkRhdGEuSWRcIlxuICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cIidub2RlLScgKyBub2RlLkRhdGEuSWRcIlxuICAgICAgICAgICAgICAgIFtpc2RpcnR5XT1cIm5vZGUuJERpcnR5XCJcbiAgICAgICAgICAgICAgICBbZW5hYmxlTm9kZVJlb3JkZXJpbmddPVwiZW5hYmxlTm9kZVJlb3JkZXJpbmdcIlxuICAgICAgICAgICAgICAgIFtsZWFmQ3Vyc29yUG9pbnRlcl09XCJsZWFmQ3Vyc29yUG9pbnRlciAmJiBub2RlLmxlYWZcIlxuICAgICAgICAgICAgICAgIFtoYXNJbmxpbmVEZWxldGVCdXR0b25dPVwiaGFzSW5saW5lRGVsZXRlQnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbaGFzSW5saW5lRWRpdEJ1dHRvbl09XCJoYXNJbmxpbmVFZGl0QnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbYWN0aW9uTGlzdF09XCJhY3Rpb25MaXN0XCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuY3Vyc29yXT1cImN1cnNvclwiXG4gICAgICAgICAgICAgICAgW25vZGVdPVwibm9kZVwiXG4gICAgICAgICAgICAgICAgW2hpZGVJY29uXT1cImhpZGVJY29uXCJcbiAgICAgICAgICAgICAgICBbbWF4V2lkdGhUZXh0XT1cInBhcmVudFdpZHRoXCJcbiAgICAgICAgICAgICAgICBbaWNvbl09XCJpY29uRmllbGQgfCBydmFsOiBub2RlLkRhdGE6YWxsQ29sdW1uc1wiXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cImNvbG9yRmllbGQgfCBydmFsOiBub2RlLkRhdGE6YWxsQ29sdW1uc1wiXG4gICAgICAgICAgICAgICAgW2xldmVsXT1cIm5vZGUubGV2ZWxcIlxuICAgICAgICAgICAgICAgIFtoaWRlT3Blbkljb25dPVwiaGlkZU9wZW5JY29uXCJcbiAgICAgICAgICAgICAgICBbc3R5bGVJbmRleF09XCJub2RlLkRhdGEuJFN0eWxlSW5kZXhcIlxuICAgICAgICAgICAgICAgIFtpc0NoZWNrZWRdPVwic2VsZWN0ZWROb2RlPy5EYXRhPy5JZCA9PT0gbm9kZS5EYXRhLklkIHx8IChpbkRpYWxvZyAmJiBub2RlLkRhdGEuJElzQ2hlY2tlZClcIlxuICAgICAgICAgICAgICAgIFtoYXNDaGlsZHJlbl09XCJub2RlLkRhdGEuJEhhc0NoaWxkcmVuXCJcbiAgICAgICAgICAgICAgICBbbG9hZGluZ109XCJub2RlLmxvYWRpbmdcIlxuICAgICAgICAgICAgICAgIFtpbkRpYWxvZ109XCJpbkRpYWxvZ1wiXG4gICAgICAgICAgICAgICAgW2lzTXVsdGlTZWxlY3RdPVwiaXNNdWx0aVNlbGVjdFwiXG4gICAgICAgICAgICAgICAgW2lzRXhwYW5kXT1cIm5vZGUuaXNFeHBhbmRcIlxuICAgICAgICAgICAgICAgIFtpc0hldHJvXT1cImlzSGV0cm9cIlxuICAgICAgICAgICAgICAgIFtwYXJlbnROb2RlXT1cIm5vZGUucGFyZW50Tm9kZVwiXG4gICAgICAgICAgICAgICAgW3RleHRdPVwibm9kZS50ZXh0XCJcbiAgICAgICAgICAgICAgICBbb3Blbk9uQ2xpY2tdPVwib3Blbk9uQ2xpY2tcIlxuICAgICAgICAgICAgICAgIFtjb2xsYXBzZUljb25dPVwicnRsID8gJ3NsaW0tYXJyb3ctbGVmdCcgOiAnc2xpbS1hcnJvdy1yaWdodCdcIlxuICAgICAgICAgICAgICAgIFtuYXZpZ2F0aW9uQXJyb3ddPVwibmF2aWdhdGlvbkFycm93XCJcbiAgICAgICAgICAgICAgICBbcnRsXT1cInJ0bFwiXG4gICAgICAgICAgICAgICAgW2luZGV4XT1cImluZGV4XCJcbiAgICAgICAgICAgICAgICBbYWxsQ29sdW1uc109XCJhbGxDb2x1bW5zXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVdPVwiZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVcIlxuICAgICAgICAgICAgICAgIFtzaG93T2tDYW5jZWxCdXR0b25zXT1cInNob3dPa0NhbmNlbEJ1dHRvbnNcIlxuICAgICAgICAgICAgICAgIFtzZWxlY3RlZE5vZGVdPVwic2VsZWN0ZWROb2RlXCJcbiAgICAgICAgICAgICAgICBbY29uZGl0aW9uYWxGb3JtYXRzXT1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXG4gICAgICAgICAgICAgICAgW2NvbnRleHRNZW51SXRlbXNdPVwiY29udGV4dE1lbnVJdGVtc1wiXG4gICAgICAgICAgICAgICAgW2lzQ2hlY2tMaXN0XT1cImlzQ2hlY2tMaXN0XCJcbiAgICAgICAgICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcbiAgICAgICAgICAgICAgICBbYWNjZXNzXT1cImFjY2Vzc1wiXG4gICAgICAgICAgICAgICAgKGFjdGlvbkxpc3RDbGljayk9XCJvbkFjdGlvbkxpc3RDbGljazIobm9kZSwgaW5kZXgsICRldmVudClcIlxuICAgICAgICAgICAgICAgIChjaGVja0NoYW5nZSk9XCJvbkNoZWNrQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChzZWxlY3QpPVwib25Ob2RlU2VsZWN0KG5vZGUsIGluZGV4KVwiXG4gICAgICAgICAgICAgICAgKHVsdkNvbW1hbmRDbGljayk9XCJvbk5vZGVVbHZDb21tYW5kKG5vZGUsIGluZGV4KVwiXG4gICAgICAgICAgICAgICAgKHZpZXdDbGljayk9XCJvbk5vZGVWaWV3Q2xpY2sobm9kZSwgaW5kZXgpXCJcbiAgICAgICAgICAgICAgICAobG9hZENoaWxkcmVuKT1cIm9uTG9hZENoaWxkcmVuKG5vZGUpXCJcbiAgICAgICAgICAgICAgICAoZHJhZ01vdmVkKT1cIm9uRHJhZ01vdmVkKCRldmVudClcIlxuICAgICAgICAgICAgICAgIFtyZWxhdGlvbkxpc3RdPVwicmVsYXRpb25MaXN0XCJcbiAgICAgICAgICAgICAgICAoY3JlYXRlTmV3KT1cImNyZWF0ZU5ldy5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9ic3UtYmFyc2EtdHJlZS1pdGVtPlxuICAgICAgICAgICAgfSB9IH0gQGVsc2Uge1xuICAgICAgICAgICAgPGJzdS1uby1kYXRhIFtzaW1wbGVdPVwidHJ1ZVwiPjwvYnN1LW5vLWRhdGE+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvdWw+XG4gICAgPC9mZC1sYXlvdXQtcGFuZWwtYm9keT5cbjwvZmQtbGF5b3V0LXBhbmVsPlxuXG48IS0tbm9EYXRhLS0+XG4iXX0=
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdHJlZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL3VpLXRyZWUtdmlldy91aS10cmVlLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdHJlZS12aWV3L3VpLXRyZWUtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBMkIsdUJBQXVCLEVBQWlDLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7O0FBYXZILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSx1QkFBZ0Q7SUFOekY7O1FBa0JjLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBSXBDLENBQUM7UUFFSyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBR25DLENBQUM7UUFDSyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFFakQsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO1FBQy9DLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBR3RDLENBQUM7UUFDSyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUd2QyxDQUFDO1FBQ0ssYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDbkMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRWxELFdBQU0sR0FBRyxTQUFTLENBQUM7S0F1Q3RCO0lBckNHLGtCQUFrQixDQUFDLElBQWlCLEVBQUUsS0FBYSxFQUFFLE1BQWM7UUFDL0QsSUFBSSxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbEMsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLE1BQU0sS0FBSyxNQUFNLENBQUMsQ0FBQztRQUN4RSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1QsT0FBZSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxDQUFDO0lBQ0wsQ0FBQztJQUNELE1BQU0sQ0FBQyxNQUFNO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFNO1FBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFpQixFQUFFLEtBQUs7UUFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBaUIsRUFBRSxLQUFhO1FBQzdDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFpQixFQUFFLEtBQWE7UUFDNUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQ0QsYUFBYSxDQUFDLE1BQU07UUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFTO1FBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7OEdBMUVRLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHNyQkNkaEMscWlIQTJFQTs7MkZEN0RhLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDSSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBTUcsVUFBVTtzQkFBbkIsTUFBTTtnQkFJRyxTQUFTO3NCQUFsQixNQUFNO2dCQUVHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFJRyxjQUFjO3NCQUF2QixNQUFNO2dCQUlHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVWlSZXBvcnRWaWV3QmFzZVNldHRpbmcsIFJlcG9ydFZpZXdCYXNlQ29tcG9uZW50LCBUcmVlTm9kZU9iaiwgUmVsYXRpb25JdGVtVHlwZSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBEcm9wSW5mbyB7XG4gICAgdGFyZ2V0SWQ6IHN0cmluZyB8IG51bGw7XG4gICAgYWN0aW9uPzogc3RyaW5nIHwgbnVsbDtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtdWktdHJlZS12aWV3JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktdHJlZS12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi91aS10cmVlLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBVaVRyZWVWaWV3Q29tcG9uZW50IGV4dGVuZHMgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQ8VWlSZXBvcnRWaWV3QmFzZVNldHRpbmc+IHtcbiAgICBASW5wdXQoKSByb290OiBhbnk7XG4gICAgQElucHV0KCkgc2VsZWN0ZWROb2RlOiBhbnk7XG4gICAgQElucHV0KCkgaXNIZXRybzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBsZWFmQ3Vyc29yUG9pbnRlcjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSByZWxhdGlvbkxpc3Q6IFJlbGF0aW9uSXRlbVR5cGVbXTtcbiAgICBASW5wdXQoKSBzaG93T2tDYW5jZWxCdXR0b25zO1xuICAgIEBJbnB1dCgpIGVuYWJsZU5vZGVSZW9yZGVyaW5nO1xuICAgIEBJbnB1dCgpIGNvbGxhcHNlSWNvbjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGljb25GaWVsZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGNvbG9yRmllbGQ6IHN0cmluZztcbiAgICBASW5wdXQoKSB2aWV3U2V0dGluZ3NDb250ZW50RGVuc2l0eTogJ2NvbXBhY3QnIHwgJ2NvenknIHwgdW5kZWZpbmVkO1xuICAgIEBPdXRwdXQoKSBjaGVja0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8e1xuICAgICAgICBub2RlOiBUcmVlTm9kZU9iajtcbiAgICAgICAgaW5kZXg6IG51bWJlcjtcbiAgICAgICAgY2hlY2tlZDogYm9vbGVhbjtcbiAgICB9PigpO1xuXG4gICAgQE91dHB1dCgpIG5vZGVTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICAgICAgbm9kZTogVHJlZU5vZGVPYmo7XG4gICAgICAgIGluZGV4OiBudW1iZXI7XG4gICAgfT4oKTtcbiAgICBAT3V0cHV0KCkgY3JlYXRlTmV3ID0gbmV3IEV2ZW50RW1pdHRlcjxSZWxhdGlvbkl0ZW1UeXBlPigpO1xuXG4gICAgQE91dHB1dCgpIGxvYWRDaGlsZHJlbiA9IG5ldyBFdmVudEVtaXR0ZXI8VHJlZU5vZGVPYmo+KCk7XG4gICAgQE91dHB1dCgpIG5vZGVWaWV3Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICAgICAgbm9kZTogVHJlZU5vZGVPYmo7XG4gICAgICAgIGluZGV4OiBudW1iZXI7XG4gICAgfT4oKTtcbiAgICBAT3V0cHV0KCkgbm9kZVVsdkNvbW1hbmQgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICAgICAgbm9kZTogVHJlZU5vZGVPYmo7XG4gICAgICAgIGluZGV4OiBudW1iZXI7XG4gICAgfT4oKTtcbiAgICBAT3V0cHV0KCkgaXRlbURyb3AgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgaXRlbURyYWdNb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgY3Vyc29yID0gJ2RlZmF1bHQnO1xuXG4gICAgb25BY3Rpb25MaXN0Q2xpY2syKG5vZGU6IFRyZWVOb2RlT2JqLCBpbmRleDogbnVtYmVyLCBpdGVtSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoaXRlbUlkID09PSAnU2hvdycpIHtcbiAgICAgICAgICAgIHRoaXMub25Ob2RlVmlld0NsaWNrKG5vZGUsIGluZGV4KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9uTm9kZVNlbGVjdChub2RlLCBpbmRleCk7XG4gICAgICAgIGNvbnN0IGVkaXRCdG4gPSB0aGlzLnRvb2xiYXJCdXR0b25zLmZpbmQoKHRiKSA9PiB0Yj8uaXRlbUlkID09PSBpdGVtSWQpO1xuICAgICAgICBpZiAoZWRpdEJ0bikge1xuICAgICAgICAgICAgKGVkaXRCdG4gYXMgYW55KS5oYW5kbGVyKGVkaXRCdG4pO1xuICAgICAgICB9XG4gICAgfVxuICAgIG9uRHJvcCgkZXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtRHJvcC5lbWl0KCRldmVudCk7XG4gICAgfVxuXG4gICAgb25EcmFnTW92ZWQoJGV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbURyYWdNb3ZlZC5lbWl0KCRldmVudCk7XG4gICAgfVxuXG4gICAgb25Ob2RlU2VsZWN0KG5vZGU6IFRyZWVOb2RlT2JqLCBpbmRleCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5vZGVTZWxlY3QuZW1pdCh7IG5vZGUsIGluZGV4IH0pO1xuICAgIH1cblxuICAgIG9uTm9kZVVsdkNvbW1hbmQobm9kZTogVHJlZU5vZGVPYmosIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ub2RlVWx2Q29tbWFuZC5lbWl0KHsgbm9kZSwgaW5kZXggfSk7XG4gICAgfVxuXG4gICAgb25Ob2RlVmlld0NsaWNrKG5vZGU6IFRyZWVOb2RlT2JqLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMubm9kZVZpZXdDbGljay5lbWl0KHsgbm9kZSwgaW5kZXggfSk7XG4gICAgfVxuICAgIG9uQ2hlY2tDaGFuZ2UoJGV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hlY2tDaGFuZ2UuZW1pdCgkZXZlbnQpO1xuICAgIH1cblxuICAgIG9uTG9hZENoaWxkcmVuKG5vZGU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvYWRDaGlsZHJlbi5lbWl0KG5vZGUpO1xuICAgIH1cbn1cbiIsIjxmZC1sYXlvdXQtcGFuZWw+XG4gICAgPGZkLWxheW91dC1wYW5lbC1ib2R5IFtibGVlZF09XCJ0cnVlXCI+XG4gICAgICAgIDx1bFxuICAgICAgICAgICAgY2RrRHJvcExpc3RcbiAgICAgICAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwibW9EYXRhTGlzdFwiXG4gICAgICAgICAgICBbaWRdPVwiJyRSb290J1wiXG4gICAgICAgICAgICBbY2RrRHJvcExpc3REaXNhYmxlZF09XCIhZW5hYmxlTm9kZVJlb3JkZXJpbmdcIlxuICAgICAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJvbkRyb3AoJGV2ZW50KVwiXG4gICAgICAgICAgICBbY2RrRHJvcExpc3RTb3J0aW5nRGlzYWJsZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBmZC1saXN0XG4gICAgICAgICAgICBbY2xhc3MuaXMtY29tcGFjdF09XCJ2aWV3U2V0dGluZ3NDb250ZW50RGVuc2l0eSA9PT0gJ2NvbXBhY3QnXCJcbiAgICAgICAgICAgIFtjbGFzcy5pcy1jb3p5XT1cInZpZXdTZXR0aW5nc0NvbnRlbnREZW5zaXR5ID09PSAnY296eSdcIlxuICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKG1vRGF0YUxpc3Q/Lmxlbmd0aCA+IDApIHsgQGZvciAobm9kZSBvZiBtb0RhdGFMaXN0OyB0cmFjayBub2RlLmtleTsgbGV0IGluZGV4ID0gJGluZGV4KSB7IEBpZlxuICAgICAgICAgICAgKG5vZGUudmlzaWJpbGl0eSA9PT0gdHJ1ZSAmJiBub2RlLnBhcmVudE5vZGUgfCBpc0V4cGFuZGVkTm9kZSkge1xuICAgICAgICAgICAgPGJzdS1iYXJzYS10cmVlLWl0ZW1cbiAgICAgICAgICAgICAgICBjbGFzcz1cIm5vZGUtaXRlbVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1pZF09XCJub2RlLkRhdGEuSWRcIlxuICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cIidub2RlLScgKyBub2RlLkRhdGEuSWRcIlxuICAgICAgICAgICAgICAgIFtpc2RpcnR5XT1cIm5vZGUuJERpcnR5XCJcbiAgICAgICAgICAgICAgICBbZW5hYmxlTm9kZVJlb3JkZXJpbmddPVwiZW5hYmxlTm9kZVJlb3JkZXJpbmdcIlxuICAgICAgICAgICAgICAgIFtsZWFmQ3Vyc29yUG9pbnRlcl09XCJsZWFmQ3Vyc29yUG9pbnRlciAmJiBub2RlLmxlYWZcIlxuICAgICAgICAgICAgICAgIFtoYXNJbmxpbmVEZWxldGVCdXR0b25dPVwiaGFzSW5saW5lRGVsZXRlQnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbaGFzSW5saW5lRWRpdEJ1dHRvbl09XCJoYXNJbmxpbmVFZGl0QnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbYWN0aW9uTGlzdF09XCJhY3Rpb25MaXN0XCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuY3Vyc29yXT1cImN1cnNvclwiXG4gICAgICAgICAgICAgICAgW25vZGVdPVwibm9kZVwiXG4gICAgICAgICAgICAgICAgW2hpZGVJY29uXT1cImhpZGVJY29uXCJcbiAgICAgICAgICAgICAgICBbaWNvbl09XCJpY29uRmllbGQgfCBydmFsOiBub2RlLkRhdGE6YWxsQ29sdW1uc1wiXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cImNvbG9yRmllbGQgfCBydmFsOiBub2RlLkRhdGE6YWxsQ29sdW1uc1wiXG4gICAgICAgICAgICAgICAgW2xldmVsXT1cIm5vZGUubGV2ZWxcIlxuICAgICAgICAgICAgICAgIFtoaWRlT3Blbkljb25dPVwiaGlkZU9wZW5JY29uXCJcbiAgICAgICAgICAgICAgICBbc3R5bGVJbmRleF09XCJub2RlLkRhdGEuJFN0eWxlSW5kZXhcIlxuICAgICAgICAgICAgICAgIFtpc0NoZWNrZWRdPVwic2VsZWN0ZWROb2RlPy5EYXRhPy5JZCA9PT0gbm9kZS5EYXRhLklkIHx8IChpbkRpYWxvZyAmJiBub2RlLkRhdGEuJElzQ2hlY2tlZClcIlxuICAgICAgICAgICAgICAgIFtoYXNDaGlsZHJlbl09XCJub2RlLkRhdGEuJEhhc0NoaWxkcmVuXCJcbiAgICAgICAgICAgICAgICBbbG9hZGluZ109XCJub2RlLmxvYWRpbmdcIlxuICAgICAgICAgICAgICAgIFtpbkRpYWxvZ109XCJpbkRpYWxvZ1wiXG4gICAgICAgICAgICAgICAgW2lzTXVsdGlTZWxlY3RdPVwiaXNNdWx0aVNlbGVjdFwiXG4gICAgICAgICAgICAgICAgW2lzRXhwYW5kXT1cIm5vZGUuaXNFeHBhbmRcIlxuICAgICAgICAgICAgICAgIFtpc0hldHJvXT1cImlzSGV0cm9cIlxuICAgICAgICAgICAgICAgIFtwYXJlbnROb2RlXT1cIm5vZGUucGFyZW50Tm9kZVwiXG4gICAgICAgICAgICAgICAgW3RleHRdPVwibm9kZS50ZXh0XCJcbiAgICAgICAgICAgICAgICBbb3Blbk9uQ2xpY2tdPVwib3Blbk9uQ2xpY2tcIlxuICAgICAgICAgICAgICAgIFtjb2xsYXBzZUljb25dPVwicnRsID8gJ3NsaW0tYXJyb3ctbGVmdCcgOiAnc2xpbS1hcnJvdy1yaWdodCdcIlxuICAgICAgICAgICAgICAgIFtuYXZpZ2F0aW9uQXJyb3ddPVwibmF2aWdhdGlvbkFycm93XCJcbiAgICAgICAgICAgICAgICBbcnRsXT1cInJ0bFwiXG4gICAgICAgICAgICAgICAgW2luZGV4XT1cImluZGV4XCJcbiAgICAgICAgICAgICAgICBbYWxsQ29sdW1uc109XCJhbGxDb2x1bW5zXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVdPVwiZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVcIlxuICAgICAgICAgICAgICAgIFtzaG93T2tDYW5jZWxCdXR0b25zXT1cInNob3dPa0NhbmNlbEJ1dHRvbnNcIlxuICAgICAgICAgICAgICAgIFtzZWxlY3RlZE5vZGVdPVwic2VsZWN0ZWROb2RlXCJcbiAgICAgICAgICAgICAgICBbY29uZGl0aW9uYWxGb3JtYXRzXT1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXG4gICAgICAgICAgICAgICAgW2NvbnRleHRNZW51SXRlbXNdPVwiY29udGV4dE1lbnVJdGVtc1wiXG4gICAgICAgICAgICAgICAgW2lzQ2hlY2tMaXN0XT1cImlzQ2hlY2tMaXN0XCJcbiAgICAgICAgICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcbiAgICAgICAgICAgICAgICBbYWNjZXNzXT1cImFjY2Vzc1wiXG4gICAgICAgICAgICAgICAgKGFjdGlvbkxpc3RDbGljayk9XCJvbkFjdGlvbkxpc3RDbGljazIobm9kZSwgaW5kZXgsICRldmVudClcIlxuICAgICAgICAgICAgICAgIChjaGVja0NoYW5nZSk9XCJvbkNoZWNrQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChzZWxlY3QpPVwib25Ob2RlU2VsZWN0KG5vZGUsIGluZGV4KVwiXG4gICAgICAgICAgICAgICAgKHVsdkNvbW1hbmRDbGljayk9XCJvbk5vZGVVbHZDb21tYW5kKG5vZGUsIGluZGV4KVwiXG4gICAgICAgICAgICAgICAgKHZpZXdDbGljayk9XCJvbk5vZGVWaWV3Q2xpY2sobm9kZSwgaW5kZXgpXCJcbiAgICAgICAgICAgICAgICAobG9hZENoaWxkcmVuKT1cIm9uTG9hZENoaWxkcmVuKG5vZGUpXCJcbiAgICAgICAgICAgICAgICAoZHJhZ01vdmVkKT1cIm9uRHJhZ01vdmVkKCRldmVudClcIlxuICAgICAgICAgICAgICAgIFtyZWxhdGlvbkxpc3RdPVwicmVsYXRpb25MaXN0XCJcbiAgICAgICAgICAgICAgICAoY3JlYXRlTmV3KT1cImNyZWF0ZU5ldy5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9ic3UtYmFyc2EtdHJlZS1pdGVtPlxuICAgICAgICAgICAgfSB9IH0gQGVsc2Uge1xuICAgICAgICAgICAgPGJzdS1uby1kYXRhIFtzaW1wbGVdPVwidHJ1ZVwiPjwvYnN1LW5vLWRhdGE+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvdWw+XG4gICAgPC9mZC1sYXlvdXQtcGFuZWwtYm9keT5cbjwvZmQtbGF5b3V0LXBhbmVsPlxuXG48IS0tbm9EYXRhLS0+XG4iXX0=
|
|
@@ -61,10 +61,10 @@ export class UlvToolbarComponent extends BaseComponent {
|
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
_setWidth() {
|
|
64
|
-
if (!this.visibled) {
|
|
64
|
+
if (!this.visibled || this.hideToolbar) {
|
|
65
65
|
return;
|
|
66
66
|
}
|
|
67
|
-
const x = this.el.nativeElement.
|
|
67
|
+
const x = Math.floor(this.el.nativeElement.getBoundingClientRect().width);
|
|
68
68
|
this._renderer2.setStyle(this.el.nativeElement, 'width', x + 'px');
|
|
69
69
|
setTimeout(() => {
|
|
70
70
|
this._refreshToolbar();
|
|
@@ -171,4 +171,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
171
171
|
}], createNewInlineMo: [{
|
|
172
172
|
type: Output
|
|
173
173
|
}] } });
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWx2LXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWx2LXRvb2xiYXIvdWx2LXRvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWx2LXRvb2xiYXIvdWx2LXRvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFFVCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFrQixnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXpFLE9BQU8sRUFDSCxhQUFhLEVBS2IsYUFBYSxFQUNoQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFRakMsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGFBQWE7SUFzQ2xELFlBQW1CLEVBQWMsRUFBVSxJQUF1QjtRQUM5RCxLQUFLLEVBQUUsQ0FBQztRQURPLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQWpDekQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQXVCakIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDcEMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzFDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3ZDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN6QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkMsY0FBUyxHQUFHLElBQUksWUFB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QUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDSSxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT3V0cHV0LFxuICAgIFJlbmRlcmVyMixcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5LCBUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcblxuaW1wb3J0IHtcbiAgICBCYXNlQ29tcG9uZW50LFxuICAgIERlZmF1bHRDb21tYW5kc0FjY2VzcyxcbiAgICBBYmJyZXZhdGlvbkRldmljZVNpemUsXG4gICAgRGV2aWNlU2l6ZSxcbiAgICBVaVJlcG9ydFZpZXdCYXNlLFxuICAgIFBvcnRhbFNlcnZpY2Vcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnN1LXVsdi10b29sYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWx2LXRvb2xiYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Vsdi10b29sYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVWx2VG9vbGJhckNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBWaWV3Q2hpbGQoVG9vbGJhckNvbXBvbmVudCkgX3RsYkNtcDogVG9vbGJhckNvbXBvbmVudDtcbiAgICBASW5wdXQoKSBhbGxvd0dyaWRDb2x1bW5Tb3J0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHVzZUxheW91dEl0ZW1UZXh0Rm9yQ29udHJvbDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBlbmFibGVTZWFyY2g6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaGlkZVRpdGxlID0gZmFsc2U7XG4gICAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcbiAgICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZGV2aWNlTmFtZTogRGV2aWNlU2l6ZTtcbiAgICBASW5wdXQoKSBkZXZpY2VTaXplOiBBYmJyZXZhdGlvbkRldmljZVNpemU7XG4gICAgQElucHV0KCkgYWNjZXNzOiBEZWZhdWx0Q29tbWFuZHNBY2Nlc3M7XG4gICAgQElucHV0KCkgaGlkZVRvb2xiYXI6IGJvb2xlYW47XG4gICAgQElucHV0KCkgdG9vbGJhckJ1dHRvbnM6IGFueVtdO1xuICAgIEBJbnB1dCgpIGNvbnRlbnREZW5zaXR5OiBDb250ZW50RGVuc2l0eTtcbiAgICBASW5wdXQoKSBpbmxpbmVFZGl0TW9kZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBhbGxvd0lubGluZUVkaXQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgZ3JpZFNldHRpbmc6IGFueTtcbiAgICBASW5wdXQoKSB2aWV3Q29sbGVjdGlvbjogYW55W107XG4gICAgQElucHV0KCkgcmVwb3J0VmlldzogVWlSZXBvcnRWaWV3QmFzZTtcbiAgICBASW5wdXQoKSBpbkRpYWxvZzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpc011bHRpU2VsZWN0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGNsczogYW55O1xuXG4gICAgQElucHV0KCkgaGFzU2VsZWN0ZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgY29uZmlnOiBhbnk7XG4gICAgQElucHV0KCkgaGlkZGVuOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGJ1dHRvbnM6IGFueVtdO1xuICAgIEBJbnB1dCgpIG1vRGF0YUxpc3RDb3VudDogbnVtYmVyO1xuICAgIEBPdXRwdXQoKSBzZWFyY2ggPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgICBAT3V0cHV0KCkgZ3JvdXBieUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gICAgQE91dHB1dCgpIHNvcnRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICAgIEBPdXRwdXQoKSBjb2x1bW5DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICAgIEBPdXRwdXQoKSBlZGl0TW9kZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSB2aWV3Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFVpUmVwb3J0Vmlld0Jhc2U+KCk7XG4gICAgQE91dHB1dCgpIGNyZWF0ZU5ld0lubGluZU1vID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIGVuYWJsZTogYm9vbGVhbjtcbiAgICBfcmVuZGVyZXIyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gICAgX3BvcnRhbFNlcnZpY2UgPSBpbmplY3QoUG9ydGFsU2VydmljZSk7XG4gICAgY29uc3RydWN0b3IocHVibGljIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2Uud2luZG93UmVzaXplJC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3NldFdpZHRoKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xuICAgICAgICBjb25zdCB7IHRvb2xiYXJCdXR0b25zIH0gPSBjaGFuZ2VzO1xuICAgICAgICBpZiAodG9vbGJhckJ1dHRvbnMpIHtcbiAgICAgICAgICAgIGlmICh0b29sYmFyQnV0dG9ucy5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9yZWZyZXNoVG9vbGJhcigpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9yZWZyZXNoVG9vbGJhcigpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICB2aXNpYmxlZCA9IGZhbHNlO1xuICAgIG9uVmlzaWJpbGl0eUNoYW5nZShlKTogdm9pZCB7XG4gICAgICAgIGlmIChlID09PSAnVmlzaWJsZScpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy52aXNpYmxlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuX3NldFdpZHRoKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlZnJlc2hUb29sYmFyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJvdGVjdGVkIF9zZXRXaWR0aCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnZpc2libGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgeCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5wYXJlbnROb2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnd2lkdGgnLCB4ICsgJ3B4Jyk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fcmVmcmVzaFRvb2xiYXIoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG9uR3JvdXBieVNldHRpbmdzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdyb3VwYnlDbGljay5lbWl0KHRoaXMuZGV2aWNlTmFtZSk7XG4gICAgfVxuICAgIG9uU29ydFNldHRpbmdzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNvcnRDbGljay5lbWl0KHRoaXMuZGV2aWNlTmFtZSk7XG4gICAgfVxuICAgIG9uQ29sdW1uU2V0dGluZ3MoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29sdW1uQ2xpY2suZW1pdCh0aGlzLmRldmljZU5hbWUpO1xuICAgIH1cbiAgICBvbkVkaXRNb2RlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVkaXRNb2RlQ2xpY2suZW1pdCgpO1xuICAgIH1cbiAgICBvbkNoYW5nZVZpZXcodmlldzogVWlSZXBvcnRWaWV3QmFzZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnZpZXdDbGljay5lbWl0KHZpZXcpO1xuICAgIH1cbiAgICBfdHJhY2tCeShpbmRleCwgaXRlbSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBpdGVtPy5pdGVtSWQ7XG4gICAgfVxuICAgIHB1YmxpYyBpZGVudGlmeShpbmRleCwgaXRlbSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBpdGVtLnRleHQ7XG4gICAgfVxuICAgIHByaXZhdGUgX3JlZnJlc2hUb29sYmFyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fdGxiQ21wKSB7XG4gICAgICAgICAgICB0aGlzLl90bGJDbXAuZm9yY2VPdmVyZmxvdyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5fdGxiQ21wLnVwZGF0ZUNvbGxhcHNpYmxlSXRlbXMoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBzdHlsZT1cIndpZHRoOiAxMDAlOyBoZWlnaHQ6IDA7IHZpc2liaWxpdHk6IGhpZGRlbjsgb3BhY2l0eTogMFwiXG4gICAgaW50ZXJzZWN0aW9uT2JzZXJ2ZXJcbiAgICBbaW50ZXJzZWN0aW9uVGhyZXNob2xkXT1cIjAuMVwiXG4gICAgKHZpc2liaWxpdHlDaGFuZ2UpPVwib25WaXNpYmlsaXR5Q2hhbmdlKCRldmVudClcIlxuPjwvZGl2PlxuQGlmICghdXNlTGF5b3V0SXRlbVRleHRGb3JDb250cm9sICYmICFoaWRlVG9vbGJhciAmJiB2aXNpYmxlZCkge1xuPGZkLXRvb2xiYXJcbiAgICAjdG9vbGJhclxuICAgIFtzaG91bGRPdmVyZmxvd109XCJkZXZpY2VTaXplID09PSAncydcIlxuICAgIFtuZ0NsYXNzXT1cImRldmljZVNpemVcIlxuICAgIFtoYXNUaXRsZV09XCIhaGlkZVRpdGxlXCJcbiAgICBbZm9yY2VPdmVyZmxvd109XCJ0cnVlXCJcbiAgICBbbmdDbGFzc109XCJjbHNcIlxuPlxuICAgIEBpZighaGlkZVRpdGxlICYmIGRldmljZVNpemUgIT09ICdzJyA/ICh0aXRsZSB8IGJiYlRyYW5zbGF0ZSkgOiAnJyl7IEBpZihpY29uKXtcbiAgICA8ZmQtaWNvbiBbZ2x5cGhdPVwiaWNvblwiPjwvZmQtaWNvbj5cbiAgICB9XG4gICAgPGg0IGZkLXRpdGxlPnt7IHRpdGxlIHwgYmJiVHJhbnNsYXRlIH19PC9oND5cbiAgICB9IEBpZiAoZGV2aWNlU2l6ZSAhPT0gJ3MnKSB7XG4gICAgPGZkLXRvb2xiYXItc3BhY2VyIGZkLXRvb2xiYXItaXRlbT48L2ZkLXRvb2xiYXItc3BhY2VyPlxuICAgIH0gQGlmICghaGlkZVRvb2xiYXIpIHsgQGZvciAoYnRuIG9mIHRvb2xiYXJCdXR0b25zOyB0cmFjayBfdHJhY2tCeShpLCBidG4pOyBsZXQgaSA9ICRpbmRleCkgeyBAaWYgKGJ0biAhPT0gJy0nICYmXG4gICAgYnRuLkNvbW1hbmQgJiYgIWJ0bi5Db21tYW5kLkN1c3RvbVVpICYmICFidG4ubWVudSkge1xuICAgIDxidXR0b25cbiAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICBbYXR0ci5mZE92ZXJmbG93UHJpb3JpdHldPVwiYnRuLml0ZW1JZCA9PT0gJ0VkaXQnID8gJ2Fsd2F5cycgOiBidG4uQ29tbWFuZD8uSXNCdWlsdGluID8gJ2xvdycgOiAnaGlnaCdcIlxuICAgICAgICBbdWx2Q29tbWFuZEhhbmRsZXJdPVwiYnRuXCJcbiAgICAgICAgW2Rpc2FibGVdPVwiaW5saW5lRWRpdE1vZGUgJiYgYnRuLml0ZW1JZCA9PT0gJ05ldydcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiYnRuLkNvbW1hbmQuX2lzRW5hYmxlID09PSBmYWxzZSA/IHRydWUgOiBmYWxzZVwiXG4gICAgICAgIFtmZFR5cGVdPVwiIWJ0bi5Db21tYW5kLl9pc0VuYWJsZSA/ICd0cmFuc3BhcmVudCcgOiBidG4uQ29tbWFuZC5Kc29uRXh0cmFQcm9wPy5EZXNpZ24gfHwgJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgIFtnbHlwaF09XCJkZXZpY2VTaXplID09PSAncycgPyBudWxsIDogYnRuLkNvbW1hbmQuSnNvbkV4dHJhUHJvcD8uSWNvblwiXG4gICAgICAgIFt0aXRsZV09XCIoYnRuLkNvbW1hbmQ/LklzQnVpbHRpbiA/IGJ0bi50ZXh0IDogJycpIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgKGNsaWNrKT1cImlubGluZUVkaXRNb2RlICYmIGJ0bi5pdGVtSWQgPT09ICdOZXcnICYmIGNyZWF0ZU5ld0lubGluZU1vLmVtaXQoKVwiXG4gICAgICAgIGJvZHlDbGlja1xuICAgID5cbiAgICAgICAgQGlmICghYnRuLkNvbW1hbmQuSnNvbkV4dHJhUHJvcD8uSWNvbiAmJiAhYnRuLkNvbW1hbmQ/LklzQnVpbHRpbiAmJiBidG4uaWNvbikge1xuICAgICAgICA8aW1nIHdpZHRoPVwiMTZcIiBbc3JjXT1cImJ0bi5pY29uXCIgLz5cbiAgICAgICAgfSBAaWYgKCFidG4uaGlkZVRleHQgfHwgZGV2aWNlU2l6ZSA9PT0gJ3MnKSB7XG4gICAgICAgIDxzcGFuPnt7IGJ0bi50ZXh0IHwgYmJiVHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICB9XG4gICAgPC9idXR0b24+XG4gICAgfSBAaWYgKChidG4gPT09ICctJyB8fCBidG4udHlwZSA9PT0gJ3NlcGVyYXRvcicpICYmIGRldmljZU5hbWUgIT09ICdtb2JpbGUnKSB7XG4gICAgPGZkLXRvb2xiYXItc2VwYXJhdG9yIGZkLXRvb2xiYXItaXRlbT48L2ZkLXRvb2xiYXItc2VwYXJhdG9yPlxuICAgIH0gQGlmIChidG4ubWVudSkge1xuICAgIDxidXR0b25cbiAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICBbZmRNZW51XT1cInRydWVcIlxuICAgICAgICBbZmRUeXBlXT1cImJ0bi5Db21tYW5kPy5Jc0J1aWx0aW4gPyAnc3RhbmRhcmQnIDogJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgIFtsYWJlbF09XCJidG4udGV4dCB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgIFthcmlhTGFiZWxdPVwiYnRuLnRleHQgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICBbZmRNZW51VHJpZ2dlcl09XCJtZW51XCJcbiAgICAgICAgYm9keUNsaWNrXG4gICAgPlxuICAgICAgICA8ZmQtbWVudSAjbWVudT5cbiAgICAgICAgICAgIEBmb3IgKGJ0bkNvbW1hbmQgb2YgYnRuLm1lbnUuaXRlbXM7IHRyYWNrIGJ0bkNvbW1hbmQpIHtcbiAgICAgICAgICAgIDxsaSBmZC1tZW51LWl0ZW0gW3VsdkNvbW1hbmRIYW5kbGVyXT1cImJ0bkNvbW1hbmRcIiAoY2xpY2spPVwibWVudS5jbG9zZSgpXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBmZC1tZW51LWludGVyYWN0aXZlPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1tZW51LXRpdGxlPnt7IGJ0bkNvbW1hbmQudGV4dCB8IGJiYlRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZmQtbWVudT5cbiAgICA8L2J1dHRvbj5cbiAgICB9IEBpZiAoYnRuICE9PSAnLScgJiYgYnRuLkNvbW1hbmQgJiYgYnRuLkNvbW1hbmQuQ3VzdG9tVWkpIHtcbiAgICA8Ym5yYy1keW5hbWljLWZvcm0tdG9vbGJhcml0ZW1cbiAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgIFt1bHZDb21tYW5kSGFuZGxlcl09XCJidG5cIlxuICAgICAgICBbY29tcG9uZW50XT1cImJ0bi5Db21tYW5kPy5DdXN0b21VaVwiXG4gICAgICAgIFtjb250ZXh0XT1cImJ0blwiXG4gICAgICAgIFtpc0VuYWJsZV09XCJidG4uQ29tbWFuZD8uX2lzRW5hYmxlXCJcbiAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXG4gICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxuICAgICAgICBib2R5Q2xpY2tcbiAgICA+PC9ibnJjLWR5bmFtaWMtZm9ybS10b29sYmFyaXRlbT5cbiAgICB9IH1cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmQtdG9vbGJhci1pdGVtXVwiPjwvbmctY29udGVudD5cbiAgICBAaWYgKGFsbG93SW5saW5lRWRpdCAmJiBhY2Nlc3M/LkVkaXQpIHtcbiAgICA8YnV0dG9uXG4gICAgICAgIGZkLWJ1dHRvblxuICAgICAgICBmZC10b29sYmFyLWl0ZW1cbiAgICAgICAgW2ZkVHlwZV09XCJpbmxpbmVFZGl0TW9kZSA/ICdlbXBoYXNpemVkJyA6ICd0cmFuc3BhcmVudCdcIlxuICAgICAgICBbZ2x5cGhdPVwiJ2VkaXQnXCJcbiAgICAgICAgW2xhYmVsXT1cImRldmljZVNpemUgPT09ICdzJyA/ICgnSW5saW5lIEVkaXQgSW4gTGlzdCcgfCBiYmJUcmFuc2xhdGUpIDogJydcIlxuICAgICAgICAoY2xpY2spPVwib25FZGl0TW9kZSgpXCJcbiAgICAgICAgW2F0dHIuZmRPdmVyZmxvd1ByaW9yaXR5XT1cIidhbHdheXMnXCJcbiAgICAgICAgW3RpdGxlXT1cIidJbmxpbmUgRWRpdCBJbiBMaXN0JyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgIGJvZHlDbGlja1xuICAgID48L2J1dHRvbj5cbiAgICB9IEBpZiAoZ3JpZFNldHRpbmcgJiYgZ3JpZFNldHRpbmcuSGlkZGVuICE9PSB0cnVlICYmIGFsbG93R3JpZENvbHVtblNvcnQpIHsgQGlmIChkZXZpY2VTaXplID09PSAncycpIHtcbiAgICA8YnV0dG9uXG4gICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICBmZC1idXR0b25cbiAgICAgICAgW2NvbnRlbnREZW5zaXR5XT1cImNvbnRlbnREZW5zaXR5XCJcbiAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICBbYXR0ci5mZE92ZXJmbG93UHJpb3JpdHldPVwiJ2Fsd2F5cydcIlxuICAgICAgICAoY2xpY2spPVwib25Hcm91cGJ5U2V0dGluZ3MoKVwiXG4gICAgICAgIFtsYWJlbF09XCInR3JvdXBzJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgIGJvZHlDbGlja1xuICAgID48L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICBmZC1idXR0b25cbiAgICAgICAgW2NvbnRlbnREZW5zaXR5XT1cImNvbnRlbnREZW5zaXR5XCJcbiAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICBbYXR0ci5mZE92ZXJmbG93UHJpb3JpdHldPVwiJ2Fsd2F5cydcIlxuICAgICAgICAoY2xpY2spPVwib25Tb3J0U2V0dGluZ3MoKVwiXG4gICAgICAgIFtsYWJlbF09XCInU29ydCcgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICBib2R5Q2xpY2tcbiAgICA+PC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgICBmZC10b29sYmFyLWl0ZW1cbiAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgIFtjb250ZW50RGVuc2l0eV09XCJjb250ZW50RGVuc2l0eVwiXG4gICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgW2F0dHIuZmRPdmVyZmxvd1ByaW9yaXR5XT1cIidhbHdheXMnXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ29sdW1uU2V0dGluZ3MoKVwiXG4gICAgICAgIFtsYWJlbF09XCInQ29sdW1ucycgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICBib2R5Q2xpY2tcbiAgICA+PC9idXR0b24+XG4gICAgfSBAaWYgKGRldmljZVNpemUgIT09ICdzJykge1xuICAgIDxidXR0b25cbiAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICBbYXR0ci5mZE92ZXJmbG93UHJpb3JpdHldPVwiJ25ldmVyJ1wiXG4gICAgICAgIFtmZE1lbnVdPVwidHJ1ZVwiXG4gICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgZ2x5cGg9XCJhY3Rpb24tc2V0dGluZ3NcIlxuICAgICAgICBbdGl0bGVdPVwiJ1NldHRpbmdzJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgIFtmZE1lbnVUcmlnZ2VyXT1cInRhYmxlTWVudVNldHRpbmdzXCJcbiAgICAgICAgYm9keUNsaWNrXG4gICAgPjwvYnV0dG9uPlxuICAgIH1cbiAgICA8ZmQtbWVudSAjdGFibGVNZW51U2V0dGluZ3M+XG4gICAgICAgIDxsaSBmZC1tZW51LWl0ZW0+XG4gICAgICAgICAgICA8ZGl2IGZkLW1lbnUtaW50ZXJhY3RpdmUgKGNsaWNrKT1cInRhYmxlTWVudVNldHRpbmdzLmNsb3NlKCk7IG9uQ29sdW1uU2V0dGluZ3MoKVwiIGJvZHlDbGljaz5cbiAgICAgICAgICAgICAgICA8ZmQtbWVudS1hZGRvbiBwb3NpdGlvbj1cImJlZm9yZVwiIGdseXBoPVwiYWN0aW9uLXNldHRpbmdzXCI+PC9mZC1tZW51LWFkZG9uPlxuICAgICAgICAgICAgICAgIDxzcGFuIGZkLW1lbnUtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdDb2x1bW5zJyB8IGJiYlRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2xpPlxuICAgICAgICA8bGkgZmQtbWVudS1pdGVtPlxuICAgICAgICAgICAgPGRpdiBmZC1tZW51LWludGVyYWN0aXZlIChjbGljayk9XCJ0YWJsZU1lbnVTZXR0aW5ncy5jbG9zZSgpOyBvblNvcnRTZXR0aW5ncygpXCIgYm9keUNsaWNrPlxuICAgICAgICAgICAgICAgIDxmZC1tZW51LWFkZG9uIHBvc2l0aW9uPVwiYmVmb3JlXCIgZ2x5cGg9XCJzb3J0XCI+PC9mZC1tZW51LWFkZG9uPlxuICAgICAgICAgICAgICAgIDxzcGFuIGZkLW1lbnUtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdTb3J0JyB8IGJiYlRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2xpPlxuICAgICAgICA8bGkgZmQtbWVudS1pdGVtPlxuICAgICAgICAgICAgPGRpdiBmZC1tZW51LWludGVyYWN0aXZlIChjbGljayk9XCJ0YWJsZU1lbnVTZXR0aW5ncy5jbG9zZSgpOyBvbkdyb3VwYnlTZXR0aW5ncygpXCIgYm9keUNsaWNrPlxuICAgICAgICAgICAgICAgIDxmZC1tZW51LWFkZG9uIHBvc2l0aW9uPVwiYmVmb3JlXCIgZ2x5cGg9XCJncm91cC0yXCI+PC9mZC1tZW51LWFkZG9uPlxuICAgICAgICAgICAgICAgIDxzcGFuIGZkLW1lbnUtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdHcm91cHMnIHwgYmJiVHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbGk+XG4gICAgPC9mZC1tZW51PlxuICAgIH0gQGlmICh2aWV3Q29sbGVjdGlvbiAmJiB2aWV3Q29sbGVjdGlvbi5sZW5ndGggPiAxKSB7XG4gICAgPGZkLXNwbGl0LWJ1dHRvblxuICAgICAgICBmZC10b29sYmFyLWl0ZW1cbiAgICAgICAgW2F0dHIuZmRPdmVyZmxvd1ByaW9yaXR5XT1cImRldmljZVNpemUgPT09ICdzJyA/ICdhbHdheXMnIDogJ2xvdydcIlxuICAgICAgICBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIlxuICAgICAgICBbbWFpbkFjdGlvbl09XCJ7XG4gICAgICAgICAgICBrZWVwTWFpbkFjdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgIG1haW5BY3Rpb25UaXRsZTogc3BsaXRCdG5UaXRsZVxuICAgICAgICB9XCJcbiAgICA+XG4gICAgICAgIDxmZC1tZW51PlxuICAgICAgICAgICAgQGZvciAodmlld09iamVjdCBvZiB2aWV3Q29sbGVjdGlvbjsgdHJhY2sgdmlld09iamVjdCkge1xuICAgICAgICAgICAgPGxpIGZkLW1lbnUtaXRlbT5cbiAgICAgICAgICAgICAgICA8ZGl2IGZkLW1lbnUtaW50ZXJhY3RpdmUgKGNsaWNrKT1cIm9uQ2hhbmdlVmlldyh2aWV3T2JqZWN0KVwiIGJvZHlDbGljaz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1pY29uIFtnbHlwaF09XCJ2aWV3T2JqZWN0LlVpQ29tcG9uZW50LlNldHRpbmdzPy5JY29uXCI+IDwvZmQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9mZC1tZW51PlxuICAgIDwvZmQtc3BsaXQtYnV0dG9uPlxuICAgIH1cbiAgICA8bmctdGVtcGxhdGUgI3NwbGl0QnRuVGl0bGU+XG4gICAgICAgIDxmZC1pY29uIFtnbHlwaF09XCJyZXBvcnRWaWV3LlVpQ29tcG9uZW50LlNldHRpbmdzPy5JY29uXCI+PC9mZC1pY29uPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNzcGxpdEJ0blNldHRpbmdzPlxuICAgICAgICA8ZmQtaWNvbiBbZ2x5cGhdPVwiJ2FjdGlvbi1zZXR0aW5ncydcIj48L2ZkLWljb24+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICB9XG48L2ZkLXRvb2xiYXI+XG59XG4iXX0=
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWx2LXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWx2LXRvb2xiYXIvdWx2LXRvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWx2LXRvb2xiYXIvdWx2LXRvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFFVCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFrQixnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXpFLE9BQU8sRUFDSCxhQUFhLEVBS2IsYUFBYSxFQUNoQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFRakMsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGFBQWE7SUFzQ2xELFlBQW1CLEVBQWMsRUFBVSxJQUF1QjtRQUM5RCxLQUFLLEVBQUUsQ0FBQztRQURPLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQWpDekQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQXVCakIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDcEMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzFDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3ZDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN6QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBQ2pELHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFdkQsZUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQixtQkFBYyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQXlCdkMsYUFBUSxHQUFHLEtBQUssQ0FBQztJQXRCakIsQ0FBQztJQUNELGVBQWU7UUFDWCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQy9FLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixNQUFNLEVBQUUsY0FBYyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ25DLElBQUksY0FBYyxFQUFFLENBQUM7WUFDakIsSUFBSSxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQzdCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ1osSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUMzQixDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBRXZCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDOUIsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztnQkFDckIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3JCLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDM0IsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBQ1MsU0FBUztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQyxPQUFPO1FBQ1gsQ0FBQztRQUNELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ25FLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsaUJBQWlCO1FBQ2IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxnQkFBZ0I7UUFDWixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUNELFVBQVU7UUFDTixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFDRCxZQUFZLENBQUMsSUFBc0I7UUFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNELFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSTtRQUNoQixPQUFPLElBQUksRUFBRSxNQUFNLENBQUM7SUFDeEIsQ0FBQztJQUNNLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSTtRQUN2QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUNPLGVBQWU7UUFDbkIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzFDLENBQUM7SUFDTCxDQUFDOzhHQTdHUSxtQkFBbUI7a0dBQW5CLG1CQUFtQix1L0JBQ2pCLGdCQUFnQiw0RkNqQy9CLHN1T0FnTUE7OzJGRGhLYSxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0ksaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU07K0dBR2xCLE9BQU87c0JBQW5DLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUNsQixtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csMkJBQTJCO3NCQUFuQyxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNJLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPdXRwdXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHksIFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuXG5pbXBvcnQge1xuICAgIEJhc2VDb21wb25lbnQsXG4gICAgRGVmYXVsdENvbW1hbmRzQWNjZXNzLFxuICAgIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSxcbiAgICBEZXZpY2VTaXplLFxuICAgIFVpUmVwb3J0Vmlld0Jhc2UsXG4gICAgUG9ydGFsU2VydmljZVxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtdWx2LXRvb2xiYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91bHYtdG9vbGJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdWx2LXRvb2xiYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBVbHZUb29sYmFyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQFZpZXdDaGlsZChUb29sYmFyQ29tcG9uZW50KSBfdGxiQ21wOiBUb29sYmFyQ29tcG9uZW50O1xuICAgIEBJbnB1dCgpIGFsbG93R3JpZENvbHVtblNvcnQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgdXNlTGF5b3V0SXRlbVRleHRGb3JDb250cm9sOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGVuYWJsZVNlYXJjaDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBoaWRlVGl0bGUgPSBmYWxzZTtcbiAgICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGljb246IHN0cmluZztcbiAgICBASW5wdXQoKSBkZXZpY2VOYW1lOiBEZXZpY2VTaXplO1xuICAgIEBJbnB1dCgpIGRldmljZVNpemU6IEFiYnJldmF0aW9uRGV2aWNlU2l6ZTtcbiAgICBASW5wdXQoKSBhY2Nlc3M6IERlZmF1bHRDb21tYW5kc0FjY2VzcztcbiAgICBASW5wdXQoKSBoaWRlVG9vbGJhcjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSB0b29sYmFyQnV0dG9uczogYW55W107XG4gICAgQElucHV0KCkgY29udGVudERlbnNpdHk6IENvbnRlbnREZW5zaXR5O1xuICAgIEBJbnB1dCgpIGlubGluZUVkaXRNb2RlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGFsbG93SW5saW5lRWRpdDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBncmlkU2V0dGluZzogYW55O1xuICAgIEBJbnB1dCgpIHZpZXdDb2xsZWN0aW9uOiBhbnlbXTtcbiAgICBASW5wdXQoKSByZXBvcnRWaWV3OiBVaVJlcG9ydFZpZXdCYXNlO1xuICAgIEBJbnB1dCgpIGluRGlhbG9nOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzTXVsdGlTZWxlY3Q6IGJvb2xlYW47XG4gICAgQElucHV0KCkgY2xzOiBhbnk7XG5cbiAgICBASW5wdXQoKSBoYXNTZWxlY3RlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjb25maWc6IGFueTtcbiAgICBASW5wdXQoKSBoaWRkZW46IGJvb2xlYW47XG4gICAgQElucHV0KCkgYnV0dG9uczogYW55W107XG4gICAgQElucHV0KCkgbW9EYXRhTGlzdENvdW50OiBudW1iZXI7XG4gICAgQE91dHB1dCgpIHNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICAgIEBPdXRwdXQoKSBncm91cGJ5Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgICBAT3V0cHV0KCkgc29ydENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gICAgQE91dHB1dCgpIGNvbHVtbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gICAgQE91dHB1dCgpIGVkaXRNb2RlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIHZpZXdDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8VWlSZXBvcnRWaWV3QmFzZT4oKTtcbiAgICBAT3V0cHV0KCkgY3JlYXRlTmV3SW5saW5lTW8gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgZW5hYmxlOiBib29sZWFuO1xuICAgIF9yZW5kZXJlcjIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgICBfcG9ydGFsU2VydmljZSA9IGluamVjdChQb3J0YWxTZXJ2aWNlKTtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS53aW5kb3dSZXNpemUkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fc2V0V2lkdGgoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XG4gICAgICAgIGNvbnN0IHsgdG9vbGJhckJ1dHRvbnMgfSA9IGNoYW5nZXM7XG4gICAgICAgIGlmICh0b29sYmFyQnV0dG9ucykge1xuICAgICAgICAgICAgaWYgKHRvb2xiYXJCdXR0b25zLmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3JlZnJlc2hUb29sYmFyKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlZnJlc2hUb29sYmFyKCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHZpc2libGVkID0gZmFsc2U7XG4gICAgb25WaXNpYmlsaXR5Q2hhbmdlKGUpOiB2b2lkIHtcbiAgICAgICAgaWYgKGUgPT09ICdWaXNpYmxlJykge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnZpc2libGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2V0V2lkdGgoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVmcmVzaFRvb2xiYXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3NldFdpZHRoKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMudmlzaWJsZWQgfHwgdGhpcy5oaWRlVG9vbGJhcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHggPSBNYXRoLmZsb29yKHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCk7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyMi5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIHggKyAncHgnKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9yZWZyZXNoVG9vbGJhcigpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgb25Hcm91cGJ5U2V0dGluZ3MoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ3JvdXBieUNsaWNrLmVtaXQodGhpcy5kZXZpY2VOYW1lKTtcbiAgICB9XG4gICAgb25Tb3J0U2V0dGluZ3MoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc29ydENsaWNrLmVtaXQodGhpcy5kZXZpY2VOYW1lKTtcbiAgICB9XG4gICAgb25Db2x1bW5TZXR0aW5ncygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb2x1bW5DbGljay5lbWl0KHRoaXMuZGV2aWNlTmFtZSk7XG4gICAgfVxuICAgIG9uRWRpdE1vZGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdE1vZGVDbGljay5lbWl0KCk7XG4gICAgfVxuICAgIG9uQ2hhbmdlVmlldyh2aWV3OiBVaVJlcG9ydFZpZXdCYXNlKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmlld0NsaWNrLmVtaXQodmlldyk7XG4gICAgfVxuICAgIF90cmFja0J5KGluZGV4LCBpdGVtKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0/Lml0ZW1JZDtcbiAgICB9XG4gICAgcHVibGljIGlkZW50aWZ5KGluZGV4LCBpdGVtKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0udGV4dDtcbiAgICB9XG4gICAgcHJpdmF0ZSBfcmVmcmVzaFRvb2xiYXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl90bGJDbXApIHtcbiAgICAgICAgICAgIHRoaXMuX3RsYkNtcC5mb3JjZU92ZXJmbG93ID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLl90bGJDbXAudXBkYXRlQ29sbGFwc2libGVJdGVtcygpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIHN0eWxlPVwid2lkdGg6IDEwMCU7IGhlaWdodDogMDsgdmlzaWJpbGl0eTogaGlkZGVuOyBvcGFjaXR5OiAwXCJcbiAgICBpbnRlcnNlY3Rpb25PYnNlcnZlclxuICAgIFtpbnRlcnNlY3Rpb25UaHJlc2hvbGRdPVwiMC4xXCJcbiAgICAodmlzaWJpbGl0eUNoYW5nZSk9XCJvblZpc2liaWxpdHlDaGFuZ2UoJGV2ZW50KVwiXG4+PC9kaXY+XG5AaWYgKCF1c2VMYXlvdXRJdGVtVGV4dEZvckNvbnRyb2wgJiYgIWhpZGVUb29sYmFyICYmIHZpc2libGVkKSB7XG48ZmQtdG9vbGJhclxuICAgICN0b29sYmFyXG4gICAgW3Nob3VsZE92ZXJmbG93XT1cImRldmljZVNpemUgPT09ICdzJ1wiXG4gICAgW25nQ2xhc3NdPVwiZGV2aWNlU2l6ZVwiXG4gICAgW2hhc1RpdGxlXT1cIiFoaWRlVGl0bGVcIlxuICAgIFtmb3JjZU92ZXJmbG93XT1cInRydWVcIlxuICAgIFtuZ0NsYXNzXT1cImNsc1wiXG4+XG4gICAgQGlmKCFoaWRlVGl0bGUgJiYgZGV2aWNlU2l6ZSAhPT0gJ3MnID8gKHRpdGxlIHwgYmJiVHJhbnNsYXRlKSA6ICcnKXsgQGlmKGljb24pe1xuICAgIDxmZC1pY29uIFtnbHlwaF09XCJpY29uXCI+PC9mZC1pY29uPlxuICAgIH1cbiAgICA8aDQgZmQtdGl0bGU+e3sgdGl0bGUgfCBiYmJUcmFuc2xhdGUgfX08L2g0PlxuICAgIH0gQGlmIChkZXZpY2VTaXplICE9PSAncycpIHtcbiAgICA8ZmQtdG9vbGJhci1zcGFjZXIgZmQtdG9vbGJhci1pdGVtPjwvZmQtdG9vbGJhci1zcGFjZXI+XG4gICAgfSBAaWYgKCFoaWRlVG9vbGJhcikgeyBAZm9yIChidG4gb2YgdG9vbGJhckJ1dHRvbnM7IHRyYWNrIF90cmFja0J5KGksIGJ0bik7IGxldCBpID0gJGluZGV4KSB7IEBpZiAoYnRuICE9PSAnLScgJiZcbiAgICBidG4uQ29tbWFuZCAmJiAhYnRuLkNvbW1hbmQuQ3VzdG9tVWkgJiYgIWJ0bi5tZW51KSB7XG4gICAgPGJ1dHRvblxuICAgICAgICBmZC1idXR0b25cbiAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgIFthdHRyLmZkT3ZlcmZsb3dQcmlvcml0eV09XCJidG4uaXRlbUlkID09PSAnRWRpdCcgPyAnYWx3YXlzJyA6IGJ0bi5Db21tYW5kPy5Jc0J1aWx0aW4gPyAnbG93JyA6ICdoaWdoJ1wiXG4gICAgICAgIFt1bHZDb21tYW5kSGFuZGxlcl09XCJidG5cIlxuICAgICAgICBbZGlzYWJsZV09XCJpbmxpbmVFZGl0TW9kZSAmJiBidG4uaXRlbUlkID09PSAnTmV3J1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJidG4uQ29tbWFuZC5faXNFbmFibGUgPT09IGZhbHNlID8gdHJ1ZSA6IGZhbHNlXCJcbiAgICAgICAgW2ZkVHlwZV09XCIhYnRuLkNvbW1hbmQuX2lzRW5hYmxlID8gJ3RyYW5zcGFyZW50JyA6IGJ0bi5Db21tYW5kLkpzb25FeHRyYVByb3A/LkRlc2lnbiB8fCAndHJhbnNwYXJlbnQnXCJcbiAgICAgICAgW2dseXBoXT1cImRldmljZVNpemUgPT09ICdzJyA/IG51bGwgOiBidG4uQ29tbWFuZC5Kc29uRXh0cmFQcm9wPy5JY29uXCJcbiAgICAgICAgW3RpdGxlXT1cIihidG4uQ29tbWFuZD8uSXNCdWlsdGluID8gYnRuLnRleHQgOiAnJykgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAoY2xpY2spPVwiaW5saW5lRWRpdE1vZGUgJiYgYnRuLml0ZW1JZCA9PT0gJ05ldycgJiYgY3JlYXRlTmV3SW5saW5lTW8uZW1pdCgpXCJcbiAgICAgICAgYm9keUNsaWNrXG4gICAgPlxuICAgICAgICBAaWYgKCFidG4uQ29tbWFuZC5Kc29uRXh0cmFQcm9wPy5JY29uICYmICFidG4uQ29tbWFuZD8uSXNCdWlsdGluICYmIGJ0bi5pY29uKSB7XG4gICAgICAgIDxpbWcgd2lkdGg9XCIxNlwiIFtzcmNdPVwiYnRuLmljb25cIiAvPlxuICAgICAgICB9IEBpZiAoIWJ0bi5oaWRlVGV4dCB8fCBkZXZpY2VTaXplID09PSAncycpIHtcbiAgICAgICAgPHNwYW4+e3sgYnRuLnRleHQgfCBiYmJUcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIH1cbiAgICA8L2J1dHRvbj5cbiAgICB9IEBpZiAoKGJ0biA9PT0gJy0nIHx8IGJ0bi50eXBlID09PSAnc2VwZXJhdG9yJykgJiYgZGV2aWNlTmFtZSAhPT0gJ21vYmlsZScpIHtcbiAgICA8ZmQtdG9vbGJhci1zZXBhcmF0b3IgZmQtdG9vbGJhci1pdGVtPjwvZmQtdG9vbGJhci1zZXBhcmF0b3I+XG4gICAgfSBAaWYgKGJ0bi5tZW51KSB7XG4gICAgPGJ1dHRvblxuICAgICAgICBmZC1idXR0b25cbiAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgIFtmZE1lbnVdPVwidHJ1ZVwiXG4gICAgICAgIFtmZFR5cGVdPVwiYnRuLkNvbW1hbmQ/LklzQnVpbHRpbiA/ICdzdGFuZGFyZCcgOiAndHJhbnNwYXJlbnQnXCJcbiAgICAgICAgW2xhYmVsXT1cImJ0bi50ZXh0IHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgW2FyaWFMYWJlbF09XCJidG4udGV4dCB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgIFtmZE1lbnVUcmlnZ2VyXT1cIm1lbnVcIlxuICAgICAgICBib2R5Q2xpY2tcbiAgICA+XG4gICAgICAgIDxmZC1tZW51ICNtZW51PlxuICAgICAgICAgICAgQGZvciAoYnRuQ29tbWFuZCBvZiBidG4ubWVudS5pdGVtczsgdHJhY2sgYnRuQ29tbWFuZCkge1xuICAgICAgICAgICAgPGxpIGZkLW1lbnUtaXRlbSBbdWx2Q29tbWFuZEhhbmRsZXJdPVwiYnRuQ29tbWFuZFwiIChjbGljayk9XCJtZW51LmNsb3NlKClcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZkLW1lbnUtaW50ZXJhY3RpdmU+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLW1lbnUtdGl0bGU+e3sgYnRuQ29tbWFuZC50ZXh0IHwgYmJiVHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9mZC1tZW51PlxuICAgIDwvYnV0dG9uPlxuICAgIH0gQGlmIChidG4gIT09ICctJyAmJiBidG4uQ29tbWFuZCAmJiBidG4uQ29tbWFuZC5DdXN0b21VaSkge1xuICAgIDxibnJjLWR5bmFtaWMtZm9ybS10b29sYmFyaXRlbVxuICAgICAgICBmZC10b29sYmFyLWl0ZW1cbiAgICAgICAgW3VsdkNvbW1hbmRIYW5kbGVyXT1cImJ0blwiXG4gICAgICAgIFtjb21wb25lbnRdPVwiYnRuLkNvbW1hbmQ/LkN1c3RvbVVpXCJcbiAgICAgICAgW2NvbnRleHRdPVwiYnRuXCJcbiAgICAgICAgW2lzRW5hYmxlXT1cImJ0bi5Db21tYW5kPy5faXNFbmFibGVcIlxuICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcbiAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXG4gICAgICAgIGJvZHlDbGlja1xuICAgID48L2JucmMtZHluYW1pYy1mb3JtLXRvb2xiYXJpdGVtPlxuICAgIH0gfVxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZC10b29sYmFyLWl0ZW1dXCI+PC9uZy1jb250ZW50PlxuICAgIEBpZiAoYWxsb3dJbmxpbmVFZGl0ICYmIGFjY2Vzcz8uRWRpdCkge1xuICAgIDxidXR0b25cbiAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICBbZmRUeXBlXT1cImlubGluZUVkaXRNb2RlID8gJ2VtcGhhc2l6ZWQnIDogJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgIFtnbHlwaF09XCInZWRpdCdcIlxuICAgICAgICBbbGFiZWxdPVwiZGV2aWNlU2l6ZSA9PT0gJ3MnID8gKCdJbmxpbmUgRWRpdCBJbiBMaXN0JyB8IGJiYlRyYW5zbGF0ZSkgOiAnJ1wiXG4gICAgICAgIChjbGljayk9XCJvbkVkaXRNb2RlKClcIlxuICAgICAgICBbYXR0ci5mZE92ZXJmbG93UHJpb3JpdHldPVwiJ2Fsd2F5cydcIlxuICAgICAgICBbdGl0bGVdPVwiJ0lubGluZSBFZGl0IEluIExpc3QnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgYm9keUNsaWNrXG4gICAgPjwvYnV0dG9uPlxuICAgIH0gQGlmIChncmlkU2V0dGluZyAmJiBncmlkU2V0dGluZy5IaWRkZW4gIT09IHRydWUgJiYgYWxsb3dHcmlkQ29sdW1uU29ydCkgeyBAaWYgKGRldmljZVNpemUgPT09ICdzJykge1xuICAgIDxidXR0b25cbiAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgIGZkLWJ1dHRvblxuICAgICAgICBbY29udGVudERlbnNpdHldPVwiY29udGVudERlbnNpdHlcIlxuICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgIFthdHRyLmZkT3ZlcmZsb3dQcmlvcml0eV09XCInYWx3YXlzJ1wiXG4gICAgICAgIChjbGljayk9XCJvbkdyb3VwYnlTZXR0aW5ncygpXCJcbiAgICAgICAgW2xhYmVsXT1cIidHcm91cHMnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgYm9keUNsaWNrXG4gICAgPjwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgIGZkLWJ1dHRvblxuICAgICAgICBbY29udGVudERlbnNpdHldPVwiY29udGVudERlbnNpdHlcIlxuICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgIFthdHRyLmZkT3ZlcmZsb3dQcmlvcml0eV09XCInYWx3YXlzJ1wiXG4gICAgICAgIChjbGljayk9XCJvblNvcnRTZXR0aW5ncygpXCJcbiAgICAgICAgW2xhYmVsXT1cIidTb3J0JyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgIGJvZHlDbGlja1xuICAgID48L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICBmZC1idXR0b25cbiAgICAgICAgW2NvbnRlbnREZW5zaXR5XT1cImNvbnRlbnREZW5zaXR5XCJcbiAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICBbYXR0ci5mZE92ZXJmbG93UHJpb3JpdHldPVwiJ2Fsd2F5cydcIlxuICAgICAgICAoY2xpY2spPVwib25Db2x1bW5TZXR0aW5ncygpXCJcbiAgICAgICAgW2xhYmVsXT1cIidDb2x1bW5zJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgIGJvZHlDbGlja1xuICAgID48L2J1dHRvbj5cbiAgICB9IEBpZiAoZGV2aWNlU2l6ZSAhPT0gJ3MnKSB7XG4gICAgPGJ1dHRvblxuICAgICAgICBmZC1idXR0b25cbiAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgIFthdHRyLmZkT3ZlcmZsb3dQcmlvcml0eV09XCInbmV2ZXInXCJcbiAgICAgICAgW2ZkTWVudV09XCJ0cnVlXCJcbiAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICBnbHlwaD1cImFjdGlvbi1zZXR0aW5nc1wiXG4gICAgICAgIFt0aXRsZV09XCInU2V0dGluZ3MnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgW2ZkTWVudVRyaWdnZXJdPVwidGFibGVNZW51U2V0dGluZ3NcIlxuICAgICAgICBib2R5Q2xpY2tcbiAgICA+PC9idXR0b24+XG4gICAgfVxuICAgIDxmZC1tZW51ICN0YWJsZU1lbnVTZXR0aW5ncz5cbiAgICAgICAgPGxpIGZkLW1lbnUtaXRlbT5cbiAgICAgICAgICAgIDxkaXYgZmQtbWVudS1pbnRlcmFjdGl2ZSAoY2xpY2spPVwidGFibGVNZW51U2V0dGluZ3MuY2xvc2UoKTsgb25Db2x1bW5TZXR0aW5ncygpXCIgYm9keUNsaWNrPlxuICAgICAgICAgICAgICAgIDxmZC1tZW51LWFkZG9uIHBvc2l0aW9uPVwiYmVmb3JlXCIgZ2x5cGg9XCJhY3Rpb24tc2V0dGluZ3NcIj48L2ZkLW1lbnUtYWRkb24+XG4gICAgICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAge3sgJ0NvbHVtbnMnIHwgYmJiVHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIDxsaSBmZC1tZW51LWl0ZW0+XG4gICAgICAgICAgICA8ZGl2IGZkLW1lbnUtaW50ZXJhY3RpdmUgKGNsaWNrKT1cInRhYmxlTWVudVNldHRpbmdzLmNsb3NlKCk7IG9uU29ydFNldHRpbmdzKClcIiBib2R5Q2xpY2s+XG4gICAgICAgICAgICAgICAgPGZkLW1lbnUtYWRkb24gcG9zaXRpb249XCJiZWZvcmVcIiBnbHlwaD1cInNvcnRcIj48L2ZkLW1lbnUtYWRkb24+XG4gICAgICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAge3sgJ1NvcnQnIHwgYmJiVHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIDxsaSBmZC1tZW51LWl0ZW0+XG4gICAgICAgICAgICA8ZGl2IGZkLW1lbnUtaW50ZXJhY3RpdmUgKGNsaWNrKT1cInRhYmxlTWVudVNldHRpbmdzLmNsb3NlKCk7IG9uR3JvdXBieVNldHRpbmdzKClcIiBib2R5Q2xpY2s+XG4gICAgICAgICAgICAgICAgPGZkLW1lbnUtYWRkb24gcG9zaXRpb249XCJiZWZvcmVcIiBnbHlwaD1cImdyb3VwLTJcIj48L2ZkLW1lbnUtYWRkb24+XG4gICAgICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAge3sgJ0dyb3VwcycgfCBiYmJUcmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9saT5cbiAgICA8L2ZkLW1lbnU+XG4gICAgfSBAaWYgKHZpZXdDb2xsZWN0aW9uICYmIHZpZXdDb2xsZWN0aW9uLmxlbmd0aCA+IDEpIHtcbiAgICA8ZmQtc3BsaXQtYnV0dG9uXG4gICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICBbYXR0ci5mZE92ZXJmbG93UHJpb3JpdHldPVwiZGV2aWNlU2l6ZSA9PT0gJ3MnID8gJ2Fsd2F5cycgOiAnbG93J1wiXG4gICAgICAgIFtmZFR5cGVdPVwiJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgIFttYWluQWN0aW9uXT1cIntcbiAgICAgICAgICAgIGtlZXBNYWluQWN0aW9uOiB0cnVlLFxuICAgICAgICAgICAgbWFpbkFjdGlvblRpdGxlOiBzcGxpdEJ0blRpdGxlXG4gICAgICAgIH1cIlxuICAgID5cbiAgICAgICAgPGZkLW1lbnU+XG4gICAgICAgICAgICBAZm9yICh2aWV3T2JqZWN0IG9mIHZpZXdDb2xsZWN0aW9uOyB0cmFjayB2aWV3T2JqZWN0KSB7XG4gICAgICAgICAgICA8bGkgZmQtbWVudS1pdGVtPlxuICAgICAgICAgICAgICAgIDxkaXYgZmQtbWVudS1pbnRlcmFjdGl2ZSAoY2xpY2spPVwib25DaGFuZ2VWaWV3KHZpZXdPYmplY3QpXCIgYm9keUNsaWNrPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1tZW51LXRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWljb24gW2dseXBoXT1cInZpZXdPYmplY3QuVWlDb21wb25lbnQuU2V0dGluZ3M/Lkljb25cIj4gPC9mZC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2ZkLW1lbnU+XG4gICAgPC9mZC1zcGxpdC1idXR0b24+XG4gICAgfVxuICAgIDxuZy10ZW1wbGF0ZSAjc3BsaXRCdG5UaXRsZT5cbiAgICAgICAgPGZkLWljb24gW2dseXBoXT1cInJlcG9ydFZpZXcuVWlDb21wb25lbnQuU2V0dGluZ3M/Lkljb25cIj48L2ZkLWljb24+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI3NwbGl0QnRuU2V0dGluZ3M+XG4gICAgICAgIDxmZC1pY29uIFtnbHlwaF09XCInYWN0aW9uLXNldHRpbmdzJ1wiPjwvZmQtaWNvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIH1cbjwvZmQtdG9vbGJhcj5cbn1cbiJdfQ==
|