@eui/showcase 15.0.0-rc.10 → 15.0.0-rc.12
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/esm2020/lib/components/doc-page/doc-page.component.mjs +8 -3
- package/esm2020/lib/components/doc-page-pattern/doc-page-pattern.component.mjs +5 -5
- package/esm2020/lib/components/doc-sample/doc-sample.component.mjs +6 -3
- package/esm2020/lib/components/playground/playground.component.mjs +1 -1
- package/fesm2015/eui-showcase.mjs +16 -8
- package/fesm2015/eui-showcase.mjs.map +1 -1
- package/fesm2020/eui-showcase.mjs +16 -8
- package/fesm2020/eui-showcase.mjs.map +1 -1
- package/lib/components/doc-page/doc-page.component.d.ts.map +1 -1
- package/lib/components/doc-page-pattern/doc-page-pattern.component.d.ts +2 -2
- package/lib/components/doc-page-pattern/doc-page-pattern.component.d.ts.map +1 -1
- package/lib/components/doc-sample/doc-sample.component.d.ts +2 -1
- package/lib/components/doc-sample/doc-sample.component.d.ts.map +1 -1
- package/lib/components/playground/playground.component.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -28,7 +28,7 @@ export class DocPagePatternComponent extends BaseDirective {
|
|
|
28
28
|
constructor(sanitizer) {
|
|
29
29
|
super();
|
|
30
30
|
this.sanitizer = sanitizer;
|
|
31
|
-
this.
|
|
31
|
+
this.docEntries = [];
|
|
32
32
|
this.dos = [];
|
|
33
33
|
this.donts = [];
|
|
34
34
|
}
|
|
@@ -45,10 +45,10 @@ export class DocPagePatternComponent extends BaseDirective {
|
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
/** @nocollapse */ DocPagePatternComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: DocPagePatternComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
-
/** @nocollapse */ DocPagePatternComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: DocPagePatternComponent, selector: "eui-showcase-doc-page-pattern", inputs: { id: "id", label: "label", anatomyImage: "anatomyImage", anatomyRefs: "anatomyRefs", dos: "dos", donts: "donts", sourceUrl: "sourceUrl", figmaUrl: "figmaUrl", figmaEmbedSrc: "figmaEmbedSrc" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "sampleContent", first: true, predicate: i0.forwardRef(function () { return DocPagePatternSampleDirective; }), descendants: true }, { propertyName: "docContent", first: true, predicate: i0.forwardRef(function () { return DocPagePatternDocDirective; }), descendants: true }], usesInheritance: true, ngImport: i0, template: "<eui-tabs>\n <eui-tab>\n <euiTabLabel>\n Usage and documentation\n </euiTabLabel>\n <euiTabContent>\n <h2 class=\"eui-u-color-primary-100\">{{label}}</h2>\n\n <h3>Information</h3>\n <ng-content select=\"docPagePatternDoc\"></ng-content>\n\n <h3 class=\"mt-5\">Anatomy</h3>\n <ng-container *ngIf=\"figmaEmbedSrc; else screenshot\">\n <iframe id=\"iframe-figma\" style=\"border: 1px solid rgba(0, 0, 0, 0.1);\" width=\"100%\" height=\"650\" [src]=\"urlSafe\"></iframe>\n </ng-container>\n <ng-template #screenshot>\n <img src=\"assets/images/design-system/{{anatomyImage}}.png\" width=\"60%\"/>\n </ng-template>\n\n <ng-container *ngIf=\"anatomyRefs.length !== 0\">\n <h3 class=\"mt-5\">Ananomy references</h3>\n <table class=\"eui-table-default\">\n <tr *ngFor=\"let ref of anatomyRefs\">\n <td><eui-badge>{{ref.id}}</eui-badge></td>\n <td>{{ref.description}}</td>\n </tr>\n </table>\n </ng-container>\n\n <ng-container *ngIf=\"dos.length !== 0\">\n <h3 class=\"mt-5 eui-u-color-success-100\">Do's</h3>\n <table class=\"eui-table-default\">\n <tr *ngFor=\"let ref of dos\">\n <td>{{ref.description}}</td>\n </tr>\n </table>\n </ng-container>\n\n <ng-container *ngIf=\"donts.length !== 0\">\n <h3 class=\"mt-5 eui-u-color-danger-100\">Dont's</h3>\n <table class=\"eui-table-default\">\n <tr *ngFor=\"let ref of donts\">\n <td>{{ref.description}}</td>\n </tr>\n </table>\n </ng-container>\n\n <h3 class=\"mt-5\">Figma resource</h3>\n <eui-card>\n <eui-card-header>\n <eui-card-header-left-content>\n <img width=\"32\" height=\"32\" alt=\"Figma Logo\" src=\"data:image/png;base64,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\">\n </eui-card-header-left-content>\n <eui-card-header-title>\n <a class=\"h5 eui-u-text-link-external\" href=\"https://www.figma.com/file/E2mR8Kd0cmoVkiwpRUzHJL/{{figmaUrl}}\" target=\"blank\"><span class=\"eui-u-color-grey-75\">Layout component /</span> {{label}}</a>\n </eui-card-header-title>\n </eui-card-header>\n </eui-card>\n </euiTabContent>\n </eui-tab>\n <eui-tab>\n <euiTabLabel>\n Pattern sample\n </euiTabLabel>\n <euiTabContent>\n <ng-content select=\"docPagePatternSample\"></ng-content>\n </euiTabContent>\n </eui-tab>\n</eui-tabs>\n\n<eui-showcase-doc-page-code-fab codeFolder=\"{{sourceUrl}}\"></eui-showcase-doc-page-code-fab>\n", styles: [".doc-page-pattern{display:flex;flex-direction:column;flex:1 1 auto;min-height:100%;padding:1.5rem;background-color:#f0f0f0}.doc-page-pattern sample,.doc-page-pattern eui-tabs,.doc-page-pattern .eui-tabs,.doc-page-pattern .eui-tab-content-wrapper,.doc-page-pattern .eui-tab-content{display:flex;flex-direction:column;flex:1 1 auto;min-height:100%;background-color:var(--eui-app-main-bg-color)}.doc-page-pattern .eui-tabs .eui-tabs__items{background-color:#f0f0f0}.doc-page-pattern .eui-tabs .eui-tab-item--active,.doc-page-pattern .eui-tabs .eui-tab-item:focus{background-color:#fff}.doc-page-pattern .eui-tabs .eui-tab-content-wrapper .eui-tab-content{padding:1rem}.doc-page-pattern docPagePatternSample{display:flex;flex-direction:column;flex-grow:1;min-height:0;position:relative;width:100%;background-color:var(--eui-app-main-bg-color)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.EuiCardComponent, selector: "eui-card", inputs: ["e2eAttr", "euiSelected", "euiCollapsible", "euiCollapsed", "euiUrgent", "euiNoShadow", "euiNoContentPadding", "euiHoverable"], outputs: ["onCollapsed", "collapse"] }, { kind: "component", type: i3.EuiCardHeaderComponent, selector: "eui-card-header", inputs: ["avatarUrl", "expandLabel", "collapseLabel", "iconClass", "avatarDerscription", "iconDescription", "isHeaderBodyOnly", "hasHeaderClickToggle", "hasBottomExpander", "hasFullTitle", "isHeaderMultilines"], outputs: ["collapse"] }, { kind: "component", type: i3.EuiCardHeaderTitleComponent, selector: "eui-card-header-title" }, { kind: "component", type: i3.EuiCardHeaderLeftContentComponent, selector: "eui-card-header-left-content" }, { kind: "component", type: i4.EuiTabsComponent, selector: "eui-tabs", inputs: ["styleClass", "tabs", "activeTabIndex", "e2eAttr", "pathMatch", "isMainNavigation", "isSubTabs", "isVerticalTabs"], outputs: ["tabClosed", "tabSelected", "tabClose", "tabSelect"] }, { kind: "component", type: i4.EuiTabComponent, selector: "eui-tab", inputs: ["url", "e2eAttr", "tooltip", "isClosable", "isVisible", "isActive", "isDisabled", "hasBackgroundFilled", "isHandleCloseOnClose"] }, { kind: "component", type: i4.EuiTabLabelComponent, selector: "eui-tab-label, euiTabLabel" }, { kind: "component", type: i4.EuiTabContentComponent, selector: "eui-tab-content, euiTabContent", inputs: ["hasNoContentPadding"] }, { kind: "component", type: i5.EuiBadgeComponent, selector: "div[euiBadge], span[euiBadge], eui-badge", inputs: ["aria-label"] }, { kind: "component", type: i6.DocPageCodeFabComponent, selector: "eui-showcase-doc-page-code-fab", inputs: ["codeFolder", "showcase"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
48
|
+
/** @nocollapse */ DocPagePatternComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: DocPagePatternComponent, selector: "eui-showcase-doc-page-pattern", inputs: { id: "id", label: "label", anatomyImage: "anatomyImage", docEntries: "docEntries", dos: "dos", donts: "donts", sourceUrl: "sourceUrl", figmaUrl: "figmaUrl", figmaEmbedSrc: "figmaEmbedSrc" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "sampleContent", first: true, predicate: i0.forwardRef(function () { return DocPagePatternSampleDirective; }), descendants: true }, { propertyName: "docContent", first: true, predicate: i0.forwardRef(function () { return DocPagePatternDocDirective; }), descendants: true }], usesInheritance: true, ngImport: i0, template: "<eui-tabs>\n <eui-tab>\n <euiTabLabel>\n Usage and documentation\n </euiTabLabel>\n <euiTabContent>\n <h2 class=\"eui-u-color-primary-100\">{{label}}</h2>\n\n <h3>Information</h3>\n <ng-content select=\"docPagePatternDoc\"></ng-content>\n\n <ng-container *ngIf=\"figmaEmbedSrc; else screenshot\">\n <h3 class=\"mt-5\">Figma design anatomy</h3>\n <iframe id=\"iframe-figma\" style=\"border: 1px solid rgba(0, 0, 0, 0.1);\" width=\"100%\" height=\"650\" [src]=\"urlSafe\"></iframe>\n </ng-container>\n <ng-template #screenshot>\n <ng-container *ngIf=\"figmaUrl !== 'PENDING_DS'\">\n <h3 class=\"mt-5\">Anatomy</h3>\n <img src=\"assets/images/design-system/{{anatomyImage}}.png\" width=\"60%\"/>\n </ng-container>\n </ng-template>\n\n\n <ng-container *ngIf=\"docEntries.length !== 0\">\n <h3 class=\"mt-5\">Design system references</h3>\n <table class=\"eui-table-default\">\n <tr *ngFor=\"let ref of docEntries\">\n <td><eui-badge>{{ref.id}}</eui-badge></td>\n <td><strong>{{ref.name}}</strong></td>\n <td>\n <div class=\"mb-2\"><strong>Description</strong></div>\n <div class=\"mb-3\">{{ref.description}}</div>\n <ng-container *ngIf=\"ref.dos && ref.dos.length !== 0\">\n <div class=\"mb-2\"><strong class=\"eui-u-color-success\">Do's</strong></div>\n <ul><li *ngFor=\"let do of ref.dos\">{{do}}</li></ul>\n </ng-container>\n <ng-container *ngIf=\"ref.donts && ref.donts.length !== 0\">\n <div class=\"mb-2\"><strong class=\"eui-u-color-danger\">Dont's</strong></div>\n <ul><li *ngFor=\"let dont of ref.donts\">{{dont}}</li></ul>\n </ng-container>\n <ng-container *ngIf=\"ref.whenToUse\">\n <div><strong class=\"eui-u-color-primary\">When to use</strong></div>\n <div class=\"mb-2\">{{ref.whenToUse}}</div>\n </ng-container>\n <ng-container *ngIf=\"ref.whenNotToUse\">\n <div><strong class=\"eui-u-color-warning\">When not to use</strong></div>\n <div class=\"mb-2\">{{ref.whenNotToUse}}</div>\n </ng-container>\n </td>\n </tr>\n </table>\n </ng-container>\n\n <ng-container *ngIf=\"dos.length !== 0\">\n <h3 class=\"mt-5 eui-u-color-success-100\">Do's</h3>\n <table class=\"eui-table-default\">\n <tr *ngFor=\"let ref of dos\">\n <td>{{ref.description}}</td>\n </tr>\n </table>\n </ng-container>\n\n <ng-container *ngIf=\"donts.length !== 0\">\n <h3 class=\"mt-5 eui-u-color-danger-100\">Dont's</h3>\n <table class=\"eui-table-default\">\n <tr *ngFor=\"let ref of donts\">\n <td>{{ref.description}}</td>\n </tr>\n </table>\n </ng-container>\n\n <h3 class=\"mt-5\">Figma resource</h3>\n <ng-container *ngIf=\"figmaUrl === 'PENDING_DS'; else figmaOK\">\n Pending Design system publication...will be available in a future release\n </ng-container>\n <ng-template #figmaOK>\n <eui-card>\n <eui-card-header>\n <eui-card-header-left-content>\n <img width=\"32\" height=\"32\" alt=\"Figma Logo\" src=\"data:image/png;base64,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\">\n </eui-card-header-left-content>\n <eui-card-header-title>\n <a class=\"h5 eui-u-text-link-external\" href=\"https://www.figma.com/file/E2mR8Kd0cmoVkiwpRUzHJL/{{figmaUrl}}\" target=\"blank\"><span class=\"eui-u-color-grey-75\">Layout component /</span> {{label}}</a>\n </eui-card-header-title>\n </eui-card-header>\n </eui-card>\n </ng-template>\n </euiTabContent>\n </eui-tab>\n <eui-tab>\n <euiTabLabel>\n Pattern sample\n </euiTabLabel>\n <euiTabContent>\n <ng-content select=\"docPagePatternSample\"></ng-content>\n </euiTabContent>\n </eui-tab>\n</eui-tabs>\n\n<eui-showcase-doc-page-code-fab codeFolder=\"{{sourceUrl}}\"></eui-showcase-doc-page-code-fab>\n", styles: [".doc-page-pattern{display:flex;flex-direction:column;flex:1 1 auto;min-height:100%;padding:1.5rem;background-color:#f0f0f0}.doc-page-pattern sample,.doc-page-pattern eui-tabs,.doc-page-pattern .eui-tabs,.doc-page-pattern .eui-tab-content-wrapper,.doc-page-pattern .eui-tab-content{display:flex;flex-direction:column;flex:1 1 auto;min-height:100%;background-color:var(--eui-app-main-bg-color)}.doc-page-pattern .eui-tabs .eui-tabs__items{background-color:#f0f0f0}.doc-page-pattern .eui-tabs .eui-tab-item--active,.doc-page-pattern .eui-tabs .eui-tab-item:focus{background-color:#fff}.doc-page-pattern .eui-tabs .eui-tab-content-wrapper .eui-tab-content{padding:1rem}.doc-page-pattern docPagePatternSample{display:flex;flex-direction:column;flex-grow:1;min-height:0;position:relative;width:100%;background-color:var(--eui-app-main-bg-color)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.EuiCardComponent, selector: "eui-card", inputs: ["e2eAttr", "euiSelected", "euiCollapsible", "euiCollapsed", "euiUrgent", "euiNoShadow", "euiNoContentPadding", "euiHoverable"], outputs: ["onCollapsed", "collapse"] }, { kind: "component", type: i3.EuiCardHeaderComponent, selector: "eui-card-header", inputs: ["avatarUrl", "expandLabel", "collapseLabel", "iconClass", "avatarDerscription", "iconDescription", "isHeaderBodyOnly", "hasHeaderClickToggle", "hasBottomExpander", "hasFullTitle", "isHeaderMultilines"], outputs: ["collapse"] }, { kind: "component", type: i3.EuiCardHeaderTitleComponent, selector: "eui-card-header-title" }, { kind: "component", type: i3.EuiCardHeaderLeftContentComponent, selector: "eui-card-header-left-content" }, { kind: "component", type: i4.EuiTabsComponent, selector: "eui-tabs", inputs: ["styleClass", "tabs", "activeTabIndex", "e2eAttr", "pathMatch", "isMainNavigation", "isSubTabs", "isVerticalTabs"], outputs: ["tabClosed", "tabSelected", "tabClose", "tabSelect"] }, { kind: "component", type: i4.EuiTabComponent, selector: "eui-tab", inputs: ["url", "e2eAttr", "tooltip", "isClosable", "isVisible", "isActive", "isDisabled", "hasBackgroundFilled", "isHandleCloseOnClose"] }, { kind: "component", type: i4.EuiTabLabelComponent, selector: "eui-tab-label, euiTabLabel" }, { kind: "component", type: i4.EuiTabContentComponent, selector: "eui-tab-content, euiTabContent", inputs: ["hasNoContentPadding"] }, { kind: "component", type: i5.EuiBadgeComponent, selector: "div[euiBadge], span[euiBadge], eui-badge", inputs: ["aria-label"] }, { kind: "component", type: i6.DocPageCodeFabComponent, selector: "eui-showcase-doc-page-code-fab", inputs: ["codeFolder", "showcase"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
49
49
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: DocPagePatternComponent, decorators: [{
|
|
50
50
|
type: Component,
|
|
51
|
-
args: [{ selector: 'eui-showcase-doc-page-pattern', encapsulation: ViewEncapsulation.None, template: "<eui-tabs>\n <eui-tab>\n <euiTabLabel>\n Usage and documentation\n </euiTabLabel>\n <euiTabContent>\n <h2 class=\"eui-u-color-primary-100\">{{label}}</h2>\n\n <h3>Information</h3>\n <ng-content select=\"docPagePatternDoc\"></ng-content>\n\n <
|
|
51
|
+
args: [{ selector: 'eui-showcase-doc-page-pattern', encapsulation: ViewEncapsulation.None, template: "<eui-tabs>\n <eui-tab>\n <euiTabLabel>\n Usage and documentation\n </euiTabLabel>\n <euiTabContent>\n <h2 class=\"eui-u-color-primary-100\">{{label}}</h2>\n\n <h3>Information</h3>\n <ng-content select=\"docPagePatternDoc\"></ng-content>\n\n <ng-container *ngIf=\"figmaEmbedSrc; else screenshot\">\n <h3 class=\"mt-5\">Figma design anatomy</h3>\n <iframe id=\"iframe-figma\" style=\"border: 1px solid rgba(0, 0, 0, 0.1);\" width=\"100%\" height=\"650\" [src]=\"urlSafe\"></iframe>\n </ng-container>\n <ng-template #screenshot>\n <ng-container *ngIf=\"figmaUrl !== 'PENDING_DS'\">\n <h3 class=\"mt-5\">Anatomy</h3>\n <img src=\"assets/images/design-system/{{anatomyImage}}.png\" width=\"60%\"/>\n </ng-container>\n </ng-template>\n\n\n <ng-container *ngIf=\"docEntries.length !== 0\">\n <h3 class=\"mt-5\">Design system references</h3>\n <table class=\"eui-table-default\">\n <tr *ngFor=\"let ref of docEntries\">\n <td><eui-badge>{{ref.id}}</eui-badge></td>\n <td><strong>{{ref.name}}</strong></td>\n <td>\n <div class=\"mb-2\"><strong>Description</strong></div>\n <div class=\"mb-3\">{{ref.description}}</div>\n <ng-container *ngIf=\"ref.dos && ref.dos.length !== 0\">\n <div class=\"mb-2\"><strong class=\"eui-u-color-success\">Do's</strong></div>\n <ul><li *ngFor=\"let do of ref.dos\">{{do}}</li></ul>\n </ng-container>\n <ng-container *ngIf=\"ref.donts && ref.donts.length !== 0\">\n <div class=\"mb-2\"><strong class=\"eui-u-color-danger\">Dont's</strong></div>\n <ul><li *ngFor=\"let dont of ref.donts\">{{dont}}</li></ul>\n </ng-container>\n <ng-container *ngIf=\"ref.whenToUse\">\n <div><strong class=\"eui-u-color-primary\">When to use</strong></div>\n <div class=\"mb-2\">{{ref.whenToUse}}</div>\n </ng-container>\n <ng-container *ngIf=\"ref.whenNotToUse\">\n <div><strong class=\"eui-u-color-warning\">When not to use</strong></div>\n <div class=\"mb-2\">{{ref.whenNotToUse}}</div>\n </ng-container>\n </td>\n </tr>\n </table>\n </ng-container>\n\n <ng-container *ngIf=\"dos.length !== 0\">\n <h3 class=\"mt-5 eui-u-color-success-100\">Do's</h3>\n <table class=\"eui-table-default\">\n <tr *ngFor=\"let ref of dos\">\n <td>{{ref.description}}</td>\n </tr>\n </table>\n </ng-container>\n\n <ng-container *ngIf=\"donts.length !== 0\">\n <h3 class=\"mt-5 eui-u-color-danger-100\">Dont's</h3>\n <table class=\"eui-table-default\">\n <tr *ngFor=\"let ref of donts\">\n <td>{{ref.description}}</td>\n </tr>\n </table>\n </ng-container>\n\n <h3 class=\"mt-5\">Figma resource</h3>\n <ng-container *ngIf=\"figmaUrl === 'PENDING_DS'; else figmaOK\">\n Pending Design system publication...will be available in a future release\n </ng-container>\n <ng-template #figmaOK>\n <eui-card>\n <eui-card-header>\n <eui-card-header-left-content>\n <img width=\"32\" height=\"32\" alt=\"Figma Logo\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOEAAADhCAMAAAAJbSJIAAABL1BMVEX/////cmLyTh6iWf8Kz4MavP7yTBr5YUWeUP8AzX3UuP//bVwAt/6jV///rKTyRgr2TwCxX+kA032m6Mf3m4uabPb/aVf/8O8AzHmbSf/xPAD/a1rxQgDyShaaR/8Avv74pJP/urP/6Ob/ZVLQ7//839n5tqj/xL7/b1f/9O/59f/r3v+65/9jzP6yef/p+P+u4//Mqv/iz//cxf/I7P/fvf+U2v71/fqO5LzW9ed74LIp043/y8b4rJz0dln/i3/zXTX2jnf/19P/emv0bEv/p5//l4zzWCz2h270dVf4g2D2Whzt5v+6hfuzbfCuWOjE2+6nz+6BxO5lu+5o1v9Nx/7BlP930v63rf+UoP90lP7n1v/Prv/iwf/Onf+hefiWZPZi36O07dLf9+2A4bX7S8Q6AAAGG0lEQVR4nO2aeVcaZxSHZ6JYhsHYFjsig3UhaHG3RkHBxMRE2zR2M5SuaUW//2cow4CgwMz7uzl65x3v8/+cM8+5y7tdwxAEQRAEQRAEQRAEQRAEQRAEQRCEiFJcOVqYDuDt0wAWV2pFboFAikcv8rl8fiqA/LE9Gtd1Hcd5ubjELTKC5eNcfu5JCBOfmWHYrnOyWOK2GWQhn58I01Mz9HDdp9xCd6g9UfJTNmw5mjVuqX5e5dT8AEPTLJxya92wdJZX9IMMTduMSMsphvcXmqFpOq+55TxeK2cobmgWIqBYhARRQ7PAvgOYmYIEYUPTmWE2PAZqkGRon/AKTqt3UaKh6b7lFCzmQEGCIW8pvgFzlGRov+QTrMEhpBhyrop4CEmGfEHEq5BmaBa4dm+vph7I0OZqp3PYYk83NE0eQUqSEg0dngXjCF3t6YbuIovhO7yTUg1tnsPwGaEMqXXIszmllCHVsMAhOPOghhxnKFIrpRo6HGu+GOpvuBT7OizFvpcalC0N1ZBnY0o4HZL3NDwnxGnC4YlqyHN8Wnm4nbfD8w5FajVEQ6YHU0oh0s74XBc1y4Q0JRkyJWkLxXffT48hlyClm1IMGd/0S3iakm6E2QQpVzUEQ4fnkqbDGdpOCYa8z2vwEQo3ZLvw7nAEKuJvwKw56vEdVoqoocP6PurzPaQIGrqRmBqCFMF5mkgIthIVqEXIsBCBFPVZzikvGoCh7axwi/VYOlbdoqobOicRmWrrsKw2Xqps6NoRCqBPaSGvMsGnZGg7NvsqOJTai1xuam4iMJahhrbr2KcRmNcbQam28O6HzwM584bVB/nGxzRPF9ln9YJ5v7tz/uMXo/lprzRzl1Jp5udffr24uKjXP3zYfsatEMDq3mZyNpmcHAsgmRr4bGu/nkgnuqTTifr2FsPfh7N2PhssN9xwvd6z61luRC+Sa5uz4XqDhuvzg36+ZD1icfxNze+O4daQ+PUcG2w2g6yNJdX8bhuuB/h5ionIpGpKNYC3DRvBgp7jNqNVHztfK/v1G26ECrYU9znFuuzMAoI9QxXBaCimkAj2DMNTNCqJ+i0UwRvDfUXBliJzu1lVbqK3DJ8pC7bgNdxU76L9hoBfIrHBKbgL5mjHUD1H23n6nNFwEg1h23ALEkwk5vkEU2gV+oYNTJCzn47BIfQM0RAyBhFdKTqG+6ggXyWe4yH0DOdhwwTTMQNeC31DaC3swmNISdKx5B6epGxp+pEUw706wTDBswGH9zNtwxShDLn2NQS/luHvJEOe9QI7NnUN/yAZpjkE31MazdjknzRDjpu3+BuuPaghxzk4/jGMv6FBMtSplz6C9TD+e5qd2O9L/3rAswXTpWnsz4fxP+M/gnua+N+1Ue9LN9AQMr4/4UGk3Hlzvs3gldh+t1B9POyEkPPdwjinva5BEWR9e3oE74fwxka7N2DyO77aoEIU3vEfwSyGYfx9j/M0EYigx+69zUStM1rd4p7m2uajNJ4Y99lE4xHMlxrejHDIAPQwQ41mhD1WU/6cdxDD57zT6XTPLrJz3j5r/3w8//er0fy3O+yrref7jbrHRiPSs/qGUW5WLr8MJsP9j59C89JqMR6Ipa9huRJqp7dhRkVPY8OrqpqftoYZVT9dDS+zyoJ6Gl6qR1BPQ0hQR8NDSFBDwwpQg1oaHoCC+hlWQUHtDCtYEepnWIYFdTO8jrshIYSaGQLbUU0N4UaqmyElSfUybMbeENyRamhIKUO9DCkh1MqwjG66tTO8ir0hfHASw8gR/ywlGja5/xuAZnjA/dsAtBX/ivu3AbCL0q4h918j4Jc0LcFL7r9GoCwXVoX7ryFwwfGsTo2GdHyqcv8zBp6mOq33bfAb7zL3L4M00WeZQ+4/hgGDqF0I0UrUbKnwge71NWukHZTHTDTbkva4UjbM6nRu6ke1FLM6FqGP2pKhsaBaFLUWbNXieFgxaluDXcrBc19WVc8ueovm6DBammfoDZXhA6ZW9lC/rdoIyplq9o6kZVmHMUjQPg4qVStrdclWD3VvMEM5aGYq19fXleZBbLJTEARBEARBEARBEARBEARBEARBEHz+B91xJIzYVK0AAAAAAElFTkSuQmCC\">\n </eui-card-header-left-content>\n <eui-card-header-title>\n <a class=\"h5 eui-u-text-link-external\" href=\"https://www.figma.com/file/E2mR8Kd0cmoVkiwpRUzHJL/{{figmaUrl}}\" target=\"blank\"><span class=\"eui-u-color-grey-75\">Layout component /</span> {{label}}</a>\n </eui-card-header-title>\n </eui-card-header>\n </eui-card>\n </ng-template>\n </euiTabContent>\n </eui-tab>\n <eui-tab>\n <euiTabLabel>\n Pattern sample\n </euiTabLabel>\n <euiTabContent>\n <ng-content select=\"docPagePatternSample\"></ng-content>\n </euiTabContent>\n </eui-tab>\n</eui-tabs>\n\n<eui-showcase-doc-page-code-fab codeFolder=\"{{sourceUrl}}\"></eui-showcase-doc-page-code-fab>\n", styles: [".doc-page-pattern{display:flex;flex-direction:column;flex:1 1 auto;min-height:100%;padding:1.5rem;background-color:#f0f0f0}.doc-page-pattern sample,.doc-page-pattern eui-tabs,.doc-page-pattern .eui-tabs,.doc-page-pattern .eui-tab-content-wrapper,.doc-page-pattern .eui-tab-content{display:flex;flex-direction:column;flex:1 1 auto;min-height:100%;background-color:var(--eui-app-main-bg-color)}.doc-page-pattern .eui-tabs .eui-tabs__items{background-color:#f0f0f0}.doc-page-pattern .eui-tabs .eui-tab-item--active,.doc-page-pattern .eui-tabs .eui-tab-item:focus{background-color:#fff}.doc-page-pattern .eui-tabs .eui-tab-content-wrapper .eui-tab-content{padding:1rem}.doc-page-pattern docPagePatternSample{display:flex;flex-direction:column;flex-grow:1;min-height:0;position:relative;width:100%;background-color:var(--eui-app-main-bg-color)}\n"] }]
|
|
52
52
|
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; }, propDecorators: { cssClasses: [{
|
|
53
53
|
type: HostBinding,
|
|
54
54
|
args: ['class']
|
|
@@ -64,7 +64,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
|
|
|
64
64
|
type: Input
|
|
65
65
|
}], anatomyImage: [{
|
|
66
66
|
type: Input
|
|
67
|
-
}],
|
|
67
|
+
}], docEntries: [{
|
|
68
68
|
type: Input
|
|
69
69
|
}], dos: [{
|
|
70
70
|
type: Input
|
|
@@ -77,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
|
|
|
77
77
|
}], figmaEmbedSrc: [{
|
|
78
78
|
type: Input
|
|
79
79
|
}] } });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jLXBhZ2UtcGF0dGVybi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZG9jLXBhZ2UtcGF0dGVybi9kb2MtcGFnZS1wYXR0ZXJuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kb2MtcGFnZS1wYXR0ZXJuL2RvYy1wYWdlLXBhdHRlcm4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRWpJLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7QUFFdkQsb0JBQW9CO0FBRXBCLE1BQU0sT0FBTyw2QkFBNkI7OzZJQUE3Qiw2QkFBNkI7aUlBQTdCLDZCQUE2QjsyRkFBN0IsNkJBQTZCO2tCQUR6QyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFOztBQUcvQyxNQUFNLE9BQU8sMEJBQTBCOzswSUFBMUIsMEJBQTBCOzhIQUExQiwwQkFBMEI7MkZBQTFCLDBCQUEwQjtrQkFEdEMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRTs7QUFTNUMsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGFBQWE7SUF5QnRELFlBQW1CLFNBQXVCO1FBQ3RDLEtBQUssRUFBRSxDQUFDO1FBRE8sY0FBUyxHQUFULFNBQVMsQ0FBYztRQVRqQyxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixRQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ1QsVUFBSyxHQUFHLEVBQUUsQ0FBQztJQVNwQixDQUFDO0lBMUJELElBQ0ksVUFBVTtRQUNWLE9BQU87WUFDSCxLQUFLLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDO1NBQzFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUF1QkQsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsOEJBQThCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ2pGLE1BQU0sTUFBTSxHQUF5QyxRQUFRLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ2hHO0lBQ0wsQ0FBQzs7dUlBbENRLHVCQUF1QjsySEFBdkIsdUJBQXVCLG1aQVFELDZCQUE2QixvSEFFN0IsMEJBQTBCLDJFQzFCN0QsbS9LQXVFQTsyRkR2RGEsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNJLCtCQUErQixpQkFFMUIsaUJBQWlCLENBQUMsSUFBSTttR0FLakMsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU87Z0JBUXBCLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsNkJBQTZCLENBQUM7Z0JBRzdELFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMEJBQTBCLENBQUM7Z0JBR2pELEVBQUU7c0JBQVYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBWaWV3RW5jYXBzdWxhdGlvbiwgSW5wdXQsIERpcmVjdGl2ZSwgQ29udGVudENoaWxkLCBmb3J3YXJkUmVmLCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVJlc291cmNlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBCYXNlRGlyZWN0aXZlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL3NoYXJlZCc7XG5cbi8qIGVzbGludC1kaXNhYmxlICovXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdkb2NQYWdlUGF0dGVyblNhbXBsZScgfSlcbmV4cG9ydCBjbGFzcyBEb2NQYWdlUGF0dGVyblNhbXBsZURpcmVjdGl2ZSB7IH1cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2RvY1BhZ2VQYXR0ZXJuRG9jJyB9KVxuZXhwb3J0IGNsYXNzIERvY1BhZ2VQYXR0ZXJuRG9jRGlyZWN0aXZlIHsgfVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aS1zaG93Y2FzZS1kb2MtcGFnZS1wYXR0ZXJuJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZG9jLXBhZ2UtcGF0dGVybi5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdHlsZVVybHM6IFsnLi9kb2MtcGFnZS1wYXR0ZXJuLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERvY1BhZ2VQYXR0ZXJuQ29tcG9uZW50IGV4dGVuZHMgQmFzZURpcmVjdGl2ZSB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHN1cGVyLmdldENzc0NsYXNzZXMoJ2RvYy1wYWdlLXBhdHRlcm4nKSxcbiAgICAgICAgXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBEb2NQYWdlUGF0dGVyblNhbXBsZURpcmVjdGl2ZSkpXG4gICAgc2FtcGxlQ29udGVudDogUXVlcnlMaXN0PERvY1BhZ2VQYXR0ZXJuU2FtcGxlRGlyZWN0aXZlPjtcbiAgICBAQ29udGVudENoaWxkKGZvcndhcmRSZWYoKCkgPT4gRG9jUGFnZVBhdHRlcm5Eb2NEaXJlY3RpdmUpKVxuICAgIGRvY0NvbnRlbnQ6IFF1ZXJ5TGlzdDxEb2NQYWdlUGF0dGVybkRvY0RpcmVjdGl2ZT47XG5cbiAgICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgYW5hdG9teUltYWdlOiBzdHJpbmc7XG4gICAgQElucHV0KCkgYW5hdG9teVJlZnMgPSBbXTtcbiAgICBASW5wdXQoKSBkb3MgPSBbXTtcbiAgICBASW5wdXQoKSBkb250cyA9IFtdO1xuICAgIEBJbnB1dCgpIHNvdXJjZVVybDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGZpZ21hVXJsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZmlnbWFFbWJlZFNyYzogc3RyaW5nO1xuXG4gICAgdXJsU2FmZTogU2FmZVJlc291cmNlVXJsO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIHNhbml0aXplcjogRG9tU2FuaXRpemVyICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5maWdtYUVtYmVkU3JjKSB7XG4gICAgICAgICAgICB0aGlzLnVybFNhZmUgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodGhpcy5maWdtYUVtYmVkU3JjKTtcbiAgICAgICAgICAgIGNvbnN0IGlGcmFtZTogSFRNTElGcmFtZUVsZW1lbnQgPSA8SFRNTElGcmFtZUVsZW1lbnQ+ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lmcmFtZS1maWdtYScpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGV1aS10YWJzPlxuICAgIDxldWktdGFiPlxuICAgICAgICA8ZXVpVGFiTGFiZWw+XG4gICAgICAgICAgICBVc2FnZSBhbmQgZG9jdW1lbnRhdGlvblxuICAgICAgICA8L2V1aVRhYkxhYmVsPlxuICAgICAgICA8ZXVpVGFiQ29udGVudD5cbiAgICAgICAgICAgIDxoMiBjbGFzcz1cImV1aS11LWNvbG9yLXByaW1hcnktMTAwXCI+e3tsYWJlbH19PC9oMj5cblxuICAgICAgICAgICAgPGgzPkluZm9ybWF0aW9uPC9oMz5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImRvY1BhZ2VQYXR0ZXJuRG9jXCI+PC9uZy1jb250ZW50PlxuXG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJtdC01XCI+QW5hdG9teTwvaDM+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlnbWFFbWJlZFNyYzsgZWxzZSBzY3JlZW5zaG90XCI+XG4gICAgICAgICAgICAgICAgPGlmcmFtZSBpZD1cImlmcmFtZS1maWdtYVwiIHN0eWxlPVwiYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1wiIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjY1MFwiIFtzcmNdPVwidXJsU2FmZVwiPjwvaWZyYW1lPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI3NjcmVlbnNob3Q+XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaW1hZ2VzL2Rlc2lnbi1zeXN0ZW0ve3thbmF0b215SW1hZ2V9fS5wbmdcIiB3aWR0aD1cIjYwJVwiLz5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhbmF0b215UmVmcy5sZW5ndGggIT09IDBcIj5cbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtdC01XCI+QW5hbm9teSByZWZlcmVuY2VzPC9oMz5cbiAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJldWktdGFibGUtZGVmYXVsdFwiPlxuICAgICAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IHJlZiBvZiBhbmF0b215UmVmc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxldWktYmFkZ2U+e3tyZWYuaWR9fTwvZXVpLWJhZGdlPjwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tyZWYuZGVzY3JpcHRpb259fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZG9zLmxlbmd0aCAhPT0gMFwiPlxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm10LTUgZXVpLXUtY29sb3Itc3VjY2Vzcy0xMDBcIj5EbydzPC9oMz5cbiAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJldWktdGFibGUtZGVmYXVsdFwiPlxuICAgICAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IHJlZiBvZiBkb3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e3JlZi5kZXNjcmlwdGlvbn19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkb250cy5sZW5ndGggIT09IDBcIj5cbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtdC01IGV1aS11LWNvbG9yLWRhbmdlci0xMDBcIj5Eb250J3M8L2gzPlxuICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cImV1aS10YWJsZS1kZWZhdWx0XCI+XG4gICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcmVmIG9mIGRvbnRzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tyZWYuZGVzY3JpcHRpb259fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJtdC01XCI+RmlnbWEgcmVzb3VyY2U8L2gzPlxuICAgICAgICAgICAgPGV1aS1jYXJkPlxuICAgICAgICAgICAgICAgIDxldWktY2FyZC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgIDxldWktY2FyZC1oZWFkZXItbGVmdC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiBhbHQ9XCJGaWdtYSBMb2dvXCIgc3JjPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFPRUFBQURoQ0FNQUFBQUpiU0pJQUFBQkwxQk1WRVgvLy8vL2NtTHlUaDZpV2Y4S3o0TWF2UDd5VEJyNVlVV2VVUDhBelgzVXVQLy9iVndBdC82alYvLy9yS1R5UmdyMlR3Q3hYK2tBMDMybTZNZjNtNHVhYlBiL2FWZi84TzhBekhtYlNmL3hQQUQvYTFyeFFnRHlTaGFhUi84QXZ2NzRwSlAvdXJQLzZPYi9aVkxRNy8vODM5bjV0cWoveEw3L2IxZi85Ty81OWYvcjN2KzY1LzlqelA2eWVmL3ArUCt1NC8vTXF2L2l6Ly9jeGYvSTdQL2Z2ZitVMnY3MS9mcU81THpXOWVkNzRMSXAwNDMveThiNHJKejBkbG4vaTMvelhUWDJqbmYvMTlQL2VtdjBiRXYvcDUvL2w0enpXQ3oyaDI3MGRWZjRnMkQyV2h6dDV2KzZoZnV6YmZDdVdPakUyKzZueis2QnhPNWx1KzVvMXY5TngvN0JsUDkzMHY2M3JmK1VvUDkwbFA3bjF2L1Bydi9pd2YvT25mK2hlZmlXWlBaaTM2TzA3ZExmOSsyQTRiWDdTOFE2QUFBR0cwbEVRVlI0bk8yYWVWY2FaeFNIWjZKWWhzSFlGanNpZzNVaGFIRzNSa0hCeE1SRTJ6UjJNNVN1YVVXLy8yY293NENnd016N3V6bDY1eDN2OC8rY004KzV5N3Rkd3hBRVFSQUVRUkFFUVJBRVFSQUVRUkFFUVJDRWlGSmNPVnFZRHVEdDB3QVdWMnBGYm9GQWlrY3Y4cmw4ZmlxQS9MRTlHdGQxSGNkNXViakVMVEtDNWVOY2Z1NUpDQk9mbVdIWXJuT3lXT0syR1dRaG41OEkwMU16OUhEZHA5eENkNmc5VWZKVE5tdzVtalZ1cVg1ZTVkVDhBRVBUTEp4eWE5MndkSlpYOUlNTVRkdU1TTXNwaHZjWG1xRnBPcSs1NVR4ZUsyY29ibWdXSXFCWWhBUlJRN1BBdmdPWW1ZSUVZVVBUbVdFMlBBWnFrR1Jvbi9BS1RxdDNVYUtoNmI3bEZDem1RRUdDSVc4cHZnRnpsR1JvditRVHJNRWhwQmh5cm9wNENFbUdmRUhFcTVCbWFCYTRkbSt2cGg3STBPWnFwM1BZWWs4M05FMGVRVXFTRWcwZG5nWGpDRjN0NllidUlvdmhPN3lUVWcxdG5zUHdHYUVNcVhYSXN6bWxsQ0hWc01BaE9QT2doaHhuS0ZJcnBSbzZIR3UrR09wdnVCVDdPaXpGdnBjYWxDME4xWkJuWTBvNEhaTDNORHdueEduQzRZbHF5SE44V25tNG5iZkQ4dzVGYWpWRVE2WUhVMG9oMHM3NFhCYzF5NFEwSlJreUpXa0x4WGZmVDQ4aGx5Q2xtMUlNR2QvMFMzaWFrbTZFMlFRcFZ6VUVRNGZua3FiREdkcE9DWWE4ejJ2d0VRbzNaTHZ3N25BRUt1SnZ3S3c1NnZFZFZvcW9vY1A2UHVyelBhUUlHcnFSbUJxQ0ZNRjVta2dJdGhJVnFFWElzQkNCRlBWWnppa3ZHb0NoN2F4d2kvVllPbGJkb3FvYk9pY1JtV3Jyc0t3MlhxcHM2Tm9SQ3FCUGFTR3ZNc0duWkdnN052c3FPSlRhaTF4dWFtNGlNSmFoaHJicjJLY1JtTmNiUWFtMjhPNkh6d001ODRiVkIvbkd4elJQRjlsbjlZSjV2N3R6L3VNWG8vbHByelJ6bDFKcDV1ZGZmcjI0dUtqWFAzellmc2F0RU1EcTNtWnlOcG1jSEFzZ21ScjRiR3UvbmtnbnVxVFRpZnIyRnNQZmg3TjJQaHNzTjl4d3ZkNno2MWx1UkMrU2E1dXo0WHFEaHV2emczNitaRDFpY2Z4TnplK080ZGFRK1BVY0cydzJnNnlOSmRYOGJodXVCL2g1aW9uSXBHcEtOWUMzRFJ2QmdwN2pOcU5WSHp0ZksvdjFHMjZFQ3JZVTl6bkZ1dXpNQW9JOVF4WEJhQ2lta0FqMkRNTlROQ3FKK2kwVXdSdkRmVVhCbGlKenUxbFZicUszREo4cEM3YmdOZHhVNzZMOWhvQmZJckhCS2JnTDVtakhVRDFIMjNuNm5ORndFZzFoMjNBTEVrd2s1dmtFVTJnVitvWU5USkN6bjQ3QklmUU0wUkF5QmhGZEtUcUcrNmdnWHlXZTR5SDBET2Rod3dUVE1RTmVDMzFEYUMzc3dtTklTZEt4NUI2ZXBHeHArcEVVdzcwNndUREJzd0dIOXpOdHd4U2hETG4yTlFTL2x1SHZKRU9lOVFJN05uVU4veUFacGprRTMxTWF6ZGprbnpSRGpwdTMrQnV1UGFnaHh6azQvakdNdjZGQk10U3BsejZDOVREK2U1cWQyTzlMLzNyQXN3WFRwV25zejRmeFArTS9nbnVhK04rMVVlOUxOOUFRTXI0LzRVR2szSGx6dnMzZ2xkaCt0MUI5UE95RWtQUGR3amludmE1QkVXUjllM29FNzRmd3hrYTdOMkR5Tzc3YW9FSVUzdkVmd1N5R1lmeDlqL00wRVlpZ3grNjl6VVN0TTFyZDRwN20ydWFqTko0WTk5bEU0eEhNbHhyZWpIRElBUFF3UTQxbWhEMVdVLzZjZHhERDU3elQ2WFRQTHJKejNqNXIvM3c4Ly9lcjBmeTNPK3lycmVmN2pickhSaVBTcy9xR1VXNVdMcjhNSnNQOWo1OUM4OUpxTVI2SXBhOWh1UkpxcDdkaFJrVlBZOE9ycXBxZnRvWVpWVDlkRFMrenlvSjZHbDZxUjFCUFEwaFFSOE5EU0ZCRHd3cFFnMW9hSG9DQytobFdRVUh0REN0WUVlcG5XSVlGZFRPOGpyc2hJWVNhR1FMYlVVME40VWFxbXlFbFNmVXliTWJlRU55UmFtaElLVU85RENraDFNcXdqRzY2dFRPOGlyMGhmSEFTdzhnUi95d2xHamE1L3h1QVpuakEvZHNBdEJYL2l2dTNBYkNMMHE0aDkxOGo0SmMwTGNGTDdyOUdvQ3dYVm9YN3J5Rnd3ZkdzVG8yR2RIeXFjdjh6QnA2bU9xMzNiZkFiN3pMM0w0TTAwV2VaUSs0L2hnR0RxRjBJMFVyVWJLbndnZTcxTld1a0haVEhURFRia3ZhNFVqYk02blJ1NmtlMUZMTTZGcUdQMnBLaHNhQmFGTFVXYk5YaWVGZ3hhbHVEWGNyQmMxOVdWYzh1ZW92bTZEQmFtbWZvRFpYaEE2Wlc5bEMvcmRvSXlwbHE5bzZrWlZtSE1ValFQZzRxVlN0cmRjbFdEM1Z2TUVNNWFHWXExOWZYbGVaQmJMSlRFQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFSHorQjkxeEpJellWSzBBQUFBQUFFbEZUa1N1UW1DQ1wiPlxuICAgICAgICAgICAgICAgICAgICA8L2V1aS1jYXJkLWhlYWRlci1sZWZ0LWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxldWktY2FyZC1oZWFkZXItdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImg1IGV1aS11LXRleHQtbGluay1leHRlcm5hbFwiIGhyZWY9XCJodHRwczovL3d3dy5maWdtYS5jb20vZmlsZS9FMm1SOEtkMGNtb1ZraXdwUlV6SEpML3t7ZmlnbWFVcmx9fVwiIHRhcmdldD1cImJsYW5rXCI+PHNwYW4gY2xhc3M9XCJldWktdS1jb2xvci1ncmV5LTc1XCI+TGF5b3V0IGNvbXBvbmVudCAvPC9zcGFuPiB7e2xhYmVsfX08L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvZXVpLWNhcmQtaGVhZGVyLXRpdGxlPlxuICAgICAgICAgICAgICAgIDwvZXVpLWNhcmQtaGVhZGVyPlxuICAgICAgICAgICAgPC9ldWktY2FyZD5cbiAgICAgICAgPC9ldWlUYWJDb250ZW50PlxuICAgIDwvZXVpLXRhYj5cbiAgICA8ZXVpLXRhYj5cbiAgICAgICAgPGV1aVRhYkxhYmVsPlxuICAgICAgICAgICAgUGF0dGVybiBzYW1wbGVcbiAgICAgICAgPC9ldWlUYWJMYWJlbD5cbiAgICAgICAgPGV1aVRhYkNvbnRlbnQ+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkb2NQYWdlUGF0dGVyblNhbXBsZVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9ldWlUYWJDb250ZW50PlxuICAgIDwvZXVpLXRhYj5cbjwvZXVpLXRhYnM+XG5cbjxldWktc2hvd2Nhc2UtZG9jLXBhZ2UtY29kZS1mYWIgY29kZUZvbGRlcj1cInt7c291cmNlVXJsfX1cIj48L2V1aS1zaG93Y2FzZS1kb2MtcGFnZS1jb2RlLWZhYj5cbiJdfQ==
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jLXBhZ2UtcGF0dGVybi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZG9jLXBhZ2UtcGF0dGVybi9kb2MtcGFnZS1wYXR0ZXJuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kb2MtcGFnZS1wYXR0ZXJuL2RvYy1wYWdlLXBhdHRlcm4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRWpJLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7QUFFdkQsb0JBQW9CO0FBRXBCLE1BQU0sT0FBTyw2QkFBNkI7OzZJQUE3Qiw2QkFBNkI7aUlBQTdCLDZCQUE2QjsyRkFBN0IsNkJBQTZCO2tCQUR6QyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFOztBQUcvQyxNQUFNLE9BQU8sMEJBQTBCOzswSUFBMUIsMEJBQTBCOzhIQUExQiwwQkFBMEI7MkZBQTFCLDBCQUEwQjtrQkFEdEMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRTs7QUFTNUMsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGFBQWE7SUF5QnRELFlBQW1CLFNBQXVCO1FBQ3RDLEtBQUssRUFBRSxDQUFDO1FBRE8sY0FBUyxHQUFULFNBQVMsQ0FBYztRQVRqQyxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLFFBQUcsR0FBRyxFQUFFLENBQUM7UUFDVCxVQUFLLEdBQUcsRUFBRSxDQUFDO0lBU3BCLENBQUM7SUExQkQsSUFDSSxVQUFVO1FBQ1YsT0FBTztZQUNILEtBQUssQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUM7U0FDMUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQXVCRCxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDakYsTUFBTSxNQUFNLEdBQXlDLFFBQVEsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDaEc7SUFDTCxDQUFDOzt1SUFsQ1EsdUJBQXVCOzJIQUF2Qix1QkFBdUIsaVpBUUQsNkJBQTZCLG9IQUU3QiwwQkFBMEIsMkVDMUI3RCw2Nk9Bb0dBOzJGRHBGYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0ksK0JBQStCLGlCQUUxQixpQkFBaUIsQ0FBQyxJQUFJO21HQUtqQyxVQUFVO3NCQURiLFdBQVc7dUJBQUMsT0FBTztnQkFRcEIsYUFBYTtzQkFEWixZQUFZO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztnQkFHN0QsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztnQkFHakQsRUFBRTtzQkFBVixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIFZpZXdFbmNhcHN1bGF0aW9uLCBJbnB1dCwgRGlyZWN0aXZlLCBDb250ZW50Q2hpbGQsIGZvcndhcmRSZWYsIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlUmVzb3VyY2VVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEJhc2VEaXJlY3RpdmUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvc2hhcmVkJztcblxuLyogZXNsaW50LWRpc2FibGUgKi9cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2RvY1BhZ2VQYXR0ZXJuU2FtcGxlJyB9KVxuZXhwb3J0IGNsYXNzIERvY1BhZ2VQYXR0ZXJuU2FtcGxlRGlyZWN0aXZlIHsgfVxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnZG9jUGFnZVBhdHRlcm5Eb2MnIH0pXG5leHBvcnQgY2xhc3MgRG9jUGFnZVBhdHRlcm5Eb2NEaXJlY3RpdmUgeyB9XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpLXNob3djYXNlLWRvYy1wYWdlLXBhdHRlcm4nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kb2MtcGFnZS1wYXR0ZXJuLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0eWxlVXJsczogWycuL2RvYy1wYWdlLXBhdHRlcm4uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRG9jUGFnZVBhdHRlcm5Db21wb25lbnQgZXh0ZW5kcyBCYXNlRGlyZWN0aXZlIHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZG9jLXBhZ2UtcGF0dGVybicpLFxuICAgICAgICBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuXG4gICAgQENvbnRlbnRDaGlsZChmb3J3YXJkUmVmKCgpID0+IERvY1BhZ2VQYXR0ZXJuU2FtcGxlRGlyZWN0aXZlKSlcbiAgICBzYW1wbGVDb250ZW50OiBRdWVyeUxpc3Q8RG9jUGFnZVBhdHRlcm5TYW1wbGVEaXJlY3RpdmU+O1xuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBEb2NQYWdlUGF0dGVybkRvY0RpcmVjdGl2ZSkpXG4gICAgZG9jQ29udGVudDogUXVlcnlMaXN0PERvY1BhZ2VQYXR0ZXJuRG9jRGlyZWN0aXZlPjtcblxuICAgIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG4gICAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBhbmF0b215SW1hZ2U6IHN0cmluZztcbiAgICBASW5wdXQoKSBkb2NFbnRyaWVzID0gW107XG4gICAgQElucHV0KCkgZG9zID0gW107XG4gICAgQElucHV0KCkgZG9udHMgPSBbXTtcbiAgICBASW5wdXQoKSBzb3VyY2VVcmw6IHN0cmluZztcbiAgICBASW5wdXQoKSBmaWdtYVVybDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGZpZ21hRW1iZWRTcmM6IHN0cmluZztcblxuICAgIHVybFNhZmU6IFNhZmVSZXNvdXJjZVVybDtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplciApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZmlnbWFFbWJlZFNyYykge1xuICAgICAgICAgICAgdGhpcy51cmxTYWZlID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHRoaXMuZmlnbWFFbWJlZFNyYyk7XG4gICAgICAgICAgICBjb25zdCBpRnJhbWU6IEhUTUxJRnJhbWVFbGVtZW50ID0gPEhUTUxJRnJhbWVFbGVtZW50PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJhbWUtZmlnbWEnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxldWktdGFicz5cbiAgICA8ZXVpLXRhYj5cbiAgICAgICAgPGV1aVRhYkxhYmVsPlxuICAgICAgICAgICAgVXNhZ2UgYW5kIGRvY3VtZW50YXRpb25cbiAgICAgICAgPC9ldWlUYWJMYWJlbD5cbiAgICAgICAgPGV1aVRhYkNvbnRlbnQ+XG4gICAgICAgICAgICA8aDIgY2xhc3M9XCJldWktdS1jb2xvci1wcmltYXJ5LTEwMFwiPnt7bGFiZWx9fTwvaDI+XG5cbiAgICAgICAgICAgIDxoMz5JbmZvcm1hdGlvbjwvaDM+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkb2NQYWdlUGF0dGVybkRvY1wiPjwvbmctY29udGVudD5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZ21hRW1iZWRTcmM7IGVsc2Ugc2NyZWVuc2hvdFwiPlxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm10LTVcIj5GaWdtYSBkZXNpZ24gYW5hdG9teTwvaDM+XG4gICAgICAgICAgICAgICAgPGlmcmFtZSBpZD1cImlmcmFtZS1maWdtYVwiIHN0eWxlPVwiYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1wiIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjY1MFwiIFtzcmNdPVwidXJsU2FmZVwiPjwvaWZyYW1lPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI3NjcmVlbnNob3Q+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZ21hVXJsICE9PSAnUEVORElOR19EUydcIj5cbiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwibXQtNVwiPkFuYXRvbXk8L2gzPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImFzc2V0cy9pbWFnZXMvZGVzaWduLXN5c3RlbS97e2FuYXRvbXlJbWFnZX19LnBuZ1wiIHdpZHRoPVwiNjAlXCIvPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZG9jRW50cmllcy5sZW5ndGggIT09IDBcIj5cbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtdC01XCI+RGVzaWduIHN5c3RlbSByZWZlcmVuY2VzPC9oMz5cbiAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJldWktdGFibGUtZGVmYXVsdFwiPlxuICAgICAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IHJlZiBvZiBkb2NFbnRyaWVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PGV1aS1iYWRnZT57e3JlZi5pZH19PC9ldWktYmFkZ2U+PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48c3Ryb25nPnt7cmVmLm5hbWV9fTwvc3Ryb25nPjwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTJcIj48c3Ryb25nPkRlc2NyaXB0aW9uPC9zdHJvbmc+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj57e3JlZi5kZXNjcmlwdGlvbn19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlZi5kb3MgJiYgcmVmLmRvcy5sZW5ndGggIT09IDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTJcIj48c3Ryb25nIGNsYXNzPVwiZXVpLXUtY29sb3Itc3VjY2Vzc1wiPkRvJ3M8L3N0cm9uZz48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPjxsaSAqbmdGb3I9XCJsZXQgZG8gb2YgcmVmLmRvc1wiPnt7ZG99fTwvbGk+PC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicmVmLmRvbnRzICYmIHJlZi5kb250cy5sZW5ndGggIT09IDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTJcIj48c3Ryb25nIGNsYXNzPVwiZXVpLXUtY29sb3ItZGFuZ2VyXCI+RG9udCdzPC9zdHJvbmc+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD48bGkgKm5nRm9yPVwibGV0IGRvbnQgb2YgcmVmLmRvbnRzXCI+e3tkb250fX08L2xpPjwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlZi53aGVuVG9Vc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48c3Ryb25nIGNsYXNzPVwiZXVpLXUtY29sb3ItcHJpbWFyeVwiPldoZW4gdG8gdXNlPC9zdHJvbmc+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yXCI+e3tyZWYud2hlblRvVXNlfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicmVmLndoZW5Ob3RUb1VzZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjxzdHJvbmcgY2xhc3M9XCJldWktdS1jb2xvci13YXJuaW5nXCI+V2hlbiBub3QgdG8gdXNlPC9zdHJvbmc+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yXCI+e3tyZWYud2hlbk5vdFRvVXNlfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZG9zLmxlbmd0aCAhPT0gMFwiPlxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cIm10LTUgZXVpLXUtY29sb3Itc3VjY2Vzcy0xMDBcIj5EbydzPC9oMz5cbiAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJldWktdGFibGUtZGVmYXVsdFwiPlxuICAgICAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IHJlZiBvZiBkb3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e3JlZi5kZXNjcmlwdGlvbn19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkb250cy5sZW5ndGggIT09IDBcIj5cbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtdC01IGV1aS11LWNvbG9yLWRhbmdlci0xMDBcIj5Eb250J3M8L2gzPlxuICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cImV1aS10YWJsZS1kZWZhdWx0XCI+XG4gICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcmVmIG9mIGRvbnRzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tyZWYuZGVzY3JpcHRpb259fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJtdC01XCI+RmlnbWEgcmVzb3VyY2U8L2gzPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZ21hVXJsID09PSAnUEVORElOR19EUyc7IGVsc2UgZmlnbWFPS1wiPlxuICAgICAgICAgICAgICAgIFBlbmRpbmcgRGVzaWduIHN5c3RlbSBwdWJsaWNhdGlvbi4uLndpbGwgYmUgYXZhaWxhYmxlIGluIGEgZnV0dXJlIHJlbGVhc2VcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNmaWdtYU9LPlxuICAgICAgICAgICAgICAgIDxldWktY2FyZD5cbiAgICAgICAgICAgICAgICAgICAgPGV1aS1jYXJkLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxldWktY2FyZC1oZWFkZXItbGVmdC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgYWx0PVwiRmlnbWEgTG9nb1wiIHNyYz1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBT0VBQUFEaENBTUFBQUFKYlNKSUFBQUJMMUJNVkVYLy8vLy9jbUx5VGg2aVdmOEt6NE1hdlA3eVRCcjVZVVdlVVA4QXpYM1V1UC8vYlZ3QXQvNmpWLy8vcktUeVJncjJUd0N4WCtrQTAzMm02TWYzbTR1YWJQYi9hVmYvOE84QXpIbWJTZi94UEFEL2ExcnhRZ0R5U2hhYVIvOEF2djc0cEpQL3VyUC82T2IvWlZMUTcvLzgzOW41dHFqL3hMNy9iMWYvOU8vNTlmL3Izdis2NS85anpQNnllZi9wK1ArdTQvL01xdi9pei8vY3hmL0k3UC9mdmYrVTJ2NzEvZnFPNUx6VzllZDc0TElwMDQzL3k4YjRySnowZGxuL2kzL3pYVFgyam5mLzE5UC9lbXYwYkV2L3A1Ly9sNHp6V0N6MmgyNzBkVmY0ZzJEMldoenQ1dis2aGZ1emJmQ3VXT2pFMis2bnorNkJ4TzVsdSs1bzF2OU54LzdCbFA5MzB2NjNyZitVb1A5MGxQN24xdi9QcnYvaXdmL09uZitoZWZpV1pQWmkzNk8wN2RMZjkrMkE0Ylg3UzhRNkFBQUdHMGxFUVZSNG5PMmFlVmNhWnhTSFo2Slloc0hZRmpzaWczVWhhSEczUmtIQnhNUkUyelIyTTVTdWFVVy8vMmNvdzRDZ3dNejd1emw2NXgzdjgvK2NNOCs1eTd0ZHd4QUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQ0VpRkpjT1ZxWUR1RHQwd0FXVjJwRmJvRkFpa2N2OHJsOGZpcUEvTEU5R3RkMUhjZDV1YmpFTFRLQzVlTmNmdTVKQ0JPZm1XSFlybk95V09LMkdXUWhuNThJMDFNejlIRGRwOXhDZDZnOVVmSlRObXc1bWpWdXFYNWU1ZFQ4QUVQVExKeHlhOTJ3ZEpaWDlJTU1UZHVNU01zcGh2Y1htcUZwT3ErNTVUeGVLMmNvYm1nV0lxQlloQVJSUTdQQXZnT1ltWUlFWVVQVG1XRTJQQVpxa0dSb24vQUtUcXQzVWFLaDZiN2xGQ3ptUUVHQ0lXOHB2Z0Z6bEdSb3YrUVRyTUVocEJoeXJvcDRDRW1HZkVIRXE1Qm1hQmE0ZG0rdnBoN0kwT1pxcDNQWVlrODNORTBlUVVxU0VnMGRuZ1hqQ0YzdDZZYnVJb3ZoTzd5VFVnMXRuc1B3R2FFTXFYWElzem1sbENIVnNNQWhPUE9naGh4bktGSXJwUm82SEd1K0dPcHZ1QlQ3T2l6RnZwY2FsQzBOMVpCblkwbzRIWkwzTkR3bnhHbkM0WWxxeUhOOFdubTRuYmZEOHc1RmFqVkVRNllIVTBvaDBzNzRYQmMxeTRRMEpSa3lKV2tMeFhmZlQ0OGhseUNsbTFJTUdkLzBTM2lha202RTJRUXBWelVFUTRmbmtxYkRHZHBPQ1lhOHoydndFUW8zWkx2dzduQUVLdUp2d0t3NTZ2RWRWb3Fvb2NQNlB1cnpQYVFJR3JxUm1CcUNGTUY1bWtnSXRoSVZxRVhJc0JDQkZQVlp6aWt2R29DaDdheHdpL1ZZT2xiZG9xb2JPaWNSbVdycnNLdzJYcXBzNk5vUkNxQlBhU0d2TXNHblpHZzdOdnNxT0pUYWkxeHVhbTRpTUphaGhyYnIyS2NSbU5jYlFhbTI4TzZIendNNTg0YlZCL25HeHpSUEY5bG45WUo1djd0ei91TVhvL2xwcnpSemwxSnA1dWRmZnIyNHVLalhQM3pZZnNhdEVNRHEzbVp5TnBtY0hBc2dtUnI0Ykd1L25rZ251cVRUaWZyMkZzUGZoN04yUGhzc045eHd2ZDZ6NjFsdVJDK1NhNXV6NFhxRGh1dnpnMzYrWkQxaWNmeE56ZStPNGRhUStQVWNHMncyZzZ5TkpkWDhiaHV1Qi9oNWlvbklwR3BLTllDM0RSdkJncDdqTnFOVkh6dGZLL3YxRzI2RUNyWVU5em5GdXV6TUFvSTlReFhCYUNpbWtBajJETU5UTkNxSitpMFV3UnZEZlVYQmxpSnp1MWxWYnFLM0RKOHBDN2JnTmR4VTc2TDlob0JmSXJIQktiZ0w1bWpIVUQxSDIzbjZuTkZ3RWcxaDIzQUxFa3drNXZrRVUyZ1Yrb1lOVEpDem40N0JJZlFNMFJBeUJoRmRLVHFHKzZnZ1h5V2U0eUgwRE9kaHd3VFRNUU5lQzMxRGFDM3N3bU5JU2RLeDVCNmVwR3hwK3BFVXc3MDZ3VERCc3dHSDl6TnR3eFNoRExuMk5RUy9sdUh2SkVPZTlRSTdOblVOL3lBWnBqa0UzMU1hemRqa256UkRqcHUzK0J1dVBhZ2h4ems0L2pHTXY2RkJNdFNwbHo2QzlURCtlNXFkMk85TC8zckFzd1hUcFduc3o0ZnhQK00vZ251YStOKzFVZTlMTjlBUU1yNC80VUdrM0hsenZzM2dsZGgrdDFCOVBPeUVrUFBkd2ppbnZhNUJFV1I5ZTNvRTc0Znd4a2E3TjJEeU83N2FvRUlVM3ZFZndTeUdZZng5ai9NMEVZaWd4KzY5elVTdE0xcmQ0cDdtMnVhak5KNFk5OWxFNHhITWx4cmVqSERJQVBRd1E0MW1oRDFXVS82Y2R4REQ1N3pUNlhUUExySnozajVyLzN3OC8vZXIwZnkzTyt5cnJlZjdqYnJIUmlQU3MvcUdVVzVXTHI4TUpzUDlqNTlDODlKcU1SNklwYTlodVJKcXA3ZGhSa1ZQWThPcnFwcWZ0b1laVlQ5ZERTK3p5b0o2R2w2cVIxQlBRMGhRUjhORFNGQkR3d3BRZzFvYUhvQ0MraGxXUVVIdERDdFlFZXBuV0lZRmRUTzhqcnNoSVlTYUdRTGJVVTBONFVhcW15RWxTZlV5Yk1iZUVOeVJhbWhJS1VPOURDa2gxTXF3akc2NnRUTzhpcjBoZkhBU3c4Z1IveXdsR2phNS94dUFabmpBL2RzQXRCWC9pdnUzQWJDTDBxNGg5MThqNEpjMExjRkw3cjlHb0N3WFZvWDdyeUZ3d2ZHc1RvMkdkSHlxY3Y4ekJwNm1PcTMzYmZBYjd6TDNMNE0wMFdlWlErNC9oZ0dEcUYwSTBVclViS253Z2U3MU5XdWtIWlRIVERUYmt2YTRVamJNNm5SdTZrZTFGTE02RnFHUDJwS2hzYUJhRkxVV2JOWGllRmd4YWx1RFhjckJjMTlXVmM4dWVvdm02REJhbW1mb0RaWGhBNlpXOWxDL3Jkb0l5cGxxOW82a1pWbUhNVWpRUGc0cVZTdHJkY2xXRDNWdk1FTTVhR1lxMTlmWGxlWkJiTEpURUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCRUh6K0I5MXhKSXpZVkswQUFBQUFBRWxGVGtTdVFtQ0NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpLWNhcmQtaGVhZGVyLWxlZnQtY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxldWktY2FyZC1oZWFkZXItdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJoNSBldWktdS10ZXh0LWxpbmstZXh0ZXJuYWxcIiBocmVmPVwiaHR0cHM6Ly93d3cuZmlnbWEuY29tL2ZpbGUvRTJtUjhLZDBjbW9Wa2l3cFJVekhKTC97e2ZpZ21hVXJsfX1cIiB0YXJnZXQ9XCJibGFua1wiPjxzcGFuIGNsYXNzPVwiZXVpLXUtY29sb3ItZ3JleS03NVwiPkxheW91dCBjb21wb25lbnQgLzwvc3Bhbj4ge3tsYWJlbH19PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9ldWktY2FyZC1oZWFkZXItdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIDwvZXVpLWNhcmQtaGVhZGVyPlxuICAgICAgICAgICAgICAgIDwvZXVpLWNhcmQ+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2V1aVRhYkNvbnRlbnQ+XG4gICAgPC9ldWktdGFiPlxuICAgIDxldWktdGFiPlxuICAgICAgICA8ZXVpVGFiTGFiZWw+XG4gICAgICAgICAgICBQYXR0ZXJuIHNhbXBsZVxuICAgICAgICA8L2V1aVRhYkxhYmVsPlxuICAgICAgICA8ZXVpVGFiQ29udGVudD5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImRvY1BhZ2VQYXR0ZXJuU2FtcGxlXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2V1aVRhYkNvbnRlbnQ+XG4gICAgPC9ldWktdGFiPlxuPC9ldWktdGFicz5cblxuPGV1aS1zaG93Y2FzZS1kb2MtcGFnZS1jb2RlLWZhYiBjb2RlRm9sZGVyPVwie3tzb3VyY2VVcmx9fVwiPjwvZXVpLXNob3djYXNlLWRvYy1wYWdlLWNvZGUtZmFiPlxuIl19
|
|
@@ -19,6 +19,7 @@ export class DocSampleComponent {
|
|
|
19
19
|
this.id = '';
|
|
20
20
|
this.label = '';
|
|
21
21
|
this.styleClass = '';
|
|
22
|
+
this.renderPlayground = false;
|
|
22
23
|
this.isCodeLoaded = false;
|
|
23
24
|
this.isCodeLoading = false;
|
|
24
25
|
this.isCodeExpanded = false;
|
|
@@ -137,15 +138,17 @@ export class DocSampleComponent {
|
|
|
137
138
|
}
|
|
138
139
|
}
|
|
139
140
|
/** @nocollapse */ DocSampleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: DocSampleComponent, deps: [{ token: i1.HttpClient }, { token: i2.UxAppShellService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
140
|
-
/** @nocollapse */ DocSampleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: DocSampleComponent, selector: "eui-showcase-doc-sample", inputs: { id: "id", label: "label", styleClass: "styleClass" }, ngImport: i0, template: "<div class=\"doc-sample-title\">\n <div class=\"doc-sample-title__label\"><strong>{{label}}</strong></div>\n <div class=\"doc-sample-title__items\">\n <button euiButton\n [euiOutline]=\"!isCodeExpanded\" euiPrimary euiSizeS (click)=\"onToggleCode()\"\n [isLoading]=\"isCodeLoading\" [euiDisabled]=\"isCodeLoading\">\n <span *ngIf=\"!isCodeExpanded\" euiLabel>Code</span>\n <span *ngIf=\"isCodeExpanded\" euiLabel>Hide Code</span>\n <span euiIcon iconClass=\"eui-icon-code\"></span>\n </button>\n </div>\n</div>\n\n<ng-template [ngIf]=\"isCodeExpanded\">\n <eui-card euiNoContentPadding>\n <eui-card-content>\n <eui-tabs (tabSelect)=\"onSelectedTab($event)\">\n <eui-tab [isVisible]=\"htmlContent\">\n <euiTabLabel>\n HTML\n <euiTabSubLabel>HyperText Markup Language</euiTabSubLabel>\n </euiTabLabel>\n <euiTabContent>\n <pre><code class=\"language-markup\" euiCode>{{htmlContent}}</code></pre>\n </euiTabContent>\n </eui-tab>\n <eui-tab [isVisible]=\"tsContent\">\n <euiTabLabel>\n TS\n <euiTabSubLabel>Typescript</euiTabSubLabel>\n </euiTabLabel>\n <euiTabContent>\n <pre><code class=\"language-javascript\" euiCode>{{filterOutModuleAndImports(tsContent)}}</code></pre>\n </euiTabContent>\n </eui-tab>\n <eui-tab euiWarning [isVisible]=\"htmlContent && tsContent\">\n <euiTabLabel>\n Playground\n <euiTabSubLabel>Stackblitz <eui-chip euiSizeS euiWarning>Experimental</eui-chip></euiTabSubLabel>\n </euiTabLabel>\n <euiTabContent>\n <eui-playground [typescriptContent]=\"tsContent\"\n [htmlContent]=\"htmlContent\"\n [activated]=\"playground_activated\"></eui-playground>\n </euiTabContent>\n </eui-tab>\n </eui-tabs>\n </eui-card-content>\n </eui-card>\n</ng-template>\n\n<ng-content></ng-content>\n", styles: [":host{display:block;margin-bottom:var(--eui-base-spacing-2xl);width:100%}.doc-sample-title{align-items:flex-end;display:flex;width:100%;margin-bottom:var(--eui-base-spacing-m);padding-bottom:var(--eui-base-spacing-s);border-bottom:1px solid var(--eui-base-color-grey-15)}.doc-sample-title__label{font-size:var(--eui-base-font-size-xl)}.doc-sample-title__items{display:flex;margin-left:auto}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.EuiCardComponent, selector: "eui-card", inputs: ["e2eAttr", "euiSelected", "euiCollapsible", "euiCollapsed", "euiUrgent", "euiNoShadow", "euiNoContentPadding", "euiHoverable"], outputs: ["onCollapsed", "collapse"] }, { kind: "component", type: i4.EuiCardContentComponent, selector: "eui-card-content" }, { kind: "component", type: i5.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "isLoading", "euiIconButton", "euiLineWrap"], outputs: ["buttonClick"] }, { kind: "component", type: i6.EuiTabsComponent, selector: "eui-tabs", inputs: ["styleClass", "tabs", "activeTabIndex", "e2eAttr", "pathMatch", "isMainNavigation", "isSubTabs", "isVerticalTabs"], outputs: ["tabClosed", "tabSelected", "tabClose", "tabSelect"] }, { kind: "component", type: i6.EuiTabComponent, selector: "eui-tab", inputs: ["url", "e2eAttr", "tooltip", "isClosable", "isVisible", "isActive", "isDisabled", "hasBackgroundFilled", "isHandleCloseOnClose"] }, { kind: "component", type: i6.EuiTabLabelComponent, selector: "eui-tab-label, euiTabLabel" }, { kind: "directive", type: i6.EuiTabSubLabelDirective, selector: "euiTabSubLabel" }, { kind: "component", type: i6.EuiTabContentComponent, selector: "eui-tab-content, euiTabContent", inputs: ["hasNoContentPadding"] }, { kind: "component", type: i7.EuiChipComponent, selector: "eui-chip, span[euiChip], li[euiChip]", inputs: ["euiInternalId", "tooltipMessage", "id", "data", "isChipRemovable", "isSquared"], outputs: ["remove"] }, { kind: "directive", type: i8.EuiCodeHighlighterDirective, selector: "[euiCode]" }, { kind: "component", type: i9.PlaygroundComponent, selector: "eui-playground", inputs: ["title", "htmlContent", "typescriptContent", "activated", "modules"] }] });
|
|
141
|
+
/** @nocollapse */ DocSampleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: DocSampleComponent, selector: "eui-showcase-doc-sample", inputs: { id: "id", label: "label", styleClass: "styleClass", renderPlayground: "renderPlayground" }, ngImport: i0, template: "<div class=\"doc-sample-title\">\n <div class=\"doc-sample-title__label\"><strong>{{label}}</strong></div>\n <div class=\"doc-sample-title__items\">\n <button euiButton\n [euiOutline]=\"!isCodeExpanded\" euiPrimary euiSizeS (click)=\"onToggleCode()\"\n [isLoading]=\"isCodeLoading\" [euiDisabled]=\"isCodeLoading\">\n <span *ngIf=\"!isCodeExpanded\" euiLabel>Code</span>\n <span *ngIf=\"isCodeExpanded\" euiLabel>Hide Code</span>\n <span euiIcon iconClass=\"eui-icon-code\"></span>\n </button>\n </div>\n</div>\n\n<ng-template [ngIf]=\"isCodeExpanded\">\n <eui-card euiNoContentPadding>\n <eui-card-content>\n <eui-tabs (tabSelect)=\"onSelectedTab($event)\">\n <eui-tab [isVisible]=\"htmlContent\">\n <euiTabLabel>\n HTML\n <euiTabSubLabel>HyperText Markup Language</euiTabSubLabel>\n </euiTabLabel>\n <euiTabContent>\n <pre><code class=\"language-markup\" euiCode>{{htmlContent}}</code></pre>\n </euiTabContent>\n </eui-tab>\n <eui-tab [isVisible]=\"tsContent\">\n <euiTabLabel>\n TS\n <euiTabSubLabel>Typescript</euiTabSubLabel>\n </euiTabLabel>\n <euiTabContent>\n <pre><code class=\"language-javascript\" euiCode>{{filterOutModuleAndImports(tsContent)}}</code></pre>\n </euiTabContent>\n </eui-tab>\n <eui-tab euiWarning [isVisible]=\"htmlContent && tsContent && renderPlayground\">\n <euiTabLabel>\n Playground\n <euiTabSubLabel>Stackblitz <eui-chip euiSizeS euiWarning>Experimental</eui-chip></euiTabSubLabel>\n </euiTabLabel>\n <euiTabContent>\n <eui-playground [typescriptContent]=\"tsContent\"\n [htmlContent]=\"htmlContent\"\n [activated]=\"playground_activated\"></eui-playground>\n </euiTabContent>\n </eui-tab>\n </eui-tabs>\n </eui-card-content>\n </eui-card>\n</ng-template>\n\n<ng-content></ng-content>\n", styles: [":host{display:block;margin-bottom:var(--eui-base-spacing-2xl);width:100%}.doc-sample-title{align-items:flex-end;display:flex;width:100%;margin-bottom:var(--eui-base-spacing-m);padding-bottom:var(--eui-base-spacing-s);border-bottom:1px solid var(--eui-base-color-grey-15)}.doc-sample-title__label{font-size:var(--eui-base-font-size-xl)}.doc-sample-title__items{display:flex;margin-left:auto}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.EuiCardComponent, selector: "eui-card", inputs: ["e2eAttr", "euiSelected", "euiCollapsible", "euiCollapsed", "euiUrgent", "euiNoShadow", "euiNoContentPadding", "euiHoverable"], outputs: ["onCollapsed", "collapse"] }, { kind: "component", type: i4.EuiCardContentComponent, selector: "eui-card-content" }, { kind: "component", type: i5.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "isLoading", "euiIconButton", "euiLineWrap"], outputs: ["buttonClick"] }, { kind: "component", type: i6.EuiTabsComponent, selector: "eui-tabs", inputs: ["styleClass", "tabs", "activeTabIndex", "e2eAttr", "pathMatch", "isMainNavigation", "isSubTabs", "isVerticalTabs"], outputs: ["tabClosed", "tabSelected", "tabClose", "tabSelect"] }, { kind: "component", type: i6.EuiTabComponent, selector: "eui-tab", inputs: ["url", "e2eAttr", "tooltip", "isClosable", "isVisible", "isActive", "isDisabled", "hasBackgroundFilled", "isHandleCloseOnClose"] }, { kind: "component", type: i6.EuiTabLabelComponent, selector: "eui-tab-label, euiTabLabel" }, { kind: "directive", type: i6.EuiTabSubLabelDirective, selector: "euiTabSubLabel" }, { kind: "component", type: i6.EuiTabContentComponent, selector: "eui-tab-content, euiTabContent", inputs: ["hasNoContentPadding"] }, { kind: "component", type: i7.EuiChipComponent, selector: "eui-chip, span[euiChip], li[euiChip]", inputs: ["euiInternalId", "tooltipMessage", "id", "data", "isChipRemovable", "isSquared"], outputs: ["remove"] }, { kind: "directive", type: i8.EuiCodeHighlighterDirective, selector: "[euiCode]" }, { kind: "component", type: i9.PlaygroundComponent, selector: "eui-playground", inputs: ["title", "htmlContent", "typescriptContent", "activated", "modules"] }] });
|
|
141
142
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: DocSampleComponent, decorators: [{
|
|
142
143
|
type: Component,
|
|
143
|
-
args: [{ selector: 'eui-showcase-doc-sample', template: "<div class=\"doc-sample-title\">\n <div class=\"doc-sample-title__label\"><strong>{{label}}</strong></div>\n <div class=\"doc-sample-title__items\">\n <button euiButton\n [euiOutline]=\"!isCodeExpanded\" euiPrimary euiSizeS (click)=\"onToggleCode()\"\n [isLoading]=\"isCodeLoading\" [euiDisabled]=\"isCodeLoading\">\n <span *ngIf=\"!isCodeExpanded\" euiLabel>Code</span>\n <span *ngIf=\"isCodeExpanded\" euiLabel>Hide Code</span>\n <span euiIcon iconClass=\"eui-icon-code\"></span>\n </button>\n </div>\n</div>\n\n<ng-template [ngIf]=\"isCodeExpanded\">\n <eui-card euiNoContentPadding>\n <eui-card-content>\n <eui-tabs (tabSelect)=\"onSelectedTab($event)\">\n <eui-tab [isVisible]=\"htmlContent\">\n <euiTabLabel>\n HTML\n <euiTabSubLabel>HyperText Markup Language</euiTabSubLabel>\n </euiTabLabel>\n <euiTabContent>\n <pre><code class=\"language-markup\" euiCode>{{htmlContent}}</code></pre>\n </euiTabContent>\n </eui-tab>\n <eui-tab [isVisible]=\"tsContent\">\n <euiTabLabel>\n TS\n <euiTabSubLabel>Typescript</euiTabSubLabel>\n </euiTabLabel>\n <euiTabContent>\n <pre><code class=\"language-javascript\" euiCode>{{filterOutModuleAndImports(tsContent)}}</code></pre>\n </euiTabContent>\n </eui-tab>\n <eui-tab euiWarning [isVisible]=\"htmlContent && tsContent\">\n <euiTabLabel>\n Playground\n <euiTabSubLabel>Stackblitz <eui-chip euiSizeS euiWarning>Experimental</eui-chip></euiTabSubLabel>\n </euiTabLabel>\n <euiTabContent>\n <eui-playground [typescriptContent]=\"tsContent\"\n [htmlContent]=\"htmlContent\"\n [activated]=\"playground_activated\"></eui-playground>\n </euiTabContent>\n </eui-tab>\n </eui-tabs>\n </eui-card-content>\n </eui-card>\n</ng-template>\n\n<ng-content></ng-content>\n", styles: [":host{display:block;margin-bottom:var(--eui-base-spacing-2xl);width:100%}.doc-sample-title{align-items:flex-end;display:flex;width:100%;margin-bottom:var(--eui-base-spacing-m);padding-bottom:var(--eui-base-spacing-s);border-bottom:1px solid var(--eui-base-color-grey-15)}.doc-sample-title__label{font-size:var(--eui-base-font-size-xl)}.doc-sample-title__items{display:flex;margin-left:auto}\n"] }]
|
|
144
|
+
args: [{ selector: 'eui-showcase-doc-sample', template: "<div class=\"doc-sample-title\">\n <div class=\"doc-sample-title__label\"><strong>{{label}}</strong></div>\n <div class=\"doc-sample-title__items\">\n <button euiButton\n [euiOutline]=\"!isCodeExpanded\" euiPrimary euiSizeS (click)=\"onToggleCode()\"\n [isLoading]=\"isCodeLoading\" [euiDisabled]=\"isCodeLoading\">\n <span *ngIf=\"!isCodeExpanded\" euiLabel>Code</span>\n <span *ngIf=\"isCodeExpanded\" euiLabel>Hide Code</span>\n <span euiIcon iconClass=\"eui-icon-code\"></span>\n </button>\n </div>\n</div>\n\n<ng-template [ngIf]=\"isCodeExpanded\">\n <eui-card euiNoContentPadding>\n <eui-card-content>\n <eui-tabs (tabSelect)=\"onSelectedTab($event)\">\n <eui-tab [isVisible]=\"htmlContent\">\n <euiTabLabel>\n HTML\n <euiTabSubLabel>HyperText Markup Language</euiTabSubLabel>\n </euiTabLabel>\n <euiTabContent>\n <pre><code class=\"language-markup\" euiCode>{{htmlContent}}</code></pre>\n </euiTabContent>\n </eui-tab>\n <eui-tab [isVisible]=\"tsContent\">\n <euiTabLabel>\n TS\n <euiTabSubLabel>Typescript</euiTabSubLabel>\n </euiTabLabel>\n <euiTabContent>\n <pre><code class=\"language-javascript\" euiCode>{{filterOutModuleAndImports(tsContent)}}</code></pre>\n </euiTabContent>\n </eui-tab>\n <eui-tab euiWarning [isVisible]=\"htmlContent && tsContent && renderPlayground\">\n <euiTabLabel>\n Playground\n <euiTabSubLabel>Stackblitz <eui-chip euiSizeS euiWarning>Experimental</eui-chip></euiTabSubLabel>\n </euiTabLabel>\n <euiTabContent>\n <eui-playground [typescriptContent]=\"tsContent\"\n [htmlContent]=\"htmlContent\"\n [activated]=\"playground_activated\"></eui-playground>\n </euiTabContent>\n </eui-tab>\n </eui-tabs>\n </eui-card-content>\n </eui-card>\n</ng-template>\n\n<ng-content></ng-content>\n", styles: [":host{display:block;margin-bottom:var(--eui-base-spacing-2xl);width:100%}.doc-sample-title{align-items:flex-end;display:flex;width:100%;margin-bottom:var(--eui-base-spacing-m);padding-bottom:var(--eui-base-spacing-s);border-bottom:1px solid var(--eui-base-color-grey-15)}.doc-sample-title__label{font-size:var(--eui-base-font-size-xl)}.doc-sample-title__items{display:flex;margin-left:auto}\n"] }]
|
|
144
145
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.UxAppShellService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { id: [{
|
|
145
146
|
type: Input
|
|
146
147
|
}], label: [{
|
|
147
148
|
type: Input
|
|
148
149
|
}], styleClass: [{
|
|
149
150
|
type: Input
|
|
151
|
+
}], renderPlayground: [{
|
|
152
|
+
type: Input
|
|
150
153
|
}] } });
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jLXNhbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZG9jLXNhbXBsZS9kb2Mtc2FtcGxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kb2Mtc2FtcGxlL2RvYy1zYW1wbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBRXRGLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBU2pELE1BQU0sT0FBTyxrQkFBa0I7SUFhM0IsWUFDWSxLQUFpQixFQUNqQixTQUE0QixFQUM1QixFQUFxQjtRQUZyQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBQzVCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBZnhCLE9BQUUsR0FBRyxFQUFFLENBQUM7UUFDUixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUV6QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2Qix5QkFBb0IsR0FBRyxLQUFLLENBQUM7SUFTMUIsQ0FBQztJQUVKLGtCQUFrQjtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbkIs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QyxPQUFPLENBQUMsK0NBQStDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDekUsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxFQUFFO1FBRXBCLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUU3RCxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFckQsU0FBUyxPQUFPLENBQUMsS0FBSztZQUNsQixPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUMxQyxHQUFHLE1BQU07Z0JBQ1Q7b0JBQ0ksRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO29CQUNYLHVCQUF1QixFQUFFLElBQUksQ0FBQyx1QkFBdUI7aUJBQ3hEO2dCQUNELEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7YUFDNUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2hCLENBQUM7SUFDTCxDQUFDOztrSUFuSlEsa0JBQWtCO3NIQUFsQixrQkFBa0IsK0hDWi9CLDYzRUFvREE7MkZEeENhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDSSx5QkFBeUI7aUtBSzFCLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEFmdGVyQ29udGVudEluaXQsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUsIFN1YnNjcmliZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFV4QXBwU2hlbGxTZXJ2aWNlIH0gZnJvbSAnQGV1aS9jb3JlJztcbmltcG9ydCB7IEV1aVRhYkNvbXBvbmVudCB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktdGFicyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpLXNob3djYXNlLWRvYy1zYW1wbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnZG9jLXNhbXBsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZG9jLXNhbXBsZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEb2NTYW1wbGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBASW5wdXQoKSBpZCA9ICcnO1xuICAgIEBJbnB1dCgpIGxhYmVsID0gJyc7XG4gICAgQElucHV0KCkgc3R5bGVDbGFzcyA9ICcnO1xuXG4gICAgaXNDb2RlTG9hZGVkID0gZmFsc2U7XG4gICAgaXNDb2RlTG9hZGluZyA9IGZhbHNlO1xuICAgIGlzQ29kZUV4cGFuZGVkID0gZmFsc2U7XG4gICAgcGxheWdyb3VuZF9hY3RpdmF0ZWQgPSBmYWxzZTtcblxuICAgIHRzQ29udGVudDtcbiAgICBodG1sQ29udGVudDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBwcml2YXRlIGFzU2VydmljZTogVXhBcHBTaGVsbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICkge31cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmxhYmVsKSB7XG4gICAgICAgICAgICB0aGlzLmxhYmVsID0gdGhpcy5pZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uVG9nZ2xlQ29kZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNDb2RlTG9hZGVkKSB7XG4gICAgICAgICAgICB0aGlzLmlzQ29kZUV4cGFuZGVkID0gIXRoaXMuaXNDb2RlRXhwYW5kZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuaXNDb2RlTG9hZGVkKSB7XG4gICAgICAgICAgICB0aGlzLmlzQ29kZUxvYWRpbmcgPSB0cnVlO1xuXG4gICAgICAgICAgICBjb25zdCB1cmwgPSB3aW5kb3cubG9jYXRpb247XG4gICAgICAgICAgICBjb25zdCBwYXRoTmFtZSA9IHVybC5wYXRobmFtZTtcbiAgICAgICAgICAgIGNvbnN0IHBhdGhOYW1lQXJyYXkgPSBwYXRoTmFtZS5zcGxpdCgnLycpO1xuXG4gICAgICAgICAgICBsZXQgc2FtcGxlUGF0aEFycmF5ID0gW107XG5cbiAgICAgICAgICAgIGNvbnN0IGNtcElkID0gcGF0aE5hbWVBcnJheVtwYXRoTmFtZUFycmF5Lmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgY29uc3QgY21wID0gdGhpcy5fZ2V0Q29tcG9uZW50KGNtcElkKTtcblxuICAgICAgICAgICAgaWYgKGNtcCAmJiBjbXAuYWx0ZXJuYXRlU2FtcGxlTG9jYXRpb24pIHtcbiAgICAgICAgICAgICAgICBzYW1wbGVQYXRoQXJyYXkgPSBjbXAuYWx0ZXJuYXRlU2FtcGxlTG9jYXRpb24uc3BsaXQoJy8nKS5yZXZlcnNlKCk7XG5cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IHBhdGhOYW1lQXJyYXkubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCBwYXRoTmFtZUFycmF5W2ldLmluZGV4T2YoJ2V1aS1zaG93Y2FzZS0nKSA+IC0xIHx8IHBhdGhOYW1lQXJyYXlbaV0uaW5kZXhPZignbG9jYWxob3N0JykgPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHBhdGhOYW1lQXJyYXlbaV0gIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGVQYXRoQXJyYXkucHVzaChwYXRoTmFtZUFycmF5W2ldKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coc2FtcGxlUGF0aEFycmF5KTtcblxuICAgICAgICAgICAgc2FtcGxlUGF0aEFycmF5ID0gc2FtcGxlUGF0aEFycmF5LnJldmVyc2UoKTtcbiAgICAgICAgICAgIHNhbXBsZVBhdGhBcnJheS5wdXNoKCdzYW1wbGVzJyk7XG4gICAgICAgICAgICBzYW1wbGVQYXRoQXJyYXkucHVzaCh0aGlzLmlkKTtcblxuICAgICAgICAgICAgY29uc3Qgc2FtcGxlc1BhdGggPSBgYXNzZXRzL3NhbXBsZXMvJHtzYW1wbGVQYXRoQXJyYXkuam9pbignLycpfWA7XG5cbiAgICAgICAgICAgIGZvcmtKb2luKHtcbiAgICAgICAgICAgICAgICB0eXBlc2NyaXB0OiB0aGlzLl9odHRwLmdldChgJHtzYW1wbGVzUGF0aH0vY29tcG9uZW50LnRzYCwge1xuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBodG1sOiB0aGlzLl9odHRwLmdldChgJHtzYW1wbGVzUGF0aH0vY29tcG9uZW50Lmh0bWxgLCB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2VzOiB7IHR5cGVzY3JpcHQ6IHN0cmluZzsgaHRtbDogc3RyaW5nOyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNDb2RlTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0NvZGVFeHBhbmRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNDb2RlTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyB0eXBlc2NyaXB0OiByZXNwb25zZXMudHlwZXNjcmlwdCwgaHRtbDogcmVzcG9uc2VzLmh0bWwgfTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hc1NlcnZpY2UuZ3Jvd2xFcnJvcihgSXNzdWUgd2hpbGUgZmV0Y2hpbmcgOiAke2Vycm9yLnVybH0gOiAke2Vycm9yLnN0YXR1c30tJHtlcnJvci5zdGF0dXNUZXh0fWApO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxhbnk+KChzdWJzY3JpYmVyOiBTdWJzY3JpYmVyPGFueT4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlci5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLmVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0NvZGVMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGVtbzogeyB0eXBlc2NyaXB0OiBzdHJpbmc7IGh0bWw6IHN0cmluZzsgfSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudHNDb250ZW50ID0gZGVtby50eXBlc2NyaXB0O1xuICAgICAgICAgICAgICAgIHRoaXMuaHRtbENvbnRlbnQgPSBkZW1vLmh0bWw7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0NvZGVMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNDb2RlRXhwYW5kZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNDb2RlTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBvbiBwbGF5Z3JvdW5kIHRhYiBzZWxlY3RlZCBpbmZvcm0gdGhlIHBsYXlncm91bmQgY29tcG9uZW50IHRoYXQgaXRzIGNvbnRlbnQgaXMgcmVuZGVyZWRcbiAgICAgKiBUT0RPOiBmaXggdGhlIGJ1ZyBvbiBldWktdGFiIGltcGxlbWVudGF0aW9uIHdoZXJlIHRoZSBuZ0FmdGVyVmlld0luaXQgaXMgY2FsbGVkIHdpdGhvdXQgdGhlIHZpZXcgYWN0dWFsbHlcbiAgICAgKiAgYmVpbmcgcmVuZGVyZWQgb24gc2NyZWVuLiBJc3N1ZSBpcyB0aGF0IGluaXRpYWxseSB0aGUgdmlldyBpcyBiZWluZyByZW5kZXJlZCBhbmQgdGhlbiByZW1vdmVkIGZyb20gdGhlIERPTS5cbiAgICAgKiAgSW50ZXJuYWxseSBldWktdGFicyBpcyBtb3ZpbmcgdGhlIHByb2plY3RlZCBjb250ZW50LlxuICAgICAqXG4gICAgICogQHBhcmFtIHNlbGVjdGVkIFRoZSBzZWxlY3RlZCB0YWIgY29tcG9uZW50IHJlZmVyZW5jZSBhbmQgaXRzIGluZGV4IGluIHRoZSB0YWJzIGFycmF5LlxuICAgICAqL1xuICAgIG9uU2VsZWN0ZWRUYWIoc2VsZWN0ZWQ6IHsgdGFiOiBFdWlUYWJDb21wb25lbnQ7IGluZGV4OiBudW1iZXI7fSkge1xuICAgICAgICB0aGlzLnBsYXlncm91bmRfYWN0aXZhdGVkID0gc2VsZWN0ZWQuaW5kZXggPT09IDI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZmlsdGVyIG91dCB0aGUgZXh0cmEgaW1wb3J0IGFuZCBtb2R1bGUgZnJvbSB0aGUgY29kZSBzYW1wbGVcbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb2RlXG4gICAgICovXG4gICAgZmlsdGVyT3V0TW9kdWxlQW5kSW1wb3J0cyhjb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICAvLyBmaWx0ZXIgb3V0IG1vZHVsZVxuICAgICAgICBjb25zdCBtb2R1bGVSZWdleCA9IC9ATmdNb2R1bGVcXCgoW1xcc1xcU10qPylcXClcXG5leHBvcnQgY2xhc3MgXFx3KyBcXHsoW1xcc1xcU10qPylcXH0vZztcbiAgICAgICAgY29kZSA9IGNvZGUucmVwbGFjZShtb2R1bGVSZWdleCwgJycpO1xuICAgICAgICAvLyBmaWx0ZXIgb3V0IGV4dHJhIGltcG9ydHNcbiAgICAgICAgY29kZSA9IGNvZGUucmVwbGFjZSgnaW1wb3J0IHsgRXVpQWxsTW9kdWxlIH0gZnJvbSBcXCdAZXVpL2NvbXBvbmVudHNcXCc7XFxuJywgJycpO1xuICAgICAgICBjb2RlID0gY29kZS5yZXBsYWNlKCdpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXFwnQGFuZ3VsYXIvY29yZVxcJztcXG4nLCAnJyk7XG4gICAgICAgIHJldHVybiBjb2RlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldENvbXBvbmVudChpZCkge1xuXG4gICAgICAgIGNvbnN0IGZsYXRMaW5rcyA9IGZsYXR0ZW4odGhpcy5hc1NlcnZpY2Uuc3RhdGUuc2lkZWJhckxpbmtzKTtcblxuICAgICAgICByZXR1cm4gZmxhdExpbmtzLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5pZCA9PT0gaWQpWzBdO1xuXG4gICAgICAgIGZ1bmN0aW9uIGZsYXR0ZW4obGlua3MpIHtcbiAgICAgICAgICAgIHJldHVybiBsaW5rcyA/IGxpbmtzLnJlZHVjZSgocmVzdWx0LCBpdGVtKSA9PiBbXG4gICAgICAgICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICAgICAgICAgIGFsdGVybmF0ZVNhbXBsZUxvY2F0aW9uOiBpdGVtLmFsdGVybmF0ZVNhbXBsZUxvY2F0aW9uLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgLi4uZmxhdHRlbihpdGVtLmNoaWxkcmVuKVxuICAgICAgICAgICAgXSwgW10pIDogW107XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZG9jLXNhbXBsZS10aXRsZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJkb2Mtc2FtcGxlLXRpdGxlX19sYWJlbFwiPjxzdHJvbmc+e3tsYWJlbH19PC9zdHJvbmc+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImRvYy1zYW1wbGUtdGl0bGVfX2l0ZW1zXCI+XG4gICAgICAgIDxidXR0b24gZXVpQnV0dG9uXG4gICAgICAgICAgICAgICAgW2V1aU91dGxpbmVdPVwiIWlzQ29kZUV4cGFuZGVkXCIgZXVpUHJpbWFyeSBldWlTaXplUyAoY2xpY2spPVwib25Ub2dnbGVDb2RlKClcIlxuICAgICAgICAgICAgICAgIFtpc0xvYWRpbmddPVwiaXNDb2RlTG9hZGluZ1wiIFtldWlEaXNhYmxlZF09XCJpc0NvZGVMb2FkaW5nXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpc0NvZGVFeHBhbmRlZFwiIGV1aUxhYmVsPkNvZGU8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzQ29kZUV4cGFuZGVkXCIgZXVpTGFiZWw+SGlkZSBDb2RlPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gZXVpSWNvbiBpY29uQ2xhc3M9XCJldWktaWNvbi1jb2RlXCI+PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgW25nSWZdPVwiaXNDb2RlRXhwYW5kZWRcIj5cbiAgICA8ZXVpLWNhcmQgZXVpTm9Db250ZW50UGFkZGluZz5cbiAgICAgICAgPGV1aS1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICA8ZXVpLXRhYnMgKHRhYlNlbGVjdCk9XCJvblNlbGVjdGVkVGFiKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8ZXVpLXRhYiBbaXNWaXNpYmxlXT1cImh0bWxDb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxldWlUYWJMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIEhUTUxcbiAgICAgICAgICAgICAgICAgICAgICAgIDxldWlUYWJTdWJMYWJlbD5IeXBlclRleHQgTWFya3VwIExhbmd1YWdlPC9ldWlUYWJTdWJMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPC9ldWlUYWJMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cHJlPjxjb2RlIGNsYXNzPVwibGFuZ3VhZ2UtbWFya3VwXCIgZXVpQ29kZT57e2h0bWxDb250ZW50fX08L2NvZGU+PC9wcmU+XG4gICAgICAgICAgICAgICAgICAgIDwvZXVpVGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICA8L2V1aS10YWI+XG4gICAgICAgICAgICAgICAgPGV1aS10YWIgW2lzVmlzaWJsZV09XCJ0c0NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgVFNcbiAgICAgICAgICAgICAgICAgICAgICAgIDxldWlUYWJTdWJMYWJlbD5UeXBlc2NyaXB0PC9ldWlUYWJTdWJMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPC9ldWlUYWJMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cHJlPjxjb2RlIGNsYXNzPVwibGFuZ3VhZ2UtamF2YXNjcmlwdFwiIGV1aUNvZGU+e3tmaWx0ZXJPdXRNb2R1bGVBbmRJbXBvcnRzKHRzQ29udGVudCl9fTwvY29kZT48L3ByZT5cbiAgICAgICAgICAgICAgICAgICAgPC9ldWlUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgIDwvZXVpLXRhYj5cbiAgICAgICAgICAgICAgICA8ZXVpLXRhYiBldWlXYXJuaW5nIFtpc1Zpc2libGVdPVwiaHRtbENvbnRlbnQgJiYgdHNDb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxldWlUYWJMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIFBsYXlncm91bmRcbiAgICAgICAgICAgICAgICAgICAgICAgIDxldWlUYWJTdWJMYWJlbD5TdGFja2JsaXR6IDxldWktY2hpcCBldWlTaXplUyBldWlXYXJuaW5nPkV4cGVyaW1lbnRhbDwvZXVpLWNoaXA+PC9ldWlUYWJTdWJMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPC9ldWlUYWJMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLXBsYXlncm91bmQgW3R5cGVzY3JpcHRDb250ZW50XT1cInRzQ29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2h0bWxDb250ZW50XT1cImh0bWxDb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWN0aXZhdGVkXT1cInBsYXlncm91bmRfYWN0aXZhdGVkXCI+PC9ldWktcGxheWdyb3VuZD5cbiAgICAgICAgICAgICAgICAgICAgPC9ldWlUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgIDwvZXVpLXRhYj5cbiAgICAgICAgPC9ldWktdGFicz5cbiAgICAgICAgPC9ldWktY2FyZC1jb250ZW50PlxuICAgIDwvZXVpLWNhcmQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jLXNhbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZG9jLXNhbXBsZS9kb2Mtc2FtcGxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kb2Mtc2FtcGxlL2RvYy1zYW1wbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBRXRGLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBU2pELE1BQU0sT0FBTyxrQkFBa0I7SUFjM0IsWUFDWSxLQUFpQixFQUNqQixTQUE0QixFQUM1QixFQUFxQjtRQUZyQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBQzVCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBaEJ4QixPQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ1IsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBRWxDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLHlCQUFvQixHQUFHLEtBQUssQ0FBQztJQVMxQixDQUFDO0lBRUosa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7U0FDeEI7SUFDTCxDQUFDO0lBRUQsWUFBWTtRQUNSLElB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Q0FBQztRQUMvRSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQywrQ0FBK0MsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN6RSxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU8sYUFBYSxDQUFDLEVBQUU7UUFFcEIsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTdELE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVyRCxTQUFTLE9BQU8sQ0FBQyxLQUFLO1lBQ2xCLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUM7Z0JBQzFDLEdBQUcsTUFBTTtnQkFDVDtvQkFDSSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7b0JBQ1gsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLHVCQUF1QjtpQkFDeEQ7Z0JBQ0QsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQzthQUM1QixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDaEIsQ0FBQztJQUNMLENBQUM7O2tJQXBKUSxrQkFBa0I7c0hBQWxCLGtCQUFrQixxS0NaL0IsaTVFQW9EQTsyRkR4Q2Esa0JBQWtCO2tCQUw5QixTQUFTOytCQUNJLHlCQUF5QjtpS0FLMUIsRUFBRTtzQkFBVixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEFmdGVyQ29udGVudEluaXQsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUsIFN1YnNjcmliZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFV4QXBwU2hlbGxTZXJ2aWNlIH0gZnJvbSAnQGV1aS9jb3JlJztcbmltcG9ydCB7IEV1aVRhYkNvbXBvbmVudCB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktdGFicyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpLXNob3djYXNlLWRvYy1zYW1wbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnZG9jLXNhbXBsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZG9jLXNhbXBsZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEb2NTYW1wbGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBASW5wdXQoKSBpZCA9ICcnO1xuICAgIEBJbnB1dCgpIGxhYmVsID0gJyc7XG4gICAgQElucHV0KCkgc3R5bGVDbGFzcyA9ICcnO1xuICAgIEBJbnB1dCgpIHJlbmRlclBsYXlncm91bmQgPSBmYWxzZTtcblxuICAgIGlzQ29kZUxvYWRlZCA9IGZhbHNlO1xuICAgIGlzQ29kZUxvYWRpbmcgPSBmYWxzZTtcbiAgICBpc0NvZGVFeHBhbmRlZCA9IGZhbHNlO1xuICAgIHBsYXlncm91bmRfYWN0aXZhdGVkID0gZmFsc2U7XG5cbiAgICB0c0NvbnRlbnQ7XG4gICAgaHRtbENvbnRlbnQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgcHJpdmF0ZSBhc1NlcnZpY2U6IFV4QXBwU2hlbGxTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5sYWJlbCkge1xuICAgICAgICAgICAgdGhpcy5sYWJlbCA9IHRoaXMuaWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblRvZ2dsZUNvZGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzQ29kZUxvYWRlZCkge1xuICAgICAgICAgICAgdGhpcy5pc0NvZGVFeHBhbmRlZCA9ICF0aGlzLmlzQ29kZUV4cGFuZGVkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzQ29kZUxvYWRlZCkge1xuICAgICAgICAgICAgdGhpcy5pc0NvZGVMb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgICAgICAgY29uc3QgdXJsID0gd2luZG93LmxvY2F0aW9uO1xuICAgICAgICAgICAgY29uc3QgcGF0aE5hbWUgPSB1cmwucGF0aG5hbWU7XG4gICAgICAgICAgICBjb25zdCBwYXRoTmFtZUFycmF5ID0gcGF0aE5hbWUuc3BsaXQoJy8nKTtcblxuICAgICAgICAgICAgbGV0IHNhbXBsZVBhdGhBcnJheSA9IFtdO1xuXG4gICAgICAgICAgICBjb25zdCBjbXBJZCA9IHBhdGhOYW1lQXJyYXlbcGF0aE5hbWVBcnJheS5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgIGNvbnN0IGNtcCA9IHRoaXMuX2dldENvbXBvbmVudChjbXBJZCk7XG5cbiAgICAgICAgICAgIGlmIChjbXAgJiYgY21wLmFsdGVybmF0ZVNhbXBsZUxvY2F0aW9uKSB7XG4gICAgICAgICAgICAgICAgc2FtcGxlUGF0aEFycmF5ID0gY21wLmFsdGVybmF0ZVNhbXBsZUxvY2F0aW9uLnNwbGl0KCcvJykucmV2ZXJzZSgpO1xuXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSBwYXRoTmFtZUFycmF5Lmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICggcGF0aE5hbWVBcnJheVtpXS5pbmRleE9mKCdldWktc2hvd2Nhc2UtJykgPiAtMSB8fCBwYXRoTmFtZUFycmF5W2ldLmluZGV4T2YoJ2xvY2FsaG9zdCcpID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChwYXRoTmFtZUFycmF5W2ldICE9PSAnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2FtcGxlUGF0aEFycmF5LnB1c2gocGF0aE5hbWVBcnJheVtpXSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKHNhbXBsZVBhdGhBcnJheSk7XG5cbiAgICAgICAgICAgIHNhbXBsZVBhdGhBcnJheSA9IHNhbXBsZVBhdGhBcnJheS5yZXZlcnNlKCk7XG4gICAgICAgICAgICBzYW1wbGVQYXRoQXJyYXkucHVzaCgnc2FtcGxlcycpO1xuICAgICAgICAgICAgc2FtcGxlUGF0aEFycmF5LnB1c2godGhpcy5pZCk7XG5cbiAgICAgICAgICAgIGNvbnN0IHNhbXBsZXNQYXRoID0gYGFzc2V0cy9zYW1wbGVzLyR7c2FtcGxlUGF0aEFycmF5LmpvaW4oJy8nKX1gO1xuXG4gICAgICAgICAgICBmb3JrSm9pbih7XG4gICAgICAgICAgICAgICAgdHlwZXNjcmlwdDogdGhpcy5faHR0cC5nZXQoYCR7c2FtcGxlc1BhdGh9L2NvbXBvbmVudC50c2AsIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgaHRtbDogdGhpcy5faHR0cC5nZXQoYCR7c2FtcGxlc1BhdGh9L2NvbXBvbmVudC5odG1sYCwge1xuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlczogeyB0eXBlc2NyaXB0OiBzdHJpbmc7IGh0bWw6IHN0cmluZzsgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQ29kZUxvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNDb2RlRXhwYW5kZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQ29kZUxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgdHlwZXNjcmlwdDogcmVzcG9uc2VzLnR5cGVzY3JpcHQsIGh0bWw6IHJlc3BvbnNlcy5odG1sIH07XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXNTZXJ2aWNlLmdyb3dsRXJyb3IoYElzc3VlIHdoaWxlIGZldGNoaW5nIDogJHtlcnJvci51cmx9IDogJHtlcnJvci5zdGF0dXN9LSR7ZXJyb3Iuc3RhdHVzVGV4dH1gKTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8YW55Pigoc3Vic2NyaWJlcjogU3Vic2NyaWJlcjxhbnk+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlci5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNDb2RlTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRlbW86IHsgdHlwZXNjcmlwdDogc3RyaW5nOyBodG1sOiBzdHJpbmc7IH0pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRzQ29udGVudCA9IGRlbW8udHlwZXNjcmlwdDtcbiAgICAgICAgICAgICAgICB0aGlzLmh0bWxDb250ZW50ID0gZGVtby5odG1sO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNDb2RlTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzQ29kZUV4cGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzQ29kZUxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogb24gcGxheWdyb3VuZCB0YWIgc2VsZWN0ZWQgaW5mb3JtIHRoZSBwbGF5Z3JvdW5kIGNvbXBvbmVudCB0aGF0IGl0cyBjb250ZW50IGlzIHJlbmRlcmVkXG4gICAgICogVE9ETzogZml4IHRoZSBidWcgb24gZXVpLXRhYiBpbXBsZW1lbnRhdGlvbiB3aGVyZSB0aGUgbmdBZnRlclZpZXdJbml0IGlzIGNhbGxlZCB3aXRob3V0IHRoZSB2aWV3IGFjdHVhbGx5XG4gICAgICogIGJlaW5nIHJlbmRlcmVkIG9uIHNjcmVlbi4gSXNzdWUgaXMgdGhhdCBpbml0aWFsbHkgdGhlIHZpZXcgaXMgYmVpbmcgcmVuZGVyZWQgYW5kIHRoZW4gcmVtb3ZlZCBmcm9tIHRoZSBET00uXG4gICAgICogIEludGVybmFsbHkgZXVpLXRhYnMgaXMgbW92aW5nIHRoZSBwcm9qZWN0ZWQgY29udGVudC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzZWxlY3RlZCBUaGUgc2VsZWN0ZWQgdGFiIGNvbXBvbmVudCByZWZlcmVuY2UgYW5kIGl0cyBpbmRleCBpbiB0aGUgdGFicyBhcnJheS5cbiAgICAgKi9cbiAgICBvblNlbGVjdGVkVGFiKHNlbGVjdGVkOiB7IHRhYjogRXVpVGFiQ29tcG9uZW50OyBpbmRleDogbnVtYmVyO30pIHtcbiAgICAgICAgdGhpcy5wbGF5Z3JvdW5kX2FjdGl2YXRlZCA9IHNlbGVjdGVkLmluZGV4ID09PSAyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGZpbHRlciBvdXQgdGhlIGV4dHJhIGltcG9ydCBhbmQgbW9kdWxlIGZyb20gdGhlIGNvZGUgc2FtcGxlXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29kZVxuICAgICAqL1xuICAgIGZpbHRlck91dE1vZHVsZUFuZEltcG9ydHMoY29kZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgLy8gZmlsdGVyIG91dCBtb2R1bGVcbiAgICAgICAgY29uc3QgbW9kdWxlUmVnZXggPSAvQE5nTW9kdWxlXFwoKFtcXHNcXFNdKj8pXFwpXFxuZXhwb3J0IGNsYXNzIFxcdysgXFx7KFtcXHNcXFNdKj8pXFx9L2c7XG4gICAgICAgIGNvZGUgPSBjb2RlLnJlcGxhY2UobW9kdWxlUmVnZXgsICcnKTtcbiAgICAgICAgLy8gZmlsdGVyIG91dCBleHRyYSBpbXBvcnRzXG4gICAgICAgIGNvZGUgPSBjb2RlLnJlcGxhY2UoJ2ltcG9ydCB7IEV1aUFsbE1vZHVsZSB9IGZyb20gXFwnQGV1aS9jb21wb25lbnRzXFwnO1xcbicsICcnKTtcbiAgICAgICAgY29kZSA9IGNvZGUucmVwbGFjZSgnaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFxcJ0Bhbmd1bGFyL2NvcmVcXCc7XFxuJywgJycpO1xuICAgICAgICByZXR1cm4gY29kZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRDb21wb25lbnQoaWQpIHtcblxuICAgICAgICBjb25zdCBmbGF0TGlua3MgPSBmbGF0dGVuKHRoaXMuYXNTZXJ2aWNlLnN0YXRlLnNpZGViYXJMaW5rcyk7XG5cbiAgICAgICAgcmV0dXJuIGZsYXRMaW5rcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGlkKVswXTtcblxuICAgICAgICBmdW5jdGlvbiBmbGF0dGVuKGxpbmtzKSB7XG4gICAgICAgICAgICByZXR1cm4gbGlua3MgPyBsaW5rcy5yZWR1Y2UoKHJlc3VsdCwgaXRlbSkgPT4gW1xuICAgICAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBpdGVtLmlkLFxuICAgICAgICAgICAgICAgICAgICBhbHRlcm5hdGVTYW1wbGVMb2NhdGlvbjogaXRlbS5hbHRlcm5hdGVTYW1wbGVMb2NhdGlvbixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIC4uLmZsYXR0ZW4oaXRlbS5jaGlsZHJlbilcbiAgICAgICAgICAgIF0sIFtdKSA6IFtdO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRvYy1zYW1wbGUtdGl0bGVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZG9jLXNhbXBsZS10aXRsZV9fbGFiZWxcIj48c3Ryb25nPnt7bGFiZWx9fTwvc3Ryb25nPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJkb2Mtc2FtcGxlLXRpdGxlX19pdGVtc1wiPlxuICAgICAgICA8YnV0dG9uIGV1aUJ1dHRvblxuICAgICAgICAgICAgICAgIFtldWlPdXRsaW5lXT1cIiFpc0NvZGVFeHBhbmRlZFwiIGV1aVByaW1hcnkgZXVpU2l6ZVMgKGNsaWNrKT1cIm9uVG9nZ2xlQ29kZSgpXCJcbiAgICAgICAgICAgICAgICBbaXNMb2FkaW5nXT1cImlzQ29kZUxvYWRpbmdcIiBbZXVpRGlzYWJsZWRdPVwiaXNDb2RlTG9hZGluZ1wiPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXNDb2RlRXhwYW5kZWRcIiBldWlMYWJlbD5Db2RlPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc0NvZGVFeHBhbmRlZFwiIGV1aUxhYmVsPkhpZGUgQ29kZTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGV1aUljb24gaWNvbkNsYXNzPVwiZXVpLWljb24tY29kZVwiPjwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImlzQ29kZUV4cGFuZGVkXCI+XG4gICAgPGV1aS1jYXJkIGV1aU5vQ29udGVudFBhZGRpbmc+XG4gICAgICAgIDxldWktY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgPGV1aS10YWJzICh0YWJTZWxlY3QpPVwib25TZWxlY3RlZFRhYigkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgPGV1aS10YWIgW2lzVmlzaWJsZV09XCJodG1sQ29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICBIVE1MXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiU3ViTGFiZWw+SHlwZXJUZXh0IE1hcmt1cCBMYW5ndWFnZTwvZXVpVGFiU3ViTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDwvZXVpVGFiTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxldWlUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHByZT48Y29kZSBjbGFzcz1cImxhbmd1YWdlLW1hcmt1cFwiIGV1aUNvZGU+e3todG1sQ29udGVudH19PC9jb2RlPjwvcHJlPlxuICAgICAgICAgICAgICAgICAgICA8L2V1aVRhYkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPC9ldWktdGFiPlxuICAgICAgICAgICAgICAgIDxldWktdGFiIFtpc1Zpc2libGVdPVwidHNDb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxldWlUYWJMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIFRTXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiU3ViTGFiZWw+VHlwZXNjcmlwdDwvZXVpVGFiU3ViTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDwvZXVpVGFiTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxldWlUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHByZT48Y29kZSBjbGFzcz1cImxhbmd1YWdlLWphdmFzY3JpcHRcIiBldWlDb2RlPnt7ZmlsdGVyT3V0TW9kdWxlQW5kSW1wb3J0cyh0c0NvbnRlbnQpfX08L2NvZGU+PC9wcmU+XG4gICAgICAgICAgICAgICAgICAgIDwvZXVpVGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICA8L2V1aS10YWI+XG4gICAgICAgICAgICAgICAgPGV1aS10YWIgZXVpV2FybmluZyBbaXNWaXNpYmxlXT1cImh0bWxDb250ZW50ICYmIHRzQ29udGVudCAmJiByZW5kZXJQbGF5Z3JvdW5kXCI+XG4gICAgICAgICAgICAgICAgICAgIDxldWlUYWJMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIFBsYXlncm91bmRcbiAgICAgICAgICAgICAgICAgICAgICAgIDxldWlUYWJTdWJMYWJlbD5TdGFja2JsaXR6IDxldWktY2hpcCBldWlTaXplUyBldWlXYXJuaW5nPkV4cGVyaW1lbnRhbDwvZXVpLWNoaXA+PC9ldWlUYWJTdWJMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPC9ldWlUYWJMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLXBsYXlncm91bmQgW3R5cGVzY3JpcHRDb250ZW50XT1cInRzQ29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2h0bWxDb250ZW50XT1cImh0bWxDb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWN0aXZhdGVkXT1cInBsYXlncm91bmRfYWN0aXZhdGVkXCI+PC9ldWktcGxheWdyb3VuZD5cbiAgICAgICAgICAgICAgICAgICAgPC9ldWlUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgIDwvZXVpLXRhYj5cbiAgICAgICAgPC9ldWktdGFicz5cbiAgICAgICAgPC9ldWktY2FyZC1jb250ZW50PlxuICAgIDwvZXVpLWNhcmQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|
|
@@ -200,4 +200,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
|
|
|
200
200
|
type: ViewChild,
|
|
201
201
|
args: ['container', { read: ElementRef, static: true }]
|
|
202
202
|
}] } });
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9wbGF5Z3JvdW5kL3BsYXlncm91bmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUlMLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEdBQWdDLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQ0gsZUFBZSxFQUNmLGFBQWEsRUFDYixRQUFRLEVBRVIsWUFBWSxFQUNaLGFBQWEsRUFDYixRQUFRLEVBQ1gsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFNNUIsTUFBTSxPQUFPLG1CQUFtQjtJQWtCNUIsWUFBb0IsUUFBbUIsRUFDbkIsVUFBc0IsRUFDdEIsUUFBMkIsRUFDM0IsSUFBZ0I7UUFIaEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQW1CO1FBQzNCLFNBQUksR0FBSixJQUFJLENBQVk7UUFsQjdCLFVBQUssR0FBVyxnQkFBZ0IsQ0FBQztRQU1qQyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRzNCLGFBQVEsR0FBWSxLQUFLLENBQUM7SUFVakMsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDbkIsSUFBRyxPQUFPLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRTtnQkFDL0IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ3pCO2lCQUFNO2dCQUNI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QUF5QixDQUFDLENBQUM7UUFDMUQsbUNBQW1DO1FBQ25DLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLHlCQUF5QixFQUFFLDhCQUE4QixDQUFDLENBQUM7UUFDdkYsa0NBQWtDO1FBQ2xDLE9BQU8sK0RBQStELFFBQVEsRUFBRSxDQUFDO0lBQ3JGLENBQUM7O21JQXhNUSxtQkFBbUI7dUhBQW5CLG1CQUFtQiwrUkFhRyxVQUFVLGdFQ3hDN0MsMkhBR0E7MkZEd0JhLG1CQUFtQjtrQkFKL0IsU0FBUzsrQkFDSSxnQkFBZ0I7a0xBTW5CLEtBQUs7c0JBRFgsS0FBSztnQkFHQyxXQUFXO3NCQURqQixLQUFLO2dCQUdDLGlCQUFpQjtzQkFEdkIsS0FBSztnQkFHQyxTQUFTO3NCQURmLEtBQUs7Z0JBR0MsT0FBTztzQkFEYixLQUFLO2dCQUlFLG1CQUFtQjtzQkFEMUIsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVeEFwcFNoZWxsU2VydmljZSB9IGZyb20gJ0BldWkvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHNkaywgeyBQcm9qZWN0RGVwZW5kZW5jaWVzLCBWTSB9IGZyb20gJ0BzdGFja2JsaXR6L3Nkayc7XG5pbXBvcnQgeyBsYXN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIGFuZ3VsYXJKc29uRmlsZSxcbiAgICBpbmRleEh0bWxGaWxlLFxuICAgIG1haW5GaWxlLFxuICAgIG1vZHVsZUZpbGUsXG4gICAgUEFDS0FHRV9KU09OLFxuICAgIHBvbHlmaWxsc0ZpbGUsXG4gICAgdHNDb25maWdcbn0gZnJvbSAnLi9zdGFja2JsaXR6LmZpbGVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktcGxheWdyb3VuZCcsXG4gICAgdGVtcGxhdGVVcmw6IGBwbGF5Z3JvdW5kLmNvbXBvbmVudC5odG1sYCxcbn0pXG5leHBvcnQgY2xhc3MgUGxheWdyb3VuZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0aXRsZTogc3RyaW5nID0gJ2VVSSBQbGF5Z3JvdW5kJztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBodG1sQ29udGVudDogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHR5cGVzY3JpcHRDb250ZW50OiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYWN0aXZhdGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbW9kdWxlczogW3tuYW1lOiBzdHJpbmc7IHBhdGg6IHN0cmluZzt9XTtcbiAgICBwdWJsaWMgaXNMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7cmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlfSlcbiAgICBwcml2YXRlIHN0YWNrYmxpdHpFbFdyYXBwZXI6IEVsZW1lbnRSZWY8SFRNTElGcmFtZUVsZW1lbnQ+O1xuICAgIC8qKiBpbnN0YW5jZSB0aGF0IGhvbGRzIHRoZSBzdGFja2JsaXR6IFZNIG9iamVjdCAqL1xuICAgIHByaXZhdGUgc3RhY2tibGl0ekluc3RhbmNlOiBWTTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBhcHBTaGVsbDogVXhBcHBTaGVsbFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlcy5hY3RpdmF0ZWQpIHtcbiAgICAgICAgICAgIGlmKGNoYW5nZXMuYWN0aXZhdGVkLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdFN0YWNrYmxpdHooKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0U3RhY2tibGl0eigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nZXRTdGFja2JsaXR6RGVwZW5kZW5jaWVzKClcbiAgICAgICAgICAgIC50aGVuKChkZXBzKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qge2RlcGVuZGVuY2llcywgZGV2RGVwZW5kZW5jaWVzfSA9IGRlcHM7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBzZWxlY3RvciwgY2xhc3NOYW1lIH0gPSB0aGlzLmV4dHJhY3RDb21wb25lbnRNZXRhZGF0YSh0aGlzLnR5cGVzY3JpcHRDb250ZW50KTtcbiAgICAgICAgICAgICAgICBjb25zdCBtb2R1bGVOYW1lID0gdGhpcy5leHRyYWN0TW9kdWxlTmFtZSh0aGlzLnR5cGVzY3JpcHRDb250ZW50KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2RrLmVtYmVkUHJvamVjdChcbiAgICAgICAgICAgICAgICAgICAgJ3N0YWNrYmxpdHonLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogdGhpcy50aXRsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBgQW4gZVVJIGV4YW1wbGUgZm9yIHRoZSAke3RoaXMudGl0bGV9LmAsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZTogJ2FuZ3VsYXItY2xpJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NyYy9jb21wb25lbnQuaHRtbCc6IHRoaXMuaHRtbENvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NyYy9jb21wb25lbnQudHMnOiB0aGlzLmFwcGVuZFZpdGFsTmdNb2R1bGVzKHRoaXMudHlwZXNjcmlwdENvbnRlbnQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICdzcmMvYXBwLm1vZHVsZS50cyc6IG1vZHVsZUZpbGUoY2xhc3NOYW1lLCB0aGlzLm1vZHVsZXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzcmMvbWFpbi50cyc6IG1haW5GaWxlKG1vZHVsZU5hbWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzcmMvcG9seWZpbGxzLnRzJzogcG9seWZpbGxzRmlsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3JjL2luZGV4Lmh0bWwnOiBpbmRleEh0bWxGaWxlKHNlbGVjdG9yKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYW5ndWxhci5qc29uJzogYW5ndWxhckpzb25GaWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwYWNrYWdlLmpzb24nOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLlBBQ0tBR0VfSlNPTixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZEZXBlbmRlbmNpZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgbnVsbCwgMiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RzY29uZmlnLmpzb24nOiB0c0NvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGlsZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiAnYXV0bycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyQ29uc29sZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5GaWxlOiBbJ2NvbXBvbmVudC50cyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1MDAsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAudGhlbigoaW5zdGFuY2U6IFZNKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGFja2JsaXR6SW5zdGFuY2UgPSBpbnN0YW5jZTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlIG9ubHkgdGhlIGRlcGVuZGVuY2llcyB0aGF0IHN0YWNrYmxpdHogd2lsbCBuZWVkIGZpbHRlcmVkIGZyb20gQGV1aS9kZXBzLWJhc2VcbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRTdGFja2JsaXR6RGVwZW5kZW5jaWVzKCk6IFByb21pc2U8eyBkZXBlbmRlbmNpZXM6IFByb2plY3REZXBlbmRlbmNpZXM7IGRldkRlcGVuZGVuY2llczogUHJvamVjdERlcGVuZGVuY2llczsgfT4ge1xuICAgICAgICAvLyBhIGxpc3Qgb2YgZGVwZW5kZW5jaWVzIG9ubHkgc3RhY2tibGl0eiBuZWVkc1xuICAgICAgICBjb25zdCBzdGFja2JsaXR6RGVwZW5kZW5jaWVzID0gW1xuICAgICAgICAgICAgJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnLFxuICAgICAgICAgICAgJ0Bhbmd1bGFyL2NkaycsXG4gICAgICAgICAgICAnQGFuZ3VsYXIvY29tbW9uJyxcbiAgICAgICAgICAgICdAYW5ndWxhci9jb21waWxlcicsXG4gICAgICAgICAgICAnQGFuZ3VsYXIvY29yZScsXG4gICAgICAgICAgICAnQGFuZ3VsYXIvZm9ybXMnLFxuICAgICAgICAgICAgJ0Bhbmd1bGFyL21hdGVyaWFsJyxcbiAgICAgICAgICAgICdAYW5ndWxhci9tYXRlcmlhbC1tb21lbnQtYWRhcHRlcicsXG4gICAgICAgICAgICAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlcicsXG4gICAgICAgICAgICAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljJyxcbiAgICAgICAgICAgICdAYW5ndWxhci9yb3V0ZXInLFxuICAgICAgICAgICAgJ0BldWkvYmFzZScsXG4gICAgICAgICAgICAnQGV1aS9jb21wb25lbnRzJyxcbiAgICAgICAgICAgICdAZXVpL2NvcmUnLFxuICAgICAgICAgICAgJ0BldWkvc3R5bGVzJyxcbiAgICAgICAgICAgICdAZXVpL3N0eWxlcy1iYXNlJyxcbiAgICAgICAgICAgICdAbmdyeC9lZmZlY3RzJyxcbiAgICAgICAgICAgICdAbmdyeC9zdG9yZScsXG4gICAgICAgICAgICAnQG5neC10cmFuc2xhdGUvY29yZScsXG4gICAgICAgICAgICAnbG9jYWxmb3JhZ2UnLFxuICAgICAgICAgICAgJ2xvZGFzaC1lcycsXG4gICAgICAgICAgICAncmVzZWxlY3QnLFxuICAgICAgICAgICAgJ3J4anMnLFxuICAgICAgICAgICAgJ3RzbGliJyxcbiAgICAgICAgICAgICd6b25lLmpzJ1xuICAgICAgICBdO1xuXG4gICAgICAgIGNvbnN0IHN0YWNrYmxpdHpEZXZEZXBlbmRlbmNpZXMgPSBbXG4gICAgICAgICAgICAnQGFuZ3VsYXItZGV2a2l0L2J1aWxkLWFuZ3VsYXInLFxuICAgICAgICAgICAgJ0Bhbmd1bGFyL2NsaScsXG4gICAgICAgICAgICAnQGFuZ3VsYXIvY29tcGlsZXItY2xpJyxcbiAgICAgICAgICAgICd0eXBlc2NyaXB0J1xuICAgICAgICBdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmdldEN1cnJlbnRTaG93Y2FzZUV1aVZlcnNpb24oKVxuICAgICAgICAgICAgLnRoZW4oKHZlcnNpb24pID0+IHRoaXMucmV0cmlldmVQYWNrYWdlRGVwZW5kZW5jaWVzKHZlcnNpb24pKVxuICAgICAgICAgICAgLnRoZW4oKGRlcGVuZGVuY2llcykgPT4ge1xuICAgICAgICAgICAgICAgIC8vIGZpbHRlciBkZXBlbmRlbmNpZXMgdG8gb25seSB3aGF0IHN0YWNrYmxpdHogbmVlZHNcbiAgICAgICAgICAgICAgICBsZXQgZmlsdGVyZWRBcnIgPSBPYmplY3QuZW50cmllcyhkZXBlbmRlbmNpZXMpXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoKHYpID0+IHN0YWNrYmxpdHpEZXBlbmRlbmNpZXMuZmluZChzID0+IHMgPT09IHZbMF0pKTtcbiAgICAgICAgICAgICAgICBsZXQgZmlsdGVyZWRPYmogPSBPYmplY3QuZnJvbUVudHJpZXMoZmlsdGVyZWRBcnIpO1xuICAgICAgICAgICAgICAgIGxldCBleHRyYURlcGVuZGVuY2llcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgdXVpZDogJzguMy4yJyxcbiAgICAgICAgICAgICAgICAgICAgJ25neC1kZXZpY2UtZGV0ZWN0b3InOiAnMy4wLjAnLFxuICAgICAgICAgICAgICAgICAgICAnbmd4LW1vbWVudCc6ICd+Ni4wLjAnLFxuICAgICAgICAgICAgICAgICAgICAnbmd4LW1hc2snOiAnXjE0LjAuMCcsXG4gICAgICAgICAgICAgICAgICAgICdjbGVhdmUuanMnOiAnXjEuNi4wJyxcbiAgICAgICAgICAgICAgICAgICAgbW9tZW50OiAnXjIuMTkuMycsXG4gICAgICAgICAgICAgICAgICAgIGV4dGVuZDogJ14zLjAuMicsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAvLyBmaWx0ZXIgZGV2RGVwZW5kZW5jaWVzIHRvIG9ubHkgd2hhdCBzdGFja2JsaXR6IG5lZWRzXG4gICAgICAgICAgICAgICAgZmlsdGVyZWRBcnIgPSBPYmplY3QuZW50cmllcyhkZXBlbmRlbmNpZXMpXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoKHYpID0+IHN0YWNrYmxpdHpEZXZEZXBlbmRlbmNpZXMuZmluZChzID0+IHMgPT09IHZbMF0pKTtcbiAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMgPSB7Li4uZXh0cmFEZXBlbmRlbmNpZXMsIC4uLmZpbHRlcmVkT2JqfTtcbiAgICAgICAgICAgICAgICBsZXQgZGV2RGVwZW5kZW5jaWVzID0gT2JqZWN0LmZyb21FbnRyaWVzKGZpbHRlcmVkQXJyKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiB7ZGVwZW5kZW5jaWVzLCBkZXZEZXBlbmRlbmNpZXN9O1xuICAgICAgICAgICAgfSApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlIHRoZSBkZXBlbmRlbmNpZXMgZnJvbSB0aGUgcGFja2FnZS5qc29uIGZpbGUgb2YgQGV1aS9kZXBzLWJhc2UgZm9yIHRoZSBnaXZlbiB2ZXJzaW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIHZlcnNpb25cbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgcmV0cmlldmVQYWNrYWdlRGVwZW5kZW5jaWVzKHZlcnNpb24pOiBQcm9taXNlPFByb2plY3REZXBlbmRlbmNpZXM+IHtcbiAgICAgICAgcmV0dXJuIGZldGNoKGBodHRwczovL3VucGtnLmNvbS9AZXVpL2RlcHMtYmFzZUAke3ZlcnNpb259L3BhY2thZ2UuanNvbmApXG4gICAgICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IHJlc3BvbnNlLmpzb24oKSlcbiAgICAgICAgICAgIC50aGVuKChwa2cpID0+IHBrZz8uZGVwZW5kZW5jaWVzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZSB0aGUgZVVJIHZlcnNpb24gdXNlZCB0byBidWlsZCB0aGUgc2hvd2Nhc2UgZnJvbSBhcHBsaWNhdGlvbiBhcHAtbWV0YWRhdGEuanNvblxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldEN1cnJlbnRTaG93Y2FzZUV1aVZlcnNpb24oKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIGxhc3RWYWx1ZUZyb20odGhpcy5odHRwLmdldDxhbnk+KCdhc3NldHMvYXBwLW1ldGFkYXRhLmpzb24nLCB7cmVzcG9uc2VUeXBlOiAnanNvbid9KSlcbiAgICAgICAgICAgIC50aGVuKChyZXMpID0+IHJlcz8uYXBwVmVyc2lvbiB8fCAnbGF0ZXN0Jyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZXh0cmFjdCB0aGUgbmFtZSBvZiB0aGUgY29tcG9uZW50IGNsYXNzIG5hbWUgYW5kIHNlbGVjdG9yIG5hbWUgZnJvbSB0aGUgdHlwZXNjcmlwdCBjb250ZW50XG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGVudHNcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgZXh0cmFjdENvbXBvbmVudE1ldGFkYXRhKGNvbnRlbnRzOiBzdHJpbmcpOiB7IHNlbGVjdG9yOiBzdHJpbmc7IGNsYXNzTmFtZTogc3RyaW5nOyB9IHtcbiAgICAgICAgY29uc3QgY2xhc3NOYW1lID0gY29udGVudHMubWF0Y2goL2V4cG9ydCBjbGFzcyAoW1xcd1xcZF0rKS8pO1xuICAgICAgICBjb25zdCBzZWxlY3Rvck5hbWUgPSBjb250ZW50cy5tYXRjaCgvc2VsZWN0b3I6ICcoW1xcd1xcZC1dKyknLyk7XG4gICAgICAgIHJldHVybiB7IGNsYXNzTmFtZTogY2xhc3NOYW1lID8gY2xhc3NOYW1lWzFdIDogJycsIHNlbGVjdG9yOiBzZWxlY3Rvck5hbWUgPyBzZWxlY3Rvck5hbWVbMV0gOiAnJ307XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZXh0cmFjdCBtb2R1bGUgY2xhc3MgbmFtZSBmcm9tIHRoZSB0eXBlc2NyaXB0IGNvbnRlbnRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250ZW50c1xuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBleHRyYWN0TW9kdWxlTmFtZShjb250ZW50czogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgbW9kdWxlQ2xhc3MgPSBjb250ZW50cy5tYXRjaCgvZXhwb3J0IGNsYXNzIChcXHcrTW9kdWxlKS8pO1xuICAgICAgICByZXR1cm4gbW9kdWxlQ2xhc3MgPyBtb2R1bGVDbGFzc1sxXSA6ICcnO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXBwZW5kVml0YWxOZ01vZHVsZXMoY29udGVudHM6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGltcG9ydHMgPSBjb250ZW50cy5tYXRjaCgvaW1wb3J0czogXFxbKFtcXHNcXFNdKj8pXFxdLyk7XG4gICAgICAgIC8vIGFwcGVuZHMgQnJvd3Nlck1vZHVsZSB0byBpbXBvcnRzXG4gICAgICAgIGNvbnRlbnRzID0gY29udGVudHMucmVwbGFjZSgvaW1wb3J0czogXFxbKFtcXHNcXFNdKj8pXFxdLywgYGltcG9ydHM6IFtCcm93c2VyTW9kdWxlLCAkMV1gKTtcbiAgICAgICAgLy8gYXBwZW5kcyBpbXBvcnQgb2YgQnJvd3Nlck1vZHVsZVxuICAgICAgICByZXR1cm4gYGltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcXG4ke2NvbnRlbnRzfWA7XG4gICAgfVxuXG59XG4iLCI8ZXVpLWJsb2NrLWNvbnRlbnQgW2lzQmxvY2tlZF09XCIhaXNMb2FkZWRcIj5cbiAgICA8aWZyYW1lICNjb250YWluZXIgaWQ9XCJzdGFja2JsaXR6XCI+PC9pZnJhbWU+XG48L2V1aS1ibG9jay1jb250ZW50PlxuIl19
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9wbGF5Z3JvdW5kL3BsYXlncm91bmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUlMLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEdBQWdDLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQ0gsZUFBZSxFQUNmLGFBQWEsRUFDYixRQUFRLEVBQ1IsWUFBWSxFQUNaLGFBQWEsRUFDYixRQUFRLEVBQ1gsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFNNUIsTUFBTSxPQUFPLG1CQUFtQjtJQWtCNUIsWUFBb0IsUUFBbUIsRUFDbkIsVUFBc0IsRUFDdEIsUUFBMkIsRUFDM0IsSUFBZ0I7UUFIaEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQW1CO1FBQzNCLFNBQUksR0FBSixJQUFJLENBQVk7UUFsQjdCLFVBQUssR0FBVyxnQkFBZ0IsQ0FBQztRQU1qQyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRzNCLGFBQVEsR0FBWSxLQUFLLENBQUM7SUFVakMsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDbkIsSUFBRyxPQUFPLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRTtnQkFDL0IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ3pCO2lCQUFNO2dCQUNI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QUF5QixDQUFDLENBQUM7UUFDMUQsbUNBQW1DO1FBQ25DLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLHlCQUF5QixFQUFFLDhCQUE4QixDQUFDLENBQUM7UUFDdkYsa0NBQWtDO1FBQ2xDLE9BQU8sK0RBQStELFFBQVEsRUFBRSxDQUFDO0lBQ3JGLENBQUM7O21JQXhNUSxtQkFBbUI7dUhBQW5CLG1CQUFtQiwrUkFhRyxVQUFVLGdFQ3ZDN0MsMkhBR0E7MkZEdUJhLG1CQUFtQjtrQkFKL0IsU0FBUzsrQkFDSSxnQkFBZ0I7a0xBTW5CLEtBQUs7c0JBRFgsS0FBSztnQkFHQyxXQUFXO3NCQURqQixLQUFLO2dCQUdDLGlCQUFpQjtzQkFEdkIsS0FBSztnQkFHQyxTQUFTO3NCQURmLEtBQUs7Z0JBR0MsT0FBTztzQkFEYixLQUFLO2dCQUlFLG1CQUFtQjtzQkFEMUIsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVeEFwcFNoZWxsU2VydmljZSB9IGZyb20gJ0BldWkvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHNkaywgeyBQcm9qZWN0RGVwZW5kZW5jaWVzLCBWTSB9IGZyb20gJ0BzdGFja2JsaXR6L3Nkayc7XG5pbXBvcnQgeyBsYXN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIGFuZ3VsYXJKc29uRmlsZSxcbiAgICBpbmRleEh0bWxGaWxlLFxuICAgIG1haW5GaWxlLFxuICAgIFBBQ0tBR0VfSlNPTixcbiAgICBwb2x5ZmlsbHNGaWxlLFxuICAgIHRzQ29uZmlnXG59IGZyb20gJy4vc3RhY2tibGl0ei5maWxlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpLXBsYXlncm91bmQnLFxuICAgIHRlbXBsYXRlVXJsOiBgcGxheWdyb3VuZC5jb21wb25lbnQuaHRtbGAsXG59KVxuZXhwb3J0IGNsYXNzIFBsYXlncm91bmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdGl0bGU6IHN0cmluZyA9ICdlVUkgUGxheWdyb3VuZCc7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaHRtbENvbnRlbnQ6IHN0cmluZztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0eXBlc2NyaXB0Q29udGVudDogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGFjdGl2YXRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1vZHVsZXM6IFt7bmFtZTogc3RyaW5nOyBwYXRoOiBzdHJpbmc7fV07XG4gICAgcHVibGljIGlzTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywge3JlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZX0pXG4gICAgcHJpdmF0ZSBzdGFja2JsaXR6RWxXcmFwcGVyOiBFbGVtZW50UmVmPEhUTUxJRnJhbWVFbGVtZW50PjtcbiAgICAvKiogaW5zdGFuY2UgdGhhdCBob2xkcyB0aGUgc3RhY2tibGl0eiBWTSBvYmplY3QgKi9cbiAgICBwcml2YXRlIHN0YWNrYmxpdHpJbnN0YW5jZTogVk07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgYXBwU2hlbGw6IFV4QXBwU2hlbGxTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuYWN0aXZhdGVkKSB7XG4gICAgICAgICAgICBpZihjaGFuZ2VzLmFjdGl2YXRlZC5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRTdGFja2JsaXR6KCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFN0YWNrYmxpdHooKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ2V0U3RhY2tibGl0ekRlcGVuZGVuY2llcygpXG4gICAgICAgICAgICAudGhlbigoZGVwcykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHtkZXBlbmRlbmNpZXMsIGRldkRlcGVuZGVuY2llc30gPSBkZXBzO1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgc2VsZWN0b3IsIGNsYXNzTmFtZSB9ID0gdGhpcy5leHRyYWN0Q29tcG9uZW50TWV0YWRhdGEodGhpcy50eXBlc2NyaXB0Q29udGVudCk7XG4gICAgICAgICAgICAgICAgY29uc3QgbW9kdWxlTmFtZSA9IHRoaXMuZXh0cmFjdE1vZHVsZU5hbWUodGhpcy50eXBlc2NyaXB0Q29udGVudCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNkay5lbWJlZFByb2plY3QoXG4gICAgICAgICAgICAgICAgICAgICdzdGFja2JsaXR6JyxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHRoaXMudGl0bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYEFuIGVVSSBleGFtcGxlIGZvciB0aGUgJHt0aGlzLnRpdGxlfS5gLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGU6ICdhbmd1bGFyLWNsaScsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzcmMvY29tcG9uZW50Lmh0bWwnOiB0aGlzLmh0bWxDb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzcmMvY29tcG9uZW50LnRzJzogdGhpcy5hcHBlbmRWaXRhbE5nTW9kdWxlcyh0aGlzLnR5cGVzY3JpcHRDb250ZW50KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAnc3JjL2FwcC5tb2R1bGUudHMnOiBtb2R1bGVGaWxlKGNsYXNzTmFtZSwgdGhpcy5tb2R1bGVzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3JjL21haW4udHMnOiBtYWluRmlsZShtb2R1bGVOYW1lKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3JjL3BvbHlmaWxscy50cyc6IHBvbHlmaWxsc0ZpbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NyYy9pbmRleC5odG1sJzogaW5kZXhIdG1sRmlsZShzZWxlY3RvciksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FuZ3VsYXIuanNvbic6IGFuZ3VsYXJKc29uRmlsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncGFja2FnZS5qc29uJzogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5QQUNLQUdFX0pTT04sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2RGVwZW5kZW5jaWVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIG51bGwsIDIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0c2NvbmZpZy5qc29uJzogdHNDb25maWdcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBpbGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogJ2F1dG8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhckNvbnNvbGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGVuRmlsZTogWydjb21wb25lbnQudHMnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNTAwLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnRoZW4oKGluc3RhbmNlOiBWTSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhY2tibGl0ekluc3RhbmNlID0gaW5zdGFuY2U7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMgdGhhdCBzdGFja2JsaXR6IHdpbGwgbmVlZCBmaWx0ZXJlZCBmcm9tIEBldWkvZGVwcy1iYXNlXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0U3RhY2tibGl0ekRlcGVuZGVuY2llcygpOiBQcm9taXNlPHsgZGVwZW5kZW5jaWVzOiBQcm9qZWN0RGVwZW5kZW5jaWVzOyBkZXZEZXBlbmRlbmNpZXM6IFByb2plY3REZXBlbmRlbmNpZXM7IH0+IHtcbiAgICAgICAgLy8gYSBsaXN0IG9mIGRlcGVuZGVuY2llcyBvbmx5IHN0YWNrYmxpdHogbmVlZHNcbiAgICAgICAgY29uc3Qgc3RhY2tibGl0ekRlcGVuZGVuY2llcyA9IFtcbiAgICAgICAgICAgICdAYW5ndWxhci9hbmltYXRpb25zJyxcbiAgICAgICAgICAgICdAYW5ndWxhci9jZGsnLFxuICAgICAgICAgICAgJ0Bhbmd1bGFyL2NvbW1vbicsXG4gICAgICAgICAgICAnQGFuZ3VsYXIvY29tcGlsZXInLFxuICAgICAgICAgICAgJ0Bhbmd1bGFyL2NvcmUnLFxuICAgICAgICAgICAgJ0Bhbmd1bGFyL2Zvcm1zJyxcbiAgICAgICAgICAgICdAYW5ndWxhci9tYXRlcmlhbCcsXG4gICAgICAgICAgICAnQGFuZ3VsYXIvbWF0ZXJpYWwtbW9tZW50LWFkYXB0ZXInLFxuICAgICAgICAgICAgJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInLFxuICAgICAgICAgICAgJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXItZHluYW1pYycsXG4gICAgICAgICAgICAnQGFuZ3VsYXIvcm91dGVyJyxcbiAgICAgICAgICAgICdAZXVpL2Jhc2UnLFxuICAgICAgICAgICAgJ0BldWkvY29tcG9uZW50cycsXG4gICAgICAgICAgICAnQGV1aS9jb3JlJyxcbiAgICAgICAgICAgICdAZXVpL3N0eWxlcycsXG4gICAgICAgICAgICAnQGV1aS9zdHlsZXMtYmFzZScsXG4gICAgICAgICAgICAnQG5ncngvZWZmZWN0cycsXG4gICAgICAgICAgICAnQG5ncngvc3RvcmUnLFxuICAgICAgICAgICAgJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnLFxuICAgICAgICAgICAgJ2xvY2FsZm9yYWdlJyxcbiAgICAgICAgICAgICdsb2Rhc2gtZXMnLFxuICAgICAgICAgICAgJ3Jlc2VsZWN0JyxcbiAgICAgICAgICAgICdyeGpzJyxcbiAgICAgICAgICAgICd0c2xpYicsXG4gICAgICAgICAgICAnem9uZS5qcydcbiAgICAgICAgXTtcblxuICAgICAgICBjb25zdCBzdGFja2JsaXR6RGV2RGVwZW5kZW5jaWVzID0gW1xuICAgICAgICAgICAgJ0Bhbmd1bGFyLWRldmtpdC9idWlsZC1hbmd1bGFyJyxcbiAgICAgICAgICAgICdAYW5ndWxhci9jbGknLFxuICAgICAgICAgICAgJ0Bhbmd1bGFyL2NvbXBpbGVyLWNsaScsXG4gICAgICAgICAgICAndHlwZXNjcmlwdCdcbiAgICAgICAgXTtcblxuICAgICAgICByZXR1cm4gdGhpcy5nZXRDdXJyZW50U2hvd2Nhc2VFdWlWZXJzaW9uKClcbiAgICAgICAgICAgIC50aGVuKCh2ZXJzaW9uKSA9PiB0aGlzLnJldHJpZXZlUGFja2FnZURlcGVuZGVuY2llcyh2ZXJzaW9uKSlcbiAgICAgICAgICAgIC50aGVuKChkZXBlbmRlbmNpZXMpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBmaWx0ZXIgZGVwZW5kZW5jaWVzIHRvIG9ubHkgd2hhdCBzdGFja2JsaXR6IG5lZWRzXG4gICAgICAgICAgICAgICAgbGV0IGZpbHRlcmVkQXJyID0gT2JqZWN0LmVudHJpZXMoZGVwZW5kZW5jaWVzKVxuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKCh2KSA9PiBzdGFja2JsaXR6RGVwZW5kZW5jaWVzLmZpbmQocyA9PiBzID09PSB2WzBdKSk7XG4gICAgICAgICAgICAgICAgbGV0IGZpbHRlcmVkT2JqID0gT2JqZWN0LmZyb21FbnRyaWVzKGZpbHRlcmVkQXJyKTtcbiAgICAgICAgICAgICAgICBsZXQgZXh0cmFEZXBlbmRlbmNpZXMgPSB7XG4gICAgICAgICAgICAgICAgICAgIHV1aWQ6ICc4LjMuMicsXG4gICAgICAgICAgICAgICAgICAgICduZ3gtZGV2aWNlLWRldGVjdG9yJzogJzMuMC4wJyxcbiAgICAgICAgICAgICAgICAgICAgJ25neC1tb21lbnQnOiAnfjYuMC4wJyxcbiAgICAgICAgICAgICAgICAgICAgJ25neC1tYXNrJzogJ14xNC4wLjAnLFxuICAgICAgICAgICAgICAgICAgICAnY2xlYXZlLmpzJzogJ14xLjYuMCcsXG4gICAgICAgICAgICAgICAgICAgIG1vbWVudDogJ14yLjE5LjMnLFxuICAgICAgICAgICAgICAgICAgICBleHRlbmQ6ICdeMy4wLjInLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgLy8gZmlsdGVyIGRldkRlcGVuZGVuY2llcyB0byBvbmx5IHdoYXQgc3RhY2tibGl0eiBuZWVkc1xuICAgICAgICAgICAgICAgIGZpbHRlcmVkQXJyID0gT2JqZWN0LmVudHJpZXMoZGVwZW5kZW5jaWVzKVxuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKCh2KSA9PiBzdGFja2JsaXR6RGV2RGVwZW5kZW5jaWVzLmZpbmQocyA9PiBzID09PSB2WzBdKSk7XG4gICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzID0gey4uLmV4dHJhRGVwZW5kZW5jaWVzLCAuLi5maWx0ZXJlZE9ian07XG4gICAgICAgICAgICAgICAgbGV0IGRldkRlcGVuZGVuY2llcyA9IE9iamVjdC5mcm9tRW50cmllcyhmaWx0ZXJlZEFycik7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4ge2RlcGVuZGVuY2llcywgZGV2RGVwZW5kZW5jaWVzfTtcbiAgICAgICAgICAgIH0gKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZSB0aGUgZGVwZW5kZW5jaWVzIGZyb20gdGhlIHBhY2thZ2UuanNvbiBmaWxlIG9mIEBldWkvZGVwcy1iYXNlIGZvciB0aGUgZ2l2ZW4gdmVyc2lvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB2ZXJzaW9uXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIHJldHJpZXZlUGFja2FnZURlcGVuZGVuY2llcyh2ZXJzaW9uKTogUHJvbWlzZTxQcm9qZWN0RGVwZW5kZW5jaWVzPiB7XG4gICAgICAgIHJldHVybiBmZXRjaChgaHR0cHM6Ly91bnBrZy5jb20vQGV1aS9kZXBzLWJhc2VAJHt2ZXJzaW9ufS9wYWNrYWdlLmpzb25gKVxuICAgICAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5qc29uKCkpXG4gICAgICAgICAgICAudGhlbigocGtnKSA9PiBwa2c/LmRlcGVuZGVuY2llcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmUgdGhlIGVVSSB2ZXJzaW9uIHVzZWQgdG8gYnVpbGQgdGhlIHNob3djYXNlIGZyb20gYXBwbGljYXRpb24gYXBwLW1ldGFkYXRhLmpzb25cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRDdXJyZW50U2hvd2Nhc2VFdWlWZXJzaW9uKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiBsYXN0VmFsdWVGcm9tKHRoaXMuaHR0cC5nZXQ8YW55PignYXNzZXRzL2FwcC1tZXRhZGF0YS5qc29uJywge3Jlc3BvbnNlVHlwZTogJ2pzb24nfSkpXG4gICAgICAgICAgICAudGhlbigocmVzKSA9PiByZXM/LmFwcFZlcnNpb24gfHwgJ2xhdGVzdCcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGV4dHJhY3QgdGhlIG5hbWUgb2YgdGhlIGNvbXBvbmVudCBjbGFzcyBuYW1lIGFuZCBzZWxlY3RvciBuYW1lIGZyb20gdGhlIHR5cGVzY3JpcHQgY29udGVudFxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbnRlbnRzXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGV4dHJhY3RDb21wb25lbnRNZXRhZGF0YShjb250ZW50czogc3RyaW5nKTogeyBzZWxlY3Rvcjogc3RyaW5nOyBjbGFzc05hbWU6IHN0cmluZzsgfSB7XG4gICAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IGNvbnRlbnRzLm1hdGNoKC9leHBvcnQgY2xhc3MgKFtcXHdcXGRdKykvKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0b3JOYW1lID0gY29udGVudHMubWF0Y2goL3NlbGVjdG9yOiAnKFtcXHdcXGQtXSspJy8pO1xuICAgICAgICByZXR1cm4geyBjbGFzc05hbWU6IGNsYXNzTmFtZSA/IGNsYXNzTmFtZVsxXSA6ICcnLCBzZWxlY3Rvcjogc2VsZWN0b3JOYW1lID8gc2VsZWN0b3JOYW1lWzFdIDogJyd9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGV4dHJhY3QgbW9kdWxlIGNsYXNzIG5hbWUgZnJvbSB0aGUgdHlwZXNjcmlwdCBjb250ZW50XG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGVudHNcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgZXh0cmFjdE1vZHVsZU5hbWUoY29udGVudHM6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IG1vZHVsZUNsYXNzID0gY29udGVudHMubWF0Y2goL2V4cG9ydCBjbGFzcyAoXFx3K01vZHVsZSkvKTtcbiAgICAgICAgcmV0dXJuIG1vZHVsZUNsYXNzID8gbW9kdWxlQ2xhc3NbMV0gOiAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGVuZFZpdGFsTmdNb2R1bGVzKGNvbnRlbnRzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBpbXBvcnRzID0gY29udGVudHMubWF0Y2goL2ltcG9ydHM6IFxcWyhbXFxzXFxTXSo/KVxcXS8pO1xuICAgICAgICAvLyBhcHBlbmRzIEJyb3dzZXJNb2R1bGUgdG8gaW1wb3J0c1xuICAgICAgICBjb250ZW50cyA9IGNvbnRlbnRzLnJlcGxhY2UoL2ltcG9ydHM6IFxcWyhbXFxzXFxTXSo/KVxcXS8sIGBpbXBvcnRzOiBbQnJvd3Nlck1vZHVsZSwgJDFdYCk7XG4gICAgICAgIC8vIGFwcGVuZHMgaW1wb3J0IG9mIEJyb3dzZXJNb2R1bGVcbiAgICAgICAgcmV0dXJuIGBpbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XFxuJHtjb250ZW50c31gO1xuICAgIH1cblxufVxuIiwiPGV1aS1ibG9jay1jb250ZW50IFtpc0Jsb2NrZWRdPVwiIWlzTG9hZGVkXCI+XG4gICAgPGlmcmFtZSAjY29udGFpbmVyIGlkPVwic3RhY2tibGl0elwiPjwvaWZyYW1lPlxuPC9ldWktYmxvY2stY29udGVudD5cbiJdfQ==
|