ngx-bimplus-components 0.0.134-webcomponents → 0.0.135-dependencies
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/components/bimplus-buttons-row/bimplus-buttons-row.component.mjs +3 -4
- package/esm2022/lib/components/bimplus-connection-designer/bimplus-connection-designer.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-connection-designer-results/bimplus-connection-designer-results.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-flat-tree/bimplus-flat-tree.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-floating-bar-header-logo/bimplus-floating-bar-header-logo.component.mjs +1 -1
- package/esm2022/lib/components/bimplus-floating-bar-project-navigator/bimplus-floating-bar-project-navigator.component.mjs +1 -1
- package/esm2022/lib/components/bimplus-main-menu/bimplus-main-menu.component.mjs +27 -4
- package/esm2022/lib/components/bimplus-navbar/bimplus-navbar.component.mjs +19 -6
- package/esm2022/lib/components/bimplus-navbar/logo-state.enum.mjs +2 -1
- package/esm2022/lib/components/bimplus-object-complex-properties/bimplus-object-complex-properties.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-object-navigator/bimplus-object-navigator.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.interface.mjs +1 -1
- package/esm2022/lib/components/bimplus-object-navigator/object-filter-result/object-filter-result.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-object-structure/bimplus-object-structure.component.mjs +6 -3
- package/esm2022/lib/components/bimplus-scrollable-container/bimplus-scrollable-container.component.mjs +1 -1
- package/esm2022/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.component.mjs +19 -0
- package/esm2022/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.interface.mjs +2 -0
- package/esm2022/lib/components/object-properties/object-properties.component.mjs +236 -0
- package/esm2022/lib/components/object-properties/object-properties.interface.mjs +2 -0
- package/esm2022/lib/components/object-properties-header/object-properties-header.component.mjs +19 -4
- package/esm2022/lib/components/object-properties-header/object-properties-header.interface.mjs +1 -1
- package/esm2022/public-api.mjs +4 -1
- package/fesm2022/ngx-bimplus-components.mjs +327 -32
- package/fesm2022/ngx-bimplus-components.mjs.map +1 -1
- package/lib/components/bimplus-floating-bar-header-logo/bimplus-floating-bar-header-logo.component.d.ts +1 -1
- package/lib/components/bimplus-floating-bar-project-navigator/bimplus-floating-bar-project-navigator.component.d.ts +3 -3
- package/lib/components/bimplus-navbar/bimplus-navbar.component.d.ts +5 -1
- package/lib/components/bimplus-navbar/logo-state.enum.d.ts +1 -0
- package/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.component.d.ts +7 -7
- package/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.interface.d.ts +3 -3
- package/lib/components/bimplus-object-structure/bimplus-object-structure.component.d.ts +1 -1
- package/lib/components/bimplus-scrollable-container/bimplus-scrollable-container.component.d.ts +1 -1
- package/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.component.d.ts +10 -0
- package/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.interface.d.ts +3 -0
- package/lib/components/object-properties/object-properties.component.d.ts +42 -0
- package/lib/components/object-properties/object-properties.interface.d.ts +18 -0
- package/lib/components/object-properties-header/object-properties-header.component.d.ts +5 -3
- package/lib/components/object-properties-header/object-properties-header.interface.d.ts +1 -0
- package/package.json +5 -5
- package/public-api.d.ts +3 -0
|
@@ -270,7 +270,7 @@ export class BimplusFlatTreeComponent {
|
|
|
270
270
|
return this._selectionList?.isSelected(node);
|
|
271
271
|
}
|
|
272
272
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BimplusFlatTreeComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
273
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: BimplusFlatTreeComponent, isStandalone: true, selector: "lib-bimplus-flat-tree", inputs: { treeDataStringified: "treeDataStringified", treeTitle: "treeTitle", paddingIndent: "paddingIndent", multiSelect: ["multiSelect", "multiSelect", booleanAttribute], oneLevelMultiSelect: ["oneLevelMultiSelect", "oneLevelMultiSelect", booleanAttribute], showFoldersIcons: ["showFoldersIcons", "showFoldersIcons", booleanAttribute], showObjectsIcons: ["showObjectsIcons", "showObjectsIcons", booleanAttribute], enableSelect: ["enableSelect", "enableSelect", booleanAttribute], enableParentHighlighting: ["enableParentHighlighting", "enableParentHighlighting", booleanAttribute], enableDragAndDrop: ["enableDragAndDrop", "enableDragAndDrop", booleanAttribute], dataTestPrefix: "dataTestPrefix", contextMenus: "contextMenus", treeData: "treeData", customNodeTemplate: "customNodeTemplate" }, outputs: { selectedNodes: "selectedNodes" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"tree-container\">\n <div *ngIf=\"treeTitle\" class=\"tree-title\">{{treeTitle}}</div>\n <cdk-tree [dataSource]=\"_dataSource\" [treeControl]=\"_treeControl\">\n <!-- This is the tree node template for leaf nodes -->\n <cdk-tree-node\n [matTreeNodePaddingIndent]=\"paddingIndent\"\n *matTreeNodeDef=\"let node\"\n matTreeNodePadding\n (click)=\"_toggleNode($event, node)\"\n (keypress)=\"_toggleNode($event, node)\"\n class=\"object-node\"\n [class.dragable-node]=\"enableDragAndDrop && node.level > 0\"\n [class.selected-node]=\"_isSelected(node)\"\n [attr.data-test]=\"dataTestPrefix + node.id\"\n [title]=\"node.name\"\n [attr.node-id]=\"node.id\"\n >\n <!-- use a disabled button to provide padding for tree leaf -->\n <button mat-icon-button disabled>\n </button>\n @if (customNodeTemplate && _isCustomNodeType(node)) {\n <ng-container \n [ngTemplateOutlet]=\"customNodeTemplate\" \n [ngTemplateOutletContext]=\"{node:node}\">\n </ng-container>\n }@else{\n <div class=\"icon object-icon\" *ngIf=\"showObjectsIcons\">\n </div>\n <span\n class=\"node-label\"\n [class.selected-node]=\"_isSelected(node)\"\n >\n <div class=\"custom-drag-placeholder\" *cdkDragPlaceholder></div>\n <div>\n {{node.name}}\n </div>\n </span>\n }\n <lib-bimplus-context-menu\n [items]=\"contextMenus?.objectContextMenuitems\"\n [data]=\"node\"\n *ngIf=\"contextMenus?.objectContextMenuitems?.length\"\n (triggerSelected)=\"_toggleNode($event, node)\"\n >\n </lib-bimplus-context-menu>\n </cdk-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <cdk-tree-node [matTreeNodePaddingIndent]=\"paddingIndent\"\n *matTreeNodeDef=\"let node;when: _isExpendable\"\n matTreeNodePadding\n (click)=\"_toggleNode($event, node)\"\n (keypress)=\"_toggleNode($event, node)\"\n class=\"folder-node\"\n [class.dragable-node]=\"enableDragAndDrop && node.level > 0\"\n [class.selected-node]=\"_isSelected(node)\"\n [attr.data-test]=\"dataTestPrefix + node.id\"\n [title]=\"node.name\"\n [attr.node-id]=\"node.id\"\n >\n <button\n mat-icon-button\n matTreeNodeToggle\n [attr.aria-label]=\"'Toggle ' + node.name\"\n >\n <div\n class=\"icon expand-collapse-icon\"\n [class.expand-more-icon]=\"_hasChildren(node) && !_treeControl.isExpanded(node)\"\n [class.collapse-icon]=\"_hasChildren(node) && _treeControl.isExpanded(node)\"\n >\n </div>\n </button>\n @if (customNodeTemplate && _isCustomNodeType(node)) {\n <ng-container \n [ngTemplateOutlet]=\"customNodeTemplate\" \n [ngTemplateOutletContext]=\"{node:node}\">\n </ng-container>\n }@else{\n <div class=\"icon folder-icon\" *ngIf=\"showFoldersIcons\">\n </div>\n <span class=\"node-label\"\n [class.selected-node]=\"_isSelected(node)\"\n [class.selected-all-descendants-nodes]=\"_descendantsAllSelected(node) && _isSelected(node) && enableParentHighlighting\"\n [class.selected-partially-descendants-nodes]=\"_descendantsPartiallySelected(node) && enableParentHighlighting\"\n >\n <div class=\"custom-drag-placeholder\" *cdkDragPlaceholder></div>\n <div class=\"node-label\">\n {{node.name}}\n </div>\n </span>\n }\n <lib-bimplus-context-menu\n [items]=\"contextMenus?.folderContextMenuitems\"\n [data]=\"node\"\n *ngIf=\"contextMenus?.folderContextMenuitems?.length\"\n (triggerSelected)=\"_toggleNode($event, node)\"\n >\n </lib-bimplus-context-menu>\n </cdk-tree-node>\n </cdk-tree>\n</div>\n", styles: [".text-selected{color:var(--text-highlight-text-color-enabled)}.ui-icon22px{width:2.2rem;height:2.2rem;display:inline-block;float:right;border-radius:.4rem;background-position:center center;background-repeat:no-repeat;cursor:pointer}.ui-icon-sidemenu{width:2.4rem;height:2.4rem;background-size:1.8rem 1.8rem;background-position:center center;background-repeat:no-repeat}.touch-ui-icon-sidemenu{width:2.4rem;height:2.4rem;background-size:1.8rem 1.8rem;background-position:center center;background-repeat:no-repeat;width:3.2rem;height:3.2rem}.ui-icon-sidemenu-important{width:2.4rem!important;height:2.4rem!important;background-size:1.8rem 1.8rem!important;background-position:center center;background-repeat:no-repeat}.tree-container{background-color:var(--flat-tree-container-background-color-enabled);width:calc(100% - 2 * var(--flat-tree-node-indent, 1rem));padding:var(--flat-tree-node-indent, 1rem);font-family:var(--flat-tree-font-family, \"Source Sans Pro\", Helvetica, Arial, tahoma, sans-serif);font-size:var(--flat-tree-font-size, 1.3rem);font-weight:var(--flat-tree-font-weight, 700);color:var(--flat-tree-container-text-color-enabled)}.tree-container>.tree-title{background-color:transparent;font-size:var(--flat-tree-title-font-size, 1.6rem);margin-bottom:1rem}.cdk-tree{background-color:transparent;width:100%}.cdk-tree>.cdk-tree-node{--mat-icon-button-touch-target-display: none;background-color:transparent;display:flex;align-items:center;cursor:pointer;line-height:var(--flat-tree-node-line-height, 2.4rem)}.cdk-tree>.cdk-tree-node.folder-node{font-weight:var(--flat-tree-folder-font-weight, 700)}.cdk-tree>.cdk-tree-node.object-node{font-weight:var(--flat-tree-object-font-weight, 400)}.cdk-tree>.cdk-tree-node>span.node-label{overflow:hidden;flex:1}.cdk-tree>.cdk-tree-node>span.node-label>div.node-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdk-tree>.cdk-tree-node lib-bimplus-context-menu{--context-menu-trigger-width: 2.4rem;--context-menu-trigger-height: var(--flat-tree-node-line-height, 2.4rem);--context-menu-trigger-bkg-color: transparent;--context-menu-translate-x: 1rem}.cdk-tree>.cdk-tree-node:not(.selected-node):not(:hover) lib-bimplus-context-menu{display:none}.cdk-tree-node.dragable-node:hover{background-color:var(--flat-tree-draggable-node-background-color-hovered);background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<rect x=\"11\" y=\"2\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"6\" y=\"2\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"11\" y=\"8\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"6\" y=\"8\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"11\" y=\"14\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"6\" y=\"14\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A</svg>%0A');background-repeat:no-repeat;background-size:var(--flat-tree-node-icon-size, 1.8rem);background-position:left center}.mat-mdc-icon-button{padding:.2rem;width:var(--flat-tree-node-line-height, 2.4rem);height:var(--flat-tree-node-line-height, 2.4rem)}.selected-node{color:var(--flat-tree-selected-node-text-color-enabled);font-weight:var(--flat-tree-selected-node-font-weight, 700)!important}.selected-all-descendants-nodes{color:var(--flat-tree-selected-node-text-color-enabled)}.selected-partially-descendants-nodes{color:var(--flat-tree-partially-selected-nodes-text-color-enabled)}.custom-drag-placeholder{height:0px}.icon{width:var(--flat-tree-node-icon-size, 1.8rem);height:var(--flat-tree-node-icon-size, 1.8rem);margin-right:.4rem;background-position:center;background-size:var(--flat-tree-node-icon-size, 1.8rem)}.icon.folder-icon{background:var(--flat-tree-folder-icon, url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0A%09 viewBox=\"0 0 20 20\" style=\"enable-background:new 0 0 20 20;\" xml:space=\"preserve\">%0A<style type=\"text/css\">%0A%09.st0{fill:%23444444;}%0A<\\/style>%0A<path class=\"st0\" d=\"M17,7V5V4V1h-6L8,3H0v16h2h15l3-12H17z M8,5h0.6l0.5-0.3L11.6,3H15v1v1v2H3l-1,4V5H8z M15.4,17H2.6l2-8H15h2%0A%09h0.4L15.4,17z\"/>%0A</svg>%0A') no-repeat);background-size:var(--flat-tree-folder-icon-size, 1.6rem);background-position:center}.icon.object-icon{background:var(--flat-tree-object-icon, url('data:image/svg+xml,<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M6 9H10V7H6V9Z\" fill=\"%2346494D\"/>%0A<path d=\"M6 4V6H14V4H6Z\" fill=\"%2346494D\"/>%0A<path d=\"M6 12H10V10H6V12Z\" fill=\"%2346494D\"/>%0A<path d=\"M17 1H3V19H13L17 15V1ZM13 15V17H5V3H15V15H13Z\" fill=\"%2346494D\"/>%0A</svg>%0A') no-repeat);background-size:var(--flat-tree-object-icon-size, 1.6rem);background-position:center}.icon.expand-collapse-icon.expand-more-icon{background:var(--flat-tree-node-expand-icon, url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M7.81235 5.64988C7.48497 5.38797 7 5.62106 7 6.04031L7 11.9597C7 12.3789 7.48497 12.612 7.81235 12.3501L11.512 9.39043C11.7622 9.19027 11.7622 8.80973 11.512 8.60957L7.81235 5.64988Z\" fill=\"%23ADADAD\"/>%0A</svg>%0A') no-repeat);background-size:var(--flat-tree-expand-collapse-icon-size, 1.8rem);background-position:center}.icon.expand-collapse-icon.collapse-icon{background:var(--flat-tree-node-collapse-icon, url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M12.3501 7.81235C12.612 7.48497 12.3789 7 11.9597 7H6.04031C5.62106 7 5.38797 7.48497 5.64988 7.81235L8.60957 11.512C8.80973 11.7622 9.19027 11.7622 9.39043 11.512L12.3501 7.81235Z\" fill=\"%23444444\"/>%0A</svg>%0A') no-repeat);background-size:var(--flat-tree-expand-collapse-icon-size, 1.8rem);background-position:center}\n"], dependencies: [{ kind: "ngmodule", type: MatTreeModule }, { kind: "directive", type: i1.MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { kind: "directive", type: i1.MatTreeNodePadding, selector: "[matTreeNodePadding]", inputs: ["matTreeNodePadding", "matTreeNodePaddingIndent"] }, { kind: "directive", type: i1.MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: CdkTreeModule }, { kind: "component", type: i3.CdkTree, selector: "cdk-tree", inputs: ["dataSource", "treeControl", "levelAccessor", "childrenAccessor", "trackBy", "expansionKey"], exportAs: ["cdkTree"] }, { kind: "directive", type: i3.CdkTreeNode, selector: "cdk-tree-node", inputs: ["role", "isExpandable", "isExpanded", "isDisabled", "cdkTreeNodeTypeaheadLabel"], outputs: ["activation", "expandedChange"], exportAs: ["cdkTreeNode"] }, { kind: "component", type: BimplusContextMenuComponent, selector: "lib-bimplus-context-menu", inputs: ["showIcons", "triggerTitle", "items", "data"], outputs: ["triggerSelected"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
273
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: BimplusFlatTreeComponent, isStandalone: true, selector: "lib-bimplus-flat-tree", inputs: { treeDataStringified: "treeDataStringified", treeTitle: "treeTitle", paddingIndent: "paddingIndent", multiSelect: ["multiSelect", "multiSelect", booleanAttribute], oneLevelMultiSelect: ["oneLevelMultiSelect", "oneLevelMultiSelect", booleanAttribute], showFoldersIcons: ["showFoldersIcons", "showFoldersIcons", booleanAttribute], showObjectsIcons: ["showObjectsIcons", "showObjectsIcons", booleanAttribute], enableSelect: ["enableSelect", "enableSelect", booleanAttribute], enableParentHighlighting: ["enableParentHighlighting", "enableParentHighlighting", booleanAttribute], enableDragAndDrop: ["enableDragAndDrop", "enableDragAndDrop", booleanAttribute], dataTestPrefix: "dataTestPrefix", contextMenus: "contextMenus", treeData: "treeData", customNodeTemplate: "customNodeTemplate" }, outputs: { selectedNodes: "selectedNodes" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"tree-container\">\n <div *ngIf=\"treeTitle\" class=\"tree-title\">{{treeTitle}}</div>\n <cdk-tree [dataSource]=\"_dataSource\" [treeControl]=\"_treeControl\">\n <!-- This is the tree node template for leaf nodes -->\n <cdk-tree-node\n [matTreeNodePaddingIndent]=\"paddingIndent\"\n *matTreeNodeDef=\"let node\"\n matTreeNodePadding\n (click)=\"_toggleNode($event, node)\"\n (keypress)=\"_toggleNode($event, node)\"\n class=\"object-node\"\n [class.dragable-node]=\"enableDragAndDrop && node.level > 0\"\n [class.selected-node]=\"_isSelected(node)\"\n [attr.data-test]=\"dataTestPrefix + node.id\"\n [title]=\"node.name\"\n [attr.node-id]=\"node.id\"\n >\n <!-- use a disabled button to provide padding for tree leaf -->\n <button mat-icon-button disabled>\n </button>\n @if (customNodeTemplate && _isCustomNodeType(node)) {\n <ng-container \n [ngTemplateOutlet]=\"customNodeTemplate\" \n [ngTemplateOutletContext]=\"{node:node}\">\n </ng-container>\n }@else{\n <div class=\"icon object-icon\" *ngIf=\"showObjectsIcons\">\n </div>\n <span\n class=\"node-label\"\n [class.selected-node]=\"_isSelected(node)\"\n >\n <div class=\"custom-drag-placeholder\" *cdkDragPlaceholder></div>\n <div>\n {{node.name}}\n </div>\n </span>\n }\n <lib-bimplus-context-menu\n [items]=\"contextMenus?.objectContextMenuitems\"\n [data]=\"node\"\n *ngIf=\"contextMenus?.objectContextMenuitems?.length\"\n (triggerSelected)=\"_toggleNode($event, node)\"\n >\n </lib-bimplus-context-menu>\n </cdk-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <cdk-tree-node [matTreeNodePaddingIndent]=\"paddingIndent\"\n *matTreeNodeDef=\"let node;when: _isExpendable\"\n matTreeNodePadding\n (click)=\"_toggleNode($event, node)\"\n (keypress)=\"_toggleNode($event, node)\"\n class=\"folder-node\"\n [class.dragable-node]=\"enableDragAndDrop && node.level > 0\"\n [class.selected-node]=\"_isSelected(node)\"\n [attr.data-test]=\"dataTestPrefix + node.id\"\n [title]=\"node.name\"\n [attr.node-id]=\"node.id\"\n >\n <button\n mat-icon-button\n matTreeNodeToggle\n [attr.aria-label]=\"'Toggle ' + node.name\"\n >\n <div\n class=\"icon expand-collapse-icon\"\n [class.expand-more-icon]=\"_hasChildren(node) && !_treeControl.isExpanded(node)\"\n [class.collapse-icon]=\"_hasChildren(node) && _treeControl.isExpanded(node)\"\n >\n </div>\n </button>\n @if (customNodeTemplate && _isCustomNodeType(node)) {\n <ng-container \n [ngTemplateOutlet]=\"customNodeTemplate\" \n [ngTemplateOutletContext]=\"{node:node}\">\n </ng-container>\n }@else{\n <div class=\"icon folder-icon\" *ngIf=\"showFoldersIcons\">\n </div>\n <span class=\"node-label\"\n [class.selected-node]=\"_isSelected(node)\"\n [class.selected-all-descendants-nodes]=\"_descendantsAllSelected(node) && _isSelected(node) && enableParentHighlighting\"\n [class.selected-partially-descendants-nodes]=\"_descendantsPartiallySelected(node) && enableParentHighlighting\"\n >\n <div class=\"custom-drag-placeholder\" *cdkDragPlaceholder></div>\n <div class=\"node-label\">\n {{node.name}}\n </div>\n </span>\n }\n <lib-bimplus-context-menu\n [items]=\"contextMenus?.folderContextMenuitems\"\n [data]=\"node\"\n *ngIf=\"contextMenus?.folderContextMenuitems?.length\"\n (triggerSelected)=\"_toggleNode($event, node)\"\n >\n </lib-bimplus-context-menu>\n </cdk-tree-node>\n </cdk-tree>\n</div>\n", styles: [".text-selected{color:var(--text-highlight-text-color-enabled)}.ui-icon22px{width:2.2rem;height:2.2rem;display:inline-block;float:right;border-radius:.4rem;background-position:center center;background-repeat:no-repeat;cursor:pointer}.ui-icon-sidemenu{width:2.4rem;height:2.4rem;background-size:1.8rem 1.8rem;background-position:center center;background-repeat:no-repeat}.touch-ui-icon-sidemenu{width:2.4rem;height:2.4rem;background-size:1.8rem 1.8rem;background-position:center center;background-repeat:no-repeat;width:3.2rem;height:3.2rem}.ui-icon-sidemenu-important{width:2.4rem!important;height:2.4rem!important;background-size:1.8rem 1.8rem!important;background-position:center center;background-repeat:no-repeat}.tree-container{background-color:var(--flat-tree-background-color, var(--flat-tree-container-background-color-enabled));width:calc(100% - 2 * var(--flat-tree-node-indent, 1rem));padding:var(--flat-tree-node-indent, 1rem);font-family:var(--flat-tree-font-family, \"Source Sans Pro\", Helvetica, Arial, tahoma, sans-serif);font-size:var(--flat-tree-font-size, 1.3rem);font-weight:var(--flat-tree-font-weight, 700);color:var(--flat-tree-container-text-color-enabled)}.tree-container>.tree-title{background-color:transparent;font-size:var(--flat-tree-title-font-size, 1.6rem);margin-bottom:1rem}.cdk-tree{background-color:transparent;width:100%}.cdk-tree>.cdk-tree-node{--mat-icon-button-touch-target-display: none;background-color:transparent;display:flex;align-items:center;cursor:pointer;line-height:var(--flat-tree-node-line-height, 2.4rem)}.cdk-tree>.cdk-tree-node.folder-node{font-weight:var(--flat-tree-folder-font-weight, 700)}.cdk-tree>.cdk-tree-node.object-node{font-weight:var(--flat-tree-object-font-weight, 400)}.cdk-tree>.cdk-tree-node>span.node-label{overflow:hidden;flex:1}.cdk-tree>.cdk-tree-node>span.node-label>div.node-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdk-tree>.cdk-tree-node lib-bimplus-context-menu{--context-menu-trigger-width: 2.4rem;--context-menu-trigger-height: var(--flat-tree-node-line-height, 2.4rem);--context-menu-trigger-bkg-color: transparent;--context-menu-translate-x: 1rem}.cdk-tree>.cdk-tree-node:not(.selected-node):not(:hover) lib-bimplus-context-menu{display:none}.cdk-tree-node.dragable-node:hover{background-color:var(--flat-tree-draggable-node-background-color-hovered);background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<rect x=\"11\" y=\"2\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"6\" y=\"2\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"11\" y=\"8\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"6\" y=\"8\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"11\" y=\"14\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"6\" y=\"14\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A</svg>%0A');background-repeat:no-repeat;background-size:var(--flat-tree-node-icon-size, 1.8rem);background-position:left center}.mat-mdc-icon-button{padding:.2rem;width:var(--flat-tree-node-line-height, 2.4rem);height:var(--flat-tree-node-line-height, 2.4rem)}.selected-node{color:var(--flat-tree-selected-node-text-color-enabled);font-weight:var(--flat-tree-selected-node-font-weight, 700)!important}.selected-all-descendants-nodes{color:var(--flat-tree-selected-node-text-color-enabled)}.selected-partially-descendants-nodes{color:var(--flat-tree-partially-selected-nodes-text-color-enabled)}.custom-drag-placeholder{height:0px}.icon{width:var(--flat-tree-node-icon-size, 1.8rem);height:var(--flat-tree-node-icon-size, 1.8rem);margin-right:.4rem;background-position:center;background-size:var(--flat-tree-node-icon-size, 1.8rem)}.icon.folder-icon{background:var(--flat-tree-folder-icon, url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0A%09 viewBox=\"0 0 20 20\" style=\"enable-background:new 0 0 20 20;\" xml:space=\"preserve\">%0A<style type=\"text/css\">%0A%09.st0{fill:%23444444;}%0A<\\/style>%0A<path class=\"st0\" d=\"M17,7V5V4V1h-6L8,3H0v16h2h15l3-12H17z M8,5h0.6l0.5-0.3L11.6,3H15v1v1v2H3l-1,4V5H8z M15.4,17H2.6l2-8H15h2%0A%09h0.4L15.4,17z\"/>%0A</svg>%0A') no-repeat);background-size:var(--flat-tree-folder-icon-size, 1.6rem);background-position:center}.icon.object-icon{background:var(--flat-tree-object-icon, url('data:image/svg+xml,<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M6 9H10V7H6V9Z\" fill=\"%2346494D\"/>%0A<path d=\"M6 4V6H14V4H6Z\" fill=\"%2346494D\"/>%0A<path d=\"M6 12H10V10H6V12Z\" fill=\"%2346494D\"/>%0A<path d=\"M17 1H3V19H13L17 15V1ZM13 15V17H5V3H15V15H13Z\" fill=\"%2346494D\"/>%0A</svg>%0A') no-repeat);background-size:var(--flat-tree-object-icon-size, 1.6rem);background-position:center}.icon.expand-collapse-icon.expand-more-icon{background:var(--flat-tree-node-expand-icon, url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M7.81235 5.64988C7.48497 5.38797 7 5.62106 7 6.04031L7 11.9597C7 12.3789 7.48497 12.612 7.81235 12.3501L11.512 9.39043C11.7622 9.19027 11.7622 8.80973 11.512 8.60957L7.81235 5.64988Z\" fill=\"%23ADADAD\"/>%0A</svg>%0A') no-repeat);background-size:var(--flat-tree-expand-collapse-icon-size, 1.8rem);background-position:center}.icon.expand-collapse-icon.collapse-icon{background:var(--flat-tree-node-collapse-icon, url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M12.3501 7.81235C12.612 7.48497 12.3789 7 11.9597 7H6.04031C5.62106 7 5.38797 7.48497 5.64988 7.81235L8.60957 11.512C8.80973 11.7622 9.19027 11.7622 9.39043 11.512L12.3501 7.81235Z\" fill=\"%23444444\"/>%0A</svg>%0A') no-repeat);background-size:var(--flat-tree-expand-collapse-icon-size, 1.8rem);background-position:center}\n"], dependencies: [{ kind: "ngmodule", type: MatTreeModule }, { kind: "directive", type: i1.MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { kind: "directive", type: i1.MatTreeNodePadding, selector: "[matTreeNodePadding]", inputs: ["matTreeNodePadding", "matTreeNodePaddingIndent"] }, { kind: "directive", type: i1.MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: CdkTreeModule }, { kind: "component", type: i3.CdkTree, selector: "cdk-tree", inputs: ["dataSource", "treeControl", "levelAccessor", "childrenAccessor", "trackBy", "expansionKey"], exportAs: ["cdkTree"] }, { kind: "directive", type: i3.CdkTreeNode, selector: "cdk-tree-node", inputs: ["role", "isExpandable", "isExpanded", "isDisabled", "cdkTreeNodeTypeaheadLabel"], outputs: ["activation", "expandedChange"], exportAs: ["cdkTreeNode"] }, { kind: "component", type: BimplusContextMenuComponent, selector: "lib-bimplus-context-menu", inputs: ["showIcons", "triggerTitle", "items", "data"], outputs: ["triggerSelected"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
274
274
|
}
|
|
275
275
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BimplusFlatTreeComponent, decorators: [{
|
|
276
276
|
type: Component,
|
|
@@ -280,7 +280,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
280
280
|
CdkTreeModule,
|
|
281
281
|
BimplusContextMenuComponent,
|
|
282
282
|
CommonModule
|
|
283
|
-
], template: "<div class=\"tree-container\">\n <div *ngIf=\"treeTitle\" class=\"tree-title\">{{treeTitle}}</div>\n <cdk-tree [dataSource]=\"_dataSource\" [treeControl]=\"_treeControl\">\n <!-- This is the tree node template for leaf nodes -->\n <cdk-tree-node\n [matTreeNodePaddingIndent]=\"paddingIndent\"\n *matTreeNodeDef=\"let node\"\n matTreeNodePadding\n (click)=\"_toggleNode($event, node)\"\n (keypress)=\"_toggleNode($event, node)\"\n class=\"object-node\"\n [class.dragable-node]=\"enableDragAndDrop && node.level > 0\"\n [class.selected-node]=\"_isSelected(node)\"\n [attr.data-test]=\"dataTestPrefix + node.id\"\n [title]=\"node.name\"\n [attr.node-id]=\"node.id\"\n >\n <!-- use a disabled button to provide padding for tree leaf -->\n <button mat-icon-button disabled>\n </button>\n @if (customNodeTemplate && _isCustomNodeType(node)) {\n <ng-container \n [ngTemplateOutlet]=\"customNodeTemplate\" \n [ngTemplateOutletContext]=\"{node:node}\">\n </ng-container>\n }@else{\n <div class=\"icon object-icon\" *ngIf=\"showObjectsIcons\">\n </div>\n <span\n class=\"node-label\"\n [class.selected-node]=\"_isSelected(node)\"\n >\n <div class=\"custom-drag-placeholder\" *cdkDragPlaceholder></div>\n <div>\n {{node.name}}\n </div>\n </span>\n }\n <lib-bimplus-context-menu\n [items]=\"contextMenus?.objectContextMenuitems\"\n [data]=\"node\"\n *ngIf=\"contextMenus?.objectContextMenuitems?.length\"\n (triggerSelected)=\"_toggleNode($event, node)\"\n >\n </lib-bimplus-context-menu>\n </cdk-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <cdk-tree-node [matTreeNodePaddingIndent]=\"paddingIndent\"\n *matTreeNodeDef=\"let node;when: _isExpendable\"\n matTreeNodePadding\n (click)=\"_toggleNode($event, node)\"\n (keypress)=\"_toggleNode($event, node)\"\n class=\"folder-node\"\n [class.dragable-node]=\"enableDragAndDrop && node.level > 0\"\n [class.selected-node]=\"_isSelected(node)\"\n [attr.data-test]=\"dataTestPrefix + node.id\"\n [title]=\"node.name\"\n [attr.node-id]=\"node.id\"\n >\n <button\n mat-icon-button\n matTreeNodeToggle\n [attr.aria-label]=\"'Toggle ' + node.name\"\n >\n <div\n class=\"icon expand-collapse-icon\"\n [class.expand-more-icon]=\"_hasChildren(node) && !_treeControl.isExpanded(node)\"\n [class.collapse-icon]=\"_hasChildren(node) && _treeControl.isExpanded(node)\"\n >\n </div>\n </button>\n @if (customNodeTemplate && _isCustomNodeType(node)) {\n <ng-container \n [ngTemplateOutlet]=\"customNodeTemplate\" \n [ngTemplateOutletContext]=\"{node:node}\">\n </ng-container>\n }@else{\n <div class=\"icon folder-icon\" *ngIf=\"showFoldersIcons\">\n </div>\n <span class=\"node-label\"\n [class.selected-node]=\"_isSelected(node)\"\n [class.selected-all-descendants-nodes]=\"_descendantsAllSelected(node) && _isSelected(node) && enableParentHighlighting\"\n [class.selected-partially-descendants-nodes]=\"_descendantsPartiallySelected(node) && enableParentHighlighting\"\n >\n <div class=\"custom-drag-placeholder\" *cdkDragPlaceholder></div>\n <div class=\"node-label\">\n {{node.name}}\n </div>\n </span>\n }\n <lib-bimplus-context-menu\n [items]=\"contextMenus?.folderContextMenuitems\"\n [data]=\"node\"\n *ngIf=\"contextMenus?.folderContextMenuitems?.length\"\n (triggerSelected)=\"_toggleNode($event, node)\"\n >\n </lib-bimplus-context-menu>\n </cdk-tree-node>\n </cdk-tree>\n</div>\n", styles: [".text-selected{color:var(--text-highlight-text-color-enabled)}.ui-icon22px{width:2.2rem;height:2.2rem;display:inline-block;float:right;border-radius:.4rem;background-position:center center;background-repeat:no-repeat;cursor:pointer}.ui-icon-sidemenu{width:2.4rem;height:2.4rem;background-size:1.8rem 1.8rem;background-position:center center;background-repeat:no-repeat}.touch-ui-icon-sidemenu{width:2.4rem;height:2.4rem;background-size:1.8rem 1.8rem;background-position:center center;background-repeat:no-repeat;width:3.2rem;height:3.2rem}.ui-icon-sidemenu-important{width:2.4rem!important;height:2.4rem!important;background-size:1.8rem 1.8rem!important;background-position:center center;background-repeat:no-repeat}.tree-container{background-color:var(--flat-tree-container-background-color-enabled);width:calc(100% - 2 * var(--flat-tree-node-indent, 1rem));padding:var(--flat-tree-node-indent, 1rem);font-family:var(--flat-tree-font-family, \"Source Sans Pro\", Helvetica, Arial, tahoma, sans-serif);font-size:var(--flat-tree-font-size, 1.3rem);font-weight:var(--flat-tree-font-weight, 700);color:var(--flat-tree-container-text-color-enabled)}.tree-container>.tree-title{background-color:transparent;font-size:var(--flat-tree-title-font-size, 1.6rem);margin-bottom:1rem}.cdk-tree{background-color:transparent;width:100%}.cdk-tree>.cdk-tree-node{--mat-icon-button-touch-target-display: none;background-color:transparent;display:flex;align-items:center;cursor:pointer;line-height:var(--flat-tree-node-line-height, 2.4rem)}.cdk-tree>.cdk-tree-node.folder-node{font-weight:var(--flat-tree-folder-font-weight, 700)}.cdk-tree>.cdk-tree-node.object-node{font-weight:var(--flat-tree-object-font-weight, 400)}.cdk-tree>.cdk-tree-node>span.node-label{overflow:hidden;flex:1}.cdk-tree>.cdk-tree-node>span.node-label>div.node-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdk-tree>.cdk-tree-node lib-bimplus-context-menu{--context-menu-trigger-width: 2.4rem;--context-menu-trigger-height: var(--flat-tree-node-line-height, 2.4rem);--context-menu-trigger-bkg-color: transparent;--context-menu-translate-x: 1rem}.cdk-tree>.cdk-tree-node:not(.selected-node):not(:hover) lib-bimplus-context-menu{display:none}.cdk-tree-node.dragable-node:hover{background-color:var(--flat-tree-draggable-node-background-color-hovered);background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<rect x=\"11\" y=\"2\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"6\" y=\"2\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"11\" y=\"8\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"6\" y=\"8\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"11\" y=\"14\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"6\" y=\"14\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A</svg>%0A');background-repeat:no-repeat;background-size:var(--flat-tree-node-icon-size, 1.8rem);background-position:left center}.mat-mdc-icon-button{padding:.2rem;width:var(--flat-tree-node-line-height, 2.4rem);height:var(--flat-tree-node-line-height, 2.4rem)}.selected-node{color:var(--flat-tree-selected-node-text-color-enabled);font-weight:var(--flat-tree-selected-node-font-weight, 700)!important}.selected-all-descendants-nodes{color:var(--flat-tree-selected-node-text-color-enabled)}.selected-partially-descendants-nodes{color:var(--flat-tree-partially-selected-nodes-text-color-enabled)}.custom-drag-placeholder{height:0px}.icon{width:var(--flat-tree-node-icon-size, 1.8rem);height:var(--flat-tree-node-icon-size, 1.8rem);margin-right:.4rem;background-position:center;background-size:var(--flat-tree-node-icon-size, 1.8rem)}.icon.folder-icon{background:var(--flat-tree-folder-icon, url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0A%09 viewBox=\"0 0 20 20\" style=\"enable-background:new 0 0 20 20;\" xml:space=\"preserve\">%0A<style type=\"text/css\">%0A%09.st0{fill:%23444444;}%0A<\\/style>%0A<path class=\"st0\" d=\"M17,7V5V4V1h-6L8,3H0v16h2h15l3-12H17z M8,5h0.6l0.5-0.3L11.6,3H15v1v1v2H3l-1,4V5H8z M15.4,17H2.6l2-8H15h2%0A%09h0.4L15.4,17z\"/>%0A</svg>%0A') no-repeat);background-size:var(--flat-tree-folder-icon-size, 1.6rem);background-position:center}.icon.object-icon{background:var(--flat-tree-object-icon, url('data:image/svg+xml,<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M6 9H10V7H6V9Z\" fill=\"%2346494D\"/>%0A<path d=\"M6 4V6H14V4H6Z\" fill=\"%2346494D\"/>%0A<path d=\"M6 12H10V10H6V12Z\" fill=\"%2346494D\"/>%0A<path d=\"M17 1H3V19H13L17 15V1ZM13 15V17H5V3H15V15H13Z\" fill=\"%2346494D\"/>%0A</svg>%0A') no-repeat);background-size:var(--flat-tree-object-icon-size, 1.6rem);background-position:center}.icon.expand-collapse-icon.expand-more-icon{background:var(--flat-tree-node-expand-icon, url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M7.81235 5.64988C7.48497 5.38797 7 5.62106 7 6.04031L7 11.9597C7 12.3789 7.48497 12.612 7.81235 12.3501L11.512 9.39043C11.7622 9.19027 11.7622 8.80973 11.512 8.60957L7.81235 5.64988Z\" fill=\"%23ADADAD\"/>%0A</svg>%0A') no-repeat);background-size:var(--flat-tree-expand-collapse-icon-size, 1.8rem);background-position:center}.icon.expand-collapse-icon.collapse-icon{background:var(--flat-tree-node-collapse-icon, url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M12.3501 7.81235C12.612 7.48497 12.3789 7 11.9597 7H6.04031C5.62106 7 5.38797 7.48497 5.64988 7.81235L8.60957 11.512C8.80973 11.7622 9.19027 11.7622 9.39043 11.512L12.3501 7.81235Z\" fill=\"%23444444\"/>%0A</svg>%0A') no-repeat);background-size:var(--flat-tree-expand-collapse-icon-size, 1.8rem);background-position:center}\n"] }]
|
|
283
|
+
], template: "<div class=\"tree-container\">\n <div *ngIf=\"treeTitle\" class=\"tree-title\">{{treeTitle}}</div>\n <cdk-tree [dataSource]=\"_dataSource\" [treeControl]=\"_treeControl\">\n <!-- This is the tree node template for leaf nodes -->\n <cdk-tree-node\n [matTreeNodePaddingIndent]=\"paddingIndent\"\n *matTreeNodeDef=\"let node\"\n matTreeNodePadding\n (click)=\"_toggleNode($event, node)\"\n (keypress)=\"_toggleNode($event, node)\"\n class=\"object-node\"\n [class.dragable-node]=\"enableDragAndDrop && node.level > 0\"\n [class.selected-node]=\"_isSelected(node)\"\n [attr.data-test]=\"dataTestPrefix + node.id\"\n [title]=\"node.name\"\n [attr.node-id]=\"node.id\"\n >\n <!-- use a disabled button to provide padding for tree leaf -->\n <button mat-icon-button disabled>\n </button>\n @if (customNodeTemplate && _isCustomNodeType(node)) {\n <ng-container \n [ngTemplateOutlet]=\"customNodeTemplate\" \n [ngTemplateOutletContext]=\"{node:node}\">\n </ng-container>\n }@else{\n <div class=\"icon object-icon\" *ngIf=\"showObjectsIcons\">\n </div>\n <span\n class=\"node-label\"\n [class.selected-node]=\"_isSelected(node)\"\n >\n <div class=\"custom-drag-placeholder\" *cdkDragPlaceholder></div>\n <div>\n {{node.name}}\n </div>\n </span>\n }\n <lib-bimplus-context-menu\n [items]=\"contextMenus?.objectContextMenuitems\"\n [data]=\"node\"\n *ngIf=\"contextMenus?.objectContextMenuitems?.length\"\n (triggerSelected)=\"_toggleNode($event, node)\"\n >\n </lib-bimplus-context-menu>\n </cdk-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <cdk-tree-node [matTreeNodePaddingIndent]=\"paddingIndent\"\n *matTreeNodeDef=\"let node;when: _isExpendable\"\n matTreeNodePadding\n (click)=\"_toggleNode($event, node)\"\n (keypress)=\"_toggleNode($event, node)\"\n class=\"folder-node\"\n [class.dragable-node]=\"enableDragAndDrop && node.level > 0\"\n [class.selected-node]=\"_isSelected(node)\"\n [attr.data-test]=\"dataTestPrefix + node.id\"\n [title]=\"node.name\"\n [attr.node-id]=\"node.id\"\n >\n <button\n mat-icon-button\n matTreeNodeToggle\n [attr.aria-label]=\"'Toggle ' + node.name\"\n >\n <div\n class=\"icon expand-collapse-icon\"\n [class.expand-more-icon]=\"_hasChildren(node) && !_treeControl.isExpanded(node)\"\n [class.collapse-icon]=\"_hasChildren(node) && _treeControl.isExpanded(node)\"\n >\n </div>\n </button>\n @if (customNodeTemplate && _isCustomNodeType(node)) {\n <ng-container \n [ngTemplateOutlet]=\"customNodeTemplate\" \n [ngTemplateOutletContext]=\"{node:node}\">\n </ng-container>\n }@else{\n <div class=\"icon folder-icon\" *ngIf=\"showFoldersIcons\">\n </div>\n <span class=\"node-label\"\n [class.selected-node]=\"_isSelected(node)\"\n [class.selected-all-descendants-nodes]=\"_descendantsAllSelected(node) && _isSelected(node) && enableParentHighlighting\"\n [class.selected-partially-descendants-nodes]=\"_descendantsPartiallySelected(node) && enableParentHighlighting\"\n >\n <div class=\"custom-drag-placeholder\" *cdkDragPlaceholder></div>\n <div class=\"node-label\">\n {{node.name}}\n </div>\n </span>\n }\n <lib-bimplus-context-menu\n [items]=\"contextMenus?.folderContextMenuitems\"\n [data]=\"node\"\n *ngIf=\"contextMenus?.folderContextMenuitems?.length\"\n (triggerSelected)=\"_toggleNode($event, node)\"\n >\n </lib-bimplus-context-menu>\n </cdk-tree-node>\n </cdk-tree>\n</div>\n", styles: [".text-selected{color:var(--text-highlight-text-color-enabled)}.ui-icon22px{width:2.2rem;height:2.2rem;display:inline-block;float:right;border-radius:.4rem;background-position:center center;background-repeat:no-repeat;cursor:pointer}.ui-icon-sidemenu{width:2.4rem;height:2.4rem;background-size:1.8rem 1.8rem;background-position:center center;background-repeat:no-repeat}.touch-ui-icon-sidemenu{width:2.4rem;height:2.4rem;background-size:1.8rem 1.8rem;background-position:center center;background-repeat:no-repeat;width:3.2rem;height:3.2rem}.ui-icon-sidemenu-important{width:2.4rem!important;height:2.4rem!important;background-size:1.8rem 1.8rem!important;background-position:center center;background-repeat:no-repeat}.tree-container{background-color:var(--flat-tree-background-color, var(--flat-tree-container-background-color-enabled));width:calc(100% - 2 * var(--flat-tree-node-indent, 1rem));padding:var(--flat-tree-node-indent, 1rem);font-family:var(--flat-tree-font-family, \"Source Sans Pro\", Helvetica, Arial, tahoma, sans-serif);font-size:var(--flat-tree-font-size, 1.3rem);font-weight:var(--flat-tree-font-weight, 700);color:var(--flat-tree-container-text-color-enabled)}.tree-container>.tree-title{background-color:transparent;font-size:var(--flat-tree-title-font-size, 1.6rem);margin-bottom:1rem}.cdk-tree{background-color:transparent;width:100%}.cdk-tree>.cdk-tree-node{--mat-icon-button-touch-target-display: none;background-color:transparent;display:flex;align-items:center;cursor:pointer;line-height:var(--flat-tree-node-line-height, 2.4rem)}.cdk-tree>.cdk-tree-node.folder-node{font-weight:var(--flat-tree-folder-font-weight, 700)}.cdk-tree>.cdk-tree-node.object-node{font-weight:var(--flat-tree-object-font-weight, 400)}.cdk-tree>.cdk-tree-node>span.node-label{overflow:hidden;flex:1}.cdk-tree>.cdk-tree-node>span.node-label>div.node-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdk-tree>.cdk-tree-node lib-bimplus-context-menu{--context-menu-trigger-width: 2.4rem;--context-menu-trigger-height: var(--flat-tree-node-line-height, 2.4rem);--context-menu-trigger-bkg-color: transparent;--context-menu-translate-x: 1rem}.cdk-tree>.cdk-tree-node:not(.selected-node):not(:hover) lib-bimplus-context-menu{display:none}.cdk-tree-node.dragable-node:hover{background-color:var(--flat-tree-draggable-node-background-color-hovered);background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<rect x=\"11\" y=\"2\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"6\" y=\"2\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"11\" y=\"8\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"6\" y=\"8\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"11\" y=\"14\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"6\" y=\"14\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A</svg>%0A');background-repeat:no-repeat;background-size:var(--flat-tree-node-icon-size, 1.8rem);background-position:left center}.mat-mdc-icon-button{padding:.2rem;width:var(--flat-tree-node-line-height, 2.4rem);height:var(--flat-tree-node-line-height, 2.4rem)}.selected-node{color:var(--flat-tree-selected-node-text-color-enabled);font-weight:var(--flat-tree-selected-node-font-weight, 700)!important}.selected-all-descendants-nodes{color:var(--flat-tree-selected-node-text-color-enabled)}.selected-partially-descendants-nodes{color:var(--flat-tree-partially-selected-nodes-text-color-enabled)}.custom-drag-placeholder{height:0px}.icon{width:var(--flat-tree-node-icon-size, 1.8rem);height:var(--flat-tree-node-icon-size, 1.8rem);margin-right:.4rem;background-position:center;background-size:var(--flat-tree-node-icon-size, 1.8rem)}.icon.folder-icon{background:var(--flat-tree-folder-icon, url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0A%09 viewBox=\"0 0 20 20\" style=\"enable-background:new 0 0 20 20;\" xml:space=\"preserve\">%0A<style type=\"text/css\">%0A%09.st0{fill:%23444444;}%0A<\\/style>%0A<path class=\"st0\" d=\"M17,7V5V4V1h-6L8,3H0v16h2h15l3-12H17z M8,5h0.6l0.5-0.3L11.6,3H15v1v1v2H3l-1,4V5H8z M15.4,17H2.6l2-8H15h2%0A%09h0.4L15.4,17z\"/>%0A</svg>%0A') no-repeat);background-size:var(--flat-tree-folder-icon-size, 1.6rem);background-position:center}.icon.object-icon{background:var(--flat-tree-object-icon, url('data:image/svg+xml,<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M6 9H10V7H6V9Z\" fill=\"%2346494D\"/>%0A<path d=\"M6 4V6H14V4H6Z\" fill=\"%2346494D\"/>%0A<path d=\"M6 12H10V10H6V12Z\" fill=\"%2346494D\"/>%0A<path d=\"M17 1H3V19H13L17 15V1ZM13 15V17H5V3H15V15H13Z\" fill=\"%2346494D\"/>%0A</svg>%0A') no-repeat);background-size:var(--flat-tree-object-icon-size, 1.6rem);background-position:center}.icon.expand-collapse-icon.expand-more-icon{background:var(--flat-tree-node-expand-icon, url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M7.81235 5.64988C7.48497 5.38797 7 5.62106 7 6.04031L7 11.9597C7 12.3789 7.48497 12.612 7.81235 12.3501L11.512 9.39043C11.7622 9.19027 11.7622 8.80973 11.512 8.60957L7.81235 5.64988Z\" fill=\"%23ADADAD\"/>%0A</svg>%0A') no-repeat);background-size:var(--flat-tree-expand-collapse-icon-size, 1.8rem);background-position:center}.icon.expand-collapse-icon.collapse-icon{background:var(--flat-tree-node-collapse-icon, url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M12.3501 7.81235C12.612 7.48497 12.3789 7 11.9597 7H6.04031C5.62106 7 5.38797 7.48497 5.64988 7.81235L8.60957 11.512C8.80973 11.7622 9.19027 11.7622 9.39043 11.512L12.3501 7.81235Z\" fill=\"%23444444\"/>%0A</svg>%0A') no-repeat);background-size:var(--flat-tree-expand-collapse-icon-size, 1.8rem);background-position:center}\n"] }]
|
|
284
284
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { treeDataStringified: [{
|
|
285
285
|
type: Input
|
|
286
286
|
}], treeTitle: [{
|
|
@@ -319,4 +319,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
319
319
|
}], selectedNodes: [{
|
|
320
320
|
type: Output
|
|
321
321
|
}] } });
|
|
322
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1mbGF0LXRyZWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1mbGF0LXRyZWUvYmltcGx1cy1mbGF0LXRyZWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1mbGF0LXRyZWUvYmltcGx1cy1mbGF0LXRyZWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFNBQVMsRUFBVSxLQUFLLEVBQTJCLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDbkosT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEcsT0FBTyxFQUFFLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU5QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTyx3REFBd0QsQ0FBQzs7Ozs7O0FBcUJ0RyxNQUFNLE9BQU8sd0JBQXdCO0lBY25DLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBYnpCLHdCQUFtQixHQUFrQixJ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QUFhO3dCQUNiLDJCQUEyQjt3QkFDM0IsWUFBWTtxQkFDZjsrRUFNUSxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNrQyxXQUFXO3NCQUFsRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLG1CQUFtQjtzQkFBMUQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxnQkFBZ0I7c0JBQXZELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsZ0JBQWdCO3NCQUF2RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLFlBQVk7c0JBQW5ELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0Usd0JBQXdCO3NCQUEvRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLGlCQUFpQjtzQkFBeEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDN0IsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQVFPLFFBQVE7c0JBQXBCLEtBQUs7Z0JBTUcsa0JBQWtCO3NCQUExQixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlLCBib29sZWFuQXR0cmlidXRlLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRUcmVlRmxhdERhdGFTb3VyY2UsIE1hdFRyZWVGbGF0dGVuZXIsIE1hdFRyZWVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90cmVlJztcbmltcG9ydCB7IFNlbGVjdGlvbk1vZGVsfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgQ2RrVHJlZU1vZHVsZSwgRmxhdFRyZWVDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RyZWUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGZpcmVFdmVudCB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcbmltcG9ydCB7IFRyZWVOb2RlLCBGbGF0Tm9kZSwgRmxhdFRyZWVDb250ZXh0TWVudXMgfSBmcm9tICcuL2JpbXBsdXMtZmxhdC10cmVlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCaW1wbHVzQ29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICAnLi4vYmltcGx1cy1jb250ZXh0LW1lbnUvYmltcGx1cy1jb250ZXh0LW1lbnUuY29tcG9uZW50JztcblxuaW50ZXJmYWNlIEJpbXBsdXNGbGF0VHJlZUNvbXBvbmVudEF0dHJpYnV0ZSAge1xuICBba2V5OiBzdHJpbmddOiB1bmtub3duOyAvLyBBZGQgaW5kZXggc2lnbmF0dXJlIGFsbG93aW5nIHN0cmluZyBpbmRleGluZ1xuICAgLy9PdGhlciBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLi4uXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1iaW1wbHVzLWZsYXQtdHJlZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNYXRUcmVlTW9kdWxlXG4gICAgLCBNYXRCdXR0b25Nb2R1bGVcbiAgICAsIE1hdEljb25Nb2R1bGVcbiAgICAsIENka1RyZWVNb2R1bGVcbiAgICAsIEJpbXBsdXNDb250ZXh0TWVudUNvbXBvbmVudFxuICAgICwgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9iaW1wbHVzLWZsYXQtdHJlZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9iaW1wbHVzLWZsYXQtdHJlZS5jb21wb25lbnQubGVzcydcbn0pXG5cbmV4cG9ydCBjbGFzcyBCaW1wbHVzRmxhdFRyZWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlc3tcbiAgQElucHV0KCkgdHJlZURhdGFTdHJpbmdpZmllZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIHRyZWVUaXRsZSA6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIHBhZGRpbmdJbmRlbnQgOiBzdHJpbmcgPSBcIjIuOHJlbVwiXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBtdWx0aVNlbGVjdDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgb25lTGV2ZWxNdWx0aVNlbGVjdDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvd0ZvbGRlcnNJY29uczogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvd09iamVjdHNJY29uczogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZW5hYmxlU2VsZWN0OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGVuYWJsZVBhcmVudEhpZ2hsaWdodGluZzogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBlbmFibGVEcmFnQW5kRHJvcDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBkYXRhVGVzdFByZWZpeCA6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIGNvbnRleHRNZW51czogRmxhdFRyZWVDb250ZXh0TWVudXMgfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7fVxuXG4gIGdldCB0cmVlRGF0YSgpIDogQXJyYXk8VHJlZU5vZGU+e1xuICAgIHJldHVybiB0aGlzLl9kYXRhU291cmNlLmRhdGE7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgdHJlZURhdGEoZGF0YTogQXJyYXk8VHJlZU5vZGU+KSB7XG4gICAgdGhpcy50cmVlRGF0YVN0cmluZ2lmaWVkID0gbnVsbDtcbiAgICB0aGlzLl9kYXRhU291cmNlLmRhdGEgPSBkYXRhO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgQElucHV0KCkgY3VzdG9tTm9kZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG5cbiAgQE91dHB1dCgpIHNlbGVjdGVkTm9kZXMgPSBuZXcgRXZlbnRFbWl0dGVyPEZsYXROb2RlW10+KCk7XG5cbiAgcHJpdmF0ZSBfc2VsZWN0aW9uTGlzdDogU2VsZWN0aW9uTW9kZWw8RmxhdE5vZGU+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgKGVsZW1lbnQgYXMgdW5rbm93biBhcyBCaW1wbHVzRmxhdFRyZWVDb21wb25lbnRBdHRyaWJ1dGUpWydnZXRfbm9kZSddID0gdGhpcy5nZXRfbm9kZS5iaW5kKHRoaXMpO1xuICAgICAgKGVsZW1lbnQgYXMgdW5rbm93biBhcyBCaW1wbHVzRmxhdFRyZWVDb21wb25lbnRBdHRyaWJ1dGUpWydzZWxlY3Rfbm9kZSddID0gdGhpcy5zZWxlY3Rfbm9kZS5iaW5kKHRoaXMpO1xuICAgIH1cblxuICAgIHRoaXMuX3NlbGVjdGlvbkxpc3QgPSBuZXcgU2VsZWN0aW9uTW9kZWw8RmxhdE5vZGU+KHRoaXMubXVsdGlTZWxlY3QgfHwgdGhpcy5vbmVMZXZlbE11bHRpU2VsZWN0KTtcbiAgICBpZih0aGlzLnRyZWVEYXRhU3RyaW5naWZpZWQpe1xuICAgICAgdGhpcy5fc2V0TmV3RGF0YSh0aGlzLnRyZWVEYXRhU3RyaW5naWZpZWQpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGV4cGFuZFRyZWUoKXtcbiAgICB0aGlzLl90cmVlQ29udHJvbC5leHBhbmRBbGwoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5vZGUoaWQ6IHN0cmluZywgbm9kZXM6IEFycmF5PFRyZWVOb2RlPik6IFRyZWVOb2RlIHwgbnVsbCB7XG4gICAgZm9yKGNvbnN0IG5vZGUgb2Ygbm9kZXMpIHtcbiAgICAgIGlmKG5vZGUuaWQgPT09IGlkKSB7XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgICAgfVxuICAgICAgaWYobm9kZS5jaGlsZHJlbikge1xuICAgICAgICBjb25zdCBfbm9kZTogVHJlZU5vZGUgfCBudWxsID0gdGhpcy5fZ2V0Tm9kZShpZCwgbm9kZS5jaGlsZHJlbik7XG4gICAgICAgIGlmKF9ub2RlKSB7XG4gICAgICAgICAgcmV0dXJuIF9ub2RlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldF9ub2RlKGlkOiB7IGlkOiBzdHJpbmcgfSB8IHN0cmluZywgZ2V0RE9NRWxlbWVudDogYm9vbGVhbiA9IGZhbHNlKTogVHJlZU5vZGUgfCBFbGVtZW50IHwgbnVsbCB7XG4gICAgaWYodHlwZW9mIGlkID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHRoaXMuX2dldE5vZGUoaWQsIHRoaXMuX2RhdGFTb3VyY2UuZGF0YSk7XG4gICAgfVxuICAgIGlmKGdldERPTUVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IF9lbGVtZW50OiBFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYFtub2RlLWlkPScke2lkLmlkfSddYCk7XG4gICAgICByZXR1cm4gX2VsZW1lbnQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9nZXROb2RlKGlkLmlkLCB0aGlzLl9kYXRhU291cmNlLmRhdGEpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdF9ub2RlKGlkOiBzdHJpbmcsIHNraXBFdmVudDogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuX3RyZWVDb250cm9sLmRhdGFOb2Rlcy5maW5kKG4gPT4gbi5pZCA9PT0gaWQpO1xuICAgIGlmKCFub2RlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYoIXRoaXMuX3NlbGVjdGlvbkxpc3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZih0aGlzLm9uZUxldmVsTXVsdGlTZWxlY3QgJiYgdGhpcy5fc2VsZWN0aW9uTGlzdC5zZWxlY3RlZC5sZW5ndGggPiAwKSB7XG4gICAgICBpZih0aGlzLl9zZWxlY3Rpb25MaXN0LnNlbGVjdGVkWzBdLnBhcmVudCAhPT0gbm9kZS5wYXJlbnQpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uTGlzdC5jbGVhcigpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmKHRoaXMuX3NlbGVjdGlvbkxpc3QuaXNTZWxlY3RlZChub2RlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3NlbGVjdGlvbkxpc3Quc2VsZWN0KG5vZGUpO1xuICAgIGlmKCF0aGlzLm11bHRpU2VsZWN0ICYmICF0aGlzLm9uZUxldmVsTXVsdGlTZWxlY3QgJiYgIXNraXBFdmVudCkge1xuICAgICAgZmlyZUV2ZW50KHRoaXMsIFwic2VsZWN0ZWROb2Rlc1wiLCB0aGlzLl9zZWxlY3Rpb25MaXN0LnNlbGVjdGVkICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYoIXRoaXMub25lTGV2ZWxNdWx0aVNlbGVjdCkge1xuICAgICAgdGhpcy5fdG9nZ2xlRGVzY2VuZGFudHNOb2Rlcyhub2RlKTtcbiAgICB9XG5cbiAgICBpZih0aGlzLmVuYWJsZVBhcmVudEhpZ2hsaWdodGluZykge1xuICAgICAgdGhpcy5fdXBkYXRlUGFyZW50U2VsZWN0aW9ucyhub2RlKTtcbiAgICB9XG5cbiAgICBpZighc2tpcEV2ZW50KXtcbiAgICAgIGZpcmVFdmVudCh0aGlzLCBcInNlbGVjdGVkTm9kZXNcIiwgdGhpcy5fc2VsZWN0aW9uTGlzdC5zZWxlY3RlZCApO1xuICAgIH1cblxuICB9XG5cbiAgcHVibGljIHJlc2V0X3NlbGVjdGlvbigpe1xuICAgIHRoaXMuX3NlbGVjdGlvbkxpc3Q/LmNsZWFyKCk7XG4gIH1cblxuICBwdWJsaWMgZXhwYW5kX25vZGUoaWQgOiBzdHJpbmcpe1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLl90cmVlQ29udHJvbC5kYXRhTm9kZXMuZmluZChuID0+IG4uaWQgPT09IGlkKTtcbiAgICBpZighbm9kZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3RyZWVDb250cm9sLmV4cGFuZChub2RlKTtcbiAgfVxuXG4gIHB1YmxpYyBpc19leHBhbmRlZChpZCA6IHN0cmluZyl7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuX3RyZWVDb250cm9sLmRhdGFOb2Rlcy5maW5kKG4gPT4gbi5pZCA9PT0gaWQpO1xuICAgIGlmKCFub2RlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3RyZWVDb250cm9sLmlzRXhwYW5kZWQobm9kZSk7XG4gIH1cblxuICBwdWJsaWMgaXNfc2VsZWN0ZWQoaWQgOiBzdHJpbmcpe1xuICAgIGlmKCF0aGlzLl9zZWxlY3Rpb25MaXN0KVxuICAgICAgcmV0dXJuO1xuXG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuX3RyZWVDb250cm9sLmRhdGFOb2Rlcy5maW5kKG4gPT4gbi5pZCA9PT0gaWQpO1xuICAgIGlmKCFub2RlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbkxpc3Q/LmlzU2VsZWN0ZWQobm9kZSk7XG4gIH1cblxuICBwcml2YXRlIF9zZXROZXdEYXRhKHRyZWVEYXRhU3RyaW5naWZpZWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IF90cmVlX2RhdGEgPSBKU09OLnBhcnNlKHRyZWVEYXRhU3RyaW5naWZpZWQpO1xuICAgIHRoaXMuX2RhdGFTb3VyY2UuZGF0YSA9IF90cmVlX2RhdGEgPz8gW107XG4gIH1cblxuICBwcml2YXRlIF9jaGFuZ2VkVHJlZURhdGEoY2hhbmdlOiBTaW1wbGVDaGFuZ2UpIHtcbiAgICB0aGlzLl9zZXROZXdEYXRhKGNoYW5nZS5jdXJyZW50VmFsdWUpXG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiB7IFtwcm9wS2V5OiBzdHJpbmddOiBTaW1wbGVDaGFuZ2UgfSk6IHZvaWQge1xuICAgIGlmKGNoYW5nZXNbJ211bHRpU2VsZWN0J10gfHwgY2hhbmdlc1snb25lTGV2ZWxNdWx0aVNlbGVjdCddKSB7XG4gICAgICB0aGlzLl9zZWxlY3Rpb25MaXN0ID0gbmV3IFNlbGVjdGlvbk1vZGVsPEZsYXROb2RlPih0aGlzLm11bHRpU2VsZWN0IHx8IHRoaXMub25lTGV2ZWxNdWx0aVNlbGVjdCk7XG4gICAgfVxuICAgIGlmKGNoYW5nZXNbJ3RyZWVEYXRhU3RyaW5naWZpZWQnXSkge1xuICAgICAgdGhpcy5fY2hhbmdlZFRyZWVEYXRhKGNoYW5nZXNbJ3RyZWVEYXRhU3RyaW5naWZpZWQnXSlcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF90cmFuc2Zvcm1lciA9IChub2RlOiBUcmVlTm9kZSwgbGV2ZWw6IG51bWJlcik6IEZsYXROb2RlID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgZXhwYW5kYWJsZTogbm9kZS5jaGlsZHJlbiAhPT0gdW5kZWZpbmVkLFxuICAgICAgY2hpbGRyZW5fY291bnQ6IG5vZGUuY2hpbGRyZW4/Lmxlbmd0aCxcbiAgICAgIG5hbWU6IG5vZGUubmFtZSxcbiAgICAgIGlkOiBub2RlLmlkLFxuICAgICAgbGV2ZWw6IGxldmVsLFxuICAgICAgcGFyZW50OiBub2RlLnBhcmVudCxcbiAgICAgIG5vZGVUeXBlOiBub2RlLm5vZGVUeXBlXG4gICAgfTtcbiAgfTtcblxuICBwcm90ZWN0ZWQgX3RyZWVDb250cm9sID0gbmV3IEZsYXRUcmVlQ29udHJvbDxGbGF0Tm9kZT4oXG4gICAgbm9kZSA9PiBub2RlLmxldmVsLFxuICAgIG5vZGUgPT4gbm9kZS5leHBhbmRhYmxlLFxuICApO1xuXG4gIHByb3RlY3RlZCBfdHJlZUZsYXR0ZW5lciA9IG5ldyBNYXRUcmVlRmxhdHRlbmVyKFxuICAgIHRoaXMuX3RyYW5zZm9ybWVyLFxuICAgIG5vZGUgPT4gbm9kZS5sZXZlbCxcbiAgICBub2RlID0+IG5vZGUuZXhwYW5kYWJsZSxcbiAgICBub2RlID0+IG5vZGUuY2hpbGRyZW5cbiAgKTtcblxuICBwcm90ZWN0ZWQgX2RhdGFTb3VyY2UgPSBuZXcgTWF0VHJlZUZsYXREYXRhU291cmNlKHRoaXMuX3RyZWVDb250cm9sLCB0aGlzLl90cmVlRmxhdHRlbmVyKTtcbiAgcHJvdGVjdGVkIF9pc0V4cGVuZGFibGUgPSAoXzogbnVtYmVyLCBub2RlOiBGbGF0Tm9kZSkgPT4gbm9kZS5leHBhbmRhYmxlO1xuICBwcm90ZWN0ZWQgX2lzQ3VzdG9tTm9kZVR5cGUobm9kZTogRmxhdE5vZGUpOiBib29sZWFue1xuICAgIHJldHVybiBub2RlLm5vZGVUeXBlICE9IHVuZGVmaW5lZCAmJiBub2RlLm5vZGVUeXBlICE9IFwiXCI7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2hhc0NoaWxkcmVuKG5vZGU6IEZsYXROb2RlKTogYm9vbGVhbiB7XG4gICAgaWYoIW5vZGUuZXhwYW5kYWJsZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZihub2RlLmNoaWxkcmVuX2NvdW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICByZXR1cm4gbm9kZS5jaGlsZHJlbl9jb3VudCA+IDBcbiAgfVxuXG4gIHByb3RlY3RlZCBfZGVzY2VuZGFudHNBbGxTZWxlY3RlZChub2RlOiBGbGF0Tm9kZSk6IGJvb2xlYW4ge1xuICAgIGlmKCF0aGlzLl9zZWxlY3Rpb25MaXN0KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgX3NlbGVjdGlvbkxpc3Q6IFNlbGVjdGlvbk1vZGVsPEZsYXROb2RlPiA9IHRoaXMuX3NlbGVjdGlvbkxpc3Q7XG5cbiAgICBjb25zdCBfZGVzY2VuZGFudHMgPSB0aGlzLl90cmVlQ29udHJvbC5nZXREZXNjZW5kYW50cyhub2RlKTtcbiAgICBpZihfZGVzY2VuZGFudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgX2Rlc2NBbGxTZWxlY3RlZCA9IF9kZXNjZW5kYW50cy5sZW5ndGggPiAwICYmIF9kZXNjZW5kYW50cy5ldmVyeSgoY2hpbGQpID0+IHtcbiAgICAgIHJldHVybiBfc2VsZWN0aW9uTGlzdC5pc1NlbGVjdGVkKGNoaWxkKTtcbiAgICB9KTtcbiAgICByZXR1cm4gX2Rlc2NBbGxTZWxlY3RlZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBfZGVzY2VuZGFudHNQYXJ0aWFsbHlTZWxlY3RlZChub2RlOiBGbGF0Tm9kZSk6IGJvb2xlYW4ge1xuICAgIGlmKCF0aGlzLl9zZWxlY3Rpb25MaXN0KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IF9zZWxlY3Rpb25MaXN0OiBTZWxlY3Rpb25Nb2RlbDxGbGF0Tm9kZT4gPSB0aGlzLl9zZWxlY3Rpb25MaXN0O1xuXG4gICAgY29uc3QgX2Rlc2NlbmRhbnRzID0gdGhpcy5fdHJlZUNvbnRyb2wuZ2V0RGVzY2VuZGFudHMobm9kZSk7XG4gICAgY29uc3QgX3Jlc3VsdCA9IF9kZXNjZW5kYW50cy5zb21lKChjaGlsZCkgPT4ge1xuICAgICAgcmV0dXJuIF9zZWxlY3Rpb25MaXN0LmlzU2VsZWN0ZWQoY2hpbGQpXG4gICAgfSk7XG4gICAgcmV0dXJuIF9yZXN1bHQgJiYgIXRoaXMuX2Rlc2NlbmRhbnRzQWxsU2VsZWN0ZWQobm9kZSk7XG4gIH1cblxuICBwcml2YXRlIF90b2dnbGVEZXNjZW5kYW50c05vZGVzKG5vZGU6IEZsYXROb2RlKSB7XG4gICAgaWYoIXRoaXMuX3NlbGVjdGlvbkxpc3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBfaXNOb2RlU2VsZWN0ZWQgPSB0aGlzLl9zZWxlY3Rpb25MaXN0LmlzU2VsZWN0ZWQobm9kZSk7XG4gICAgaWYoX2lzTm9kZVNlbGVjdGVkKSB7XG4gICAgICB0aGlzLl9zZWxlY3Rpb25MaXN0LnNlbGVjdCguLi50aGlzLl90cmVlQ29udHJvbC5nZXREZXNjZW5kYW50cyhub2RlKSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5fc2VsZWN0aW9uTGlzdC5kZXNlbGVjdCguLi50aGlzLl90cmVlQ29udHJvbC5nZXREZXNjZW5kYW50cyhub2RlKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlUGFyZW50U2VsZWN0aW9ucyhub2RlOiBGbGF0Tm9kZSkge1xuICAgIGlmKCF0aGlzLl9zZWxlY3Rpb25MaXN0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IF9wYXJlbnRJZCA9IG5vZGUucGFyZW50O1xuICAgIGxldCBfcGFyZW50Tm9kZSA9IHRoaXMuX3RyZWVDb250cm9sLmRhdGFOb2Rlcy5maW5kKG4gPT4gbi5pZCA9PT0gX3BhcmVudElkKVxuICAgIHdoaWxlKF9wYXJlbnROb2RlKSB7XG4gICAgICBpZih0aGlzLl9kZXNjZW5kYW50c0FsbFNlbGVjdGVkKF9wYXJlbnROb2RlKSkge1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb25MaXN0LnNlbGVjdChfcGFyZW50Tm9kZSk7XG4gICAgICB9XG4gICAgICBlbHNle1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb25MaXN0LmRlc2VsZWN0KF9wYXJlbnROb2RlKTtcbiAgICAgIH1cbiAgICAgIF9wYXJlbnRJZCA9IF9wYXJlbnROb2RlLnBhcmVudDtcbiAgICAgIF9wYXJlbnROb2RlID0gdGhpcy5fdHJlZUNvbnRyb2wuZGF0YU5vZGVzLmZpbmQobiA9PiBuLmlkID09PSBfcGFyZW50SWQpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBfdG9nZ2xlTm9kZShldmVudDogRXZlbnQsIG5vZGU6IEZsYXROb2RlKSB7XG4gICAgaWYoIW5vZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZighdGhpcy5lbmFibGVTZWxlY3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZighdGhpcy5fc2VsZWN0aW9uTGlzdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGlmIGV2ZW50IGlzIGEgTW91c2VFdmVudCBiZWZvcmUgYWNjZXNzaW5nIGN0cmxLZXlcbiAgICBjb25zdCBpc01vdXNlRXZlbnQgPSBldmVudCAhPSBudWxsICYmIGV2ZW50IGluc3RhbmNlb2YgTW91c2VFdmVudDtcbiAgICBpZiAoaXNNb3VzZUV2ZW50ICYmICFldmVudD8uY3RybEtleSkge1xuICAgICAgdGhpcy5fc2VsZWN0aW9uTGlzdC5jbGVhcigpO1xuICAgIH1cblxuICAgIGlmKHRoaXMub25lTGV2ZWxNdWx0aVNlbGVjdCAmJiB0aGlzLl9zZWxlY3Rpb25MaXN0LnNlbGVjdGVkLmxlbmd0aCA+IDApIHtcbiAgICAgIGlmKHRoaXMuX3NlbGVjdGlvbkxpc3Quc2VsZWN0ZWRbMF0ucGFyZW50ICE9PSBub2RlLnBhcmVudCkge1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb25MaXN0LmNsZWFyKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fc2VsZWN0aW9uTGlzdC50b2dnbGUobm9kZSk7XG4gICAgaWYoIXRoaXMubXVsdGlTZWxlY3QgJiYgIXRoaXMub25lTGV2ZWxNdWx0aVNlbGVjdCkge1xuICAgICAgZmlyZUV2ZW50KHRoaXMsIFwic2VsZWN0ZWROb2Rlc1wiLCB0aGlzLl9zZWxlY3Rpb25MaXN0LnNlbGVjdGVkICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYoIXRoaXMub25lTGV2ZWxNdWx0aVNlbGVjdCkge1xuICAgICAgdGhpcy5fdG9nZ2xlRGVzY2VuZGFudHNOb2Rlcyhub2RlKTtcbiAgICB9XG4gICAgXG4gICAgaWYodGhpcy5lbmFibGVQYXJlbnRIaWdobGlnaHRpbmcpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVBhcmVudFNlbGVjdGlvbnMobm9kZSk7XG4gICAgfVxuICAgIFxuICAgIGZpcmVFdmVudCh0aGlzLCBcInNlbGVjdGVkTm9kZXNcIiwgdGhpcy5fc2VsZWN0aW9uTGlzdC5zZWxlY3RlZCApO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9pc1NlbGVjdGVkKG5vZGU6IEZsYXROb2RlKTogYm9vbGVhbntcbiAgICBpZighdGhpcy5fc2VsZWN0aW9uTGlzdCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTGlzdD8uaXNTZWxlY3RlZChub2RlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRyZWUtY29udGFpbmVyXCI+XG4gIDxkaXYgKm5nSWY9XCJ0cmVlVGl0bGVcIiBjbGFzcz1cInRyZWUtdGl0bGVcIj57e3RyZWVUaXRsZX19PC9kaXY+XG4gIDxjZGstdHJlZSBbZGF0YVNvdXJjZV09XCJfZGF0YVNvdXJjZVwiIFt0cmVlQ29udHJvbF09XCJfdHJlZUNvbnRyb2xcIj5cbiAgICA8IS0tIFRoaXMgaXMgdGhlIHRyZWUgbm9kZSB0ZW1wbGF0ZSBmb3IgbGVhZiBub2RlcyAtLT5cbiAgICA8Y2RrLXRyZWUtbm9kZVxuICAgICAgW21hdFRyZWVOb2RlUGFkZGluZ0luZGVudF09XCJwYWRkaW5nSW5kZW50XCJcbiAgICAgICptYXRUcmVlTm9kZURlZj1cImxldCBub2RlXCJcbiAgICAgIG1hdFRyZWVOb2RlUGFkZGluZ1xuICAgICAgKGNsaWNrKT1cIl90b2dnbGVOb2RlKCRldmVudCwgbm9kZSlcIlxuICAgICAgKGtleXByZXNzKT1cIl90b2dnbGVOb2RlKCRldmVudCwgbm9kZSlcIlxuICAgICAgY2xhc3M9XCJvYmplY3Qtbm9kZVwiXG4gICAgICBbY2xhc3MuZHJhZ2FibGUtbm9kZV09XCJlbmFibGVEcmFnQW5kRHJvcCAmJiBub2RlLmxldmVsID4gMFwiXG4gICAgICBbY2xhc3Muc2VsZWN0ZWQtbm9kZV09XCJfaXNTZWxlY3RlZChub2RlKVwiXG4gICAgICBbYXR0ci5kYXRhLXRlc3RdPVwiZGF0YVRlc3RQcmVmaXggKyBub2RlLmlkXCJcbiAgICAgIFt0aXRsZV09XCJub2RlLm5hbWVcIlxuICAgICAgW2F0dHIubm9kZS1pZF09XCJub2RlLmlkXCJcbiAgICA+XG4gICAgICA8IS0tIHVzZSBhIGRpc2FibGVkIGJ1dHRvbiB0byBwcm92aWRlIHBhZGRpbmcgZm9yIHRyZWUgbGVhZiAtLT5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGRpc2FibGVkPlxuICAgICAgPC9idXR0b24+XG4gICAgICBAaWYgKGN1c3RvbU5vZGVUZW1wbGF0ZSAmJiBfaXNDdXN0b21Ob2RlVHlwZShub2RlKSkge1xuICAgICAgICA8bmctY29udGFpbmVyIFxuICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbU5vZGVUZW1wbGF0ZVwiIFxuICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7bm9kZTpub2RlfVwiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIH1AZWxzZXtcbiAgICAgICAgPGRpdiBjbGFzcz1cImljb24gb2JqZWN0LWljb25cIiAqbmdJZj1cInNob3dPYmplY3RzSWNvbnNcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJub2RlLWxhYmVsXCJcbiAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWQtbm9kZV09XCJfaXNTZWxlY3RlZChub2RlKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWRyYWctcGxhY2Vob2xkZXJcIiAqY2RrRHJhZ1BsYWNlaG9sZGVyPjwvZGl2PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7e25vZGUubmFtZX19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIH1cbiAgICAgIDxsaWItYmltcGx1cy1jb250ZXh0LW1lbnVcbiAgICAgICAgW2l0ZW1zXT1cImNvbnRleHRNZW51cz8ub2JqZWN0Q29udGV4dE1lbnVpdGVtc1wiXG4gICAgICAgIFtkYXRhXT1cIm5vZGVcIlxuICAgICAgICAqbmdJZj1cImNvbnRleHRNZW51cz8ub2JqZWN0Q29udGV4dE1lbnVpdGVtcz8ubGVuZ3RoXCJcbiAgICAgICAgKHRyaWdnZXJTZWxlY3RlZCk9XCJfdG9nZ2xlTm9kZSgkZXZlbnQsIG5vZGUpXCJcbiAgICAgID5cbiAgICAgIDwvbGliLWJpbXBsdXMtY29udGV4dC1tZW51PlxuICAgIDwvY2RrLXRyZWUtbm9kZT5cbiAgICA8IS0tIFRoaXMgaXMgdGhlIHRyZWUgbm9kZSB0ZW1wbGF0ZSBmb3IgZXhwYW5kYWJsZSBub2RlcyAtLT5cbiAgICA8Y2RrLXRyZWUtbm9kZSBbbWF0VHJlZU5vZGVQYWRkaW5nSW5kZW50XT1cInBhZGRpbmdJbmRlbnRcIlxuICAgICAgKm1hdFRyZWVOb2RlRGVmPVwibGV0IG5vZGU7d2hlbjogX2lzRXhwZW5kYWJsZVwiXG4gICAgICBtYXRUcmVlTm9kZVBhZGRpbmdcbiAgICAgIChjbGljayk9XCJfdG9nZ2xlTm9kZSgkZXZlbnQsIG5vZGUpXCJcbiAgICAgIChrZXlwcmVzcyk9XCJfdG9nZ2xlTm9kZSgkZXZlbnQsIG5vZGUpXCJcbiAgICAgIGNsYXNzPVwiZm9sZGVyLW5vZGVcIlxuICAgICAgW2NsYXNzLmRyYWdhYmxlLW5vZGVdPVwiZW5hYmxlRHJhZ0FuZERyb3AgJiYgbm9kZS5sZXZlbCA+IDBcIlxuICAgICAgW2NsYXNzLnNlbGVjdGVkLW5vZGVdPVwiX2lzU2VsZWN0ZWQobm9kZSlcIlxuICAgICAgW2F0dHIuZGF0YS10ZXN0XT1cImRhdGFUZXN0UHJlZml4ICsgbm9kZS5pZFwiXG4gICAgICBbdGl0bGVdPVwibm9kZS5uYW1lXCJcbiAgICAgIFthdHRyLm5vZGUtaWRdPVwibm9kZS5pZFwiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgbWF0VHJlZU5vZGVUb2dnbGVcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInVG9nZ2xlICcgKyBub2RlLm5hbWVcIlxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJpY29uIGV4cGFuZC1jb2xsYXBzZS1pY29uXCJcbiAgICAgICAgICBbY2xhc3MuZXhwYW5kLW1vcmUtaWNvbl09XCJfaGFzQ2hpbGRyZW4obm9kZSkgJiYgIV90cmVlQ29udHJvbC5pc0V4cGFuZGVkKG5vZGUpXCJcbiAgICAgICAgICBbY2xhc3MuY29sbGFwc2UtaWNvbl09XCJfaGFzQ2hpbGRyZW4obm9kZSkgJiYgX3RyZWVDb250cm9sLmlzRXhwYW5kZWQobm9kZSlcIlxuICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9idXR0b24+XG4gICAgICBAaWYgKGN1c3RvbU5vZGVUZW1wbGF0ZSAmJiBfaXNDdXN0b21Ob2RlVHlwZShub2RlKSkge1xuICAgICAgICA8bmctY29udGFpbmVyIFxuICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbU5vZGVUZW1wbGF0ZVwiIFxuICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7bm9kZTpub2RlfVwiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIH1AZWxzZXtcbiAgICAgICAgPGRpdiBjbGFzcz1cImljb24gZm9sZGVyLWljb25cIiAqbmdJZj1cInNob3dGb2xkZXJzSWNvbnNcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibm9kZS1sYWJlbFwiXG4gICAgICAgICAgW2NsYXNzLnNlbGVjdGVkLW5vZGVdPVwiX2lzU2VsZWN0ZWQobm9kZSlcIlxuICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZC1hbGwtZGVzY2VuZGFudHMtbm9kZXNdPVwiX2Rlc2NlbmRhbnRzQWxsU2VsZWN0ZWQobm9kZSkgJiYgX2lzU2VsZWN0ZWQobm9kZSkgJiYgZW5hYmxlUGFyZW50SGlnaGxpZ2h0aW5nXCJcbiAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWQtcGFydGlhbGx5LWRlc2NlbmRhbnRzLW5vZGVzXT1cIl9kZXNjZW5kYW50c1BhcnRpYWxseVNlbGVjdGVkKG5vZGUpICYmIGVuYWJsZVBhcmVudEhpZ2hsaWdodGluZ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWRyYWctcGxhY2Vob2xkZXJcIiAqY2RrRHJhZ1BsYWNlaG9sZGVyPjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RlLWxhYmVsXCI+XG4gICAgICAgICAgICB7e25vZGUubmFtZX19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIH1cbiAgICAgIDxsaWItYmltcGx1cy1jb250ZXh0LW1lbnVcbiAgICAgICAgW2l0ZW1zXT1cImNvbnRleHRNZW51cz8uZm9sZGVyQ29udGV4dE1lbnVpdGVtc1wiXG4gICAgICAgIFtkYXRhXT1cIm5vZGVcIlxuICAgICAgICAqbmdJZj1cImNvbnRleHRNZW51cz8uZm9sZGVyQ29udGV4dE1lbnVpdGVtcz8ubGVuZ3RoXCJcbiAgICAgICAgKHRyaWdnZXJTZWxlY3RlZCk9XCJfdG9nZ2xlTm9kZSgkZXZlbnQsIG5vZGUpXCJcbiAgICAgID5cbiAgICAgIDwvbGliLWJpbXBsdXMtY29udGV4dC1tZW51PlxuICAgIDwvY2RrLXRyZWUtbm9kZT5cbiAgPC9jZGstdHJlZT5cbjwvZGl2PlxuIl19
|
|
322
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1mbGF0LXRyZWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1mbGF0LXRyZWUvYmltcGx1cy1mbGF0LXRyZWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1mbGF0LXRyZWUvYmltcGx1cy1mbGF0LXRyZWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFNBQVMsRUFBVSxLQUFLLEVBQTJCLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDbkosT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEcsT0FBTyxFQUFFLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU5QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTyx3REFBd0QsQ0FBQzs7Ozs7O0FBcUJ0RyxNQUFNLE9BQU8sd0JBQXdCO0lBY25DLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBYnpCLHdCQUFtQixHQUFrQixJQUFJLENBQUM7UUFDMUMsY0FBUyxHQUFZLEVBQUUsQ0FBQztRQUN4QixrQkFBYSxHQUFZLFFBQVEsQ0FBQTtRQUNGLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQUNyQyxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLGlCQUFZLEdBQVksSUFBSSxDQUFDO1FBQzdCLDZCQUF3QixHQUFZLElBQUksQ0FBQztRQUN6QyxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFDbEUsbUJBQWMsR0FBWSxFQUFFLENBQUM7UUFDN0IsaUJBQVksR0FBNEMsSUFBSSxDQUFDO1FBYXRFLDhEQUE4RDtRQUNyRCx1QkFBa0IsR0FBNEIsSUFBSSxDQUFDO1FBRWxELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUVqRCxtQkFBYyxHQUF5QyxTQUFTLENBQUM7UUEwSWpFLGlCQUFZLEdBQUcsQ0FBQyxJQUFjLEVBQUUsS0FBYSxFQUFZLEVBQUU7WUFDakUsT0FBTztnQkFDTCxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTO2dCQUN2QyxjQUFjLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNO2dCQUNyQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO2dCQUNYLEtBQUssRUFBRSxLQUFLO2dCQUNaLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDbkIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2FBQ3hCLENBQUM7UUFDSixDQUFDLENBQUM7UUFFUSxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUMxQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQ2xCLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FDeEIsQ0FBQztRQUVRLG1CQUFjLEdBQUcsSUFBSSxnQkFBZ0IsQ0FDN0MsSUFBSSxDQUFDLFlBQVksRUFDakIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUNsQixJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQ3ZCLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FDdEIsQ0FBQztRQUVRLGdCQUFXLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNoRixrQkFBYSxHQUFHLENBQUMsQ0FBUyxFQUFFLElBQWMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQW5McEMsQ0FBQztJQUV0QyxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFhLFFBQVEsQ0FBQyxJQUFxQjtRQUN6QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUMvQixDQUFDO0lBVUQsUUFBUTtRQUNOLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQ3RDLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWCxPQUF3RCxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hHLE9BQXdELENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekcsQ0FBQztRQUVELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQVcsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNqRyxJQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUE7UUFDNUMsQ0FBQztJQUNILENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU8sUUFBUSxDQUFDLEVBQVUsRUFBRSxLQUFzQjtRQUNqRCxLQUFJLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3hCLElBQUcsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztnQkFDbEIsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1lBQ0QsSUFBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2pCLE1BQU0sS0FBSyxHQUFvQixJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2hFLElBQUcsS0FBSyxFQUFFLENBQUM7b0JBQ1QsT0FBTyxLQUFLLENBQUM7Z0JBQ2YsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sUUFBUSxDQUFDLEVBQTJCLEVBQUUsZ0JBQXlCLEtBQUs7UUFDekUsSUFBRyxPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMxQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUNELElBQUcsYUFBYSxFQUFFLENBQUM7WUFDakIsTUFBTSxRQUFRLEdBQVksSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDdEYsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVNLFdBQVcsQ0FBQyxFQUFVLEVBQUUsWUFBcUIsS0FBSztRQUN2RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLElBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNULE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBRyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUcsSUFBSSxDQUFDLG1CQUFtQixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN2RSxJQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzFELElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDOUIsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDeEMsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxJQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2hFLFNBQVMsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFFLENBQUM7WUFDaEUsT0FBTztRQUNULENBQUM7UUFFRCxJQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFFRCxJQUFHLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBRUQsSUFBRyxDQUFDLFNBQVMsRUFBQyxDQUFDO1lBQ2IsU0FBUyxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUUsQ0FBQztRQUNsRSxDQUFDO0lBRUgsQ0FBQztJQUVNLGVBQWU7UUFDcEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRU0sV0FBVyxDQUFDLEVBQVc7UUFDNUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNoRSxJQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVCxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxXQUFXLENBQUMsRUFBVztRQUM1QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLElBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNULE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLFdBQVcsQ0FBQyxFQUFXO1FBQzVCLElBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYztZQUNyQixPQUFPO1FBRVQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNoRSxJQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTyxXQUFXLENBQUMsbUJBQTJCO1FBQzdDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksR0FBRyxVQUFVLElBQUksRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxNQUFvQjtRQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUN2QyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQTRDO1FBQ3RELElBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUM7WUFDNUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBVyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ25HLENBQUM7UUFDRCxJQUFHLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUE7UUFDdkQsQ0FBQztJQUNILENBQUM7SUE0QlMsaUJBQWlCLENBQUMsSUFBYztRQUN4QyxPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksU0FBUyxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO0lBQzNELENBQUM7SUFFUyxZQUFZLENBQUMsSUFBYztRQUNuQyxJQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELElBQUcsSUFBSSxDQUFDLGNBQWMsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNyQyxPQUFPLEtBQUssQ0FBQTtRQUNkLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFBO0lBQ2hDLENBQUM7SUFFUyx1QkFBdUIsQ0FBQyxJQUFjO1FBQzlDLElBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsTUFBTSxjQUFjLEdBQTZCLElBQUksQ0FBQyxjQUFjLENBQUM7UUFFckUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUQsSUFBRyxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzdCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQy9FLE9BQU8sY0FBYyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVTLDZCQUE2QixDQUFDLElBQWM7UUFDcEQsSUFBRyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxNQUFNLGNBQWMsR0FBNkIsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUVyRSxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDMUMsT0FBTyxjQUFjLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVPLHVCQUF1QixDQUFDLElBQWM7UUFDNUMsSUFBRyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdELElBQUcsZUFBZSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7YUFDSSxDQUFDO1lBQ0osSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzFFLENBQUM7SUFDSCxDQUFDO0lBRU8sdUJBQXVCLENBQUMsSUFBYztRQUM1QyxJQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUM1QixJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFNBQVMsQ0FBQyxDQUFBO1FBQzNFLE9BQU0sV0FBVyxFQUFFLENBQUM7WUFDbEIsSUFBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDMUMsQ0FBQztpQkFDRyxDQUFDO2dCQUNILElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzVDLENBQUM7WUFDRCxTQUFTLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztZQUMvQixXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxTQUFTLENBQUMsQ0FBQztRQUMxRSxDQUFDO0lBQ0gsQ0FBQztJQUVTLFdBQVcsQ0FBQyxLQUFZLEVBQUUsSUFBYztRQUNoRCxJQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVCxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLE9BQU87UUFDVCxDQUFDO1FBRUQsMERBQTBEO1FBQzFELE1BQU0sWUFBWSxHQUFHLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxZQUFZLFVBQVUsQ0FBQztRQUNsRSxJQUFJLFlBQVksSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzlCLENBQUM7UUFFRCxJQUFHLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdkUsSUFBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUMxRCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzlCLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsSUFBRyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUNsRCxTQUFTLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBRSxDQUFDO1lBQ2hFLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBRUQsSUFBRyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsQ0FBQztRQUVELFNBQVMsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFFLENBQUM7SUFDbEUsQ0FBQztJQUVTLFdBQVcsQ0FBQyxJQUFjO1FBQ2xDLElBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDOzhHQTlUVSx3QkFBd0I7a0dBQXhCLHdCQUF3QixtTkFJZixnQkFBZ0IsdUVBQ2hCLGdCQUFnQiw4REFDaEIsZ0JBQWdCLDhEQUNoQixnQkFBZ0Isa0RBQ2hCLGdCQUFnQixzRkFDaEIsZ0JBQWdCLGlFQUNoQixnQkFBZ0IsK05DeEN0Qyx1M0hBb0dBLDRtTURqRlksYUFBYSx5YUFDbkIsZUFBZSwySUFDZixhQUFhLDhCQUNiLGFBQWEscWNBQ2IsMkJBQTJCLDBKQUMzQixZQUFZOzsyRkFNTCx3QkFBd0I7a0JBZHBDLFNBQVM7K0JBQ0UsdUJBQXVCLGNBQ3JCLElBQUksV0FDUCxDQUFDLGFBQWE7d0JBQ25CLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixhQUFhO3dCQUNiLDJCQUEyQjt3QkFDM0IsWUFBWTtxQkFDZjsrRUFNUSxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNrQyxXQUFXO3NCQUFsRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLG1CQUFtQjtzQkFBMUQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxnQkFBZ0I7c0JBQXZELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsZ0JBQWdCO3NCQUF2RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLFlBQVk7c0JBQW5ELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0Usd0JBQXdCO3NCQUEvRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLGlCQUFpQjtzQkFBeEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDN0IsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQVFPLFFBQVE7c0JBQXBCLEtBQUs7Z0JBTUcsa0JBQWtCO3NCQUExQixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlLCBib29sZWFuQXR0cmlidXRlLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRUcmVlRmxhdERhdGFTb3VyY2UsIE1hdFRyZWVGbGF0dGVuZXIsIE1hdFRyZWVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90cmVlJztcbmltcG9ydCB7IFNlbGVjdGlvbk1vZGVsfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgQ2RrVHJlZU1vZHVsZSwgRmxhdFRyZWVDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RyZWUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGZpcmVFdmVudCB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcbmltcG9ydCB7IFRyZWVOb2RlLCBGbGF0Tm9kZSwgRmxhdFRyZWVDb250ZXh0TWVudXMgfSBmcm9tICcuL2JpbXBsdXMtZmxhdC10cmVlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCaW1wbHVzQ29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICAnLi4vYmltcGx1cy1jb250ZXh0LW1lbnUvYmltcGx1cy1jb250ZXh0LW1lbnUuY29tcG9uZW50JztcblxuaW50ZXJmYWNlIEJpbXBsdXNGbGF0VHJlZUNvbXBvbmVudEF0dHJpYnV0ZSAge1xuICBba2V5OiBzdHJpbmddOiB1bmtub3duOyAvLyBBZGQgaW5kZXggc2lnbmF0dXJlIGFsbG93aW5nIHN0cmluZyBpbmRleGluZ1xuICAgLy9PdGhlciBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLi4uXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1iaW1wbHVzLWZsYXQtdHJlZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNYXRUcmVlTW9kdWxlXG4gICAgLCBNYXRCdXR0b25Nb2R1bGVcbiAgICAsIE1hdEljb25Nb2R1bGVcbiAgICAsIENka1RyZWVNb2R1bGVcbiAgICAsIEJpbXBsdXNDb250ZXh0TWVudUNvbXBvbmVudFxuICAgICwgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9iaW1wbHVzLWZsYXQtdHJlZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9iaW1wbHVzLWZsYXQtdHJlZS5jb21wb25lbnQubGVzcydcbn0pXG5cbmV4cG9ydCBjbGFzcyBCaW1wbHVzRmxhdFRyZWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlc3tcbiAgQElucHV0KCkgdHJlZURhdGFTdHJpbmdpZmllZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIHRyZWVUaXRsZSA6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIHBhZGRpbmdJbmRlbnQgOiBzdHJpbmcgPSBcIjIuOHJlbVwiXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBtdWx0aVNlbGVjdDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgb25lTGV2ZWxNdWx0aVNlbGVjdDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvd0ZvbGRlcnNJY29uczogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvd09iamVjdHNJY29uczogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZW5hYmxlU2VsZWN0OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGVuYWJsZVBhcmVudEhpZ2hsaWdodGluZzogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBlbmFibGVEcmFnQW5kRHJvcDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBkYXRhVGVzdFByZWZpeCA6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIGNvbnRleHRNZW51czogRmxhdFRyZWVDb250ZXh0TWVudXMgfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7fVxuXG4gIGdldCB0cmVlRGF0YSgpIDogQXJyYXk8VHJlZU5vZGU+e1xuICAgIHJldHVybiB0aGlzLl9kYXRhU291cmNlLmRhdGE7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgdHJlZURhdGEoZGF0YTogQXJyYXk8VHJlZU5vZGU+KSB7XG4gICAgdGhpcy50cmVlRGF0YVN0cmluZ2lmaWVkID0gbnVsbDtcbiAgICB0aGlzLl9kYXRhU291cmNlLmRhdGEgPSBkYXRhO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgQElucHV0KCkgY3VzdG9tTm9kZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG5cbiAgQE91dHB1dCgpIHNlbGVjdGVkTm9kZXMgPSBuZXcgRXZlbnRFbWl0dGVyPEZsYXROb2RlW10+KCk7XG5cbiAgcHJpdmF0ZSBfc2VsZWN0aW9uTGlzdDogU2VsZWN0aW9uTW9kZWw8RmxhdE5vZGU+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgKGVsZW1lbnQgYXMgdW5rbm93biBhcyBCaW1wbHVzRmxhdFRyZWVDb21wb25lbnRBdHRyaWJ1dGUpWydnZXRfbm9kZSddID0gdGhpcy5nZXRfbm9kZS5iaW5kKHRoaXMpO1xuICAgICAgKGVsZW1lbnQgYXMgdW5rbm93biBhcyBCaW1wbHVzRmxhdFRyZWVDb21wb25lbnRBdHRyaWJ1dGUpWydzZWxlY3Rfbm9kZSddID0gdGhpcy5zZWxlY3Rfbm9kZS5iaW5kKHRoaXMpO1xuICAgIH1cblxuICAgIHRoaXMuX3NlbGVjdGlvbkxpc3QgPSBuZXcgU2VsZWN0aW9uTW9kZWw8RmxhdE5vZGU+KHRoaXMubXVsdGlTZWxlY3QgfHwgdGhpcy5vbmVMZXZlbE11bHRpU2VsZWN0KTtcbiAgICBpZih0aGlzLnRyZWVEYXRhU3RyaW5naWZpZWQpe1xuICAgICAgdGhpcy5fc2V0TmV3RGF0YSh0aGlzLnRyZWVEYXRhU3RyaW5naWZpZWQpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGV4cGFuZFRyZWUoKXtcbiAgICB0aGlzLl90cmVlQ29udHJvbC5leHBhbmRBbGwoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5vZGUoaWQ6IHN0cmluZywgbm9kZXM6IEFycmF5PFRyZWVOb2RlPik6IFRyZWVOb2RlIHwgbnVsbCB7XG4gICAgZm9yKGNvbnN0IG5vZGUgb2Ygbm9kZXMpIHtcbiAgICAgIGlmKG5vZGUuaWQgPT09IGlkKSB7XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgICAgfVxuICAgICAgaWYobm9kZS5jaGlsZHJlbikge1xuICAgICAgICBjb25zdCBfbm9kZTogVHJlZU5vZGUgfCBudWxsID0gdGhpcy5fZ2V0Tm9kZShpZCwgbm9kZS5jaGlsZHJlbik7XG4gICAgICAgIGlmKF9ub2RlKSB7XG4gICAgICAgICAgcmV0dXJuIF9ub2RlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldF9ub2RlKGlkOiB7IGlkOiBzdHJpbmcgfSB8IHN0cmluZywgZ2V0RE9NRWxlbWVudDogYm9vbGVhbiA9IGZhbHNlKTogVHJlZU5vZGUgfCBFbGVtZW50IHwgbnVsbCB7XG4gICAgaWYodHlwZW9mIGlkID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHRoaXMuX2dldE5vZGUoaWQsIHRoaXMuX2RhdGFTb3VyY2UuZGF0YSk7XG4gICAgfVxuICAgIGlmKGdldERPTUVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IF9lbGVtZW50OiBFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYFtub2RlLWlkPScke2lkLmlkfSddYCk7XG4gICAgICByZXR1cm4gX2VsZW1lbnQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9nZXROb2RlKGlkLmlkLCB0aGlzLl9kYXRhU291cmNlLmRhdGEpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdF9ub2RlKGlkOiBzdHJpbmcsIHNraXBFdmVudDogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuX3RyZWVDb250cm9sLmRhdGFOb2Rlcy5maW5kKG4gPT4gbi5pZCA9PT0gaWQpO1xuICAgIGlmKCFub2RlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYoIXRoaXMuX3NlbGVjdGlvbkxpc3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZih0aGlzLm9uZUxldmVsTXVsdGlTZWxlY3QgJiYgdGhpcy5fc2VsZWN0aW9uTGlzdC5zZWxlY3RlZC5sZW5ndGggPiAwKSB7XG4gICAgICBpZih0aGlzLl9zZWxlY3Rpb25MaXN0LnNlbGVjdGVkWzBdLnBhcmVudCAhPT0gbm9kZS5wYXJlbnQpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uTGlzdC5jbGVhcigpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmKHRoaXMuX3NlbGVjdGlvbkxpc3QuaXNTZWxlY3RlZChub2RlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3NlbGVjdGlvbkxpc3Quc2VsZWN0KG5vZGUpO1xuICAgIGlmKCF0aGlzLm11bHRpU2VsZWN0ICYmICF0aGlzLm9uZUxldmVsTXVsdGlTZWxlY3QgJiYgIXNraXBFdmVudCkge1xuICAgICAgZmlyZUV2ZW50KHRoaXMsIFwic2VsZWN0ZWROb2Rlc1wiLCB0aGlzLl9zZWxlY3Rpb25MaXN0LnNlbGVjdGVkICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYoIXRoaXMub25lTGV2ZWxNdWx0aVNlbGVjdCkge1xuICAgICAgdGhpcy5fdG9nZ2xlRGVzY2VuZGFudHNOb2Rlcyhub2RlKTtcbiAgICB9XG5cbiAgICBpZih0aGlzLmVuYWJsZVBhcmVudEhpZ2hsaWdodGluZykge1xuICAgICAgdGhpcy5fdXBkYXRlUGFyZW50U2VsZWN0aW9ucyhub2RlKTtcbiAgICB9XG5cbiAgICBpZighc2tpcEV2ZW50KXtcbiAgICAgIGZpcmVFdmVudCh0aGlzLCBcInNlbGVjdGVkTm9kZXNcIiwgdGhpcy5fc2VsZWN0aW9uTGlzdC5zZWxlY3RlZCApO1xuICAgIH1cblxuICB9XG5cbiAgcHVibGljIHJlc2V0X3NlbGVjdGlvbigpe1xuICAgIHRoaXMuX3NlbGVjdGlvbkxpc3Q/LmNsZWFyKCk7XG4gIH1cblxuICBwdWJsaWMgZXhwYW5kX25vZGUoaWQgOiBzdHJpbmcpe1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLl90cmVlQ29udHJvbC5kYXRhTm9kZXMuZmluZChuID0+IG4uaWQgPT09IGlkKTtcbiAgICBpZighbm9kZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3RyZWVDb250cm9sLmV4cGFuZChub2RlKTtcbiAgfVxuXG4gIHB1YmxpYyBpc19leHBhbmRlZChpZCA6IHN0cmluZyl7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuX3RyZWVDb250cm9sLmRhdGFOb2Rlcy5maW5kKG4gPT4gbi5pZCA9PT0gaWQpO1xuICAgIGlmKCFub2RlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3RyZWVDb250cm9sLmlzRXhwYW5kZWQobm9kZSk7XG4gIH1cblxuICBwdWJsaWMgaXNfc2VsZWN0ZWQoaWQgOiBzdHJpbmcpe1xuICAgIGlmKCF0aGlzLl9zZWxlY3Rpb25MaXN0KVxuICAgICAgcmV0dXJuO1xuXG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuX3RyZWVDb250cm9sLmRhdGFOb2Rlcy5maW5kKG4gPT4gbi5pZCA9PT0gaWQpO1xuICAgIGlmKCFub2RlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbkxpc3Q/LmlzU2VsZWN0ZWQobm9kZSk7XG4gIH1cblxuICBwcml2YXRlIF9zZXROZXdEYXRhKHRyZWVEYXRhU3RyaW5naWZpZWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IF90cmVlX2RhdGEgPSBKU09OLnBhcnNlKHRyZWVEYXRhU3RyaW5naWZpZWQpO1xuICAgIHRoaXMuX2RhdGFTb3VyY2UuZGF0YSA9IF90cmVlX2RhdGEgPz8gW107XG4gIH1cblxuICBwcml2YXRlIF9jaGFuZ2VkVHJlZURhdGEoY2hhbmdlOiBTaW1wbGVDaGFuZ2UpIHtcbiAgICB0aGlzLl9zZXROZXdEYXRhKGNoYW5nZS5jdXJyZW50VmFsdWUpXG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiB7IFtwcm9wS2V5OiBzdHJpbmddOiBTaW1wbGVDaGFuZ2UgfSk6IHZvaWQge1xuICAgIGlmKGNoYW5nZXNbJ211bHRpU2VsZWN0J10gfHwgY2hhbmdlc1snb25lTGV2ZWxNdWx0aVNlbGVjdCddKSB7XG4gICAgICB0aGlzLl9zZWxlY3Rpb25MaXN0ID0gbmV3IFNlbGVjdGlvbk1vZGVsPEZsYXROb2RlPih0aGlzLm11bHRpU2VsZWN0IHx8IHRoaXMub25lTGV2ZWxNdWx0aVNlbGVjdCk7XG4gICAgfVxuICAgIGlmKGNoYW5nZXNbJ3RyZWVEYXRhU3RyaW5naWZpZWQnXSkge1xuICAgICAgdGhpcy5fY2hhbmdlZFRyZWVEYXRhKGNoYW5nZXNbJ3RyZWVEYXRhU3RyaW5naWZpZWQnXSlcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF90cmFuc2Zvcm1lciA9IChub2RlOiBUcmVlTm9kZSwgbGV2ZWw6IG51bWJlcik6IEZsYXROb2RlID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgZXhwYW5kYWJsZTogbm9kZS5jaGlsZHJlbiAhPT0gdW5kZWZpbmVkLFxuICAgICAgY2hpbGRyZW5fY291bnQ6IG5vZGUuY2hpbGRyZW4/Lmxlbmd0aCxcbiAgICAgIG5hbWU6IG5vZGUubmFtZSxcbiAgICAgIGlkOiBub2RlLmlkLFxuICAgICAgbGV2ZWw6IGxldmVsLFxuICAgICAgcGFyZW50OiBub2RlLnBhcmVudCxcbiAgICAgIG5vZGVUeXBlOiBub2RlLm5vZGVUeXBlXG4gICAgfTtcbiAgfTtcblxuICBwcm90ZWN0ZWQgX3RyZWVDb250cm9sID0gbmV3IEZsYXRUcmVlQ29udHJvbDxGbGF0Tm9kZT4oXG4gICAgbm9kZSA9PiBub2RlLmxldmVsLFxuICAgIG5vZGUgPT4gbm9kZS5leHBhbmRhYmxlLFxuICApO1xuXG4gIHByb3RlY3RlZCBfdHJlZUZsYXR0ZW5lciA9IG5ldyBNYXRUcmVlRmxhdHRlbmVyKFxuICAgIHRoaXMuX3RyYW5zZm9ybWVyLFxuICAgIG5vZGUgPT4gbm9kZS5sZXZlbCxcbiAgICBub2RlID0+IG5vZGUuZXhwYW5kYWJsZSxcbiAgICBub2RlID0+IG5vZGUuY2hpbGRyZW5cbiAgKTtcblxuICBwcm90ZWN0ZWQgX2RhdGFTb3VyY2UgPSBuZXcgTWF0VHJlZUZsYXREYXRhU291cmNlKHRoaXMuX3RyZWVDb250cm9sLCB0aGlzLl90cmVlRmxhdHRlbmVyKTtcbiAgcHJvdGVjdGVkIF9pc0V4cGVuZGFibGUgPSAoXzogbnVtYmVyLCBub2RlOiBGbGF0Tm9kZSkgPT4gbm9kZS5leHBhbmRhYmxlO1xuICBwcm90ZWN0ZWQgX2lzQ3VzdG9tTm9kZVR5cGUobm9kZTogRmxhdE5vZGUpOiBib29sZWFue1xuICAgIHJldHVybiBub2RlLm5vZGVUeXBlICE9IHVuZGVmaW5lZCAmJiBub2RlLm5vZGVUeXBlICE9IFwiXCI7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2hhc0NoaWxkcmVuKG5vZGU6IEZsYXROb2RlKTogYm9vbGVhbiB7XG4gICAgaWYoIW5vZGUuZXhwYW5kYWJsZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZihub2RlLmNoaWxkcmVuX2NvdW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICByZXR1cm4gbm9kZS5jaGlsZHJlbl9jb3VudCA+IDBcbiAgfVxuXG4gIHByb3RlY3RlZCBfZGVzY2VuZGFudHNBbGxTZWxlY3RlZChub2RlOiBGbGF0Tm9kZSk6IGJvb2xlYW4ge1xuICAgIGlmKCF0aGlzLl9zZWxlY3Rpb25MaXN0KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgX3NlbGVjdGlvbkxpc3Q6IFNlbGVjdGlvbk1vZGVsPEZsYXROb2RlPiA9IHRoaXMuX3NlbGVjdGlvbkxpc3Q7XG5cbiAgICBjb25zdCBfZGVzY2VuZGFudHMgPSB0aGlzLl90cmVlQ29udHJvbC5nZXREZXNjZW5kYW50cyhub2RlKTtcbiAgICBpZihfZGVzY2VuZGFudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgX2Rlc2NBbGxTZWxlY3RlZCA9IF9kZXNjZW5kYW50cy5sZW5ndGggPiAwICYmIF9kZXNjZW5kYW50cy5ldmVyeSgoY2hpbGQpID0+IHtcbiAgICAgIHJldHVybiBfc2VsZWN0aW9uTGlzdC5pc1NlbGVjdGVkKGNoaWxkKTtcbiAgICB9KTtcbiAgICByZXR1cm4gX2Rlc2NBbGxTZWxlY3RlZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBfZGVzY2VuZGFudHNQYXJ0aWFsbHlTZWxlY3RlZChub2RlOiBGbGF0Tm9kZSk6IGJvb2xlYW4ge1xuICAgIGlmKCF0aGlzLl9zZWxlY3Rpb25MaXN0KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IF9zZWxlY3Rpb25MaXN0OiBTZWxlY3Rpb25Nb2RlbDxGbGF0Tm9kZT4gPSB0aGlzLl9zZWxlY3Rpb25MaXN0O1xuXG4gICAgY29uc3QgX2Rlc2NlbmRhbnRzID0gdGhpcy5fdHJlZUNvbnRyb2wuZ2V0RGVzY2VuZGFudHMobm9kZSk7XG4gICAgY29uc3QgX3Jlc3VsdCA9IF9kZXNjZW5kYW50cy5zb21lKChjaGlsZCkgPT4ge1xuICAgICAgcmV0dXJuIF9zZWxlY3Rpb25MaXN0LmlzU2VsZWN0ZWQoY2hpbGQpXG4gICAgfSk7XG4gICAgcmV0dXJuIF9yZXN1bHQgJiYgIXRoaXMuX2Rlc2NlbmRhbnRzQWxsU2VsZWN0ZWQobm9kZSk7XG4gIH1cblxuICBwcml2YXRlIF90b2dnbGVEZXNjZW5kYW50c05vZGVzKG5vZGU6IEZsYXROb2RlKSB7XG4gICAgaWYoIXRoaXMuX3NlbGVjdGlvbkxpc3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBfaXNOb2RlU2VsZWN0ZWQgPSB0aGlzLl9zZWxlY3Rpb25MaXN0LmlzU2VsZWN0ZWQobm9kZSk7XG4gICAgaWYoX2lzTm9kZVNlbGVjdGVkKSB7XG4gICAgICB0aGlzLl9zZWxlY3Rpb25MaXN0LnNlbGVjdCguLi50aGlzLl90cmVlQ29udHJvbC5nZXREZXNjZW5kYW50cyhub2RlKSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5fc2VsZWN0aW9uTGlzdC5kZXNlbGVjdCguLi50aGlzLl90cmVlQ29udHJvbC5nZXREZXNjZW5kYW50cyhub2RlKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlUGFyZW50U2VsZWN0aW9ucyhub2RlOiBGbGF0Tm9kZSkge1xuICAgIGlmKCF0aGlzLl9zZWxlY3Rpb25MaXN0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IF9wYXJlbnRJZCA9IG5vZGUucGFyZW50O1xuICAgIGxldCBfcGFyZW50Tm9kZSA9IHRoaXMuX3RyZWVDb250cm9sLmRhdGFOb2Rlcy5maW5kKG4gPT4gbi5pZCA9PT0gX3BhcmVudElkKVxuICAgIHdoaWxlKF9wYXJlbnROb2RlKSB7XG4gICAgICBpZih0aGlzLl9kZXNjZW5kYW50c0FsbFNlbGVjdGVkKF9wYXJlbnROb2RlKSkge1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb25MaXN0LnNlbGVjdChfcGFyZW50Tm9kZSk7XG4gICAgICB9XG4gICAgICBlbHNle1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb25MaXN0LmRlc2VsZWN0KF9wYXJlbnROb2RlKTtcbiAgICAgIH1cbiAgICAgIF9wYXJlbnRJZCA9IF9wYXJlbnROb2RlLnBhcmVudDtcbiAgICAgIF9wYXJlbnROb2RlID0gdGhpcy5fdHJlZUNvbnRyb2wuZGF0YU5vZGVzLmZpbmQobiA9PiBuLmlkID09PSBfcGFyZW50SWQpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBfdG9nZ2xlTm9kZShldmVudDogRXZlbnQsIG5vZGU6IEZsYXROb2RlKSB7XG4gICAgaWYoIW5vZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZighdGhpcy5lbmFibGVTZWxlY3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZighdGhpcy5fc2VsZWN0aW9uTGlzdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGlmIGV2ZW50IGlzIGEgTW91c2VFdmVudCBiZWZvcmUgYWNjZXNzaW5nIGN0cmxLZXlcbiAgICBjb25zdCBpc01vdXNlRXZlbnQgPSBldmVudCAhPSBudWxsICYmIGV2ZW50IGluc3RhbmNlb2YgTW91c2VFdmVudDtcbiAgICBpZiAoaXNNb3VzZUV2ZW50ICYmICFldmVudD8uY3RybEtleSkge1xuICAgICAgdGhpcy5fc2VsZWN0aW9uTGlzdC5jbGVhcigpO1xuICAgIH1cblxuICAgIGlmKHRoaXMub25lTGV2ZWxNdWx0aVNlbGVjdCAmJiB0aGlzLl9zZWxlY3Rpb25MaXN0LnNlbGVjdGVkLmxlbmd0aCA+IDApIHtcbiAgICAgIGlmKHRoaXMuX3NlbGVjdGlvbkxpc3Quc2VsZWN0ZWRbMF0ucGFyZW50ICE9PSBub2RlLnBhcmVudCkge1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb25MaXN0LmNsZWFyKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fc2VsZWN0aW9uTGlzdC50b2dnbGUobm9kZSk7XG4gICAgaWYoIXRoaXMubXVsdGlTZWxlY3QgJiYgIXRoaXMub25lTGV2ZWxNdWx0aVNlbGVjdCkge1xuICAgICAgZmlyZUV2ZW50KHRoaXMsIFwic2VsZWN0ZWROb2Rlc1wiLCB0aGlzLl9zZWxlY3Rpb25MaXN0LnNlbGVjdGVkICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYoIXRoaXMub25lTGV2ZWxNdWx0aVNlbGVjdCkge1xuICAgICAgdGhpcy5fdG9nZ2xlRGVzY2VuZGFudHNOb2Rlcyhub2RlKTtcbiAgICB9XG4gICAgXG4gICAgaWYodGhpcy5lbmFibGVQYXJlbnRIaWdobGlnaHRpbmcpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVBhcmVudFNlbGVjdGlvbnMobm9kZSk7XG4gICAgfVxuICAgIFxuICAgIGZpcmVFdmVudCh0aGlzLCBcInNlbGVjdGVkTm9kZXNcIiwgdGhpcy5fc2VsZWN0aW9uTGlzdC5zZWxlY3RlZCApO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9pc1NlbGVjdGVkKG5vZGU6IEZsYXROb2RlKTogYm9vbGVhbntcbiAgICBpZighdGhpcy5fc2VsZWN0aW9uTGlzdCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTGlzdD8uaXNTZWxlY3RlZChub2RlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRyZWUtY29udGFpbmVyXCI+XG4gIDxkaXYgKm5nSWY9XCJ0cmVlVGl0bGVcIiBjbGFzcz1cInRyZWUtdGl0bGVcIj57e3RyZWVUaXRsZX19PC9kaXY+XG4gIDxjZGstdHJlZSBbZGF0YVNvdXJjZV09XCJfZGF0YVNvdXJjZVwiIFt0cmVlQ29udHJvbF09XCJfdHJlZUNvbnRyb2xcIj5cbiAgICA8IS0tIFRoaXMgaXMgdGhlIHRyZWUgbm9kZSB0ZW1wbGF0ZSBmb3IgbGVhZiBub2RlcyAtLT5cbiAgICA8Y2RrLXRyZWUtbm9kZVxuICAgICAgW21hdFRyZWVOb2RlUGFkZGluZ0luZGVudF09XCJwYWRkaW5nSW5kZW50XCJcbiAgICAgICptYXRUcmVlTm9kZURlZj1cImxldCBub2RlXCJcbiAgICAgIG1hdFRyZWVOb2RlUGFkZGluZ1xuICAgICAgKGNsaWNrKT1cIl90b2dnbGVOb2RlKCRldmVudCwgbm9kZSlcIlxuICAgICAgKGtleXByZXNzKT1cIl90b2dnbGVOb2RlKCRldmVudCwgbm9kZSlcIlxuICAgICAgY2xhc3M9XCJvYmplY3Qtbm9kZVwiXG4gICAgICBbY2xhc3MuZHJhZ2FibGUtbm9kZV09XCJlbmFibGVEcmFnQW5kRHJvcCAmJiBub2RlLmxldmVsID4gMFwiXG4gICAgICBbY2xhc3Muc2VsZWN0ZWQtbm9kZV09XCJfaXNTZWxlY3RlZChub2RlKVwiXG4gICAgICBbYXR0ci5kYXRhLXRlc3RdPVwiZGF0YVRlc3RQcmVmaXggKyBub2RlLmlkXCJcbiAgICAgIFt0aXRsZV09XCJub2RlLm5hbWVcIlxuICAgICAgW2F0dHIubm9kZS1pZF09XCJub2RlLmlkXCJcbiAgICA+XG4gICAgICA8IS0tIHVzZSBhIGRpc2FibGVkIGJ1dHRvbiB0byBwcm92aWRlIHBhZGRpbmcgZm9yIHRyZWUgbGVhZiAtLT5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGRpc2FibGVkPlxuICAgICAgPC9idXR0b24+XG4gICAgICBAaWYgKGN1c3RvbU5vZGVUZW1wbGF0ZSAmJiBfaXNDdXN0b21Ob2RlVHlwZShub2RlKSkge1xuICAgICAgICA8bmctY29udGFpbmVyIFxuICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbU5vZGVUZW1wbGF0ZVwiIFxuICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7bm9kZTpub2RlfVwiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIH1AZWxzZXtcbiAgICAgICAgPGRpdiBjbGFzcz1cImljb24gb2JqZWN0LWljb25cIiAqbmdJZj1cInNob3dPYmplY3RzSWNvbnNcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJub2RlLWxhYmVsXCJcbiAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWQtbm9kZV09XCJfaXNTZWxlY3RlZChub2RlKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWRyYWctcGxhY2Vob2xkZXJcIiAqY2RrRHJhZ1BsYWNlaG9sZGVyPjwvZGl2PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7e25vZGUubmFtZX19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIH1cbiAgICAgIDxsaWItYmltcGx1cy1jb250ZXh0LW1lbnVcbiAgICAgICAgW2l0ZW1zXT1cImNvbnRleHRNZW51cz8ub2JqZWN0Q29udGV4dE1lbnVpdGVtc1wiXG4gICAgICAgIFtkYXRhXT1cIm5vZGVcIlxuICAgICAgICAqbmdJZj1cImNvbnRleHRNZW51cz8ub2JqZWN0Q29udGV4dE1lbnVpdGVtcz8ubGVuZ3RoXCJcbiAgICAgICAgKHRyaWdnZXJTZWxlY3RlZCk9XCJfdG9nZ2xlTm9kZSgkZXZlbnQsIG5vZGUpXCJcbiAgICAgID5cbiAgICAgIDwvbGliLWJpbXBsdXMtY29udGV4dC1tZW51PlxuICAgIDwvY2RrLXRyZWUtbm9kZT5cbiAgICA8IS0tIFRoaXMgaXMgdGhlIHRyZWUgbm9kZSB0ZW1wbGF0ZSBmb3IgZXhwYW5kYWJsZSBub2RlcyAtLT5cbiAgICA8Y2RrLXRyZWUtbm9kZSBbbWF0VHJlZU5vZGVQYWRkaW5nSW5kZW50XT1cInBhZGRpbmdJbmRlbnRcIlxuICAgICAgKm1hdFRyZWVOb2RlRGVmPVwibGV0IG5vZGU7d2hlbjogX2lzRXhwZW5kYWJsZVwiXG4gICAgICBtYXRUcmVlTm9kZVBhZGRpbmdcbiAgICAgIChjbGljayk9XCJfdG9nZ2xlTm9kZSgkZXZlbnQsIG5vZGUpXCJcbiAgICAgIChrZXlwcmVzcyk9XCJfdG9nZ2xlTm9kZSgkZXZlbnQsIG5vZGUpXCJcbiAgICAgIGNsYXNzPVwiZm9sZGVyLW5vZGVcIlxuICAgICAgW2NsYXNzLmRyYWdhYmxlLW5vZGVdPVwiZW5hYmxlRHJhZ0FuZERyb3AgJiYgbm9kZS5sZXZlbCA+IDBcIlxuICAgICAgW2NsYXNzLnNlbGVjdGVkLW5vZGVdPVwiX2lzU2VsZWN0ZWQobm9kZSlcIlxuICAgICAgW2F0dHIuZGF0YS10ZXN0XT1cImRhdGFUZXN0UHJlZml4ICsgbm9kZS5pZFwiXG4gICAgICBbdGl0bGVdPVwibm9kZS5uYW1lXCJcbiAgICAgIFthdHRyLm5vZGUtaWRdPVwibm9kZS5pZFwiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgbWF0VHJlZU5vZGVUb2dnbGVcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInVG9nZ2xlICcgKyBub2RlLm5hbWVcIlxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJpY29uIGV4cGFuZC1jb2xsYXBzZS1pY29uXCJcbiAgICAgICAgICBbY2xhc3MuZXhwYW5kLW1vcmUtaWNvbl09XCJfaGFzQ2hpbGRyZW4obm9kZSkgJiYgIV90cmVlQ29udHJvbC5pc0V4cGFuZGVkKG5vZGUpXCJcbiAgICAgICAgICBbY2xhc3MuY29sbGFwc2UtaWNvbl09XCJfaGFzQ2hpbGRyZW4obm9kZSkgJiYgX3RyZWVDb250cm9sLmlzRXhwYW5kZWQobm9kZSlcIlxuICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9idXR0b24+XG4gICAgICBAaWYgKGN1c3RvbU5vZGVUZW1wbGF0ZSAmJiBfaXNDdXN0b21Ob2RlVHlwZShub2RlKSkge1xuICAgICAgICA8bmctY29udGFpbmVyIFxuICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbU5vZGVUZW1wbGF0ZVwiIFxuICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7bm9kZTpub2RlfVwiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIH1AZWxzZXtcbiAgICAgICAgPGRpdiBjbGFzcz1cImljb24gZm9sZGVyLWljb25cIiAqbmdJZj1cInNob3dGb2xkZXJzSWNvbnNcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibm9kZS1sYWJlbFwiXG4gICAgICAgICAgW2NsYXNzLnNlbGVjdGVkLW5vZGVdPVwiX2lzU2VsZWN0ZWQobm9kZSlcIlxuICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZC1hbGwtZGVzY2VuZGFudHMtbm9kZXNdPVwiX2Rlc2NlbmRhbnRzQWxsU2VsZWN0ZWQobm9kZSkgJiYgX2lzU2VsZWN0ZWQobm9kZSkgJiYgZW5hYmxlUGFyZW50SGlnaGxpZ2h0aW5nXCJcbiAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWQtcGFydGlhbGx5LWRlc2NlbmRhbnRzLW5vZGVzXT1cIl9kZXNjZW5kYW50c1BhcnRpYWxseVNlbGVjdGVkKG5vZGUpICYmIGVuYWJsZVBhcmVudEhpZ2hsaWdodGluZ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWRyYWctcGxhY2Vob2xkZXJcIiAqY2RrRHJhZ1BsYWNlaG9sZGVyPjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RlLWxhYmVsXCI+XG4gICAgICAgICAgICB7e25vZGUubmFtZX19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIH1cbiAgICAgIDxsaWItYmltcGx1cy1jb250ZXh0LW1lbnVcbiAgICAgICAgW2l0ZW1zXT1cImNvbnRleHRNZW51cz8uZm9sZGVyQ29udGV4dE1lbnVpdGVtc1wiXG4gICAgICAgIFtkYXRhXT1cIm5vZGVcIlxuICAgICAgICAqbmdJZj1cImNvbnRleHRNZW51cz8uZm9sZGVyQ29udGV4dE1lbnVpdGVtcz8ubGVuZ3RoXCJcbiAgICAgICAgKHRyaWdnZXJTZWxlY3RlZCk9XCJfdG9nZ2xlTm9kZSgkZXZlbnQsIG5vZGUpXCJcbiAgICAgID5cbiAgICAgIDwvbGliLWJpbXBsdXMtY29udGV4dC1tZW51PlxuICAgIDwvY2RrLXRyZWUtbm9kZT5cbiAgPC9jZGstdHJlZT5cbjwvZGl2PlxuIl19
|
|
@@ -59,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
59
59
|
}], title: [{
|
|
60
60
|
type: Input
|
|
61
61
|
}] } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1mbG9hdGluZy1iYXItaGVhZGVyLWxvZ28uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1mbG9hdGluZy1iYXItaGVhZGVyLWxvZ28vYmltcGx1cy1mbG9hdGluZy1iYXItaGVhZGVyLWxvZ28uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1mbG9hdGluZy1iYXItaGVhZGVyLWxvZ28vYmltcGx1cy1mbG9hdGluZy1iYXItaGVhZGVyLWxvZ28uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7Ozs7O0FBaUJqSCxNQUFNLE9BQU8scUNBQXVDLFNBQVEsK0JBQStCO0lBRXpGLFlBQVksZ0JBQWtDLEVBQzNCLG9CQUEwQztRQUUzRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtRQUZOLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFNcEQsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUVsQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBRXRCLFVBQUssR0FBVyxFQUFFLENBQUM7SUFQNUIsQ0FBQztJQVNELFFBQVE7UUFDTixJQUFJLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBMEIsRUFBRSxFQUFFO1lBQ2xGLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQXVCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdGLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUM1RSxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxlQUFlLENBQUMsS0FBdUI7UUFDckMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUMsRUFBRSxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsT0FBTyxDQUFDLENBQUE7SUFDckYsQ0FBQzs4R0FuQ1UscUNBQXFDO2tHQUFyQyxxQ0FBcUMsa1BBTnJDO1lBQ1QsZ0JBQWdCO1NBQ2pCLGlEQ2pCSCw4UkFVQSw0M3NCRENJLFlBQVksNkhBQ1osa0JBQWtCLHVHQUNsQixlQUFlOzsyRkFRTixxQ0FBcUM7a0JBZGpELFNBQVM7K0JBQ0Usc0NBQXNDLGNBQ3BDLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsZUFBZTtxQkFDaEIsYUFDVTt3QkFDVCxnQkFBZ0I7cUJBQ2pCO3dIQWFRLElBQUk7c0JBQVosS0FBSztnQkFFRyxXQUFXO3NCQURuQixXQUFXO3VCQUFDLG1CQUFtQjs7c0JBQy9CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSG9zdEJpbmRpbmcsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHJhZ2dhYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9kcmFnZ2FibGUuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBCaW1wbHVzTG9jYWxpemVkV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi4vYmltcGx1cy1sb2NhbGl6ZWQtd2lkZ2V0L2JpbXBsdXMtbG9jYWxpemVkLXdpZGdldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGF5b3V0TWFuYWdlckl0ZW0sIExheW91dE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGF5b3V0LW1hbmFnZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1iaW1wbHVzLWZsb2F0aW5nLWJhci1oZWFkZXItbG9nbycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRHJhZ2dhYmxlRGlyZWN0aXZlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgVHJhbnNsYXRlU2VydmljZVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vYmltcGx1cy1mbG9hdGluZy1iYXItaGVhZGVyLWxvZ28uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYmltcGx1cy1mbG9hdGluZy1iYXItaGVhZGVyLWxvZ28uY29tcG9uZW50Lmxlc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBCaW1wbHVzRmxvYXRpbmdCYXJIZWFkZXJMb2dvQ29tcG9uZW50ICBleHRlbmRzIEJpbXBsdXNMb2NhbGl6ZWRXaWRnZXRDb21wb25lbnQgIGltcGxlbWVudHMgT25Jbml0XG57XG4gIGNvbnN0cnVjdG9yKHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsYXlvdXRNYW5hZ2VyU2VydmljZTogTGF5b3V0TWFuYWdlclNlcnZpY2VcbiAgKSB7IFxuICAgIHN1cGVyKHRyYW5zbGF0ZVNlcnZpY2UpXG5cbiAgfVxuXG4gIEBJbnB1dCgpIGljb246IHN0cmluZyA9IFwiXCI7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXNDb2xsYXBzZWQnKVxuICBASW5wdXQoKSBpc0NvbGxhcHNlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwYXJlbnRJZDogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZyA9IFwiXCI7XG5cbiAgbmdPbkluaXQoKXtcbiAgICB0aGlzLmxheW91dE1hbmFnZXJTZXJ2aWNlLnJlZ2lzdGVyZWRJdGVtcyQuc3Vic2NyaWJlKChpdGVtczogTGF5b3V0TWFuYWdlckl0ZW1bXSkgPT4ge1xuICAgICAgY29uc3QgbGF5b3V0TWFuYWdlckl0ZW0gPSBpdGVtcy5maW5kKChpdGVtOiBMYXlvdXRNYW5hZ2VySXRlbSkgPT4gaXRlbS5pZCA9PT0gdGhpcy5wYXJlbnRJZCk7ICBcbiAgICAgIHRoaXMuaXNDb2xsYXBzZWQgPSAhIShsYXlvdXRNYW5hZ2VySXRlbT8uaXNDb2xsYXBzZWQpOyAgICAgIFxuICAgIH0pXG4gIH1cblxuICBvbkxvZ29DbGlja2VkKCl7XG4gICAgdGhpcy5sYXlvdXRNYW5hZ2VyU2VydmljZS51cGRhdGVDb2xsYXBzZWQoIXRoaXMuaXNDb2xsYXBzZWQsdGhpcy5wYXJlbnRJZClcbiAgfVxuICBcbiAgb25EcmFnRW5kKCl7XG4gICAgdGhpcy5sYXlvdXRNYW5hZ2VyU2VydmljZS5oYW5kbGVEcmFnRW5kKHRoaXMucGFyZW50SWQpO1xuICB9XG4gIFxuICBkcmFnQmFzZUVsZW1lbnQoZXZlbnQ6IFtudW1iZXIsIG51bWJlcl0pOiB2b2lkIHtcbiAgICBjb25zdCBkZWx0YVgxID0gZXZlbnRbMF07XG4gICAgY29uc3QgZGVsdGFZMSA9IGV2ZW50WzFdOyAgICAgICAgXG4gICAgdGhpcy5sYXlvdXRNYW5hZ2VyU2VydmljZS5jaGVja1Bvc2l0aW9uKHRoaXMucGFyZW50SWQsXCJcIix1bmRlZmluZWQsZGVsdGFYMSxkZWx0YVkxKSAgICAgICAgXG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJmbG9hdGluZy1wYW5lbF9faGVhZGVyLWxvZ29cIlxuICBbbmdDbGFzc109XCJpc0NvbGxhcHNlZCA/ICdjb2xsYXBzZWQnIDogJydcIlxuICBbY2xhc3NOYW1lXT1cImljb25cIlxuICBbdGl0bGVdPSBcInRpdGxlIHwgdHJhbnNsYXRlXCJcbiAgbGliRHJhZ2dhYmxlXG4gIChjbGlja2VkKT1cIm9uTG9nb0NsaWNrZWQoKVwiICBcbiAgKGRyYWdFbmQpPVwib25EcmFnRW5kKClcIlxuICAoZHJhZ2dpbmcpPVwiZHJhZ0Jhc2VFbGVtZW50KCRldmVudClcIlxuPjwvZGl2PlxuIl19
|
|
@@ -118,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
118
118
|
}], logoClicked: [{
|
|
119
119
|
type: Output
|
|
120
120
|
}] } });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1mbG9hdGluZy1iYXItcHJvamVjdC1uYXZpZ2F0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1mbG9hdGluZy1iYXItcHJvamVjdC1uYXZpZ2F0b3IvYmltcGx1cy1mbG9hdGluZy1iYXItcHJvamVjdC1uYXZpZ2F0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1mbG9hdGluZy1iYXItcHJvamVjdC1uYXZpZ2F0b3IvYmltcGx1cy1mbG9hdGluZy1iYXItcHJvamVjdC1uYXZpZ2F0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBZ0UsTUFBTSxFQUFFLFVBQVUsRUFBRyxNQUFNLGVBQWUsQ0FBQztBQUM3SyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGtFQUFrRSxDQUFBO0FBQ2xILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHdFQUF3RSxDQUFDO0FBQzVILE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLHNGQUFzRixDQUFDO0FBQ2hKLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLGdGQUFnRixDQUFDO0FBQ3ZJLE9BQU8sRUFBRSwrQkFBK0Is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TTtzQkFBZCxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFNRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFHRSxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyx1QkFBdUI7c0JBQWhDLE1BQU07Z0JBQ0csdUJBQXVCO3NCQUFoQyxNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24sIEVsZW1lbnRSZWYsQWZ0ZXJWaWV3Q2hlY2tlZCxBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgaW5qZWN0LCBEZXN0cm95UmVmICB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UsIFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgeyBCaW1wbHVzTG9jYWxpemVkV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSBcIi4vLi4vYmltcGx1cy1sb2NhbGl6ZWQtd2lkZ2V0L2JpbXBsdXMtbG9jYWxpemVkLXdpZGdldC5jb21wb25lbnRcIlxuaW1wb3J0IHsgQmltcGx1c0Zsb2F0aW5nQmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vYmltcGx1cy1mbG9hdGluZy1iYXIvYmltcGx1cy1mbG9hdGluZy1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJpbXBsdXNGbG9hdGluZ0JhckRyYWdnZXJDb21wb25lbnQgfSBmcm9tICcuLi9iaW1wbHVzLWZsb2F0aW5nLWJhci1kcmFnZ2VyL2JpbXBsdXMtZmxvYXRpbmctYmFyLWRyYWdnZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJpbXBsdXNGbG9hdGluZ0JhckhlYWRlckNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuLi9iaW1wbHVzLWZsb2F0aW5nLWJhci1oZWFkZXItY29udGVudC9iaW1wbHVzLWZsb2F0aW5nLWJhci1oZWFkZXItY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmltcGx1c0Zsb2F0aW5nQmFySGVhZGVyTG9nb0NvbXBvbmVudCB9IGZyb20gJy4uL2JpbXBsdXMtZmxvYXRpbmctYmFyLWhlYWRlci1sb2dvL2JpbXBsdXMtZmxvYXRpbmctYmFyLWhlYWRlci1sb2dvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCaW1wbHVzRmxvYXRpbmdCYXJCb2R5Q29tcG9uZW50IH0gZnJvbSAnLi4vYmltcGx1cy1mbG9hdGluZy1iYXItYm9keS9iaW1wbHVzLWZsb2F0aW5nLWJhci1ib2R5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGbG9hdGluZ0Jhckl0ZW0gfSBmcm9tICcuLi9iaW1wbHVzLWZsb2F0aW5nLWJhci9iaW1wbHVzLWZsb2F0aW5nLWJhci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUHJvamVjdE5hdmlnYXRvck1vZGVsLCBQcm9qZWN0TmF2aWdhdG9yTGF5ZXIsIFByb2plY3ROYXZpZ2F0b3JQcm9qZWN0IH0gZnJvbSAnLi4vcHJvamVjdC1tb2RlbHMvcHJvamVjdC1tb2RlbHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFByb2plY3RNb2RlbHNDb21wb25lbnQgfSBmcm9tICcuLi9wcm9qZWN0LW1vZGVscy9wcm9qZWN0LW1vZGVscy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmltcGx1c1BhbmVsVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4uL2JpbXBsdXMtcGFuZWwtdG9vbGJhci9iaW1wbHVzLXBhbmVsLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJpbXBsdXNTY3JvbGxhYmxlQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vYmltcGx1cy1zY3JvbGxhYmxlLWNvbnRhaW5lci9iaW1wbHVzLXNjcm9sbGFibGUtY29udGFpbmVyLmNvbXBvbmVudCdcbmltcG9ydCB7IExheW91dE1hbmFnZXJJdGVtLCBMYXlvdXRNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xheW91dC1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5cbmNvbnN0IERFRkFVTFRfUE9TSVRJT05fTEVGVCA9IDM1NTtcbmNvbnN0IERFRkFVTFRfUE9TSVRJT05fVE9QID0yMDtcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1iaW1wbHVzLWZsb2F0aW5nLWJhci1wcm9qZWN0LW5hdmlnYXRvcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQmltcGx1c0Zsb2F0aW5nQmFyQ29tcG9uZW50LFxuICAgIEJpbXBsdXNGbG9hdGluZ0JhckRyYWdnZXJDb21wb25lbnQsXG4gICAgQmltcGx1c0Zsb2F0aW5nQmFySGVhZGVyQ29udGVudENvbXBvbmVudCxcbiAgICBCaW1wbHVzRmxvYXRpbmdCYXJIZWFkZXJMb2dvQ29tcG9uZW50LFxuICAgIEJpbXBsdXNGbG9hdGluZ0JhckJvZHlDb21wb25lbnQsXG4gICAgQmltcGx1c1BhbmVsVG9vbGJhckNvbXBvbmVudCxcbiAgICBQcm9qZWN0TW9kZWxzQ29tcG9uZW50LFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBCaW1wbHVzU2Nyb2xsYWJsZUNvbnRhaW5lckNvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtUcmFuc2xhdGVTZXJ2aWNlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JpbXBsdXMtZmxvYXRpbmctYmFyLXByb2plY3QtbmF2aWdhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2JpbXBsdXMtZmxvYXRpbmctYmFyLXByb2plY3QtbmF2aWdhdG9yLmNvbXBvbmVudC5sZXNzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uU2hhZG93RG9tXG59KVxuZXhwb3J0IGNsYXNzIEJpbXBsdXNGbG9hdGluZ0JhclByb2plY3ROYXZpZ2F0b3JDb21wb25lbnQgZXh0ZW5kcyBCaW1wbHVzTG9jYWxpemVkV2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgICBBZnRlclZpZXdJbml0LEFmdGVyVmlld0NoZWNrZWR7XG4gIGNvbnN0cnVjdG9yKHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgbGF5b3V0TWFuYWdlclNlcnZpY2U6IExheW91dE1hbmFnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIodHJhbnNsYXRlU2VydmljZSk7XG4gICAgICAgIFxuICB9XG4gIHByaXZhdGUgaGFzVmlld0NoZWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgXG5cbiAgLy8gR2VuZXJhbCBiYXIgaGFuZGxpbmdcbiAgQElucHV0KCkgbm9Cb2R5OiBib29sZWFuID0gZmFsc2U7IC8vIFByb2plY3QgbmF2aWdhdG9yIGhhcyBhIGJvZHlcbiAgQElucHV0KCkgaXNDb2xsYXBzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbm9Nb2RlbHNNZXNzYWdlOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBsb2FkaW5nRGF0YU1lc3NhZ2U6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgXG4gIGljb24gPSAndWktaWNvbi1wcm9qZWN0LW5hdmlnYXRvcic7XG4gIHRpdGxlOiBzdHJpbmcgPSAnX1Byb2plY3RfbmF2aWdhdG9yJztcbiAgY29tcG9uZW50SWQgPSAncHJvamVjdC1uYXZpZ2F0b3ItZnAtaWQnO1xuICAvLyBIZWFkZXIgY29udGVudCAobGlrZSBJRkMgZXhwb3J0IGJ1dHRvbilcbiAgQElucHV0KCkgaXRlbXM6IEFycmF5PEZsb2F0aW5nQmFySXRlbT4gPSBbXTtcblxuICBAT3V0cHV0KCkgYWN0aW9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8vIEJvZHkgY29udGVudFxuICBASW5wdXQoKSBpc1BhbmVsVG9vbGJhclZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZXhwYW5kZWRNb2RlbFRyZWU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHJvamVjdDogUHJvamVjdE5hdmlnYXRvclByb2plY3QgPSB7IGlkOiBcIlwiLCBuYW1lOiBcIlwiLCB0ZWFtU2x1ZzogXCJcIiwgbW9kZWxzOiBbXSB9O1xuICBAT3V0cHV0KCkgY2xpY2tlZE1vZGVsID0gbmV3IEV2ZW50RW1pdHRlcjxQcm9qZWN0TmF2aWdhdG9yTW9kZWw+KCk7XG4gIEBPdXRwdXQoKSBjbGlja2VkTGF5ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPFByb2plY3ROYXZpZ2F0b3JMYXllcj4oKTtcbiAgQE91dHB1dCgpIHRvZ2dsZU9wYWNpdHlPZk1vZGVsID0gbmV3IEV2ZW50RW1pdHRlcjxQcm9qZWN0TmF2aWdhdG9yTW9kZWw+KCk7XG4gIEBPdXRwdXQoKSB0b2dnbGVPcGFjaXR5T2ZMYXllciA9IG5ldyBFdmVudEVtaXR0ZXI8UHJvamVjdE5hdmlnYXRvckxheWVyPigpO1xuICBAT3V0cHV0KCkgdG9nZ2xlVmlzaWJpbGl0eU9mTW9kZWwgPSBuZXcgRXZlbnRFbWl0dGVyPFByb2plY3ROYXZpZ2F0b3JNb2RlbD4oKTtcbiAgQE91dHB1dCgpIHRvZ2dsZVZpc2liaWxpdHlPZkxheWVyID0gbmV3IEV2ZW50RW1pdHRlcjxQcm9qZWN0TmF2aWdhdG9yTGF5ZXI+KCk7XG4gIEBPdXRwdXQoKSBsb2dvQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTsgIFxuICBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpXG5cbiAgbmdBZnRlclZpZXdJbml0KCl7XG4gICAgdGhpcy5sYXlvdXRNYW5hZ2VyU2VydmljZS5yZWdpc3Rlck9iamVjdCh0aGlzLmVsZW1lbnQsdGhpcy5jb21wb25lbnRJZCwnLmZsb2F0aW5nLXBhbmVsLnZpc2libGUnLHRydWUsREVGQVVMVF9QT1NJVElPTl9MRUZULERFRkFVTFRfUE9TSVRJT05fVE9QKTtcbiAgICBcbiAgICB0aGlzLmxheW91dE1hbmFnZXJTZXJ2aWNlLnJlZ2lzdGVyZWRJdGVtcyQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKHtuZXh0OihpdGVtczogTGF5b3V0TWFuYWdlckl0ZW1bXSkgPT4ge1xuICAgICAgY29uc3QgbGF5b3V0TWFuYWdlckl0ZW0gPSBpdGVtcy5maW5kKChpdGVtOiBMYXlvdXRNYW5hZ2VySXRlbSkgPT4gaXRlbS5pZCA9PT0gdGhpcy5jb21wb25lbnRJZCk7ICAgICAgICBcbiAgICAgIHRoaXMuaXNDb2xsYXBzZWQgPSAhIShsYXlvdXRNYW5hZ2VySXRlbT8uaXNDb2xsYXBzZWQpOyAgICAgIFxuICAgIH0sY29tcGxldGU6ICgpID0+IGNvbnNvbGUubG9nKCdjb21wbGV0ZWQnKX0pO1xuICB9XG4gIC8vICNyZWdpb24gR2VuZXJhbCBiYXIgaGFuZGxpbmcgXG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIC8vaWYgKCF0aGlzLmhhc1ZpZXdDaGVja2VkICYmICF0aGlzLmlzQ29sbGFwc2VkKSB7XG4gICAgaWYgKCF0aGlzLmhhc1ZpZXdDaGVja2VkKSB7ICAgICAgXG4gICAgICB0aGlzLmhhc1ZpZXdDaGVja2VkID0gdHJ1ZTsgLy8gU2V0IHRoZSBmbGFnIHRvIHByZXZlbnQgcmVwZWF0ZWQgZXhlY3V0aW9uXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7IC8vIFRyaWdnZXIgY2hhbmdlIGRldGVjdGlvbiAgICBcbiAgICAgIHNldFRpbWVvdXQoKCk9PntcbiAgICAgICAgdGhpcy5sYXlvdXRNYW5hZ2VyU2VydmljZS5jaGVja1Bvc2l0aW9uKHRoaXMuY29tcG9uZW50SWQsJy5mbG9hdGluZy1wYW5lbC52aXNpYmxlJyx1bmRlZmluZWQsMCwwLHRydWUpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIC8vICNlbmRyZWdpb25cbn1cbiIsIjxsaWItYmltcGx1cy1mbG9hdGluZy1iYXJcbiAgaWQ9XCJwcm9qZWN0LW5hdmlnYXRvci1mcC1pZFwiXG4gIFtpZF0gPSBcImNvbXBvbmVudElkXCJcbiAgY2xhc3M9XCJwcm9qZWN0LW5hdmlnYXRvci1mcCBmbG9hdGluZy1wYW5lbFwiXG4gIFtzZWxlY3RlZExhbmd1YWdlXT1cInNlbGVjdGVkTGFuZ3VhZ2VcIlxuICBbbG9jYWxpemVkU3RyaW5nc109XCJsb2NhbGl6ZWRTdHJpbmdzXCJcbiAgW25vQm9keV09XCJub0JvZHlcIiAgXG4gIFtyZXNpemVFbmFibGVkXT1cInRydWVcIlxuICBbaXNWaXNpYmxlXT1cInRydWVcIiAgICAgIFxuPlxuICA8bGliLWJpbXBsdXMtZmxvYXRpbmctYmFyLWhlYWRlci1sb2dvXG4gICAgY2xhc3M9XCJmbG9hdGluZy1iYXItaGVhZGVyLWxvZ29cIlxuICAgIFtwYXJlbnRJZF0gPSBcImNvbXBvbmVudElkXCJcbiAgICBbc2VsZWN0ZWRMYW5ndWFnZV09XCJzZWxlY3RlZExhbmd1YWdlXCJcbiAgICBbbG9jYWxpemVkU3RyaW5nc109XCJsb2NhbGl6ZWRTdHJpbmdzXCJcbiAgICBbaWNvbl09XCJpY29uXCJcbiAgICBbdGl0bGVdPVwidGl0bGVcIiAgICBcbiAgPlxuICA8L2xpYi1iaW1wbHVzLWZsb2F0aW5nLWJhci1oZWFkZXItbG9nbz5cblxuICA8bGliLWJpbXBsdXMtZmxvYXRpbmctYmFyLWhlYWRlci1jb250ZW50XG4gICAgY2xhc3M9XCJmbG9hdGluZy1iYXItaGVhZGVyLWNvbnRlbnRcIlxuICAgIFtzZWxlY3RlZExhbmd1YWdlXT1cInNlbGVjdGVkTGFuZ3VhZ2VcIlxuICAgIFtsb2NhbGl6ZWRTdHJpbmdzXT1cImxvY2FsaXplZFN0cmluZ3NcIlxuICAgIFtpdGVtc109XCJpdGVtc1wiXG4gICAgKGFjdGlvbkNsaWNrZWQpPVwiYWN0aW9uQ2xpY2tlZC5lbWl0KCRldmVudClcIiAgICBcbiAgICBbcGFyZW50SWRdID0gXCJjb21wb25lbnRJZFwiXG4gID5cbiAgPC9saWItYmltcGx1cy1mbG9hdGluZy1iYXItaGVhZGVyLWNvbnRlbnQ+XG5cbiAgPGxpYi1iaW1wbHVzLWZsb2F0aW5nLWJhci1kcmFnZ2VyXG4gICAgY2xhc3M9XCJmbG9hdGluZy1iYXItZHJhZ2dlclwiXG4gICAgW3BhcmVudElkXSA9IFwiY29tcG9uZW50SWRcIlxuICA+XG4gIDwvbGliLWJpbXBsdXMtZmxvYXRpbmctYmFyLWRyYWdnZXI+XG5cbiAgPGxpYi1iaW1wbHVzLWZsb2F0aW5nLWJhci1ib2R5XG4gICAgY2xhc3M9XCJmbG9hdGluZy1iYXItYm9keVwiXG4gICAgW3BhcmVudElkXSA9IFwiY29tcG9uZW50SWRcIlxuICA+XG4gICAgPGxpYi1iaW1wbHVzLXBhbmVsLXRvb2xiYXJcbiAgICAgIFtpc1BhbmVsVG9vbGJhclZpc2libGVdPVwiaXNQYW5lbFRvb2xiYXJWaXNpYmxlXCJcbiAgICA+PC9saWItYmltcGx1cy1wYW5lbC10b29sYmFyPlxuXG4gICAgQGlmKGlzTG9hZGluZyAmJiBsb2FkaW5nRGF0YU1lc3NhZ2Upe1xuICAgICAgICA8c3BhbiBjbGFzcz1cImlubGluZS1tZXNzYWdlXCIgW2lubmVySHRtbF09XCJsb2FkaW5nRGF0YU1lc3NhZ2UgfCB0cmFuc2xhdGVcIj48L3NwYW4+XG4gICAgfVxuICAgIEBlbHNleyBcbiAgICBAaWYocHJvamVjdC5tb2RlbHMubGVuZ3RoID09PSAwICYmIG5vTW9kZWxzTWVzc2FnZSl7XG4gICAgICA8c3BhbiBjbGFzcz1cImlubGluZS1tZXNzYWdlXCIgW2lubmVySHRtbF09XCJub01vZGVsc01lc3NhZ2UgfCB0cmFuc2xhdGVcIj48L3NwYW4+XG4gICAgfUBlbHNle1xuICAgICAgPGxpYi1iaW1wbHVzLXNjcm9sbGFibGUtY29udGFpbmVyPlxuICAgICAgICA8bGliLXByb2plY3QtbW9kZWxzXG4gICAgICAgICAgW3NlbGVjdGVkTGFuZ3VhZ2VdPVwic2VsZWN0ZWRMYW5ndWFnZVwiXG4gICAgICAgICAgW2xvY2FsaXplZFN0cmluZ3NdPVwibG9jYWxpemVkU3RyaW5nc1wiXG4gICAgICAgICAgW21vZGVsc109XCJwcm9qZWN0Lm1vZGVsc1wiXG4gICAgICAgICAgW21vZGVsVHJlZVJvb3RUaXRsZV09XCJwcm9qZWN0Lm5hbWUgKyAnIC0gJyArIHByb2plY3QudGVhbVNsdWdcIlxuICAgICAgICAgIFtleHBhbmRlZE1vZGVsVHJlZV09XCJleHBhbmRlZE1vZGVsVHJlZVwiXG4gICAgICAgICAgKGNsaWNrZWRNb2RlbCk9XCJjbGlja2VkTW9kZWwuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAoY2xpY2tlZExheWVyKT1cImNsaWNrZWRMYXllci5lbWl0KCRldmVudClcIlxuICAgICAgICAgICh0b2dnbGVPcGFjaXR5T2ZNb2RlbCk9XCJ0b2dnbGVPcGFjaXR5T2ZNb2RlbC5lbWl0KCRldmVudClcIlxuICAgICAgICAgICh0b2dnbGVPcGFjaXR5T2ZMYXllcik9XCJ0b2dnbGVPcGFjaXR5T2ZMYXllci5lbWl0KCRldmVudClcIlxuICAgICAgICAgICh0b2dnbGVWaXNpYmlsaXR5T2ZNb2RlbCk9XCJ0b2dnbGVWaXNpYmlsaXR5T2ZNb2RlbC5lbWl0KCRldmVudClcIlxuICAgICAgICAgICh0b2dnbGVWaXNpYmlsaXR5T2ZMYXllcik9XCJ0b2dnbGVWaXNpYmlsaXR5T2ZMYXllci5lbWl0KCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvbGliLXByb2plY3QtbW9kZWxzPlxuICAgICAgPC9saWItYmltcGx1cy1zY3JvbGxhYmxlLWNvbnRhaW5lcj5cbiAgICB9XG4gIH1cbiAgPC9saWItYmltcGx1cy1mbG9hdGluZy1iYXItYm9keT5cbjwvbGliLWJpbXBsdXMtZmxvYXRpbmctYmFyPlxuIl19
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1mbG9hdGluZy1iYXItcHJvamVjdC1uYXZpZ2F0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1mbG9hdGluZy1iYXItcHJvamVjdC1uYXZpZ2F0b3IvYmltcGx1cy1mbG9hdGluZy1iYXItcHJvamVjdC1uYXZpZ2F0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1mbG9hdGluZy1iYXItcHJvamVjdC1uYXZpZ2F0b3IvYmltcGx1cy1mbG9hdGluZy1iYXItcHJvamVjdC1uYXZpZ2F0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBZ0UsTUFBTSxFQUFFLFVBQVUsRUFBRyxNQUFNLGVBQWUsQ0FBQztBQUM3SyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGtFQUFrRSxDQUFBO0FBQ2xILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHdFQUF3RSxDQUFDO0FBQzVILE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLHNGQUFzRixDQUFDO0FBQ2hKLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLGdGQUFnRixDQUFDO0FBQ3ZJLE9BQU8sRUFBRSwrQkFBK0Is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TTtzQkFBZCxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFNRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFHRSxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyx1QkFBdUI7c0JBQWhDLE1BQU07Z0JBQ0csdUJBQXVCO3NCQUFoQyxNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24sIEVsZW1lbnRSZWYsQWZ0ZXJWaWV3Q2hlY2tlZCxBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgaW5qZWN0LCBEZXN0cm95UmVmICB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UsIFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgeyBCaW1wbHVzTG9jYWxpemVkV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSBcIi4vLi4vYmltcGx1cy1sb2NhbGl6ZWQtd2lkZ2V0L2JpbXBsdXMtbG9jYWxpemVkLXdpZGdldC5jb21wb25lbnRcIlxuaW1wb3J0IHsgQmltcGx1c0Zsb2F0aW5nQmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vYmltcGx1cy1mbG9hdGluZy1iYXIvYmltcGx1cy1mbG9hdGluZy1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJpbXBsdXNGbG9hdGluZ0JhckRyYWdnZXJDb21wb25lbnQgfSBmcm9tICcuLi9iaW1wbHVzLWZsb2F0aW5nLWJhci1kcmFnZ2VyL2JpbXBsdXMtZmxvYXRpbmctYmFyLWRyYWdnZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJpbXBsdXNGbG9hdGluZ0JhckhlYWRlckNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuLi9iaW1wbHVzLWZsb2F0aW5nLWJhci1oZWFkZXItY29udGVudC9iaW1wbHVzLWZsb2F0aW5nLWJhci1oZWFkZXItY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmltcGx1c0Zsb2F0aW5nQmFySGVhZGVyTG9nb0NvbXBvbmVudCB9IGZyb20gJy4uL2JpbXBsdXMtZmxvYXRpbmctYmFyLWhlYWRlci1sb2dvL2JpbXBsdXMtZmxvYXRpbmctYmFyLWhlYWRlci1sb2dvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCaW1wbHVzRmxvYXRpbmdCYXJCb2R5Q29tcG9uZW50IH0gZnJvbSAnLi4vYmltcGx1cy1mbG9hdGluZy1iYXItYm9keS9iaW1wbHVzLWZsb2F0aW5nLWJhci1ib2R5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGbG9hdGluZ0Jhckl0ZW0gfSBmcm9tICcuLi9iaW1wbHVzLWZsb2F0aW5nLWJhci9iaW1wbHVzLWZsb2F0aW5nLWJhci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUHJvamVjdE5hdmlnYXRvck1vZGVsLCBQcm9qZWN0TmF2aWdhdG9yTGF5ZXIsIFByb2plY3ROYXZpZ2F0b3JQcm9qZWN0IH0gZnJvbSAnLi4vcHJvamVjdC1tb2RlbHMvcHJvamVjdC1tb2RlbHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFByb2plY3RNb2RlbHNDb21wb25lbnQgfSBmcm9tICcuLi9wcm9qZWN0LW1vZGVscy9wcm9qZWN0LW1vZGVscy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmltcGx1c1BhbmVsVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4uL2JpbXBsdXMtcGFuZWwtdG9vbGJhci9iaW1wbHVzLXBhbmVsLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJpbXBsdXNTY3JvbGxhYmxlQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vYmltcGx1cy1zY3JvbGxhYmxlLWNvbnRhaW5lci9iaW1wbHVzLXNjcm9sbGFibGUtY29udGFpbmVyLmNvbXBvbmVudCdcbmltcG9ydCB7IExheW91dE1hbmFnZXJJdGVtLCBMYXlvdXRNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xheW91dC1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5cbmNvbnN0IERFRkFVTFRfUE9TSVRJT05fTEVGVCA9IDM1NTtcbmNvbnN0IERFRkFVTFRfUE9TSVRJT05fVE9QID0yMDtcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1iaW1wbHVzLWZsb2F0aW5nLWJhci1wcm9qZWN0LW5hdmlnYXRvcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQmltcGx1c0Zsb2F0aW5nQmFyQ29tcG9uZW50LFxuICAgIEJpbXBsdXNGbG9hdGluZ0JhckRyYWdnZXJDb21wb25lbnQsXG4gICAgQmltcGx1c0Zsb2F0aW5nQmFySGVhZGVyQ29udGVudENvbXBvbmVudCxcbiAgICBCaW1wbHVzRmxvYXRpbmdCYXJIZWFkZXJMb2dvQ29tcG9uZW50LFxuICAgIEJpbXBsdXNGbG9hdGluZ0JhckJvZHlDb21wb25lbnQsXG4gICAgQmltcGx1c1BhbmVsVG9vbGJhckNvbXBvbmVudCxcbiAgICBQcm9qZWN0TW9kZWxzQ29tcG9uZW50LFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBCaW1wbHVzU2Nyb2xsYWJsZUNvbnRhaW5lckNvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtUcmFuc2xhdGVTZXJ2aWNlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JpbXBsdXMtZmxvYXRpbmctYmFyLXByb2plY3QtbmF2aWdhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2JpbXBsdXMtZmxvYXRpbmctYmFyLXByb2plY3QtbmF2aWdhdG9yLmNvbXBvbmVudC5sZXNzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uU2hhZG93RG9tXG59KVxuZXhwb3J0IGNsYXNzIEJpbXBsdXNGbG9hdGluZ0JhclByb2plY3ROYXZpZ2F0b3JDb21wb25lbnQgZXh0ZW5kcyBCaW1wbHVzTG9jYWxpemVkV2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgICBBZnRlclZpZXdJbml0LEFmdGVyVmlld0NoZWNrZWR7XG4gIGNvbnN0cnVjdG9yKHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbGF5b3V0TWFuYWdlclNlcnZpY2U6IExheW91dE1hbmFnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIodHJhbnNsYXRlU2VydmljZSk7XG4gICAgICAgIFxuICB9XG4gIHByaXZhdGUgaGFzVmlld0NoZWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgXG5cbiAgLy8gR2VuZXJhbCBiYXIgaGFuZGxpbmdcbiAgQElucHV0KCkgbm9Cb2R5OiBib29sZWFuID0gZmFsc2U7IC8vIFByb2plY3QgbmF2aWdhdG9yIGhhcyBhIGJvZHlcbiAgQElucHV0KCkgaXNDb2xsYXBzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbm9Nb2RlbHNNZXNzYWdlOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBsb2FkaW5nRGF0YU1lc3NhZ2U6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgXG4gIGljb24gPSAndWktaWNvbi1wcm9qZWN0LW5hdmlnYXRvcic7XG4gIHRpdGxlOiBzdHJpbmcgPSAnX1Byb2plY3RfbmF2aWdhdG9yJztcbiAgY29tcG9uZW50SWQgPSAncHJvamVjdC1uYXZpZ2F0b3ItZnAtaWQnO1xuICAvLyBIZWFkZXIgY29udGVudCAobGlrZSBJRkMgZXhwb3J0IGJ1dHRvbilcbiAgQElucHV0KCkgaXRlbXM6IEFycmF5PEZsb2F0aW5nQmFySXRlbT4gPSBbXTtcblxuICBAT3V0cHV0KCkgYWN0aW9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8vIEJvZHkgY29udGVudFxuICBASW5wdXQoKSBpc1BhbmVsVG9vbGJhclZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZXhwYW5kZWRNb2RlbFRyZWU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHJvamVjdDogUHJvamVjdE5hdmlnYXRvclByb2plY3QgPSB7IGlkOiBcIlwiLCBuYW1lOiBcIlwiLCB0ZWFtU2x1ZzogXCJcIiwgbW9kZWxzOiBbXSB9O1xuICBAT3V0cHV0KCkgY2xpY2tlZE1vZGVsID0gbmV3IEV2ZW50RW1pdHRlcjxQcm9qZWN0TmF2aWdhdG9yTW9kZWw+KCk7XG4gIEBPdXRwdXQoKSBjbGlja2VkTGF5ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPFByb2plY3ROYXZpZ2F0b3JMYXllcj4oKTtcbiAgQE91dHB1dCgpIHRvZ2dsZU9wYWNpdHlPZk1vZGVsID0gbmV3IEV2ZW50RW1pdHRlcjxQcm9qZWN0TmF2aWdhdG9yTW9kZWw+KCk7XG4gIEBPdXRwdXQoKSB0b2dnbGVPcGFjaXR5T2ZMYXllciA9IG5ldyBFdmVudEVtaXR0ZXI8UHJvamVjdE5hdmlnYXRvckxheWVyPigpO1xuICBAT3V0cHV0KCkgdG9nZ2xlVmlzaWJpbGl0eU9mTW9kZWwgPSBuZXcgRXZlbnRFbWl0dGVyPFByb2plY3ROYXZpZ2F0b3JNb2RlbD4oKTtcbiAgQE91dHB1dCgpIHRvZ2dsZVZpc2liaWxpdHlPZkxheWVyID0gbmV3IEV2ZW50RW1pdHRlcjxQcm9qZWN0TmF2aWdhdG9yTGF5ZXI+KCk7XG4gIEBPdXRwdXQoKSBsb2dvQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTsgIFxuICBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpXG5cbiAgbmdBZnRlclZpZXdJbml0KCl7XG4gICAgdGhpcy5sYXlvdXRNYW5hZ2VyU2VydmljZS5yZWdpc3Rlck9iamVjdCh0aGlzLmVsZW1lbnQsdGhpcy5jb21wb25lbnRJZCwnLmZsb2F0aW5nLXBhbmVsLnZpc2libGUnLHRydWUsREVGQVVMVF9QT1NJVElPTl9MRUZULERFRkFVTFRfUE9TSVRJT05fVE9QKTtcbiAgICBcbiAgICB0aGlzLmxheW91dE1hbmFnZXJTZXJ2aWNlLnJlZ2lzdGVyZWRJdGVtcyQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKHtuZXh0OihpdGVtczogTGF5b3V0TWFuYWdlckl0ZW1bXSkgPT4ge1xuICAgICAgY29uc3QgbGF5b3V0TWFuYWdlckl0ZW0gPSBpdGVtcy5maW5kKChpdGVtOiBMYXlvdXRNYW5hZ2VySXRlbSkgPT4gaXRlbS5pZCA9PT0gdGhpcy5jb21wb25lbnRJZCk7ICAgICAgICBcbiAgICAgIHRoaXMuaXNDb2xsYXBzZWQgPSAhIShsYXlvdXRNYW5hZ2VySXRlbT8uaXNDb2xsYXBzZWQpOyAgICAgIFxuICAgIH0sY29tcGxldGU6ICgpID0+IGNvbnNvbGUubG9nKCdjb21wbGV0ZWQnKX0pO1xuICB9XG4gIC8vICNyZWdpb24gR2VuZXJhbCBiYXIgaGFuZGxpbmcgXG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIC8vaWYgKCF0aGlzLmhhc1ZpZXdDaGVja2VkICYmICF0aGlzLmlzQ29sbGFwc2VkKSB7XG4gICAgaWYgKCF0aGlzLmhhc1ZpZXdDaGVja2VkKSB7ICAgICAgXG4gICAgICB0aGlzLmhhc1ZpZXdDaGVja2VkID0gdHJ1ZTsgLy8gU2V0IHRoZSBmbGFnIHRvIHByZXZlbnQgcmVwZWF0ZWQgZXhlY3V0aW9uXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7IC8vIFRyaWdnZXIgY2hhbmdlIGRldGVjdGlvbiAgICBcbiAgICAgIHNldFRpbWVvdXQoKCk9PntcbiAgICAgICAgdGhpcy5sYXlvdXRNYW5hZ2VyU2VydmljZS5jaGVja1Bvc2l0aW9uKHRoaXMuY29tcG9uZW50SWQsJy5mbG9hdGluZy1wYW5lbC52aXNpYmxlJyx1bmRlZmluZWQsMCwwLHRydWUpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIC8vICNlbmRyZWdpb25cbn1cbiIsIjxsaWItYmltcGx1cy1mbG9hdGluZy1iYXJcbiAgaWQ9XCJwcm9qZWN0LW5hdmlnYXRvci1mcC1pZFwiXG4gIFtpZF0gPSBcImNvbXBvbmVudElkXCJcbiAgY2xhc3M9XCJwcm9qZWN0LW5hdmlnYXRvci1mcCBmbG9hdGluZy1wYW5lbFwiXG4gIFtzZWxlY3RlZExhbmd1YWdlXT1cInNlbGVjdGVkTGFuZ3VhZ2VcIlxuICBbbG9jYWxpemVkU3RyaW5nc109XCJsb2NhbGl6ZWRTdHJpbmdzXCJcbiAgW25vQm9keV09XCJub0JvZHlcIiAgXG4gIFtyZXNpemVFbmFibGVkXT1cInRydWVcIlxuICBbaXNWaXNpYmxlXT1cInRydWVcIiAgICAgIFxuPlxuICA8bGliLWJpbXBsdXMtZmxvYXRpbmctYmFyLWhlYWRlci1sb2dvXG4gICAgY2xhc3M9XCJmbG9hdGluZy1iYXItaGVhZGVyLWxvZ29cIlxuICAgIFtwYXJlbnRJZF0gPSBcImNvbXBvbmVudElkXCJcbiAgICBbc2VsZWN0ZWRMYW5ndWFnZV09XCJzZWxlY3RlZExhbmd1YWdlXCJcbiAgICBbbG9jYWxpemVkU3RyaW5nc109XCJsb2NhbGl6ZWRTdHJpbmdzXCJcbiAgICBbaWNvbl09XCJpY29uXCJcbiAgICBbdGl0bGVdPVwidGl0bGVcIiAgICBcbiAgPlxuICA8L2xpYi1iaW1wbHVzLWZsb2F0aW5nLWJhci1oZWFkZXItbG9nbz5cblxuICA8bGliLWJpbXBsdXMtZmxvYXRpbmctYmFyLWhlYWRlci1jb250ZW50XG4gICAgY2xhc3M9XCJmbG9hdGluZy1iYXItaGVhZGVyLWNvbnRlbnRcIlxuICAgIFtzZWxlY3RlZExhbmd1YWdlXT1cInNlbGVjdGVkTGFuZ3VhZ2VcIlxuICAgIFtsb2NhbGl6ZWRTdHJpbmdzXT1cImxvY2FsaXplZFN0cmluZ3NcIlxuICAgIFtpdGVtc109XCJpdGVtc1wiXG4gICAgKGFjdGlvbkNsaWNrZWQpPVwiYWN0aW9uQ2xpY2tlZC5lbWl0KCRldmVudClcIiAgICBcbiAgICBbcGFyZW50SWRdID0gXCJjb21wb25lbnRJZFwiXG4gID5cbiAgPC9saWItYmltcGx1cy1mbG9hdGluZy1iYXItaGVhZGVyLWNvbnRlbnQ+XG5cbiAgPGxpYi1iaW1wbHVzLWZsb2F0aW5nLWJhci1kcmFnZ2VyXG4gICAgY2xhc3M9XCJmbG9hdGluZy1iYXItZHJhZ2dlclwiXG4gICAgW3BhcmVudElkXSA9IFwiY29tcG9uZW50SWRcIlxuICA+XG4gIDwvbGliLWJpbXBsdXMtZmxvYXRpbmctYmFyLWRyYWdnZXI+XG5cbiAgPGxpYi1iaW1wbHVzLWZsb2F0aW5nLWJhci1ib2R5XG4gICAgY2xhc3M9XCJmbG9hdGluZy1iYXItYm9keVwiXG4gICAgW3BhcmVudElkXSA9IFwiY29tcG9uZW50SWRcIlxuICA+XG4gICAgPGxpYi1iaW1wbHVzLXBhbmVsLXRvb2xiYXJcbiAgICAgIFtpc1BhbmVsVG9vbGJhclZpc2libGVdPVwiaXNQYW5lbFRvb2xiYXJWaXNpYmxlXCJcbiAgICA+PC9saWItYmltcGx1cy1wYW5lbC10b29sYmFyPlxuXG4gICAgQGlmKGlzTG9hZGluZyAmJiBsb2FkaW5nRGF0YU1lc3NhZ2Upe1xuICAgICAgICA8c3BhbiBjbGFzcz1cImlubGluZS1tZXNzYWdlXCIgW2lubmVySHRtbF09XCJsb2FkaW5nRGF0YU1lc3NhZ2UgfCB0cmFuc2xhdGVcIj48L3NwYW4+XG4gICAgfVxuICAgIEBlbHNleyBcbiAgICBAaWYocHJvamVjdC5tb2RlbHMubGVuZ3RoID09PSAwICYmIG5vTW9kZWxzTWVzc2FnZSl7XG4gICAgICA8c3BhbiBjbGFzcz1cImlubGluZS1tZXNzYWdlXCIgW2lubmVySHRtbF09XCJub01vZGVsc01lc3NhZ2UgfCB0cmFuc2xhdGVcIj48L3NwYW4+XG4gICAgfUBlbHNle1xuICAgICAgPGxpYi1iaW1wbHVzLXNjcm9sbGFibGUtY29udGFpbmVyPlxuICAgICAgICA8bGliLXByb2plY3QtbW9kZWxzXG4gICAgICAgICAgW3NlbGVjdGVkTGFuZ3VhZ2VdPVwic2VsZWN0ZWRMYW5ndWFnZVwiXG4gICAgICAgICAgW2xvY2FsaXplZFN0cmluZ3NdPVwibG9jYWxpemVkU3RyaW5nc1wiXG4gICAgICAgICAgW21vZGVsc109XCJwcm9qZWN0Lm1vZGVsc1wiXG4gICAgICAgICAgW21vZGVsVHJlZVJvb3RUaXRsZV09XCJwcm9qZWN0Lm5hbWUgKyAnIC0gJyArIHByb2plY3QudGVhbVNsdWdcIlxuICAgICAgICAgIFtleHBhbmRlZE1vZGVsVHJlZV09XCJleHBhbmRlZE1vZGVsVHJlZVwiXG4gICAgICAgICAgKGNsaWNrZWRNb2RlbCk9XCJjbGlja2VkTW9kZWwuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAoY2xpY2tlZExheWVyKT1cImNsaWNrZWRMYXllci5lbWl0KCRldmVudClcIlxuICAgICAgICAgICh0b2dnbGVPcGFjaXR5T2ZNb2RlbCk9XCJ0b2dnbGVPcGFjaXR5T2ZNb2RlbC5lbWl0KCRldmVudClcIlxuICAgICAgICAgICh0b2dnbGVPcGFjaXR5T2ZMYXllcik9XCJ0b2dnbGVPcGFjaXR5T2ZMYXllci5lbWl0KCRldmVudClcIlxuICAgICAgICAgICh0b2dnbGVWaXNpYmlsaXR5T2ZNb2RlbCk9XCJ0b2dnbGVWaXNpYmlsaXR5T2ZNb2RlbC5lbWl0KCRldmVudClcIlxuICAgICAgICAgICh0b2dnbGVWaXNpYmlsaXR5T2ZMYXllcik9XCJ0b2dnbGVWaXNpYmlsaXR5T2ZMYXllci5lbWl0KCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvbGliLXByb2plY3QtbW9kZWxzPlxuICAgICAgPC9saWItYmltcGx1cy1zY3JvbGxhYmxlLWNvbnRhaW5lcj5cbiAgICB9XG4gIH1cbiAgPC9saWItYmltcGx1cy1mbG9hdGluZy1iYXItYm9keT5cbjwvbGliLWJpbXBsdXMtZmxvYXRpbmctYmFyPlxuIl19
|