@eui/showcase 14.0.12-snapshot-1674221508405 → 14.0.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 +25 -25
- package/esm2020/lib/components/doc-page-code/doc-page-code.component.mjs +4 -4
- package/esm2020/lib/components/doc-page-code-fab/doc-page-code-fab.component.mjs +4 -4
- package/esm2020/lib/components/doc-sample/doc-sample.component.mjs +4 -4
- package/esm2020/lib/components/doc-sample-api/doc-sample-api.component.mjs +4 -4
- package/esm2020/lib/components/doc-section/doc-section.component.mjs +4 -4
- package/esm2020/lib/components/doc-section-code/doc-section-code.component.mjs +22 -22
- package/esm2020/lib/components/eui-code-highlighter/eui-code-highlighter.component.mjs +4 -4
- package/esm2020/lib/components/lorem-ipsum/lorem-ipsum-sample.component.mjs +4 -4
- package/esm2020/lib/components/playground/playground.component.mjs +4 -4
- package/esm2020/lib/eui-showcase.module.mjs +5 -5
- package/fesm2015/eui-showcase.mjs +73 -73
- package/fesm2015/eui-showcase.mjs.map +1 -1
- package/fesm2020/eui-showcase.mjs +73 -73
- package/fesm2020/eui-showcase.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -216,9 +216,9 @@ export class DocPageComponent {
|
|
|
216
216
|
return result;
|
|
217
217
|
}
|
|
218
218
|
}
|
|
219
|
-
/** @nocollapse */ DocPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
220
|
-
/** @nocollapse */ DocPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.6", type: DocPageComponent, selector: "eui-showcase-doc-page", inputs: { id: "id", label: "label", subLabel: "subLabel", isNotReady: "isNotReady", isDeprecated: "isDeprecated", codeFolder: "codeFolder", showcase: "showcase" }, queries: [{ propertyName: "samples", predicate: DocSampleComponent, descendants: true }, { propertyName: "sections", predicate: DocSectionComponent, descendants: true }, { propertyName: "pageOverviewContent", predicate: i0.forwardRef(function () { return DocPageOverviewContentDirective; }) }, { propertyName: "pageSamplesContent", predicate: i0.forwardRef(function () { return DocPageSamplesContentDirective; }) }, { propertyName: "pageSectionsContent", predicate: i0.forwardRef(function () { return DocPageSectionsContentDirective; }) }, { propertyName: "pageInteractiveContent", predicate: i0.forwardRef(function () { return DocPageInteractiveContentDirective; }) }, { propertyName: "pageAccessibilityContent", predicate: i0.forwardRef(function () { return DocPageAccessibilityContentDirective; }) }, { propertyName: "pageApiContent", predicate: i0.forwardRef(function () { return DocPageApiContentDirective; }) }, { propertyName: "pageThemingContent", predicate: i0.forwardRef(function () { return DocPageThemingContentDirective; }) }], viewQueries: [{ propertyName: "tabsContent", first: true, predicate: ["tabsContent"], descendants: true }], ngImport: i0, template: "<div class=\"doc-page-navigation-wrapper\" [class.eui-u-hidden]=\"isLoading\">\n <div class=\"doc-page-main-column\">\n <eui-page>\n <eui-page-header label=\"{{label}}\" subLabel=\"{{subLabel}}\">\n <eui-page-header-action-items>\n <eui-showcase-doc-page-code *ngIf=\"codeFolder\" codeFolder=\"{{codeFolder}}\" showcase=\"{{showcase}}\"></eui-showcase-doc-page-code>\n <eui-chip *ngIf=\"stateLabel\" [euiSuccess]=\"stateLabel === 'ACTIVE'\" [euiWarning]=\"stateLabel === 'NOT READY'\" [euiDanger]=\"stateLabel === 'DEPRECATED'\">\n <span euiLabel><strong>{{stateLabel}}</strong></span>\n </eui-chip>\n </eui-page-header-action-items>\n </eui-page-header>\n\n <eui-page-content>\n <eui-alert *ngIf=\"stateLabel === 'NOT READY' || isNotReady\" euiWarning>\n <p>\n This component <strong class=\"eui-u-color-warning-darkester-2\">is not ready for production</strong> usage yet, it's API is still subject to change during the coming weeks.\n </p>\n <p>\n For experimentation use only.\n </p>\n </eui-alert>\n\n <eui-alert *ngIf=\"stateLabel === 'DEPRECATED' || isDeprecated\" euiDanger>\n <p>\n This component has been <strong class=\"eui-u-color-danger\">deprecated</strong>\n </p>\n <div *ngIf=\"cmp\">\n <div *ngIf=\"cmp.cmpReplacement !== 'NONE'\">\n It has been replaced by : <strong class=\"eui-u-color-success-darkest\">{{cmp.cmpReplacement}}</strong>.\n <!-- <br><br>\n You can find more information on the new component here : <a [routerLink]=\"cmp.cmpReplacementUrl\">{{cmp.cmpReplacementUrl}}</a> -->\n </div>\n <div *ngIf=\"cmp.cmpReplacement === 'NONE'\">\n This component will be <strong>discontinued in future version of eUI</strong>\n </div>\n <div *ngIf=\"cmp.cmpReplacementNote\">\n <strong class=\"eui-u-color-warning\">{{cmp.cmpReplacementNote}}</strong>\n </div>\n </div>\n </eui-alert>\n\n <div *ngIf=\"(stateLabel || isNotReady || isDeprecated) && stateLabel !== 'ACTIVE'\" class=\"mb-5\"></div>\n\n\n <eui-tabs #tabsContent *ngIf=\"pageSectionsContent.length === 0\" (tabSelected)=\"onTabSelected($event)\">\n <eui-tab>\n <euiTabLabel>\n OVERVIEW\n </euiTabLabel>\n <euiTabContent>\n <h4 id=\"overview\" class=\"eui-u-font-bold eui-u-color-info mt-3 mb-2\">Overview</h4>\n <div *ngIf=\"pageOverviewContent.length > 0; else noOverview\">\n <ng-content select=\"docPageOverview\"></ng-content>\n </div>\n <ng-template #noOverview>\n Coming soon...\n </ng-template>\n </euiTabContent>\n </eui-tab>\n\n <eui-tab>\n <euiTabLabel>\n API\n </euiTabLabel>\n <euiTabContent>\n <ng-container *ngIf=\"apiUrlSafe\">\n <div class=\"flex-container\">\n <a href=\"{{apiUrl}}\" target=\"_blank\" class=\"ms-auto pb-2 eui-u-text-link-external\">Open API page</a>\n </div>\n <div class=\"doc-page-api-iframe-wrapper\">\n <iframe id=\"iframe_api\" [width]=\"'100%'\" height=\"700px\" frameBorder=\"0\" [src]=\"apiUrlSafe\"></iframe>\n </div>\n </ng-container>\n </euiTabContent>\n </eui-tab>\n\n <eui-tab>\n <euiTabLabel>\n A11Y\n </euiTabLabel>\n <euiTabContent>\n <h4 id=\"accessibility\" class=\"eui-u-font-bold eui-u-color-info mt-3 mb-2\">Accessibility</h4>\n <ng-content select=\"docPageAccessibility\"></ng-content>\n </euiTabContent>\n </eui-tab>\n\n <eui-tab>\n <euiTabLabel>\n OPTIONS & SAMPLES\n </euiTabLabel>\n <euiTabContent>\n <h4 id=\"samples\" class=\"eui-u-font-bold eui-u-color-info mt-3 mb-2\">Options & samples</h4>\n <ng-content select=\"docPageSamples\"></ng-content>\n </euiTabContent>\n </eui-tab>\n\n <eui-tab *ngIf=\"pageThemingContent.length > 0\">\n <euiTabLabel>\n THEMING\n </euiTabLabel>\n <euiTabContent>\n <h4 id=\"theming\" class=\"eui-u-font-bold eui-u-color-info mt-3 mb-2\">Theming</h4>\n <ng-content select=\"docPageTheming\"></ng-content>\n </euiTabContent>\n </eui-tab>\n\n <eui-tab *ngIf=\"pageInteractiveContent.length > 0\">\n <euiTabLabel>\n {{pageInteractiveContent.first.title}}\n </euiTabLabel>\n <euiTabContent>\n <h4 id=\"interactive\" class=\"eui-u-font-bold eui-u-color-info mt-3 mb-2\">\n {{pageInteractiveContent.first.subTitle}}\n </h4>\n <ng-content select=\"docPageInteractive\"></ng-content>\n </euiTabContent>\n </eui-tab>\n </eui-tabs>\n\n <ng-container *ngIf=\"pageSectionsContent.length > 0\">\n <h4 id=\"demo\" *ngIf=\"sections.length === 0\" class=\"eui-u-font-bold eui-u-color-info mt-3 mb-2\">Demo</h4>\n <ng-content select=\"docPageSections\"></ng-content>\n </ng-container>\n </eui-page-content>\n </eui-page>\n </div>\n\n <div class=\"doc-page-navigation-column eui-u-hidden-desktop-down\">\n <div id=\"doc-page-nav\">\n <div class=\"doc-page-navigation-title\">In this page</div>\n <div class=\"doc-page-navigation-content\" tabindex=\"0\">\n <ul class=\"doc-page-navigation\">\n <ng-container *ngIf=\"pageSectionsContent.length === 0\">\n <!-- ALWAYS PRESENT in each page-->\n <li class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'overview'\" (click)=\"onNavClick('overview', 0)\"><span>OVERVIEW</span></li>\n <li class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'api'\" (click)=\"onNavClick('api', 1)\"><span>API</span></li>\n <li class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'a11y'\" (click)=\"onNavClick('a11y', 2)\"><span>A11Y</span></li>\n <li class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'samples'\" (click)=\"onNavClick('samples', 3)\"><span>OPTIONS & SAMPLES</span></li>\n <li class=\"doc-page-navigation-item doc-page-navigation-sub\">\n <ul *ngFor=\"let sample of samples\">\n <li class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === sample.id\" (click)=\"onNavClick(sample.id, 3)\"><span>{{sample.label}}</span></li>\n </ul>\n </li>\n\n <!-- OPTIONAL TABS-->\n <ng-container *ngIf=\"pageThemingContent.length > 0\">\n <li *ngIf=\"pageThemingContent.length > 0\" class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'theming'\" (click)=\"onNavClick('theming', 4)\"><span>THEMING</span></li>\n <li *ngIf=\"pageInteractiveContent.length > 0\" class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'advanced'\" (click)=\"onNavClick('advanced', 5)\">\n <span>{{pageInteractiveContent.first.title}}</span>\n </li>\n </ng-container>\n <ng-container *ngIf=\"pageThemingContent.length === 0\">\n <li *ngIf=\"pageInteractiveContent.length > 0\" class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'advanced'\" (click)=\"onNavClick('advanced', 4)\">\n <span>{{pageInteractiveContent.first.title}}</span>\n </li>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"pageSectionsContent.length > 0\">\n <li class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'sections'\" (click)=\"onNavClick('sections', null)\"><span>Sections</span></li>\n <li *ngIf=\"sections.length === 0\" class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'demo'\" (click)=\"onNavClick('demo', null)\"><span>Demo</span></li>\n <li *ngIf=\"sections.length > 0\" class=\"doc-page-navigation-item doc-page-navigation-sub\">\n <ul *ngFor=\"let section of sections\">\n <li class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === section.id\" (click)=\"onNavClick(section.id, null)\"><span>{{section.label}}</span></li>\n </ul>\n </li>\n </ng-container>\n </ul>\n </div>\n </div>\n </div>\n</div>\n", styles: [".doc-page-navigation-wrapper{display:flex;flex-wrap:wrap;width:100%}.doc-page-navigation-wrapper .doc-page-main-column{padding-right:var(--eui-base-spacing-m);width:calc(100% - 400px)}.doc-page-navigation-wrapper .doc-page-navigation-column{background:var(--eui-base-color-white);box-shadow:0 8px 10px #b7c0ce33;position:fixed;right:0;transition:all ease-in-out .25s;width:400px;z-index:99;box-shadow:var(--eui-base-shadow-1)}.doc-page-navigation-wrapper .doc-page-navigation-column:hover{width:400px}.doc-page-navigation-title{font-weight:700;padding:var(--eui-base-spacing-s)}.doc-page-navigation-content{display:block;height:100vh;max-height:calc(100vh - 6rem);overflow-y:auto;width:100%}.doc-page-navigation-content::-webkit-scrollbar{display:inherit;height:6px;width:6px;background-color:var(--eui-base-color-grey-10)}.doc-page-navigation-content::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.doc-page-navigation-content::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-25)}.doc-page-navigation-content::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-10);border-radius:0}.doc-page-navigation{background-color:transparent;border-left:2px solid transparent;padding-top:var(--eui-base-spacing-xs)}.doc-page-navigation .doc-page-navigation-item{color:var(--eui-base-color-primary-100);cursor:pointer;line-height:1.5;overflow:hidden;padding:var(--eui-base-spacing-2xs);text-overflow:ellipsis;transition:background-color ease-in .2s;white-space:nowrap}.doc-page-navigation .doc-page-navigation-item span{font-weight:700;padding-left:var(--eui-base-spacing-xs)}.doc-page-navigation .doc-page-navigation-item:not(.doc-page-navigation-sub):hover{background-color:var(--eui-base-color-grey-5);border-left:2px solid var(--eui-base-color-info-100)}.doc-page-navigation .doc-page-navigation-item.doc-page-navigation-sub .doc-page-navigation-item span{font-weight:400;padding-left:var(--eui-base-spacing-m)}.doc-page-navigation .doc-page-navigation-item.doc-page-navigation-sub .doc-page-navigation-item:hover{background-color:var(--eui-base-color-grey-5);border-left:2px solid var(--eui-base-color-grey-15)}.doc-page-navigation .doc-page-navigation-item.doc-page-navigation-item--selected{background-color:var(--eui-base-color-grey-5);border-left:2px solid var(--eui-base-color-info-100)}.doc-page-api-iframe-wrapper{display:flex;justify-content:space-around;margin:0}@media screen and (max-width: 767px){.doc-page-navigation-wrapper .doc-page-main-column{padding-right:0;width:100%}.doc-page-navigation-wrapper .doc-page-navigation-column{display:none;width:0}}@media screen and (min-width: 768px) and (max-width: 995px){.doc-page-navigation-wrapper .doc-page-main-column{width:80%}.doc-page-navigation-wrapper .doc-page-navigation-column{width:20%}}@media screen and (max-width: 1550px){.doc-page-api-iframe-wrapper{display:none}}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.EuiTabsComponent, selector: "eui-tabs", inputs: ["styleClass", "tabs", "activeTabIndex", "e2eAttr", "pathMatch", "isMainNavigation", "isSubTabs", "isVerticalTabs"], outputs: ["tabClosed", "tabSelected", "tabClose", "tabSelect"] }, { kind: "component", type: i5.EuiTabComponent, selector: "eui-tab", inputs: ["url", "e2eAttr", "tooltip", "isClosable", "isVisible", "isActive", "isDisabled", "hasBackgroundFilled", "isHandleCloseOnClose"] }, { kind: "component", type: i5.EuiTabLabelComponent, selector: "eui-tab-label, euiTabLabel" }, { kind: "component", type: i5.EuiTabContentComponent, selector: "eui-tab-content, euiTabContent", inputs: ["hasNoContentPadding"] }, { kind: "component", type: i6.EuiPageComponent, selector: "eui-page" }, { kind: "component", type: i6.EuiPageContentComponent, selector: "eui-page-content" }, { kind: "component", type: i6.EuiPageHeaderComponent, selector: "eui-page-header", inputs: ["label", "subLabel", "isCollapsible", "isCollapsed", "collapsedLabel", "expandedLabel"], outputs: ["collapse"] }, { kind: "directive", type: i6.EuiPageHeaderActionItemsContentDirective, selector: "eui-page-header-action-items" }, { kind: "component", type: i7.EuiChipComponent, selector: "eui-chip, span[euiChip], li[euiChip]", inputs: ["euiInternalId", "tooltipMessage", "id", "data", "isChipRemovable", "isSquared"], outputs: ["remove"] }, { kind: "component", type: i8.EuiAlertComponent, selector: "div[euiAlert], eui-alert", inputs: ["euiAlertMuted", "isCloseable"], outputs: ["close"] }, { kind: "component", type: i9.DocPageCodeComponent, selector: "eui-showcase-doc-page-code", inputs: ["codeFolder", "showcase"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
221
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
219
|
+
/** @nocollapse */ DocPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DocPageComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.UxAppShellService }, { token: i3.DomSanitizer }, { token: i4.Location }], target: i0.ɵɵFactoryTarget.Component });
|
|
220
|
+
/** @nocollapse */ DocPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DocPageComponent, selector: "eui-showcase-doc-page", inputs: { id: "id", label: "label", subLabel: "subLabel", isNotReady: "isNotReady", isDeprecated: "isDeprecated", codeFolder: "codeFolder", showcase: "showcase" }, queries: [{ propertyName: "samples", predicate: DocSampleComponent, descendants: true }, { propertyName: "sections", predicate: DocSectionComponent, descendants: true }, { propertyName: "pageOverviewContent", predicate: i0.forwardRef(function () { return DocPageOverviewContentDirective; }) }, { propertyName: "pageSamplesContent", predicate: i0.forwardRef(function () { return DocPageSamplesContentDirective; }) }, { propertyName: "pageSectionsContent", predicate: i0.forwardRef(function () { return DocPageSectionsContentDirective; }) }, { propertyName: "pageInteractiveContent", predicate: i0.forwardRef(function () { return DocPageInteractiveContentDirective; }) }, { propertyName: "pageAccessibilityContent", predicate: i0.forwardRef(function () { return DocPageAccessibilityContentDirective; }) }, { propertyName: "pageApiContent", predicate: i0.forwardRef(function () { return DocPageApiContentDirective; }) }, { propertyName: "pageThemingContent", predicate: i0.forwardRef(function () { return DocPageThemingContentDirective; }) }], viewQueries: [{ propertyName: "tabsContent", first: true, predicate: ["tabsContent"], descendants: true }], ngImport: i0, template: "<div class=\"doc-page-navigation-wrapper\" [class.eui-u-hidden]=\"isLoading\">\n <div class=\"doc-page-main-column\">\n <eui-page>\n <eui-page-header label=\"{{label}}\" subLabel=\"{{subLabel}}\">\n <eui-page-header-action-items>\n <eui-showcase-doc-page-code *ngIf=\"codeFolder\" codeFolder=\"{{codeFolder}}\" showcase=\"{{showcase}}\"></eui-showcase-doc-page-code>\n <eui-chip *ngIf=\"stateLabel\" [euiSuccess]=\"stateLabel === 'ACTIVE'\" [euiWarning]=\"stateLabel === 'NOT READY'\" [euiDanger]=\"stateLabel === 'DEPRECATED'\">\n <span euiLabel><strong>{{stateLabel}}</strong></span>\n </eui-chip>\n </eui-page-header-action-items>\n </eui-page-header>\n\n <eui-page-content>\n <eui-alert *ngIf=\"stateLabel === 'NOT READY' || isNotReady\" euiWarning>\n <p>\n This component <strong class=\"eui-u-color-warning-darkester-2\">is not ready for production</strong> usage yet, it's API is still subject to change during the coming weeks.\n </p>\n <p>\n For experimentation use only.\n </p>\n </eui-alert>\n\n <eui-alert *ngIf=\"stateLabel === 'DEPRECATED' || isDeprecated\" euiDanger>\n <p>\n This component has been <strong class=\"eui-u-color-danger\">deprecated</strong>\n </p>\n <div *ngIf=\"cmp\">\n <div *ngIf=\"cmp.cmpReplacement !== 'NONE'\">\n It has been replaced by : <strong class=\"eui-u-color-success-darkest\">{{cmp.cmpReplacement}}</strong>.\n <!-- <br><br>\n You can find more information on the new component here : <a [routerLink]=\"cmp.cmpReplacementUrl\">{{cmp.cmpReplacementUrl}}</a> -->\n </div>\n <div *ngIf=\"cmp.cmpReplacement === 'NONE'\">\n This component will be <strong>discontinued in future version of eUI</strong>\n </div>\n <div *ngIf=\"cmp.cmpReplacementNote\">\n <strong class=\"eui-u-color-warning\">{{cmp.cmpReplacementNote}}</strong>\n </div>\n </div>\n </eui-alert>\n\n <div *ngIf=\"(stateLabel || isNotReady || isDeprecated) && stateLabel !== 'ACTIVE'\" class=\"mb-5\"></div>\n\n\n <eui-tabs #tabsContent *ngIf=\"pageSectionsContent.length === 0\" (tabSelected)=\"onTabSelected($event)\">\n <eui-tab>\n <euiTabLabel>\n OVERVIEW\n </euiTabLabel>\n <euiTabContent>\n <h4 id=\"overview\" class=\"eui-u-font-bold eui-u-color-info mt-3 mb-2\">Overview</h4>\n <div *ngIf=\"pageOverviewContent.length > 0; else noOverview\">\n <ng-content select=\"docPageOverview\"></ng-content>\n </div>\n <ng-template #noOverview>\n Coming soon...\n </ng-template>\n </euiTabContent>\n </eui-tab>\n\n <eui-tab>\n <euiTabLabel>\n API\n </euiTabLabel>\n <euiTabContent>\n <ng-container *ngIf=\"apiUrlSafe\">\n <div class=\"flex-container\">\n <a href=\"{{apiUrl}}\" target=\"_blank\" class=\"ms-auto pb-2 eui-u-text-link-external\">Open API page</a>\n </div>\n <div class=\"doc-page-api-iframe-wrapper\">\n <iframe id=\"iframe_api\" [width]=\"'100%'\" height=\"700px\" frameBorder=\"0\" [src]=\"apiUrlSafe\"></iframe>\n </div>\n </ng-container>\n </euiTabContent>\n </eui-tab>\n\n <eui-tab>\n <euiTabLabel>\n A11Y\n </euiTabLabel>\n <euiTabContent>\n <h4 id=\"accessibility\" class=\"eui-u-font-bold eui-u-color-info mt-3 mb-2\">Accessibility</h4>\n <ng-content select=\"docPageAccessibility\"></ng-content>\n </euiTabContent>\n </eui-tab>\n\n <eui-tab>\n <euiTabLabel>\n OPTIONS & SAMPLES\n </euiTabLabel>\n <euiTabContent>\n <h4 id=\"samples\" class=\"eui-u-font-bold eui-u-color-info mt-3 mb-2\">Options & samples</h4>\n <ng-content select=\"docPageSamples\"></ng-content>\n </euiTabContent>\n </eui-tab>\n\n <eui-tab *ngIf=\"pageThemingContent.length > 0\">\n <euiTabLabel>\n THEMING\n </euiTabLabel>\n <euiTabContent>\n <h4 id=\"theming\" class=\"eui-u-font-bold eui-u-color-info mt-3 mb-2\">Theming</h4>\n <ng-content select=\"docPageTheming\"></ng-content>\n </euiTabContent>\n </eui-tab>\n\n <eui-tab *ngIf=\"pageInteractiveContent.length > 0\">\n <euiTabLabel>\n {{pageInteractiveContent.first.title}}\n </euiTabLabel>\n <euiTabContent>\n <h4 id=\"interactive\" class=\"eui-u-font-bold eui-u-color-info mt-3 mb-2\">\n {{pageInteractiveContent.first.subTitle}}\n </h4>\n <ng-content select=\"docPageInteractive\"></ng-content>\n </euiTabContent>\n </eui-tab>\n </eui-tabs>\n\n <ng-container *ngIf=\"pageSectionsContent.length > 0\">\n <h4 id=\"demo\" *ngIf=\"sections.length === 0\" class=\"eui-u-font-bold eui-u-color-info mt-3 mb-2\">Demo</h4>\n <ng-content select=\"docPageSections\"></ng-content>\n </ng-container>\n </eui-page-content>\n </eui-page>\n </div>\n\n <div class=\"doc-page-navigation-column eui-u-hidden-desktop-down\">\n <div id=\"doc-page-nav\">\n <div class=\"doc-page-navigation-title\">In this page</div>\n <div class=\"doc-page-navigation-content\" tabindex=\"0\">\n <ul class=\"doc-page-navigation\">\n <ng-container *ngIf=\"pageSectionsContent.length === 0\">\n <!-- ALWAYS PRESENT in each page-->\n <li class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'overview'\" (click)=\"onNavClick('overview', 0)\"><span>OVERVIEW</span></li>\n <li class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'api'\" (click)=\"onNavClick('api', 1)\"><span>API</span></li>\n <li class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'a11y'\" (click)=\"onNavClick('a11y', 2)\"><span>A11Y</span></li>\n <li class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'samples'\" (click)=\"onNavClick('samples', 3)\"><span>OPTIONS & SAMPLES</span></li>\n <li class=\"doc-page-navigation-item doc-page-navigation-sub\">\n <ul *ngFor=\"let sample of samples\">\n <li class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === sample.id\" (click)=\"onNavClick(sample.id, 3)\"><span>{{sample.label}}</span></li>\n </ul>\n </li>\n\n <!-- OPTIONAL TABS-->\n <ng-container *ngIf=\"pageThemingContent.length > 0\">\n <li *ngIf=\"pageThemingContent.length > 0\" class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'theming'\" (click)=\"onNavClick('theming', 4)\"><span>THEMING</span></li>\n <li *ngIf=\"pageInteractiveContent.length > 0\" class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'advanced'\" (click)=\"onNavClick('advanced', 5)\">\n <span>{{pageInteractiveContent.first.title}}</span>\n </li>\n </ng-container>\n <ng-container *ngIf=\"pageThemingContent.length === 0\">\n <li *ngIf=\"pageInteractiveContent.length > 0\" class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'advanced'\" (click)=\"onNavClick('advanced', 4)\">\n <span>{{pageInteractiveContent.first.title}}</span>\n </li>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"pageSectionsContent.length > 0\">\n <li class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'sections'\" (click)=\"onNavClick('sections', null)\"><span>Sections</span></li>\n <li *ngIf=\"sections.length === 0\" class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'demo'\" (click)=\"onNavClick('demo', null)\"><span>Demo</span></li>\n <li *ngIf=\"sections.length > 0\" class=\"doc-page-navigation-item doc-page-navigation-sub\">\n <ul *ngFor=\"let section of sections\">\n <li class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === section.id\" (click)=\"onNavClick(section.id, null)\"><span>{{section.label}}</span></li>\n </ul>\n </li>\n </ng-container>\n </ul>\n </div>\n </div>\n </div>\n</div>\n", styles: [".doc-page-navigation-wrapper{display:flex;flex-wrap:wrap;width:100%}.doc-page-navigation-wrapper .doc-page-main-column{padding-right:var(--eui-base-spacing-m);width:calc(100% - 400px)}.doc-page-navigation-wrapper .doc-page-navigation-column{background:var(--eui-base-color-white);box-shadow:0 8px 10px #b7c0ce33;position:fixed;right:0;transition:all ease-in-out .25s;width:400px;z-index:99;box-shadow:var(--eui-base-shadow-1)}.doc-page-navigation-wrapper .doc-page-navigation-column:hover{width:400px}.doc-page-navigation-title{font-weight:700;padding:var(--eui-base-spacing-s)}.doc-page-navigation-content{display:block;height:100vh;max-height:calc(100vh - 6rem);overflow-y:auto;width:100%}.doc-page-navigation-content::-webkit-scrollbar{display:inherit;height:6px;width:6px;background-color:var(--eui-base-color-grey-10)}.doc-page-navigation-content::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.doc-page-navigation-content::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-25)}.doc-page-navigation-content::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-10);border-radius:0}.doc-page-navigation{background-color:transparent;border-left:2px solid transparent;padding-top:var(--eui-base-spacing-xs)}.doc-page-navigation .doc-page-navigation-item{color:var(--eui-base-color-primary-100);cursor:pointer;line-height:1.5;overflow:hidden;padding:var(--eui-base-spacing-2xs);text-overflow:ellipsis;transition:background-color ease-in .2s;white-space:nowrap}.doc-page-navigation .doc-page-navigation-item span{font-weight:700;padding-left:var(--eui-base-spacing-xs)}.doc-page-navigation .doc-page-navigation-item:not(.doc-page-navigation-sub):hover{background-color:var(--eui-base-color-grey-5);border-left:2px solid var(--eui-base-color-info-100)}.doc-page-navigation .doc-page-navigation-item.doc-page-navigation-sub .doc-page-navigation-item span{font-weight:400;padding-left:var(--eui-base-spacing-m)}.doc-page-navigation .doc-page-navigation-item.doc-page-navigation-sub .doc-page-navigation-item:hover{background-color:var(--eui-base-color-grey-5);border-left:2px solid var(--eui-base-color-grey-15)}.doc-page-navigation .doc-page-navigation-item.doc-page-navigation-item--selected{background-color:var(--eui-base-color-grey-5);border-left:2px solid var(--eui-base-color-info-100)}.doc-page-api-iframe-wrapper{display:flex;justify-content:space-around;margin:0}@media screen and (max-width: 767px){.doc-page-navigation-wrapper .doc-page-main-column{padding-right:0;width:100%}.doc-page-navigation-wrapper .doc-page-navigation-column{display:none;width:0}}@media screen and (min-width: 768px) and (max-width: 995px){.doc-page-navigation-wrapper .doc-page-main-column{width:80%}.doc-page-navigation-wrapper .doc-page-navigation-column{width:20%}}@media screen and (max-width: 1550px){.doc-page-api-iframe-wrapper{display:none}}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.EuiTabsComponent, selector: "eui-tabs", inputs: ["styleClass", "tabs", "activeTabIndex", "e2eAttr", "pathMatch", "isMainNavigation", "isSubTabs", "isVerticalTabs"], outputs: ["tabClosed", "tabSelected", "tabClose", "tabSelect"] }, { kind: "component", type: i5.EuiTabComponent, selector: "eui-tab", inputs: ["url", "e2eAttr", "tooltip", "isClosable", "isVisible", "isActive", "isDisabled", "hasBackgroundFilled", "isHandleCloseOnClose"] }, { kind: "component", type: i5.EuiTabLabelComponent, selector: "eui-tab-label, euiTabLabel" }, { kind: "component", type: i5.EuiTabContentComponent, selector: "eui-tab-content, euiTabContent", inputs: ["hasNoContentPadding"] }, { kind: "component", type: i6.EuiPageComponent, selector: "eui-page" }, { kind: "component", type: i6.EuiPageContentComponent, selector: "eui-page-content" }, { kind: "component", type: i6.EuiPageHeaderComponent, selector: "eui-page-header", inputs: ["label", "subLabel", "isCollapsible", "isCollapsed", "collapsedLabel", "expandedLabel"], outputs: ["collapse"] }, { kind: "directive", type: i6.EuiPageHeaderActionItemsContentDirective, selector: "eui-page-header-action-items" }, { kind: "component", type: i7.EuiChipComponent, selector: "eui-chip, span[euiChip], li[euiChip]", inputs: ["euiInternalId", "tooltipMessage", "id", "data", "isChipRemovable", "isSquared"], outputs: ["remove"] }, { kind: "component", type: i8.EuiAlertComponent, selector: "div[euiAlert], eui-alert", inputs: ["euiAlertMuted", "isCloseable"], outputs: ["close"] }, { kind: "component", type: i9.DocPageCodeComponent, selector: "eui-showcase-doc-page-code", inputs: ["codeFolder", "showcase"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
221
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DocPageComponent, decorators: [{
|
|
222
222
|
type: Component,
|
|
223
223
|
args: [{ selector: 'eui-showcase-doc-page', encapsulation: ViewEncapsulation.None, template: "<div class=\"doc-page-navigation-wrapper\" [class.eui-u-hidden]=\"isLoading\">\n <div class=\"doc-page-main-column\">\n <eui-page>\n <eui-page-header label=\"{{label}}\" subLabel=\"{{subLabel}}\">\n <eui-page-header-action-items>\n <eui-showcase-doc-page-code *ngIf=\"codeFolder\" codeFolder=\"{{codeFolder}}\" showcase=\"{{showcase}}\"></eui-showcase-doc-page-code>\n <eui-chip *ngIf=\"stateLabel\" [euiSuccess]=\"stateLabel === 'ACTIVE'\" [euiWarning]=\"stateLabel === 'NOT READY'\" [euiDanger]=\"stateLabel === 'DEPRECATED'\">\n <span euiLabel><strong>{{stateLabel}}</strong></span>\n </eui-chip>\n </eui-page-header-action-items>\n </eui-page-header>\n\n <eui-page-content>\n <eui-alert *ngIf=\"stateLabel === 'NOT READY' || isNotReady\" euiWarning>\n <p>\n This component <strong class=\"eui-u-color-warning-darkester-2\">is not ready for production</strong> usage yet, it's API is still subject to change during the coming weeks.\n </p>\n <p>\n For experimentation use only.\n </p>\n </eui-alert>\n\n <eui-alert *ngIf=\"stateLabel === 'DEPRECATED' || isDeprecated\" euiDanger>\n <p>\n This component has been <strong class=\"eui-u-color-danger\">deprecated</strong>\n </p>\n <div *ngIf=\"cmp\">\n <div *ngIf=\"cmp.cmpReplacement !== 'NONE'\">\n It has been replaced by : <strong class=\"eui-u-color-success-darkest\">{{cmp.cmpReplacement}}</strong>.\n <!-- <br><br>\n You can find more information on the new component here : <a [routerLink]=\"cmp.cmpReplacementUrl\">{{cmp.cmpReplacementUrl}}</a> -->\n </div>\n <div *ngIf=\"cmp.cmpReplacement === 'NONE'\">\n This component will be <strong>discontinued in future version of eUI</strong>\n </div>\n <div *ngIf=\"cmp.cmpReplacementNote\">\n <strong class=\"eui-u-color-warning\">{{cmp.cmpReplacementNote}}</strong>\n </div>\n </div>\n </eui-alert>\n\n <div *ngIf=\"(stateLabel || isNotReady || isDeprecated) && stateLabel !== 'ACTIVE'\" class=\"mb-5\"></div>\n\n\n <eui-tabs #tabsContent *ngIf=\"pageSectionsContent.length === 0\" (tabSelected)=\"onTabSelected($event)\">\n <eui-tab>\n <euiTabLabel>\n OVERVIEW\n </euiTabLabel>\n <euiTabContent>\n <h4 id=\"overview\" class=\"eui-u-font-bold eui-u-color-info mt-3 mb-2\">Overview</h4>\n <div *ngIf=\"pageOverviewContent.length > 0; else noOverview\">\n <ng-content select=\"docPageOverview\"></ng-content>\n </div>\n <ng-template #noOverview>\n Coming soon...\n </ng-template>\n </euiTabContent>\n </eui-tab>\n\n <eui-tab>\n <euiTabLabel>\n API\n </euiTabLabel>\n <euiTabContent>\n <ng-container *ngIf=\"apiUrlSafe\">\n <div class=\"flex-container\">\n <a href=\"{{apiUrl}}\" target=\"_blank\" class=\"ms-auto pb-2 eui-u-text-link-external\">Open API page</a>\n </div>\n <div class=\"doc-page-api-iframe-wrapper\">\n <iframe id=\"iframe_api\" [width]=\"'100%'\" height=\"700px\" frameBorder=\"0\" [src]=\"apiUrlSafe\"></iframe>\n </div>\n </ng-container>\n </euiTabContent>\n </eui-tab>\n\n <eui-tab>\n <euiTabLabel>\n A11Y\n </euiTabLabel>\n <euiTabContent>\n <h4 id=\"accessibility\" class=\"eui-u-font-bold eui-u-color-info mt-3 mb-2\">Accessibility</h4>\n <ng-content select=\"docPageAccessibility\"></ng-content>\n </euiTabContent>\n </eui-tab>\n\n <eui-tab>\n <euiTabLabel>\n OPTIONS & SAMPLES\n </euiTabLabel>\n <euiTabContent>\n <h4 id=\"samples\" class=\"eui-u-font-bold eui-u-color-info mt-3 mb-2\">Options & samples</h4>\n <ng-content select=\"docPageSamples\"></ng-content>\n </euiTabContent>\n </eui-tab>\n\n <eui-tab *ngIf=\"pageThemingContent.length > 0\">\n <euiTabLabel>\n THEMING\n </euiTabLabel>\n <euiTabContent>\n <h4 id=\"theming\" class=\"eui-u-font-bold eui-u-color-info mt-3 mb-2\">Theming</h4>\n <ng-content select=\"docPageTheming\"></ng-content>\n </euiTabContent>\n </eui-tab>\n\n <eui-tab *ngIf=\"pageInteractiveContent.length > 0\">\n <euiTabLabel>\n {{pageInteractiveContent.first.title}}\n </euiTabLabel>\n <euiTabContent>\n <h4 id=\"interactive\" class=\"eui-u-font-bold eui-u-color-info mt-3 mb-2\">\n {{pageInteractiveContent.first.subTitle}}\n </h4>\n <ng-content select=\"docPageInteractive\"></ng-content>\n </euiTabContent>\n </eui-tab>\n </eui-tabs>\n\n <ng-container *ngIf=\"pageSectionsContent.length > 0\">\n <h4 id=\"demo\" *ngIf=\"sections.length === 0\" class=\"eui-u-font-bold eui-u-color-info mt-3 mb-2\">Demo</h4>\n <ng-content select=\"docPageSections\"></ng-content>\n </ng-container>\n </eui-page-content>\n </eui-page>\n </div>\n\n <div class=\"doc-page-navigation-column eui-u-hidden-desktop-down\">\n <div id=\"doc-page-nav\">\n <div class=\"doc-page-navigation-title\">In this page</div>\n <div class=\"doc-page-navigation-content\" tabindex=\"0\">\n <ul class=\"doc-page-navigation\">\n <ng-container *ngIf=\"pageSectionsContent.length === 0\">\n <!-- ALWAYS PRESENT in each page-->\n <li class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'overview'\" (click)=\"onNavClick('overview', 0)\"><span>OVERVIEW</span></li>\n <li class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'api'\" (click)=\"onNavClick('api', 1)\"><span>API</span></li>\n <li class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'a11y'\" (click)=\"onNavClick('a11y', 2)\"><span>A11Y</span></li>\n <li class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'samples'\" (click)=\"onNavClick('samples', 3)\"><span>OPTIONS & SAMPLES</span></li>\n <li class=\"doc-page-navigation-item doc-page-navigation-sub\">\n <ul *ngFor=\"let sample of samples\">\n <li class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === sample.id\" (click)=\"onNavClick(sample.id, 3)\"><span>{{sample.label}}</span></li>\n </ul>\n </li>\n\n <!-- OPTIONAL TABS-->\n <ng-container *ngIf=\"pageThemingContent.length > 0\">\n <li *ngIf=\"pageThemingContent.length > 0\" class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'theming'\" (click)=\"onNavClick('theming', 4)\"><span>THEMING</span></li>\n <li *ngIf=\"pageInteractiveContent.length > 0\" class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'advanced'\" (click)=\"onNavClick('advanced', 5)\">\n <span>{{pageInteractiveContent.first.title}}</span>\n </li>\n </ng-container>\n <ng-container *ngIf=\"pageThemingContent.length === 0\">\n <li *ngIf=\"pageInteractiveContent.length > 0\" class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'advanced'\" (click)=\"onNavClick('advanced', 4)\">\n <span>{{pageInteractiveContent.first.title}}</span>\n </li>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"pageSectionsContent.length > 0\">\n <li class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'sections'\" (click)=\"onNavClick('sections', null)\"><span>Sections</span></li>\n <li *ngIf=\"sections.length === 0\" class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === 'demo'\" (click)=\"onNavClick('demo', null)\"><span>Demo</span></li>\n <li *ngIf=\"sections.length > 0\" class=\"doc-page-navigation-item doc-page-navigation-sub\">\n <ul *ngFor=\"let section of sections\">\n <li class=\"doc-page-navigation-item\" [class.doc-page-navigation-item--selected]=\"fragmentId === section.id\" (click)=\"onNavClick(section.id, null)\"><span>{{section.label}}</span></li>\n </ul>\n </li>\n </ng-container>\n </ul>\n </div>\n </div>\n </div>\n</div>\n", styles: [".doc-page-navigation-wrapper{display:flex;flex-wrap:wrap;width:100%}.doc-page-navigation-wrapper .doc-page-main-column{padding-right:var(--eui-base-spacing-m);width:calc(100% - 400px)}.doc-page-navigation-wrapper .doc-page-navigation-column{background:var(--eui-base-color-white);box-shadow:0 8px 10px #b7c0ce33;position:fixed;right:0;transition:all ease-in-out .25s;width:400px;z-index:99;box-shadow:var(--eui-base-shadow-1)}.doc-page-navigation-wrapper .doc-page-navigation-column:hover{width:400px}.doc-page-navigation-title{font-weight:700;padding:var(--eui-base-spacing-s)}.doc-page-navigation-content{display:block;height:100vh;max-height:calc(100vh - 6rem);overflow-y:auto;width:100%}.doc-page-navigation-content::-webkit-scrollbar{display:inherit;height:6px;width:6px;background-color:var(--eui-base-color-grey-10)}.doc-page-navigation-content::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.doc-page-navigation-content::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-25)}.doc-page-navigation-content::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-10);border-radius:0}.doc-page-navigation{background-color:transparent;border-left:2px solid transparent;padding-top:var(--eui-base-spacing-xs)}.doc-page-navigation .doc-page-navigation-item{color:var(--eui-base-color-primary-100);cursor:pointer;line-height:1.5;overflow:hidden;padding:var(--eui-base-spacing-2xs);text-overflow:ellipsis;transition:background-color ease-in .2s;white-space:nowrap}.doc-page-navigation .doc-page-navigation-item span{font-weight:700;padding-left:var(--eui-base-spacing-xs)}.doc-page-navigation .doc-page-navigation-item:not(.doc-page-navigation-sub):hover{background-color:var(--eui-base-color-grey-5);border-left:2px solid var(--eui-base-color-info-100)}.doc-page-navigation .doc-page-navigation-item.doc-page-navigation-sub .doc-page-navigation-item span{font-weight:400;padding-left:var(--eui-base-spacing-m)}.doc-page-navigation .doc-page-navigation-item.doc-page-navigation-sub .doc-page-navigation-item:hover{background-color:var(--eui-base-color-grey-5);border-left:2px solid var(--eui-base-color-grey-15)}.doc-page-navigation .doc-page-navigation-item.doc-page-navigation-item--selected{background-color:var(--eui-base-color-grey-5);border-left:2px solid var(--eui-base-color-info-100)}.doc-page-api-iframe-wrapper{display:flex;justify-content:space-around;margin:0}@media screen and (max-width: 767px){.doc-page-navigation-wrapper .doc-page-main-column{padding-right:0;width:100%}.doc-page-navigation-wrapper .doc-page-navigation-column{display:none;width:0}}@media screen and (min-width: 768px) and (max-width: 995px){.doc-page-navigation-wrapper .doc-page-main-column{width:80%}.doc-page-navigation-wrapper .doc-page-navigation-column{width:20%}}@media screen and (max-width: 1550px){.doc-page-api-iframe-wrapper{display:none}}\n"] }]
|
|
224
224
|
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.UxAppShellService }, { type: i3.DomSanitizer }, { type: i4.Location }]; }, propDecorators: { id: [{
|
|
@@ -269,9 +269,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImpor
|
|
|
269
269
|
/* eslint-disable @angular-eslint/directive-selector */
|
|
270
270
|
export class DocPageOverviewContentDirective {
|
|
271
271
|
}
|
|
272
|
-
/** @nocollapse */ DocPageOverviewContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
273
|
-
/** @nocollapse */ DocPageOverviewContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.
|
|
274
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
272
|
+
/** @nocollapse */ DocPageOverviewContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DocPageOverviewContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
273
|
+
/** @nocollapse */ DocPageOverviewContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DocPageOverviewContentDirective, selector: "docPageOverview", ngImport: i0 });
|
|
274
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DocPageOverviewContentDirective, decorators: [{
|
|
275
275
|
type: Directive,
|
|
276
276
|
args: [{ selector: 'docPageOverview' }]
|
|
277
277
|
}] });
|
|
@@ -281,9 +281,9 @@ export class DocPageInteractiveContentDirective {
|
|
|
281
281
|
this.subTitle = 'Advanced use cases';
|
|
282
282
|
}
|
|
283
283
|
}
|
|
284
|
-
/** @nocollapse */ DocPageInteractiveContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
285
|
-
/** @nocollapse */ DocPageInteractiveContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.
|
|
286
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
284
|
+
/** @nocollapse */ DocPageInteractiveContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DocPageInteractiveContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
285
|
+
/** @nocollapse */ DocPageInteractiveContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DocPageInteractiveContentDirective, selector: "docPageInteractive", inputs: { title: "title", subTitle: "subTitle" }, ngImport: i0 });
|
|
286
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DocPageInteractiveContentDirective, decorators: [{
|
|
287
287
|
type: Directive,
|
|
288
288
|
args: [{ selector: 'docPageInteractive' }]
|
|
289
289
|
}], propDecorators: { title: [{
|
|
@@ -293,42 +293,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImpor
|
|
|
293
293
|
}] } });
|
|
294
294
|
export class DocPageSamplesContentDirective {
|
|
295
295
|
}
|
|
296
|
-
/** @nocollapse */ DocPageSamplesContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
297
|
-
/** @nocollapse */ DocPageSamplesContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.
|
|
298
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
296
|
+
/** @nocollapse */ DocPageSamplesContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DocPageSamplesContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
297
|
+
/** @nocollapse */ DocPageSamplesContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DocPageSamplesContentDirective, selector: "docPageSamples", ngImport: i0 });
|
|
298
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DocPageSamplesContentDirective, decorators: [{
|
|
299
299
|
type: Directive,
|
|
300
300
|
args: [{ selector: 'docPageSamples' }]
|
|
301
301
|
}] });
|
|
302
302
|
export class DocPageSectionsContentDirective {
|
|
303
303
|
}
|
|
304
|
-
/** @nocollapse */ DocPageSectionsContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
305
|
-
/** @nocollapse */ DocPageSectionsContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.
|
|
306
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
304
|
+
/** @nocollapse */ DocPageSectionsContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DocPageSectionsContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
305
|
+
/** @nocollapse */ DocPageSectionsContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DocPageSectionsContentDirective, selector: "docPageSections", ngImport: i0 });
|
|
306
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DocPageSectionsContentDirective, decorators: [{
|
|
307
307
|
type: Directive,
|
|
308
308
|
args: [{ selector: 'docPageSections' }]
|
|
309
309
|
}] });
|
|
310
310
|
export class DocPageAccessibilityContentDirective {
|
|
311
311
|
}
|
|
312
|
-
/** @nocollapse */ DocPageAccessibilityContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
313
|
-
/** @nocollapse */ DocPageAccessibilityContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.
|
|
314
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
312
|
+
/** @nocollapse */ DocPageAccessibilityContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DocPageAccessibilityContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
313
|
+
/** @nocollapse */ DocPageAccessibilityContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DocPageAccessibilityContentDirective, selector: "docPageAccessibility", ngImport: i0 });
|
|
314
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DocPageAccessibilityContentDirective, decorators: [{
|
|
315
315
|
type: Directive,
|
|
316
316
|
args: [{ selector: 'docPageAccessibility' }]
|
|
317
317
|
}] });
|
|
318
318
|
export class DocPageApiContentDirective {
|
|
319
319
|
}
|
|
320
|
-
/** @nocollapse */ DocPageApiContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
321
|
-
/** @nocollapse */ DocPageApiContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.
|
|
322
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
320
|
+
/** @nocollapse */ DocPageApiContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DocPageApiContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
321
|
+
/** @nocollapse */ DocPageApiContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DocPageApiContentDirective, selector: "docPageApi", ngImport: i0 });
|
|
322
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DocPageApiContentDirective, decorators: [{
|
|
323
323
|
type: Directive,
|
|
324
324
|
args: [{ selector: 'docPageApi' }]
|
|
325
325
|
}] });
|
|
326
326
|
export class DocPageThemingContentDirective {
|
|
327
327
|
}
|
|
328
|
-
/** @nocollapse */ DocPageThemingContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
329
|
-
/** @nocollapse */ DocPageThemingContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.
|
|
330
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
328
|
+
/** @nocollapse */ DocPageThemingContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DocPageThemingContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
329
|
+
/** @nocollapse */ DocPageThemingContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DocPageThemingContentDirective, selector: "docPageTheming", ngImport: i0 });
|
|
330
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DocPageThemingContentDirective, decorators: [{
|
|
331
331
|
type: Directive,
|
|
332
332
|
args: [{ selector: 'docPageTheming' }]
|
|
333
333
|
}] });
|
|
334
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jLXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2RvYy1wYWdlL2RvYy1wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kb2MtcGFnZS9kb2MtcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFDTCxTQUFTLEVBRVQsZUFBZSxFQUNmLFVBQVUsRUFHVixpQkFBaUIsRUFDakIsU0FBUyxHQUVaLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7Ozs7OztBQVUzRSxNQUFNLE9BQU8sZ0JBQWdCO0lBd0R6QixZQUNZLE1BQWMsRUFDZCxLQUFxQixFQUNyQixTQUE0QixFQUM3QixTQUF1QixFQUN0QixRQUFrQjtRQUpsQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFDN0IsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBekRyQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLGFBQVEsR0FBVyxJQUFJLENBQUM7UUFXakMsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixpQkFBWSxHQUFHLElBQUksQ0FBQztRQTRCWixhQUFRLEdBQUc7WUFDZixFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRTtZQUM1QixFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRTtZQUN2QixFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRTtZQUN4QixFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRTtZQUMzQixFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRTtZQUMzQixFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRTtTQUMvQixDQUFDO0lBU0YsQ0FBQztJQUVELFFBQVE7UUFDSixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUN4QjtRQUVELElBQUk7WUFDQSxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFN0MsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNWLFFBQVEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUU7b0JBQ3pCLEtBQUssU0FBUzt3QkFDVixJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQzt3QkFDM0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUM7d0JBQ2hDLE1BQU07b0JBRVYsS0FBSyxTQUFTO3dCQUNWLElBQUksQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDO3dCQUM5QixJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQzt3QkFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7d0JBQ3ZCLE1BQU07b0JBRVYsS0FBSyxRQUFRO3dCQUNULElBQUksQ0FBQyxVQUFVLEdBQUcsWUFBWSxDQUFDO3dCQUMvQixJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQzt3QkFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7d0JBQ3pCLE1BQU07aUJBQ1Q7YUFDSjtTQUNKO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDUixPQUFPLENBQUMsR0FBRyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7WUFDakUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsQjtRQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO0lBRW5ELENBQUM7SUFFRCxlQUFlO1FBQ1gsa0JBQWtCO1FBQ2xCLElBQUk7WUFDQSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQyxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUV0RCxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBRTdFLHFCQUFxQjtnQkFDckIsa0dBQWtHO2dCQUNsRywyQkFBMkI7Z0JBQzNCLGtEQUFrRDtnQkFDbEQsa0NBQWtDO2dCQUNsQyxNQUFNO1lBQ1YsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1NBQ1g7UUFFRCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqRSxJQUFJLFFBQVEsQ0FBQztZQUViLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ04sUUFBUSxHQUFHLENBQUMsQ0FBQzthQUNoQjtpQkFBTTtnQkFDSCxRQUFRLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQzthQUN4QjtZQUVELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFOUQsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsU0FBUyxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztnQkFDN0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxVQUFVLENBQUMsVUFBa0IsRUFBRSxRQUFnQjtRQUMzQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBVTtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDdkMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDckUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztTQUM1RDtRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxVQUFrQixFQUFFLFFBQWdCLEVBQUUsSUFBYSxFQUFFLFNBQWtCO1FBQzdGLGdGQUFnRjtRQUVoRixJQUFJLElBQUksRUFBRTtZQUNOLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBRXJDLElBQUksVUFBVSxFQUFFO29CQUNaLFVBQVUsQ0FBQyxHQUFHLEVBQUU7d0JBQ1osTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQzt3QkFDaEQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7d0JBQ3BCLElBQUksR0FBRyxFQUFFOzRCQUNMLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQzs0QkFDekUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO3lCQUM3QjtvQkFDTCxDQUFDLENBQUMsQ0FBQztpQkFDTjthQUNKO1NBQ0o7YUFBTTtZQUNILElBQUksU0FBUyxFQUFFO2dCQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLEdBQUcsUUFBUSxDQUFDO2dCQUMzQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtvQkFDcEYsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO3dCQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztxQkFDeEM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7YUFDTjtpQkFBTTtnQkFDSCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxJQUFJLFVBQVUsRUFBRSxDQUFDLENBQUM7YUFDbEQ7U0FDSjtJQUNMLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxFQUFFO1FBRTFCLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3RCxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFckQsU0FBUyxPQUFPLENBQUMsS0FBSztZQUNsQixPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUMxQyxHQUFHLE1BQU07Z0JBQ1Q7b0JBQ0ksRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLO29CQUNkLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZTtvQkFDNUIsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO29CQUNuQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCO29CQUN6QyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCO29CQUMzQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsb0JBQW9CO2lCQUNsRDtnQkFDRCxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2FBQzVCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNoQixDQUFDO0lBQ0wsQ0FBQztJQUVPLFVBQVU7UUFDZCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQzVCLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUM7UUFDOUIsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztRQUN0QixNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQzlCLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDckQsSUFBSSxRQUFRLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFdkQsSUFBSSxXQUFXLEdBQUcsUUFBUSxFQUFFLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDM0MsSUFBSSxXQUFXLENBQUM7UUFFaEIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ2hDLFdBQVcsR0FBRyxRQUFRLENBQUM7WUFDdkIsT0FBTyxHQUFHLG9CQUFvQixDQUFDO1NBQ2xDO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQzFCLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQztTQUNyQzthQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUNsQyxXQUFXLEdBQUcsbUJBQW1CLENBQUM7U0FDckM7YUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDbEMsV0FBVyxHQUFHLG1CQUFtQixDQUFDO1NBQ3JDO1FBRUQsSUFBSSxRQUFRLEtBQUssbUJBQW1CLElBQUksUUFBUSxLQUFLLFdBQVcsRUFBRTtZQUM5RCxRQUFRLEdBQUcsWUFBWSxDQUFDO1NBQzNCO1FBRUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTNDLElBQUksR0FBRyxDQUFDLG9CQUFvQixFQUFFO1lBQzFCLFFBQVEsR0FBRyxHQUFHLENBQUMsb0JBQW9CLENBQUM7U0FDdkM7UUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzRixNQUFNLE9BQU8sR0FBRyxHQUFHLFdBQVcsS0FBSyxPQUFPLElBQUksV0FBVyxJQUFJLFFBQVEsSUFBSSxhQUFhLE9BQU8sQ0FBQztRQUU5RixPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1FBQzdDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUMsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxDQUFDO1FBRU4sS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDekMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ1QsSUFBSSxLQUFLLEVBQUU7b0JBQ1AsTUFBTSxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzNEO3FCQUFNO29CQUNILE1BQU0sSUFBSSxDQUFDLENBQUM7aUJBQ2Y7YUFDSjtpQkFBTTtnQkFDSCxNQUFNLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMzRDtTQUNKO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQzs7Z0lBL1FRLGdCQUFnQjtvSEFBaEIsZ0JBQWdCLHlQQXFCUixrQkFBa0IsOERBQ2xCLG1CQUFtQiw0R0FFRiwrQkFBK0IsNEZBRy9CLDhCQUE4Qiw2RkFHOUIsK0JBQStCLGdHQUcvQixrQ0FBa0Msa0dBR2xDLG9DQUFvQyx3RkFHcEMsMEJBQTBCLDRGQUcxQiw4QkFBOEIsNklDckVwRSxrclZBNEtBOzJGRGpKYSxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0ksdUJBQXVCLGlCQUdsQixpQkFBaUIsQ0FBQyxJQUFJOzRNQUc1QixFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFjc0QsT0FBTztzQkFBbEUsZUFBZTt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBQ0csUUFBUTtzQkFBcEUsZUFBZTt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBRzNELG1CQUFtQjtzQkFEbEIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsK0JBQStCLENBQUM7Z0JBSWxFLGtCQUFrQjtzQkFEakIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsOEJBQThCLENBQUM7Z0JBSWpFLG1CQUFtQjtzQkFEbEIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsK0JBQStCLENBQUM7Z0JBSWxFLHNCQUFzQjtzQkFEckIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0NBQWtDLENBQUM7Z0JBSXJFLHdCQUF3QjtzQkFEdkIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0NBQW9DLENBQUM7Z0JBSXZFLGNBQWM7c0JBRGIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMEJBQTBCLENBQUM7Z0JBSTdELGtCQUFrQjtzQkFEakIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsOEJBQThCLENBQUM7Z0JBR3ZDLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYTs7QUFzTzVCLHVEQUF1RDtBQUV2RCxNQUFNLE9BQU8sK0JBQStCOzsrSUFBL0IsK0JBQStCO21JQUEvQiwrQkFBK0I7MkZBQS9CLCtCQUErQjtrQkFEM0MsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRTs7QUFHMUMsTUFBTSxPQUFPLGtDQUFrQztJQUQvQztRQUVhLFVBQUssR0FBVyxtQkFBbUIsQ0FBQztRQUNwQyxhQUFRLEdBQVcsb0JBQW9CLENBQUM7S0FDcEQ7O2tKQUhZLGtDQUFrQztzSUFBbEMsa0NBQWtDOzJGQUFsQyxrQ0FBa0M7a0JBRDlDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUU7OEJBRWhDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLOztBQUdWLE1BQU0sT0FBTyw4QkFBOEI7OzhJQUE5Qiw4QkFBOEI7a0lBQTlCLDhCQUE4QjsyRkFBOUIsOEJBQThCO2tCQUQxQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFOztBQUd6QyxNQUFNLE9BQU8sK0JBQStCOzsrSUFBL0IsK0JBQStCO21JQUEvQiwrQkFBK0I7MkZBQS9CLCtCQUErQjtrQkFEM0MsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRTs7QUFHMUMsTUFBTSxPQUFPLG9DQUFvQzs7b0pBQXBDLG9DQUFvQzt3SUFBcEMsb0NBQW9DOzJGQUFwQyxvQ0FBb0M7a0JBRGhELFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUU7O0FBRy9DLE1BQU0sT0FBTywwQkFBMEI7OzBJQUExQiwwQkFBMEI7OEhBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUR0QyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRTs7QUFJckMsTUFBTSxPQUFPLDhCQUE4Qjs7OElBQTlCLDhCQUE4QjtrSUFBOUIsOEJBQThCOzJGQUE5Qiw4QkFBOEI7a0JBRDFDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBEaXJlY3RpdmUsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgZm9yd2FyZFJlZixcbiAgICBPbkluaXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIFZpZXdDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNhZmVSZXNvdXJjZVVybCwgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBSb3V0ZXIsIEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IERvY1NhbXBsZUNvbXBvbmVudCB9IGZyb20gJy4uL2RvYy1zYW1wbGUvZG9jLXNhbXBsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRG9jU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL2RvYy1zZWN0aW9uL2RvYy1zZWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVeEFwcFNoZWxsU2VydmljZSB9IGZyb20gJ0BldWkvY29yZSc7XG5pbXBvcnQgeyBFdWlUYWJzQ29tcG9uZW50IH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2V1aS10YWJzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktc2hvd2Nhc2UtZG9jLXBhZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnZG9jLXBhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RvYy1wYWdlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRG9jUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KCkgaWQ7XG4gICAgQElucHV0KCkgbGFiZWw7XG4gICAgQElucHV0KCkgc3ViTGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBpc05vdFJlYWR5ID0gZmFsc2U7XG4gICAgQElucHV0KCkgaXNEZXByZWNhdGVkID0gZmFsc2U7XG4gICAgQElucHV0KCkgY29kZUZvbGRlcjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHNob3djYXNlOiBzdHJpbmcgPSAndXgnO1xuXG4gICAgc3RhdGVUeXBlQ2xhc3M7XG4gICAgc3RhdGVMYWJlbDtcbiAgICBjbXA7XG4gICAgZnJhZ21lbnRJZDtcblxuICAgIGFwaVVybFNhZmU6IFNhZmVSZXNvdXJjZVVybDtcbiAgICBhcGlVcmw6IHN0cmluZztcbiAgICBpRnJhbWVDb250ZW50O1xuXG4gICAgaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICBpc05hdkNsaWNrZWQgPSB0cnVlO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihEb2NTYW1wbGVDb21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgc2FtcGxlczogUXVlcnlMaXN0PERvY1NhbXBsZUNvbXBvbmVudD47XG4gICAgQENvbnRlbnRDaGlsZHJlbihEb2NTZWN0aW9uQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIHNlY3Rpb25zOiBRdWVyeUxpc3Q8RG9jU2VjdGlvbkNvbXBvbmVudD47XG5cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gRG9jUGFnZU92ZXJ2aWV3Q29udGVudERpcmVjdGl2ZSkpXG4gICAgcGFnZU92ZXJ2aWV3Q29udGVudDogUXVlcnlMaXN0PERvY1BhZ2VPdmVydmlld0NvbnRlbnREaXJlY3RpdmU+O1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IERvY1BhZ2VTYW1wbGVzQ29udGVudERpcmVjdGl2ZSkpXG4gICAgcGFnZVNhbXBsZXNDb250ZW50OiBRdWVyeUxpc3Q8RG9jUGFnZVNhbXBsZXNDb250ZW50RGlyZWN0aXZlPjtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBEb2NQYWdlU2VjdGlvbnNDb250ZW50RGlyZWN0aXZlKSlcbiAgICBwYWdlU2VjdGlvbnNDb250ZW50OiBRdWVyeUxpc3Q8RG9jUGFnZVNlY3Rpb25zQ29udGVudERpcmVjdGl2ZT47XG5cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gRG9jUGFnZUludGVyYWN0aXZlQ29udGVudERpcmVjdGl2ZSkpXG4gICAgcGFnZUludGVyYWN0aXZlQ29udGVudDogUXVlcnlMaXN0PERvY1BhZ2VJbnRlcmFjdGl2ZUNvbnRlbnREaXJlY3RpdmU+O1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IERvY1BhZ2VBY2Nlc3NpYmlsaXR5Q29udGVudERpcmVjdGl2ZSkpXG4gICAgcGFnZUFjY2Vzc2liaWxpdHlDb250ZW50OiBRdWVyeUxpc3Q8RG9jUGFnZUFjY2Vzc2liaWxpdHlDb250ZW50RGlyZWN0aXZlPjtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBEb2NQYWdlQXBpQ29udGVudERpcmVjdGl2ZSkpXG4gICAgcGFnZUFwaUNvbnRlbnQ6IFF1ZXJ5TGlzdDxEb2NQYWdlQXBpQ29udGVudERpcmVjdGl2ZT47XG5cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gRG9jUGFnZVRoZW1pbmdDb250ZW50RGlyZWN0aXZlKSlcbiAgICBwYWdlVGhlbWluZ0NvbnRlbnQ6IFF1ZXJ5TGlzdDxEb2NQYWdlVGhlbWluZ0NvbnRlbnREaXJlY3RpdmU+O1xuXG4gICAgQFZpZXdDaGlsZCgndGFic0NvbnRlbnQnKSB0YWJzQ29udGVudDogRXVpVGFic0NvbXBvbmVudDtcblxuICAgIHByaXZhdGUgVEFCU19ERUYgPSBbXG4gICAgICAgIHsgaW5kZXg6IDAsIGlkOiAnb3ZlcnZpZXcnIH0sXG4gICAgICAgIHsgaW5kZXg6IDEsIGlkOiAnYXBpJyB9LFxuICAgICAgICB7IGluZGV4OiAyLCBpZDogJ2ExMXknIH0sXG4gICAgICAgIHsgaW5kZXg6IDMsIGlkOiAnc2FtcGxlcycgfSxcbiAgICAgICAgeyBpbmRleDogNCwgaWQ6ICd0aGVtaW5nJyB9LFxuICAgICAgICB7IGluZGV4OiA1LCBpZDogJ2FkdmFuY2VkJyB9LFxuICAgIF07XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgYXNTZXJ2aWNlOiBVeEFwcFNoZWxsU2VydmljZSxcbiAgICAgICAgcHVibGljIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgICAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgICApIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFzU2VydmljZS5pc0Jsb2NrRG9jdW1lbnRBY3RpdmUgPSB0cnVlO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAodGhpcy5pZCAmJiAhdGhpcy5sYWJlbCkge1xuICAgICAgICAgICAgdGhpcy5sYWJlbCA9IHRoaXMuaWQ7XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5jbXAgPSB0aGlzLl9nZXRDb21wb25lbnRTdGF0dXModGhpcy5pZCk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmNtcCkge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAodGhpcy5jbXAuc3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnc3VjY2Vzcyc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhdGVMYWJlbCA9ICdBQ1RJVkUnO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlVHlwZUNsYXNzID0gJ3N1Y2Nlc3MnO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ3dhcm5pbmcnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlTGFiZWwgPSAnTk9UIFJFQURZJztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZVR5cGVDbGFzcyA9ICd3YXJuaW5nJztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc05vdFJlYWR5ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICdkYW5nZXInOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlTGFiZWwgPSAnREVQUkVDQVRFRCc7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhdGVUeXBlQ2xhc3MgPSAnZGFuZ2VyJztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0RlcHJlY2F0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdXYXJuaW5nLCBlcnJvcnMgZGV0ZWN0ZWQgd2hpbGUgZ2V0dGluZyBwYWdlIHN0YXRlJyk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZyYWdtZW50SWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmZyYWdtZW50O1xuXG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICAvLyBnZXR0aW5nIEFQSSB1cmxcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuYXBpVXJsID0gdGhpcy5fZ2V0QXBpVXJsKCk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgRmV0Y2hpbmcgQVBJIHVybCBmcm9tIDogJHt0aGlzLmFwaVVybH1gKTtcblxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hcGlVcmxTYWZlID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHRoaXMuYXBpVXJsKTtcblxuICAgICAgICAgICAgICAgIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vICAgICBjb25zdCBpRnJhbWU6IEhUTUxJRnJhbWVFbGVtZW50ID0gPEhUTUxJRnJhbWVFbGVtZW50PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJhbWVfYXBpJyk7XG4gICAgICAgICAgICAgICAgLy8gICAgIGNvbnNvbGUubG9nKGlGcmFtZSk7XG4gICAgICAgICAgICAgICAgLy8gICAgIGNvbnN0IGlGcmFtZUNvbnRlbnQgPSBpRnJhbWUuY29udGVudFdpbmRvdztcbiAgICAgICAgICAgICAgICAvLyAgICAgY29uc29sZS5sb2coaUZyYW1lQ29udGVudCk7XG4gICAgICAgICAgICAgICAgLy8gfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBsZXQgdGFiID0gdGhpcy5UQUJTX0RFRi5maWx0ZXIodCA9PiB0LmlkID09PSB0aGlzLmZyYWdtZW50SWQpWzBdO1xuICAgICAgICAgICAgbGV0IHRhYkluZGV4O1xuXG4gICAgICAgICAgICBpZiAoIXRhYikge1xuICAgICAgICAgICAgICAgIHRhYkluZGV4ID0gMztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGFiSW5kZXggPSB0YWIuaW5kZXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuX3Njcm9sbFRvRnJhZ21lbnQodGhpcy5mcmFnbWVudElkLCB0YWJJbmRleCwgdHJ1ZSwgdHJ1ZSk7XG5cbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYXNTZXJ2aWNlLmlzQmxvY2tEb2N1bWVudEFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25OYXZDbGljayhmcmFnbWVudElkOiBzdHJpbmcsIHRhYkluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5mcmFnbWVudElkID0gZnJhZ21lbnRJZDtcbiAgICAgICAgdGhpcy5pc05hdkNsaWNrZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLl9zY3JvbGxUb0ZyYWdtZW50KHRoaXMuZnJhZ21lbnRJZCwgdGFiSW5kZXgsIGZhbHNlLCB0cnVlKTtcbiAgICB9XG5cbiAgICBvblRhYlNlbGVjdGVkKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzTG9hZGluZyAmJiAhdGhpcy5pc05hdkNsaWNrZWQpIHtcbiAgICAgICAgICAgIGxldCB0YWJJZCA9IHRoaXMuVEFCU19ERUYuZmlsdGVyKHQgPT4gdC5pbmRleCA9PT0gZXZlbnQuaW5kZXgpWzBdLmlkO1xuICAgICAgICAgICAgdGhpcy5fc2Nyb2xsVG9GcmFnbWVudCh0YWJJZCwgZXZlbnQuaW5kZXgsIGZhbHNlLCBmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc05hdkNsaWNrZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zY3JvbGxUb0ZyYWdtZW50KGZyYWdtZW50SWQ6IHN0cmluZywgdGFiSW5kZXg6IG51bWJlciwgaW5pdDogYm9vbGVhbiwgY2hhbmdlVGFiOiBib29sZWFuKSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGBOYXZpZ2F0aW5nIHRvIGZyYWdtZW50OiAke2ZyYWdtZW50SWR9IC0gdGFiSW5kZXg6ICR7dGFiSW5kZXh9YCk7XG5cbiAgICAgICAgaWYgKGluaXQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRhYnNDb250ZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJzQ29udGVudC5jaGFuZ2VUYWIodGFiSW5kZXgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGZyYWdtZW50SWQpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmZ20gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmcmFnbWVudElkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHlPZmZzZXQgPSAtODA7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmdtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeSA9IGZnbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgKyB3aW5kb3cucGFnZVlPZmZzZXQgKyB5T2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7dG9wOiB5fSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChjaGFuZ2VUYWIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5vblNhbWVVcmxOYXZpZ2F0aW9uID0gJ3JlbG9hZCc7XG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuJ10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSwgZnJhZ21lbnQ6IGZyYWdtZW50SWQgfSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnRhYnNDb250ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYnNDb250ZW50LmNoYW5nZVRhYih0YWJJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgcm91dGVSb290ID0gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCcjJylbMF07XG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhdGlvbi5nbyhgJHtyb3V0ZVJvb3R9IyR7ZnJhZ21lbnRJZH1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2dldENvbXBvbmVudFN0YXR1cyhpZCkge1xuXG4gICAgICAgIGNvbnN0IGZsYXRMaW5rcyA9IGZsYXR0ZW4odGhpcy5hc1NlcnZpY2Uuc3RhdGUuc2lkZWJhckxpbmtzKTtcbiAgICAgICAgcmV0dXJuIGZsYXRMaW5rcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGlkKVswXTtcblxuICAgICAgICBmdW5jdGlvbiBmbGF0dGVuKGxpbmtzKSB7XG4gICAgICAgICAgICByZXR1cm4gbGlua3MgPyBsaW5rcy5yZWR1Y2UoKHJlc3VsdCwgaXRlbSkgPT4gW1xuICAgICAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBpdGVtLmxhYmVsLFxuICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IGl0ZW0ubWFya2VyVHlwZUNsYXNzLFxuICAgICAgICAgICAgICAgICAgICBjbXBSZXBsYWNlbWVudDogaXRlbS5jbXBSZXBsYWNlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgY21wUmVwbGFjZW1lbnRVcmw6IGl0ZW0uY21wUmVwbGFjZW1lbnRVcmwsXG4gICAgICAgICAgICAgICAgICAgIGNtcFJlcGxhY2VtZW50Tm90ZTogaXRlbS5jbXBSZXBsYWNlbWVudE5vdGUsXG4gICAgICAgICAgICAgICAgICAgIGFsdGVybmF0ZUFwaUNhdGVnb3J5OiBpdGVtLmFsdGVybmF0ZUFwaUNhdGVnb3J5XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAuLi5mbGF0dGVuKGl0ZW0uY2hpbGRyZW4pXG4gICAgICAgICAgICBdLCBbXSkgOiBbXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2dldEFwaVVybCgpIHtcbiAgICAgICAgY29uc3QgdXJsID0gd2luZG93LmxvY2F0aW9uO1xuICAgICAgICBjb25zdCBwcm90b2NvbCA9IHVybC5wcm90b2NvbDtcbiAgICAgICAgY29uc3QgaG9zdCA9IHVybC5ob3N0O1xuICAgICAgICBjb25zdCBwYXRoTmFtZSA9IHVybC5wYXRobmFtZTtcbiAgICAgICAgY29uc3QgcGF0aE5hbWVBcnJheSA9IHBhdGhOYW1lLnNwbGl0KCcvJyk7XG4gICAgICAgIGNvbnN0IG5hbWUgPSBwYXRoTmFtZUFycmF5W3BhdGhOYW1lQXJyYXkubGVuZ3RoIC0gMV07XG4gICAgICAgIGxldCBjYXRlZ29yeSA9IHBhdGhOYW1lQXJyYXlbcGF0aE5hbWVBcnJheS5sZW5ndGggLSAyXTtcblxuICAgICAgICBsZXQgcHJvdG9jb2xHZW4gPSBwcm90b2NvbCwgaG9zdEdlbiA9IGhvc3Q7XG4gICAgICAgIGxldCBkb2NUeXBlUm9vdDtcblxuICAgICAgICBpZiAoaG9zdC5pbmRleE9mKCdsb2NhbGhvc3QnKSA+IC0xKSB7XG4gICAgICAgICAgICBwcm90b2NvbEdlbiA9ICdodHRwczonO1xuICAgICAgICAgICAgaG9zdEdlbiA9ICdldWlkZXYuZWNkZXZvcHMuZXUnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5hbWUuaW5kZXhPZigndXgtJykgPiAtMSkge1xuICAgICAgICAgICAgZG9jVHlwZVJvb3QgPSAnZXVpLWRvY3MtZXVpLTEzLngnO1xuICAgICAgICB9IGVsc2UgaWYgKG5hbWUuaW5kZXhPZignZXVpLScpID4gLTEpIHtcbiAgICAgICAgICAgIGRvY1R5cGVSb290ID0gJ2V1aS1kb2NzLWV1aS0xMy54JztcbiAgICAgICAgfSBlbHNlIGlmIChuYW1lLmluZGV4T2YoJ2VjbC0nKSA+IC0xKSB7XG4gICAgICAgICAgICBkb2NUeXBlUm9vdCA9ICdldWktZG9jcy1lY2wtMTMueCc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2F0ZWdvcnkgPT09ICdsYXlvdXQtY29tcG9uZW50cycgfHwgY2F0ZWdvcnkgPT09ICdleHRlcm5hbHMnKSB7XG4gICAgICAgICAgICBjYXRlZ29yeSA9ICdjb21wb25lbnRzJztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNtcCA9IHRoaXMuX2dldENvbXBvbmVudFN0YXR1cyhuYW1lKTtcblxuICAgICAgICBpZiAoY21wLmFsdGVybmF0ZUFwaUNhdGVnb3J5KSB7XG4gICAgICAgICAgICBjYXRlZ29yeSA9IGNtcC5hbHRlcm5hdGVBcGlDYXRlZ29yeTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZE5hbWUgPSB0aGlzLl9jYW1lbENhc2VTdHJpbmcobmFtZSArICctJyArIGNhdGVnb3J5LnNsaWNlKDAsIC0xKSwgJy0nLCB0cnVlKTtcbiAgICAgICAgY29uc3QgZG9jUGF0aCA9IGAke3Byb3RvY29sR2VufS8vJHtob3N0R2VufS8ke2RvY1R5cGVSb290fS8ke2NhdGVnb3J5fS8ke2Zvcm1hdHRlZE5hbWV9Lmh0bWxgO1xuXG4gICAgICAgIHJldHVybiBkb2NQYXRoO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NhbWVsQ2FzZVN0cmluZyhzdHJpbmcsIHNlcGFyYXRvciwgZmlyc3QpIHtcbiAgICAgICAgY29uc3Qgc3RyaW5nQXJyYXkgPSBzdHJpbmcuc3BsaXQoc2VwYXJhdG9yKTtcbiAgICAgICAgbGV0IHJlc3VsdCA9ICcnO1xuICAgICAgICBsZXQgcztcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN0cmluZ0FycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBzID0gc3RyaW5nQXJyYXlbaV07XG4gICAgICAgICAgICBpZiAoaSA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGlmIChmaXJzdCkge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQgKz0gcy5zdWJzdHJpbmcoMCwgMSkudG9VcHBlckNhc2UoKSArIHMuc3Vic3RyKDEpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSBzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ICs9IHMuc3Vic3RyaW5nKDAsIDEpLnRvVXBwZXJDYXNlKCkgKyBzLnN1YnN0cigxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG59XG5cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3IgKi9cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2RvY1BhZ2VPdmVydmlldycgfSlcbmV4cG9ydCBjbGFzcyBEb2NQYWdlT3ZlcnZpZXdDb250ZW50RGlyZWN0aXZlIHsgfVxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnZG9jUGFnZUludGVyYWN0aXZlJyB9KVxuZXhwb3J0IGNsYXNzIERvY1BhZ2VJbnRlcmFjdGl2ZUNvbnRlbnREaXJlY3RpdmUge1xuICAgIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgPSAnQURWQU5DRUQgRVhBTVBMRVMnO1xuICAgIEBJbnB1dCgpIHN1YlRpdGxlOiBzdHJpbmcgPSAnQWR2YW5jZWQgdXNlIGNhc2VzJztcbn1cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2RvY1BhZ2VTYW1wbGVzJyB9KVxuZXhwb3J0IGNsYXNzIERvY1BhZ2VTYW1wbGVzQ29udGVudERpcmVjdGl2ZSB7IH1cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2RvY1BhZ2VTZWN0aW9ucycgfSlcbmV4cG9ydCBjbGFzcyBEb2NQYWdlU2VjdGlvbnNDb250ZW50RGlyZWN0aXZlIHsgfVxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnZG9jUGFnZUFjY2Vzc2liaWxpdHknIH0pXG5leHBvcnQgY2xhc3MgRG9jUGFnZUFjY2Vzc2liaWxpdHlDb250ZW50RGlyZWN0aXZlIHsgfVxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnZG9jUGFnZUFwaScgfSlcbmV4cG9ydCBjbGFzcyBEb2NQYWdlQXBpQ29udGVudERpcmVjdGl2ZSB7IH1cblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnZG9jUGFnZVRoZW1pbmcnIH0pXG5leHBvcnQgY2xhc3MgRG9jUGFnZVRoZW1pbmdDb250ZW50RGlyZWN0aXZlIHsgfVxuLyogZXNsaW50LWVuYWJsZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yICovXG4iLCI8ZGl2IGNsYXNzPVwiZG9jLXBhZ2UtbmF2aWdhdGlvbi13cmFwcGVyXCIgW2NsYXNzLmV1aS11LWhpZGRlbl09XCJpc0xvYWRpbmdcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZG9jLXBhZ2UtbWFpbi1jb2x1bW5cIj5cbiAgICAgICAgPGV1aS1wYWdlPlxuICAgICAgICAgICAgPGV1aS1wYWdlLWhlYWRlciBsYWJlbD1cInt7bGFiZWx9fVwiIHN1YkxhYmVsPVwie3tzdWJMYWJlbH19XCI+XG4gICAgICAgICAgICAgICAgPGV1aS1wYWdlLWhlYWRlci1hY3Rpb24taXRlbXM+XG4gICAgICAgICAgICAgICAgICAgIDxldWktc2hvd2Nhc2UtZG9jLXBhZ2UtY29kZSAqbmdJZj1cImNvZGVGb2xkZXJcIiBjb2RlRm9sZGVyPVwie3tjb2RlRm9sZGVyfX1cIiBzaG93Y2FzZT1cInt7c2hvd2Nhc2V9fVwiPjwvZXVpLXNob3djYXNlLWRvYy1wYWdlLWNvZGU+XG4gICAgICAgICAgICAgICAgICAgIDxldWktY2hpcCAqbmdJZj1cInN0YXRlTGFiZWxcIiBbZXVpU3VjY2Vzc109XCJzdGF0ZUxhYmVsID09PSAnQUNUSVZFJ1wiIFtldWlXYXJuaW5nXT1cInN0YXRlTGFiZWwgPT09ICdOT1QgUkVBRFknXCIgW2V1aURhbmdlcl09XCJzdGF0ZUxhYmVsID09PSAnREVQUkVDQVRFRCdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGV1aUxhYmVsPjxzdHJvbmc+e3tzdGF0ZUxhYmVsfX08L3N0cm9uZz48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZXVpLWNoaXA+XG4gICAgICAgICAgICAgICAgPC9ldWktcGFnZS1oZWFkZXItYWN0aW9uLWl0ZW1zPlxuICAgICAgICAgICAgPC9ldWktcGFnZS1oZWFkZXI+XG5cbiAgICAgICAgICAgIDxldWktcGFnZS1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxldWktYWxlcnQgKm5nSWY9XCJzdGF0ZUxhYmVsID09PSAnTk9UIFJFQURZJyB8fCBpc05vdFJlYWR5XCIgZXVpV2FybmluZz5cbiAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGNvbXBvbmVudCA8c3Ryb25nIGNsYXNzPVwiZXVpLXUtY29sb3Itd2FybmluZy1kYXJrZXN0ZXItMlwiPmlzIG5vdCByZWFkeSBmb3IgcHJvZHVjdGlvbjwvc3Ryb25nPiB1c2FnZSB5ZXQsIGl0J3MgQVBJIGlzIHN0aWxsIHN1YmplY3QgdG8gY2hhbmdlIGR1cmluZyB0aGUgY29taW5nIHdlZWtzLlxuICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgRm9yIGV4cGVyaW1lbnRhdGlvbiB1c2Ugb25seS5cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDwvZXVpLWFsZXJ0PlxuXG4gICAgICAgICAgICAgICAgPGV1aS1hbGVydCAqbmdJZj1cInN0YXRlTGFiZWwgPT09ICdERVBSRUNBVEVEJyB8fCBpc0RlcHJlY2F0ZWRcIiBldWlEYW5nZXI+XG4gICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBjb21wb25lbnQgaGFzIGJlZW4gPHN0cm9uZyBjbGFzcz1cImV1aS11LWNvbG9yLWRhbmdlclwiPmRlcHJlY2F0ZWQ8L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY21wXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY21wLmNtcFJlcGxhY2VtZW50ICE9PSAnTk9ORSdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJdCBoYXMgYmVlbiByZXBsYWNlZCBieSA6IDxzdHJvbmcgY2xhc3M9XCJldWktdS1jb2xvci1zdWNjZXNzLWRhcmtlc3RcIj57e2NtcC5jbXBSZXBsYWNlbWVudH19PC9zdHJvbmc+LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGJyPjxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBZb3UgY2FuIGZpbmQgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGUgbmV3IGNvbXBvbmVudCBoZXJlIDogPGEgW3JvdXRlckxpbmtdPVwiY21wLmNtcFJlcGxhY2VtZW50VXJsXCI+e3tjbXAuY21wUmVwbGFjZW1lbnRVcmx9fTwvYT4gLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjbXAuY21wUmVwbGFjZW1lbnQgPT09ICdOT05FJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgY29tcG9uZW50IHdpbGwgYmUgPHN0cm9uZz5kaXNjb250aW51ZWQgaW4gZnV0dXJlIHZlcnNpb24gb2YgZVVJPC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjbXAuY21wUmVwbGFjZW1lbnROb3RlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cImV1aS11LWNvbG9yLXdhcm5pbmdcIj57e2NtcC5jbXBSZXBsYWNlbWVudE5vdGV9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZXVpLWFsZXJ0PlxuXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIihzdGF0ZUxhYmVsIHx8IGlzTm90UmVhZHkgfHwgaXNEZXByZWNhdGVkKSAmJiBzdGF0ZUxhYmVsICE9PSAnQUNUSVZFJ1wiIGNsYXNzPVwibWItNVwiPjwvZGl2PlxuXG5cbiAgICAgICAgICAgICAgICA8ZXVpLXRhYnMgI3RhYnNDb250ZW50ICpuZ0lmPVwicGFnZVNlY3Rpb25zQ29udGVudC5sZW5ndGggPT09IDBcIiAodGFiU2VsZWN0ZWQpPVwib25UYWJTZWxlY3RlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxldWktdGFiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9WRVJWSUVXXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2V1aVRhYkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPVwib3ZlcnZpZXdcIiBjbGFzcz1cImV1aS11LWZvbnQtYm9sZCBldWktdS1jb2xvci1pbmZvIG10LTMgbWItMlwiPk92ZXJ2aWV3PC9oND5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicGFnZU92ZXJ2aWV3Q29udGVudC5sZW5ndGggPiAwOyBlbHNlIG5vT3ZlcnZpZXdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZG9jUGFnZU92ZXJ2aWV3XCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9PdmVydmlldz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29taW5nIHNvb24uLi5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9ldWlUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8L2V1aS10YWI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGV1aS10YWI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2V1aVRhYkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwaVVybFNhZmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwie3thcGlVcmx9fVwiIHRhcmdldD1cIl9ibGFua1wiIGNsYXNzPVwibXMtYXV0byBwYi0yIGV1aS11LXRleHQtbGluay1leHRlcm5hbFwiPk9wZW4gQVBJIHBhZ2U8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG9jLXBhZ2UtYXBpLWlmcmFtZS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aWZyYW1lIGlkPVwiaWZyYW1lX2FwaVwiIFt3aWR0aF09XCInMTAwJSdcIiBoZWlnaHQ9XCI3MDBweFwiIGZyYW1lQm9yZGVyPVwiMFwiIFtzcmNdPVwiYXBpVXJsU2FmZVwiPjwvaWZyYW1lPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpVGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPC9ldWktdGFiPlxuXG4gICAgICAgICAgICAgICAgICAgIDxldWktdGFiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEExMVlcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpVGFiTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9XCJhY2Nlc3NpYmlsaXR5XCIgY2xhc3M9XCJldWktdS1mb250LWJvbGQgZXVpLXUtY29sb3ItaW5mbyBtdC0zIG1iLTJcIj5BY2Nlc3NpYmlsaXR5PC9oND5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkb2NQYWdlQWNjZXNzaWJpbGl0eVwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpVGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPC9ldWktdGFiPlxuXG4gICAgICAgICAgICAgICAgICAgIDxldWktdGFiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9QVElPTlMgJiBTQU1QTEVTXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2V1aVRhYkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPVwic2FtcGxlc1wiIGNsYXNzPVwiZXVpLXUtZm9udC1ib2xkIGV1aS11LWNvbG9yLWluZm8gbXQtMyBtYi0yXCI+T3B0aW9ucyAmIHNhbXBsZXM8L2g0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImRvY1BhZ2VTYW1wbGVzXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9ldWlUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8L2V1aS10YWI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGV1aS10YWIgKm5nSWY9XCJwYWdlVGhlbWluZ0NvbnRlbnQubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRIRU1JTkdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpVGFiTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9XCJ0aGVtaW5nXCIgY2xhc3M9XCJldWktdS1mb250LWJvbGQgZXVpLXUtY29sb3ItaW5mbyBtdC0zIG1iLTJcIj5UaGVtaW5nPC9oND5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkb2NQYWdlVGhlbWluZ1wiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpVGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPC9ldWktdGFiPlxuXG4gICAgICAgICAgICAgICAgICAgIDxldWktdGFiICpuZ0lmPVwicGFnZUludGVyYWN0aXZlQ29udGVudC5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3twYWdlSW50ZXJhY3RpdmVDb250ZW50LmZpcnN0LnRpdGxlfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpVGFiTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9XCJpbnRlcmFjdGl2ZVwiIGNsYXNzPVwiZXVpLXUtZm9udC1ib2xkIGV1aS11LWNvbG9yLWluZm8gbXQtMyBtYi0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cGFnZUludGVyYWN0aXZlQ29udGVudC5maXJzdC5zdWJUaXRsZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oND5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkb2NQYWdlSW50ZXJhY3RpdmVcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2V1aVRhYkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZXVpLXRhYj5cbiAgICAgICAgICAgICAgICA8L2V1aS10YWJzPlxuXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhZ2VTZWN0aW9uc0NvbnRlbnQubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9XCJkZW1vXCIgKm5nSWY9XCJzZWN0aW9ucy5sZW5ndGggPT09IDBcIiBjbGFzcz1cImV1aS11LWZvbnQtYm9sZCBldWktdS1jb2xvci1pbmZvIG10LTMgbWItMlwiPkRlbW88L2g0PlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkb2NQYWdlU2VjdGlvbnNcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2V1aS1wYWdlLWNvbnRlbnQ+XG4gICAgICAgIDwvZXVpLXBhZ2U+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZG9jLXBhZ2UtbmF2aWdhdGlvbi1jb2x1bW4gZXVpLXUtaGlkZGVuLWRlc2t0b3AtZG93blwiPlxuICAgICAgICA8ZGl2IGlkPVwiZG9jLXBhZ2UtbmF2XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG9jLXBhZ2UtbmF2aWdhdGlvbi10aXRsZVwiPkluIHRoaXMgcGFnZTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRvYy1wYWdlLW5hdmlnYXRpb24tY29udGVudFwiIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImRvYy1wYWdlLW5hdmlnYXRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhZ2VTZWN0aW9uc0NvbnRlbnQubGVuZ3RoID09PSAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEFMV0FZUyBQUkVTRU5UIGluIGVhY2ggcGFnZS0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtXCIgW2NsYXNzLmRvYy1wYWdlLW5hdmlnYXRpb24taXRlbS0tc2VsZWN0ZWRdPVwiZnJhZ21lbnRJZCA9PT0gJ292ZXJ2aWV3J1wiIChjbGljayk9XCJvbk5hdkNsaWNrKCdvdmVydmlldycsIDApXCI+PHNwYW4+T1ZFUlZJRVc8L3NwYW4+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImRvYy1wYWdlLW5hdmlnYXRpb24taXRlbVwiIFtjbGFzcy5kb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW0tLXNlbGVjdGVkXT1cImZyYWdtZW50SWQgPT09ICdhcGknXCIgKGNsaWNrKT1cIm9uTmF2Q2xpY2soJ2FwaScsIDEpXCI+PHNwYW4+QVBJPC9zcGFuPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJkb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW1cIiBbY2xhc3MuZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtLS1zZWxlY3RlZF09XCJmcmFnbWVudElkID09PSAnYTExeSdcIiAoY2xpY2spPVwib25OYXZDbGljaygnYTExeScsIDIpXCI+PHNwYW4+QTExWTwvc3Bhbj48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtXCIgW2NsYXNzLmRvYy1wYWdlLW5hdmlnYXRpb24taXRlbS0tc2VsZWN0ZWRdPVwiZnJhZ21lbnRJZCA9PT0gJ3NhbXBsZXMnXCIgKGNsaWNrKT1cIm9uTmF2Q2xpY2soJ3NhbXBsZXMnLCAzKVwiPjxzcGFuPk9QVElPTlMgJiBTQU1QTEVTPC9zcGFuPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJkb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW0gZG9jLXBhZ2UtbmF2aWdhdGlvbi1zdWJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgKm5nRm9yPVwibGV0IHNhbXBsZSBvZiBzYW1wbGVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImRvYy1wYWdlLW5hdmlnYXRpb24taXRlbVwiIFtjbGFzcy5kb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW0tLXNlbGVjdGVkXT1cImZyYWdtZW50SWQgPT09IHNhbXBsZS5pZFwiIChjbGljayk9XCJvbk5hdkNsaWNrKHNhbXBsZS5pZCwgMylcIj48c3Bhbj57e3NhbXBsZS5sYWJlbH19PC9zcGFuPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gT1BUSU9OQUwgVEFCUy0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhZ2VUaGVtaW5nQ29udGVudC5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0lmPVwicGFnZVRoZW1pbmdDb250ZW50Lmxlbmd0aCA+IDBcIiBjbGFzcz1cImRvYy1wYWdlLW5hdmlnYXRpb24taXRlbVwiIFtjbGFzcy5kb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW0tLXNlbGVjdGVkXT1cImZyYWdtZW50SWQgPT09ICd0aGVtaW5nJ1wiIChjbGljayk9XCJvbk5hdkNsaWNrKCd0aGVtaW5nJywgNClcIj48c3Bhbj5USEVNSU5HPC9zcGFuPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0lmPVwicGFnZUludGVyYWN0aXZlQ29udGVudC5sZW5ndGggPiAwXCIgY2xhc3M9XCJkb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW1cIiBbY2xhc3MuZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtLS1zZWxlY3RlZF09XCJmcmFnbWVudElkID09PSAnYWR2YW5jZWQnXCIgKGNsaWNrKT1cIm9uTmF2Q2xpY2soJ2FkdmFuY2VkJywgNSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3twYWdlSW50ZXJhY3RpdmVDb250ZW50LmZpcnN0LnRpdGxlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhZ2VUaGVtaW5nQ29udGVudC5sZW5ndGggID09PSAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0lmPVwicGFnZUludGVyYWN0aXZlQ29udGVudC5sZW5ndGggPiAwXCIgY2xhc3M9XCJkb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW1cIiBbY2xhc3MuZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtLS1zZWxlY3RlZF09XCJmcmFnbWVudElkID09PSAnYWR2YW5jZWQnXCIgKGNsaWNrKT1cIm9uTmF2Q2xpY2soJ2FkdmFuY2VkJywgNClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3twYWdlSW50ZXJhY3RpdmVDb250ZW50LmZpcnN0LnRpdGxlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFnZVNlY3Rpb25zQ29udGVudC5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJkb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW1cIiBbY2xhc3MuZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtLS1zZWxlY3RlZF09XCJmcmFnbWVudElkID09PSAnc2VjdGlvbnMnXCIgKGNsaWNrKT1cIm9uTmF2Q2xpY2soJ3NlY3Rpb25zJywgbnVsbClcIj48c3Bhbj5TZWN0aW9uczwvc3Bhbj48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0lmPVwic2VjdGlvbnMubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJkb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW1cIiBbY2xhc3MuZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtLS1zZWxlY3RlZF09XCJmcmFnbWVudElkID09PSAnZGVtbydcIiAoY2xpY2spPVwib25OYXZDbGljaygnZGVtbycsIG51bGwpXCI+PHNwYW4+RGVtbzwvc3Bhbj48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0lmPVwic2VjdGlvbnMubGVuZ3RoID4gMFwiIGNsYXNzPVwiZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtIGRvYy1wYWdlLW5hdmlnYXRpb24tc3ViXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsICpuZ0Zvcj1cImxldCBzZWN0aW9uIG9mIHNlY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImRvYy1wYWdlLW5hdmlnYXRpb24taXRlbVwiIFtjbGFzcy5kb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW0tLXNlbGVjdGVkXT1cImZyYWdtZW50SWQgPT09IHNlY3Rpb24uaWRcIiAoY2xpY2spPVwib25OYXZDbGljayhzZWN0aW9uLmlkLCBudWxsKVwiPjxzcGFuPnt7c2VjdGlvbi5sYWJlbH19PC9zcGFuPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
334
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jLXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2RvYy1wYWdlL2RvYy1wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kb2MtcGFnZS9kb2MtcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFDTCxTQUFTLEVBRVQsZUFBZSxFQUNmLFVBQVUsRUFHVixpQkFBaUIsRUFDakIsU0FBUyxHQUVaLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7Ozs7OztBQVUzRSxNQUFNLE9BQU8sZ0JBQWdCO0lBd0R6QixZQUNZLE1BQWMsRUFDZCxLQUFxQixFQUNyQixTQUE0QixFQUM3QixTQUF1QixFQUN0QixRQUFrQjtRQUpsQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFDN0IsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBekRyQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLGFBQVEsR0FBVyxJQUFJLENBQUM7UUFXakMsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixpQkFBWSxHQUFHLElBQUksQ0FBQztRQTRCWixhQUFRLEdBQUc7WUFDZixFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRTtZQUM1QixFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRTtZQUN2QixFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRTtZQUN4QixFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRTtZQUMzQixFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRTtZQUMzQixFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRTtTQUMvQixDQUFDO0lBU0YsQ0FBQztJQUVELFFBQVE7UUFDSixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUN4QjtRQUVELElBQUk7WUFDQSxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFN0MsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNWLFFBQVEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUU7b0JBQ3pCLEtBQUssU0FBUzt3QkFDVixJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQzt3QkFDM0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUM7d0JBQ2hDLE1BQU07b0JBRVYsS0FBSyxTQUFTO3dCQUNWLElBQUksQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDO3dCQUM5QixJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQzt3QkFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7d0JBQ3ZCLE1BQU07b0JBRVYsS0FBSyxRQUFRO3dCQUNULElBQUksQ0FBQyxVQUFVLEdBQUcsWUFBWSxDQUFDO3dCQUMvQixJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQzt3QkFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7d0JBQ3pCLE1BQU07aUJBQ1Q7YUFDSjtTQUNKO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDUixPQUFPLENBQUMsR0FBRyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7WUFDakUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsQjtRQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO0lBRW5ELENBQUM7SUFFRCxlQUFlO1FBQ1gsa0JBQWtCO1FBQ2xCLElBQUk7WUFDQSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQyxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUV0RCxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBRTdFLHFCQUFxQjtnQkFDckIsa0dBQWtHO2dCQUNsRywyQkFBMkI7Z0JBQzNCLGtEQUFrRDtnQkFDbEQsa0NBQWtDO2dCQUNsQyxNQUFNO1lBQ1YsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1NBQ1g7UUFFRCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqRSxJQUFJLFFBQVEsQ0FBQztZQUViLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ04sUUFBUSxHQUFHLENBQUMsQ0FBQzthQUNoQjtpQkFBTTtnQkFDSCxRQUFRLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQzthQUN4QjtZQUVELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFOUQsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsU0FBUyxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztnQkFDN0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxVQUFVLENBQUMsVUFBa0IsRUFBRSxRQUFnQjtRQUMzQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBVTtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDdkMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDckUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztTQUM1RDtRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxVQUFrQixFQUFFLFFBQWdCLEVBQUUsSUFBYSxFQUFFLFNBQWtCO1FBQzdGLGdGQUFnRjtRQUVoRixJQUFJLElBQUksRUFBRTtZQUNOLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBRXJDLElBQUksVUFBVSxFQUFFO29CQUNaLFVBQVUsQ0FBQyxHQUFHLEVBQUU7d0JBQ1osTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQzt3QkFDaEQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7d0JBQ3BCLElBQUksR0FBRyxFQUFFOzRCQUNMLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQzs0QkFDekUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO3lCQUM3QjtvQkFDTCxDQUFDLENBQUMsQ0FBQztpQkFDTjthQUNKO1NBQ0o7YUFBTTtZQUNILElBQUksU0FBUyxFQUFFO2dCQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLEdBQUcsUUFBUSxDQUFDO2dCQUMzQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtvQkFDcEYsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO3dCQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztxQkFDeEM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7YUFDTjtpQkFBTTtnQkFDSCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxJQUFJLFVBQVUsRUFBRSxDQUFDLENBQUM7YUFDbEQ7U0FDSjtJQUNMLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxFQUFFO1FBRTFCLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3RCxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFckQsU0FBUyxPQUFPLENBQUMsS0FBSztZQUNsQixPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUMxQyxHQUFHLE1BQU07Z0JBQ1Q7b0JBQ0ksRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLO29CQUNkLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZTtvQkFDNUIsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO29CQUNuQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCO29CQUN6QyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCO29CQUMzQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsb0JBQW9CO2lCQUNsRDtnQkFDRCxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2FBQzVCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNoQixDQUFDO0lBQ0wsQ0FBQztJQUVPLFVBQVU7UUFDZCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQzVCLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUM7UUFDOUIsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztRQUN0QixNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQzlCLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDckQsSUFBSSxRQUFRLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFdkQsSUFBSSxXQUFXLEdBQUcsUUFBUSxFQUFFLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDM0MsSUFBSSxXQUFXLENBQUM7UUFFaEIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ2hDLFdBQVcsR0FBRyxRQUFRLENBQUM7WUFDdkIsT0FBTyxHQUFHLG9CQUFvQixDQUFDO1NBQ2xDO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQzFCLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQztTQUNyQzthQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUNsQyxXQUFXLEdBQUcsbUJBQW1CLENBQUM7U0FDckM7YUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDbEMsV0FBVyxHQUFHLG1CQUFtQixDQUFDO1NBQ3JDO1FBRUQsSUFBSSxRQUFRLEtBQUssbUJBQW1CLElBQUksUUFBUSxLQUFLLFdBQVcsRUFBRTtZQUM5RCxRQUFRLEdBQUcsWUFBWSxDQUFDO1NBQzNCO1FBRUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTNDLElBQUksR0FBRyxDQUFDLG9CQUFvQixFQUFFO1lBQzFCLFFBQVEsR0FBRyxHQUFHLENBQUMsb0JBQW9CLENBQUM7U0FDdkM7UUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzRixNQUFNLE9BQU8sR0FBRyxHQUFHLFdBQVcsS0FBSyxPQUFPLElBQUksV0FBVyxJQUFJLFFBQVEsSUFBSSxhQUFhLE9BQU8sQ0FBQztRQUU5RixPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1FBQzdDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUMsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxDQUFDO1FBRU4sS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDekMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ1QsSUFBSSxLQUFLLEVBQUU7b0JBQ1AsTUFBTSxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzNEO3FCQUFNO29CQUNILE1BQU0sSUFBSSxDQUFDLENBQUM7aUJBQ2Y7YUFDSjtpQkFBTTtnQkFDSCxNQUFNLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMzRDtTQUNKO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQzs7aUlBL1FRLGdCQUFnQjtxSEFBaEIsZ0JBQWdCLHlQQXFCUixrQkFBa0IsOERBQ2xCLG1CQUFtQiw0R0FFRiwrQkFBK0IsNEZBRy9CLDhCQUE4Qiw2RkFHOUIsK0JBQStCLGdHQUcvQixrQ0FBa0Msa0dBR2xDLG9DQUFvQyx3RkFHcEMsMEJBQTBCLDRGQUcxQiw4QkFBOEIsNklDckVwRSxrclZBNEtBOzRGRGpKYSxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0ksdUJBQXVCLGlCQUdsQixpQkFBaUIsQ0FBQyxJQUFJOzRNQUc1QixFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFjc0QsT0FBTztzQkFBbEUsZUFBZTt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBQ0csUUFBUTtzQkFBcEUsZUFBZTt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBRzNELG1CQUFtQjtzQkFEbEIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsK0JBQStCLENBQUM7Z0JBSWxFLGtCQUFrQjtzQkFEakIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsOEJBQThCLENBQUM7Z0JBSWpFLG1CQUFtQjtzQkFEbEIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsK0JBQStCLENBQUM7Z0JBSWxFLHNCQUFzQjtzQkFEckIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0NBQWtDLENBQUM7Z0JBSXJFLHdCQUF3QjtzQkFEdkIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0NBQW9DLENBQUM7Z0JBSXZFLGNBQWM7c0JBRGIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMEJBQTBCLENBQUM7Z0JBSTdELGtCQUFrQjtzQkFEakIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsOEJBQThCLENBQUM7Z0JBR3ZDLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYTs7QUFzTzVCLHVEQUF1RDtBQUV2RCxNQUFNLE9BQU8sK0JBQStCOztnSkFBL0IsK0JBQStCO29JQUEvQiwrQkFBK0I7NEZBQS9CLCtCQUErQjtrQkFEM0MsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRTs7QUFHMUMsTUFBTSxPQUFPLGtDQUFrQztJQUQvQztRQUVhLFVBQUssR0FBVyxtQkFBbUIsQ0FBQztRQUNwQyxhQUFRLEdBQVcsb0JBQW9CLENBQUM7S0FDcEQ7O21KQUhZLGtDQUFrQzt1SUFBbEMsa0NBQWtDOzRGQUFsQyxrQ0FBa0M7a0JBRDlDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUU7OEJBRWhDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLOztBQUdWLE1BQU0sT0FBTyw4QkFBOEI7OytJQUE5Qiw4QkFBOEI7bUlBQTlCLDhCQUE4Qjs0RkFBOUIsOEJBQThCO2tCQUQxQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFOztBQUd6QyxNQUFNLE9BQU8sK0JBQStCOztnSkFBL0IsK0JBQStCO29JQUEvQiwrQkFBK0I7NEZBQS9CLCtCQUErQjtrQkFEM0MsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRTs7QUFHMUMsTUFBTSxPQUFPLG9DQUFvQzs7cUpBQXBDLG9DQUFvQzt5SUFBcEMsb0NBQW9DOzRGQUFwQyxvQ0FBb0M7a0JBRGhELFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUU7O0FBRy9DLE1BQU0sT0FBTywwQkFBMEI7OzJJQUExQiwwQkFBMEI7K0hBQTFCLDBCQUEwQjs0RkFBMUIsMEJBQTBCO2tCQUR0QyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRTs7QUFJckMsTUFBTSxPQUFPLDhCQUE4Qjs7K0lBQTlCLDhCQUE4QjttSUFBOUIsOEJBQThCOzRGQUE5Qiw4QkFBOEI7a0JBRDFDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBEaXJlY3RpdmUsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgZm9yd2FyZFJlZixcbiAgICBPbkluaXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIFZpZXdDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNhZmVSZXNvdXJjZVVybCwgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBSb3V0ZXIsIEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IERvY1NhbXBsZUNvbXBvbmVudCB9IGZyb20gJy4uL2RvYy1zYW1wbGUvZG9jLXNhbXBsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRG9jU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL2RvYy1zZWN0aW9uL2RvYy1zZWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVeEFwcFNoZWxsU2VydmljZSB9IGZyb20gJ0BldWkvY29yZSc7XG5pbXBvcnQgeyBFdWlUYWJzQ29tcG9uZW50IH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2V1aS10YWJzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktc2hvd2Nhc2UtZG9jLXBhZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnZG9jLXBhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RvYy1wYWdlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRG9jUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KCkgaWQ7XG4gICAgQElucHV0KCkgbGFiZWw7XG4gICAgQElucHV0KCkgc3ViTGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBpc05vdFJlYWR5ID0gZmFsc2U7XG4gICAgQElucHV0KCkgaXNEZXByZWNhdGVkID0gZmFsc2U7XG4gICAgQElucHV0KCkgY29kZUZvbGRlcjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHNob3djYXNlOiBzdHJpbmcgPSAndXgnO1xuXG4gICAgc3RhdGVUeXBlQ2xhc3M7XG4gICAgc3RhdGVMYWJlbDtcbiAgICBjbXA7XG4gICAgZnJhZ21lbnRJZDtcblxuICAgIGFwaVVybFNhZmU6IFNhZmVSZXNvdXJjZVVybDtcbiAgICBhcGlVcmw6IHN0cmluZztcbiAgICBpRnJhbWVDb250ZW50O1xuXG4gICAgaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICBpc05hdkNsaWNrZWQgPSB0cnVlO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihEb2NTYW1wbGVDb21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgc2FtcGxlczogUXVlcnlMaXN0PERvY1NhbXBsZUNvbXBvbmVudD47XG4gICAgQENvbnRlbnRDaGlsZHJlbihEb2NTZWN0aW9uQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIHNlY3Rpb25zOiBRdWVyeUxpc3Q8RG9jU2VjdGlvbkNvbXBvbmVudD47XG5cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gRG9jUGFnZU92ZXJ2aWV3Q29udGVudERpcmVjdGl2ZSkpXG4gICAgcGFnZU92ZXJ2aWV3Q29udGVudDogUXVlcnlMaXN0PERvY1BhZ2VPdmVydmlld0NvbnRlbnREaXJlY3RpdmU+O1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IERvY1BhZ2VTYW1wbGVzQ29udGVudERpcmVjdGl2ZSkpXG4gICAgcGFnZVNhbXBsZXNDb250ZW50OiBRdWVyeUxpc3Q8RG9jUGFnZVNhbXBsZXNDb250ZW50RGlyZWN0aXZlPjtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBEb2NQYWdlU2VjdGlvbnNDb250ZW50RGlyZWN0aXZlKSlcbiAgICBwYWdlU2VjdGlvbnNDb250ZW50OiBRdWVyeUxpc3Q8RG9jUGFnZVNlY3Rpb25zQ29udGVudERpcmVjdGl2ZT47XG5cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gRG9jUGFnZUludGVyYWN0aXZlQ29udGVudERpcmVjdGl2ZSkpXG4gICAgcGFnZUludGVyYWN0aXZlQ29udGVudDogUXVlcnlMaXN0PERvY1BhZ2VJbnRlcmFjdGl2ZUNvbnRlbnREaXJlY3RpdmU+O1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IERvY1BhZ2VBY2Nlc3NpYmlsaXR5Q29udGVudERpcmVjdGl2ZSkpXG4gICAgcGFnZUFjY2Vzc2liaWxpdHlDb250ZW50OiBRdWVyeUxpc3Q8RG9jUGFnZUFjY2Vzc2liaWxpdHlDb250ZW50RGlyZWN0aXZlPjtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBEb2NQYWdlQXBpQ29udGVudERpcmVjdGl2ZSkpXG4gICAgcGFnZUFwaUNvbnRlbnQ6IFF1ZXJ5TGlzdDxEb2NQYWdlQXBpQ29udGVudERpcmVjdGl2ZT47XG5cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gRG9jUGFnZVRoZW1pbmdDb250ZW50RGlyZWN0aXZlKSlcbiAgICBwYWdlVGhlbWluZ0NvbnRlbnQ6IFF1ZXJ5TGlzdDxEb2NQYWdlVGhlbWluZ0NvbnRlbnREaXJlY3RpdmU+O1xuXG4gICAgQFZpZXdDaGlsZCgndGFic0NvbnRlbnQnKSB0YWJzQ29udGVudDogRXVpVGFic0NvbXBvbmVudDtcblxuICAgIHByaXZhdGUgVEFCU19ERUYgPSBbXG4gICAgICAgIHsgaW5kZXg6IDAsIGlkOiAnb3ZlcnZpZXcnIH0sXG4gICAgICAgIHsgaW5kZXg6IDEsIGlkOiAnYXBpJyB9LFxuICAgICAgICB7IGluZGV4OiAyLCBpZDogJ2ExMXknIH0sXG4gICAgICAgIHsgaW5kZXg6IDMsIGlkOiAnc2FtcGxlcycgfSxcbiAgICAgICAgeyBpbmRleDogNCwgaWQ6ICd0aGVtaW5nJyB9LFxuICAgICAgICB7IGluZGV4OiA1LCBpZDogJ2FkdmFuY2VkJyB9LFxuICAgIF07XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgYXNTZXJ2aWNlOiBVeEFwcFNoZWxsU2VydmljZSxcbiAgICAgICAgcHVibGljIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgICAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgICApIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFzU2VydmljZS5pc0Jsb2NrRG9jdW1lbnRBY3RpdmUgPSB0cnVlO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAodGhpcy5pZCAmJiAhdGhpcy5sYWJlbCkge1xuICAgICAgICAgICAgdGhpcy5sYWJlbCA9IHRoaXMuaWQ7XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5jbXAgPSB0aGlzLl9nZXRDb21wb25lbnRTdGF0dXModGhpcy5pZCk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmNtcCkge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAodGhpcy5jbXAuc3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnc3VjY2Vzcyc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhdGVMYWJlbCA9ICdBQ1RJVkUnO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlVHlwZUNsYXNzID0gJ3N1Y2Nlc3MnO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ3dhcm5pbmcnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlTGFiZWwgPSAnTk9UIFJFQURZJztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZVR5cGVDbGFzcyA9ICd3YXJuaW5nJztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc05vdFJlYWR5ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICdkYW5nZXInOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlTGFiZWwgPSAnREVQUkVDQVRFRCc7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhdGVUeXBlQ2xhc3MgPSAnZGFuZ2VyJztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0RlcHJlY2F0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdXYXJuaW5nLCBlcnJvcnMgZGV0ZWN0ZWQgd2hpbGUgZ2V0dGluZyBwYWdlIHN0YXRlJyk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZyYWdtZW50SWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmZyYWdtZW50O1xuXG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICAvLyBnZXR0aW5nIEFQSSB1cmxcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuYXBpVXJsID0gdGhpcy5fZ2V0QXBpVXJsKCk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgRmV0Y2hpbmcgQVBJIHVybCBmcm9tIDogJHt0aGlzLmFwaVVybH1gKTtcblxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hcGlVcmxTYWZlID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHRoaXMuYXBpVXJsKTtcblxuICAgICAgICAgICAgICAgIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vICAgICBjb25zdCBpRnJhbWU6IEhUTUxJRnJhbWVFbGVtZW50ID0gPEhUTUxJRnJhbWVFbGVtZW50PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJhbWVfYXBpJyk7XG4gICAgICAgICAgICAgICAgLy8gICAgIGNvbnNvbGUubG9nKGlGcmFtZSk7XG4gICAgICAgICAgICAgICAgLy8gICAgIGNvbnN0IGlGcmFtZUNvbnRlbnQgPSBpRnJhbWUuY29udGVudFdpbmRvdztcbiAgICAgICAgICAgICAgICAvLyAgICAgY29uc29sZS5sb2coaUZyYW1lQ29udGVudCk7XG4gICAgICAgICAgICAgICAgLy8gfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBsZXQgdGFiID0gdGhpcy5UQUJTX0RFRi5maWx0ZXIodCA9PiB0LmlkID09PSB0aGlzLmZyYWdtZW50SWQpWzBdO1xuICAgICAgICAgICAgbGV0IHRhYkluZGV4O1xuXG4gICAgICAgICAgICBpZiAoIXRhYikge1xuICAgICAgICAgICAgICAgIHRhYkluZGV4ID0gMztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGFiSW5kZXggPSB0YWIuaW5kZXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuX3Njcm9sbFRvRnJhZ21lbnQodGhpcy5mcmFnbWVudElkLCB0YWJJbmRleCwgdHJ1ZSwgdHJ1ZSk7XG5cbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYXNTZXJ2aWNlLmlzQmxvY2tEb2N1bWVudEFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25OYXZDbGljayhmcmFnbWVudElkOiBzdHJpbmcsIHRhYkluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5mcmFnbWVudElkID0gZnJhZ21lbnRJZDtcbiAgICAgICAgdGhpcy5pc05hdkNsaWNrZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLl9zY3JvbGxUb0ZyYWdtZW50KHRoaXMuZnJhZ21lbnRJZCwgdGFiSW5kZXgsIGZhbHNlLCB0cnVlKTtcbiAgICB9XG5cbiAgICBvblRhYlNlbGVjdGVkKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzTG9hZGluZyAmJiAhdGhpcy5pc05hdkNsaWNrZWQpIHtcbiAgICAgICAgICAgIGxldCB0YWJJZCA9IHRoaXMuVEFCU19ERUYuZmlsdGVyKHQgPT4gdC5pbmRleCA9PT0gZXZlbnQuaW5kZXgpWzBdLmlkO1xuICAgICAgICAgICAgdGhpcy5fc2Nyb2xsVG9GcmFnbWVudCh0YWJJZCwgZXZlbnQuaW5kZXgsIGZhbHNlLCBmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc05hdkNsaWNrZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zY3JvbGxUb0ZyYWdtZW50KGZyYWdtZW50SWQ6IHN0cmluZywgdGFiSW5kZXg6IG51bWJlciwgaW5pdDogYm9vbGVhbiwgY2hhbmdlVGFiOiBib29sZWFuKSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGBOYXZpZ2F0aW5nIHRvIGZyYWdtZW50OiAke2ZyYWdtZW50SWR9IC0gdGFiSW5kZXg6ICR7dGFiSW5kZXh9YCk7XG5cbiAgICAgICAgaWYgKGluaXQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRhYnNDb250ZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJzQ29udGVudC5jaGFuZ2VUYWIodGFiSW5kZXgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGZyYWdtZW50SWQpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmZ20gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmcmFnbWVudElkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHlPZmZzZXQgPSAtODA7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmdtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeSA9IGZnbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgKyB3aW5kb3cucGFnZVlPZmZzZXQgKyB5T2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7dG9wOiB5fSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChjaGFuZ2VUYWIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5vblNhbWVVcmxOYXZpZ2F0aW9uID0gJ3JlbG9hZCc7XG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuJ10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSwgZnJhZ21lbnQ6IGZyYWdtZW50SWQgfSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnRhYnNDb250ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYnNDb250ZW50LmNoYW5nZVRhYih0YWJJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgcm91dGVSb290ID0gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCcjJylbMF07XG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhdGlvbi5nbyhgJHtyb3V0ZVJvb3R9IyR7ZnJhZ21lbnRJZH1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2dldENvbXBvbmVudFN0YXR1cyhpZCkge1xuXG4gICAgICAgIGNvbnN0IGZsYXRMaW5rcyA9IGZsYXR0ZW4odGhpcy5hc1NlcnZpY2Uuc3RhdGUuc2lkZWJhckxpbmtzKTtcbiAgICAgICAgcmV0dXJuIGZsYXRMaW5rcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGlkKVswXTtcblxuICAgICAgICBmdW5jdGlvbiBmbGF0dGVuKGxpbmtzKSB7XG4gICAgICAgICAgICByZXR1cm4gbGlua3MgPyBsaW5rcy5yZWR1Y2UoKHJlc3VsdCwgaXRlbSkgPT4gW1xuICAgICAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBpdGVtLmxhYmVsLFxuICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IGl0ZW0ubWFya2VyVHlwZUNsYXNzLFxuICAgICAgICAgICAgICAgICAgICBjbXBSZXBsYWNlbWVudDogaXRlbS5jbXBSZXBsYWNlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgY21wUmVwbGFjZW1lbnRVcmw6IGl0ZW0uY21wUmVwbGFjZW1lbnRVcmwsXG4gICAgICAgICAgICAgICAgICAgIGNtcFJlcGxhY2VtZW50Tm90ZTogaXRlbS5jbXBSZXBsYWNlbWVudE5vdGUsXG4gICAgICAgICAgICAgICAgICAgIGFsdGVybmF0ZUFwaUNhdGVnb3J5OiBpdGVtLmFsdGVybmF0ZUFwaUNhdGVnb3J5XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAuLi5mbGF0dGVuKGl0ZW0uY2hpbGRyZW4pXG4gICAgICAgICAgICBdLCBbXSkgOiBbXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2dldEFwaVVybCgpIHtcbiAgICAgICAgY29uc3QgdXJsID0gd2luZG93LmxvY2F0aW9uO1xuICAgICAgICBjb25zdCBwcm90b2NvbCA9IHVybC5wcm90b2NvbDtcbiAgICAgICAgY29uc3QgaG9zdCA9IHVybC5ob3N0O1xuICAgICAgICBjb25zdCBwYXRoTmFtZSA9IHVybC5wYXRobmFtZTtcbiAgICAgICAgY29uc3QgcGF0aE5hbWVBcnJheSA9IHBhdGhOYW1lLnNwbGl0KCcvJyk7XG4gICAgICAgIGNvbnN0IG5hbWUgPSBwYXRoTmFtZUFycmF5W3BhdGhOYW1lQXJyYXkubGVuZ3RoIC0gMV07XG4gICAgICAgIGxldCBjYXRlZ29yeSA9IHBhdGhOYW1lQXJyYXlbcGF0aE5hbWVBcnJheS5sZW5ndGggLSAyXTtcblxuICAgICAgICBsZXQgcHJvdG9jb2xHZW4gPSBwcm90b2NvbCwgaG9zdEdlbiA9IGhvc3Q7XG4gICAgICAgIGxldCBkb2NUeXBlUm9vdDtcblxuICAgICAgICBpZiAoaG9zdC5pbmRleE9mKCdsb2NhbGhvc3QnKSA+IC0xKSB7XG4gICAgICAgICAgICBwcm90b2NvbEdlbiA9ICdodHRwczonO1xuICAgICAgICAgICAgaG9zdEdlbiA9ICdldWlkZXYuZWNkZXZvcHMuZXUnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5hbWUuaW5kZXhPZigndXgtJykgPiAtMSkge1xuICAgICAgICAgICAgZG9jVHlwZVJvb3QgPSAnZXVpLWRvY3MtZXVpLTEzLngnO1xuICAgICAgICB9IGVsc2UgaWYgKG5hbWUuaW5kZXhPZignZXVpLScpID4gLTEpIHtcbiAgICAgICAgICAgIGRvY1R5cGVSb290ID0gJ2V1aS1kb2NzLWV1aS0xMy54JztcbiAgICAgICAgfSBlbHNlIGlmIChuYW1lLmluZGV4T2YoJ2VjbC0nKSA+IC0xKSB7XG4gICAgICAgICAgICBkb2NUeXBlUm9vdCA9ICdldWktZG9jcy1lY2wtMTMueCc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2F0ZWdvcnkgPT09ICdsYXlvdXQtY29tcG9uZW50cycgfHwgY2F0ZWdvcnkgPT09ICdleHRlcm5hbHMnKSB7XG4gICAgICAgICAgICBjYXRlZ29yeSA9ICdjb21wb25lbnRzJztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNtcCA9IHRoaXMuX2dldENvbXBvbmVudFN0YXR1cyhuYW1lKTtcblxuICAgICAgICBpZiAoY21wLmFsdGVybmF0ZUFwaUNhdGVnb3J5KSB7XG4gICAgICAgICAgICBjYXRlZ29yeSA9IGNtcC5hbHRlcm5hdGVBcGlDYXRlZ29yeTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZE5hbWUgPSB0aGlzLl9jYW1lbENhc2VTdHJpbmcobmFtZSArICctJyArIGNhdGVnb3J5LnNsaWNlKDAsIC0xKSwgJy0nLCB0cnVlKTtcbiAgICAgICAgY29uc3QgZG9jUGF0aCA9IGAke3Byb3RvY29sR2VufS8vJHtob3N0R2VufS8ke2RvY1R5cGVSb290fS8ke2NhdGVnb3J5fS8ke2Zvcm1hdHRlZE5hbWV9Lmh0bWxgO1xuXG4gICAgICAgIHJldHVybiBkb2NQYXRoO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NhbWVsQ2FzZVN0cmluZyhzdHJpbmcsIHNlcGFyYXRvciwgZmlyc3QpIHtcbiAgICAgICAgY29uc3Qgc3RyaW5nQXJyYXkgPSBzdHJpbmcuc3BsaXQoc2VwYXJhdG9yKTtcbiAgICAgICAgbGV0IHJlc3VsdCA9ICcnO1xuICAgICAgICBsZXQgcztcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN0cmluZ0FycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBzID0gc3RyaW5nQXJyYXlbaV07XG4gICAgICAgICAgICBpZiAoaSA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGlmIChmaXJzdCkge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQgKz0gcy5zdWJzdHJpbmcoMCwgMSkudG9VcHBlckNhc2UoKSArIHMuc3Vic3RyKDEpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSBzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ICs9IHMuc3Vic3RyaW5nKDAsIDEpLnRvVXBwZXJDYXNlKCkgKyBzLnN1YnN0cigxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG59XG5cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3IgKi9cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2RvY1BhZ2VPdmVydmlldycgfSlcbmV4cG9ydCBjbGFzcyBEb2NQYWdlT3ZlcnZpZXdDb250ZW50RGlyZWN0aXZlIHsgfVxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnZG9jUGFnZUludGVyYWN0aXZlJyB9KVxuZXhwb3J0IGNsYXNzIERvY1BhZ2VJbnRlcmFjdGl2ZUNvbnRlbnREaXJlY3RpdmUge1xuICAgIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgPSAnQURWQU5DRUQgRVhBTVBMRVMnO1xuICAgIEBJbnB1dCgpIHN1YlRpdGxlOiBzdHJpbmcgPSAnQWR2YW5jZWQgdXNlIGNhc2VzJztcbn1cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2RvY1BhZ2VTYW1wbGVzJyB9KVxuZXhwb3J0IGNsYXNzIERvY1BhZ2VTYW1wbGVzQ29udGVudERpcmVjdGl2ZSB7IH1cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2RvY1BhZ2VTZWN0aW9ucycgfSlcbmV4cG9ydCBjbGFzcyBEb2NQYWdlU2VjdGlvbnNDb250ZW50RGlyZWN0aXZlIHsgfVxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnZG9jUGFnZUFjY2Vzc2liaWxpdHknIH0pXG5leHBvcnQgY2xhc3MgRG9jUGFnZUFjY2Vzc2liaWxpdHlDb250ZW50RGlyZWN0aXZlIHsgfVxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnZG9jUGFnZUFwaScgfSlcbmV4cG9ydCBjbGFzcyBEb2NQYWdlQXBpQ29udGVudERpcmVjdGl2ZSB7IH1cblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnZG9jUGFnZVRoZW1pbmcnIH0pXG5leHBvcnQgY2xhc3MgRG9jUGFnZVRoZW1pbmdDb250ZW50RGlyZWN0aXZlIHsgfVxuLyogZXNsaW50LWVuYWJsZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yICovXG4iLCI8ZGl2IGNsYXNzPVwiZG9jLXBhZ2UtbmF2aWdhdGlvbi13cmFwcGVyXCIgW2NsYXNzLmV1aS11LWhpZGRlbl09XCJpc0xvYWRpbmdcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZG9jLXBhZ2UtbWFpbi1jb2x1bW5cIj5cbiAgICAgICAgPGV1aS1wYWdlPlxuICAgICAgICAgICAgPGV1aS1wYWdlLWhlYWRlciBsYWJlbD1cInt7bGFiZWx9fVwiIHN1YkxhYmVsPVwie3tzdWJMYWJlbH19XCI+XG4gICAgICAgICAgICAgICAgPGV1aS1wYWdlLWhlYWRlci1hY3Rpb24taXRlbXM+XG4gICAgICAgICAgICAgICAgICAgIDxldWktc2hvd2Nhc2UtZG9jLXBhZ2UtY29kZSAqbmdJZj1cImNvZGVGb2xkZXJcIiBjb2RlRm9sZGVyPVwie3tjb2RlRm9sZGVyfX1cIiBzaG93Y2FzZT1cInt7c2hvd2Nhc2V9fVwiPjwvZXVpLXNob3djYXNlLWRvYy1wYWdlLWNvZGU+XG4gICAgICAgICAgICAgICAgICAgIDxldWktY2hpcCAqbmdJZj1cInN0YXRlTGFiZWxcIiBbZXVpU3VjY2Vzc109XCJzdGF0ZUxhYmVsID09PSAnQUNUSVZFJ1wiIFtldWlXYXJuaW5nXT1cInN0YXRlTGFiZWwgPT09ICdOT1QgUkVBRFknXCIgW2V1aURhbmdlcl09XCJzdGF0ZUxhYmVsID09PSAnREVQUkVDQVRFRCdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGV1aUxhYmVsPjxzdHJvbmc+e3tzdGF0ZUxhYmVsfX08L3N0cm9uZz48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZXVpLWNoaXA+XG4gICAgICAgICAgICAgICAgPC9ldWktcGFnZS1oZWFkZXItYWN0aW9uLWl0ZW1zPlxuICAgICAgICAgICAgPC9ldWktcGFnZS1oZWFkZXI+XG5cbiAgICAgICAgICAgIDxldWktcGFnZS1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxldWktYWxlcnQgKm5nSWY9XCJzdGF0ZUxhYmVsID09PSAnTk9UIFJFQURZJyB8fCBpc05vdFJlYWR5XCIgZXVpV2FybmluZz5cbiAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGNvbXBvbmVudCA8c3Ryb25nIGNsYXNzPVwiZXVpLXUtY29sb3Itd2FybmluZy1kYXJrZXN0ZXItMlwiPmlzIG5vdCByZWFkeSBmb3IgcHJvZHVjdGlvbjwvc3Ryb25nPiB1c2FnZSB5ZXQsIGl0J3MgQVBJIGlzIHN0aWxsIHN1YmplY3QgdG8gY2hhbmdlIGR1cmluZyB0aGUgY29taW5nIHdlZWtzLlxuICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgRm9yIGV4cGVyaW1lbnRhdGlvbiB1c2Ugb25seS5cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDwvZXVpLWFsZXJ0PlxuXG4gICAgICAgICAgICAgICAgPGV1aS1hbGVydCAqbmdJZj1cInN0YXRlTGFiZWwgPT09ICdERVBSRUNBVEVEJyB8fCBpc0RlcHJlY2F0ZWRcIiBldWlEYW5nZXI+XG4gICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBjb21wb25lbnQgaGFzIGJlZW4gPHN0cm9uZyBjbGFzcz1cImV1aS11LWNvbG9yLWRhbmdlclwiPmRlcHJlY2F0ZWQ8L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY21wXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY21wLmNtcFJlcGxhY2VtZW50ICE9PSAnTk9ORSdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJdCBoYXMgYmVlbiByZXBsYWNlZCBieSA6IDxzdHJvbmcgY2xhc3M9XCJldWktdS1jb2xvci1zdWNjZXNzLWRhcmtlc3RcIj57e2NtcC5jbXBSZXBsYWNlbWVudH19PC9zdHJvbmc+LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGJyPjxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBZb3UgY2FuIGZpbmQgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGUgbmV3IGNvbXBvbmVudCBoZXJlIDogPGEgW3JvdXRlckxpbmtdPVwiY21wLmNtcFJlcGxhY2VtZW50VXJsXCI+e3tjbXAuY21wUmVwbGFjZW1lbnRVcmx9fTwvYT4gLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjbXAuY21wUmVwbGFjZW1lbnQgPT09ICdOT05FJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgY29tcG9uZW50IHdpbGwgYmUgPHN0cm9uZz5kaXNjb250aW51ZWQgaW4gZnV0dXJlIHZlcnNpb24gb2YgZVVJPC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjbXAuY21wUmVwbGFjZW1lbnROb3RlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cImV1aS11LWNvbG9yLXdhcm5pbmdcIj57e2NtcC5jbXBSZXBsYWNlbWVudE5vdGV9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZXVpLWFsZXJ0PlxuXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIihzdGF0ZUxhYmVsIHx8IGlzTm90UmVhZHkgfHwgaXNEZXByZWNhdGVkKSAmJiBzdGF0ZUxhYmVsICE9PSAnQUNUSVZFJ1wiIGNsYXNzPVwibWItNVwiPjwvZGl2PlxuXG5cbiAgICAgICAgICAgICAgICA8ZXVpLXRhYnMgI3RhYnNDb250ZW50ICpuZ0lmPVwicGFnZVNlY3Rpb25zQ29udGVudC5sZW5ndGggPT09IDBcIiAodGFiU2VsZWN0ZWQpPVwib25UYWJTZWxlY3RlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxldWktdGFiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9WRVJWSUVXXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2V1aVRhYkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPVwib3ZlcnZpZXdcIiBjbGFzcz1cImV1aS11LWZvbnQtYm9sZCBldWktdS1jb2xvci1pbmZvIG10LTMgbWItMlwiPk92ZXJ2aWV3PC9oND5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicGFnZU92ZXJ2aWV3Q29udGVudC5sZW5ndGggPiAwOyBlbHNlIG5vT3ZlcnZpZXdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZG9jUGFnZU92ZXJ2aWV3XCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9PdmVydmlldz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29taW5nIHNvb24uLi5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9ldWlUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8L2V1aS10YWI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGV1aS10YWI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2V1aVRhYkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwaVVybFNhZmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwie3thcGlVcmx9fVwiIHRhcmdldD1cIl9ibGFua1wiIGNsYXNzPVwibXMtYXV0byBwYi0yIGV1aS11LXRleHQtbGluay1leHRlcm5hbFwiPk9wZW4gQVBJIHBhZ2U8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG9jLXBhZ2UtYXBpLWlmcmFtZS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aWZyYW1lIGlkPVwiaWZyYW1lX2FwaVwiIFt3aWR0aF09XCInMTAwJSdcIiBoZWlnaHQ9XCI3MDBweFwiIGZyYW1lQm9yZGVyPVwiMFwiIFtzcmNdPVwiYXBpVXJsU2FmZVwiPjwvaWZyYW1lPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpVGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPC9ldWktdGFiPlxuXG4gICAgICAgICAgICAgICAgICAgIDxldWktdGFiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEExMVlcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpVGFiTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9XCJhY2Nlc3NpYmlsaXR5XCIgY2xhc3M9XCJldWktdS1mb250LWJvbGQgZXVpLXUtY29sb3ItaW5mbyBtdC0zIG1iLTJcIj5BY2Nlc3NpYmlsaXR5PC9oND5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkb2NQYWdlQWNjZXNzaWJpbGl0eVwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpVGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPC9ldWktdGFiPlxuXG4gICAgICAgICAgICAgICAgICAgIDxldWktdGFiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9QVElPTlMgJiBTQU1QTEVTXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2V1aVRhYkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPVwic2FtcGxlc1wiIGNsYXNzPVwiZXVpLXUtZm9udC1ib2xkIGV1aS11LWNvbG9yLWluZm8gbXQtMyBtYi0yXCI+T3B0aW9ucyAmIHNhbXBsZXM8L2g0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImRvY1BhZ2VTYW1wbGVzXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9ldWlUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8L2V1aS10YWI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGV1aS10YWIgKm5nSWY9XCJwYWdlVGhlbWluZ0NvbnRlbnQubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aVRhYkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRIRU1JTkdcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpVGFiTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9XCJ0aGVtaW5nXCIgY2xhc3M9XCJldWktdS1mb250LWJvbGQgZXVpLXUtY29sb3ItaW5mbyBtdC0zIG1iLTJcIj5UaGVtaW5nPC9oND5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkb2NQYWdlVGhlbWluZ1wiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpVGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPC9ldWktdGFiPlxuXG4gICAgICAgICAgICAgICAgICAgIDxldWktdGFiICpuZ0lmPVwicGFnZUludGVyYWN0aXZlQ29udGVudC5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3twYWdlSW50ZXJhY3RpdmVDb250ZW50LmZpcnN0LnRpdGxlfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpVGFiTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpVGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9XCJpbnRlcmFjdGl2ZVwiIGNsYXNzPVwiZXVpLXUtZm9udC1ib2xkIGV1aS11LWNvbG9yLWluZm8gbXQtMyBtYi0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cGFnZUludGVyYWN0aXZlQ29udGVudC5maXJzdC5zdWJUaXRsZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oND5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkb2NQYWdlSW50ZXJhY3RpdmVcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2V1aVRhYkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZXVpLXRhYj5cbiAgICAgICAgICAgICAgICA8L2V1aS10YWJzPlxuXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhZ2VTZWN0aW9uc0NvbnRlbnQubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9XCJkZW1vXCIgKm5nSWY9XCJzZWN0aW9ucy5sZW5ndGggPT09IDBcIiBjbGFzcz1cImV1aS11LWZvbnQtYm9sZCBldWktdS1jb2xvci1pbmZvIG10LTMgbWItMlwiPkRlbW88L2g0PlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkb2NQYWdlU2VjdGlvbnNcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2V1aS1wYWdlLWNvbnRlbnQ+XG4gICAgICAgIDwvZXVpLXBhZ2U+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZG9jLXBhZ2UtbmF2aWdhdGlvbi1jb2x1bW4gZXVpLXUtaGlkZGVuLWRlc2t0b3AtZG93blwiPlxuICAgICAgICA8ZGl2IGlkPVwiZG9jLXBhZ2UtbmF2XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG9jLXBhZ2UtbmF2aWdhdGlvbi10aXRsZVwiPkluIHRoaXMgcGFnZTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRvYy1wYWdlLW5hdmlnYXRpb24tY29udGVudFwiIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImRvYy1wYWdlLW5hdmlnYXRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhZ2VTZWN0aW9uc0NvbnRlbnQubGVuZ3RoID09PSAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEFMV0FZUyBQUkVTRU5UIGluIGVhY2ggcGFnZS0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtXCIgW2NsYXNzLmRvYy1wYWdlLW5hdmlnYXRpb24taXRlbS0tc2VsZWN0ZWRdPVwiZnJhZ21lbnRJZCA9PT0gJ292ZXJ2aWV3J1wiIChjbGljayk9XCJvbk5hdkNsaWNrKCdvdmVydmlldycsIDApXCI+PHNwYW4+T1ZFUlZJRVc8L3NwYW4+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImRvYy1wYWdlLW5hdmlnYXRpb24taXRlbVwiIFtjbGFzcy5kb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW0tLXNlbGVjdGVkXT1cImZyYWdtZW50SWQgPT09ICdhcGknXCIgKGNsaWNrKT1cIm9uTmF2Q2xpY2soJ2FwaScsIDEpXCI+PHNwYW4+QVBJPC9zcGFuPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJkb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW1cIiBbY2xhc3MuZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtLS1zZWxlY3RlZF09XCJmcmFnbWVudElkID09PSAnYTExeSdcIiAoY2xpY2spPVwib25OYXZDbGljaygnYTExeScsIDIpXCI+PHNwYW4+QTExWTwvc3Bhbj48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtXCIgW2NsYXNzLmRvYy1wYWdlLW5hdmlnYXRpb24taXRlbS0tc2VsZWN0ZWRdPVwiZnJhZ21lbnRJZCA9PT0gJ3NhbXBsZXMnXCIgKGNsaWNrKT1cIm9uTmF2Q2xpY2soJ3NhbXBsZXMnLCAzKVwiPjxzcGFuPk9QVElPTlMgJiBTQU1QTEVTPC9zcGFuPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJkb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW0gZG9jLXBhZ2UtbmF2aWdhdGlvbi1zdWJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgKm5nRm9yPVwibGV0IHNhbXBsZSBvZiBzYW1wbGVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImRvYy1wYWdlLW5hdmlnYXRpb24taXRlbVwiIFtjbGFzcy5kb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW0tLXNlbGVjdGVkXT1cImZyYWdtZW50SWQgPT09IHNhbXBsZS5pZFwiIChjbGljayk9XCJvbk5hdkNsaWNrKHNhbXBsZS5pZCwgMylcIj48c3Bhbj57e3NhbXBsZS5sYWJlbH19PC9zcGFuPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gT1BUSU9OQUwgVEFCUy0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhZ2VUaGVtaW5nQ29udGVudC5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0lmPVwicGFnZVRoZW1pbmdDb250ZW50Lmxlbmd0aCA+IDBcIiBjbGFzcz1cImRvYy1wYWdlLW5hdmlnYXRpb24taXRlbVwiIFtjbGFzcy5kb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW0tLXNlbGVjdGVkXT1cImZyYWdtZW50SWQgPT09ICd0aGVtaW5nJ1wiIChjbGljayk9XCJvbk5hdkNsaWNrKCd0aGVtaW5nJywgNClcIj48c3Bhbj5USEVNSU5HPC9zcGFuPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0lmPVwicGFnZUludGVyYWN0aXZlQ29udGVudC5sZW5ndGggPiAwXCIgY2xhc3M9XCJkb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW1cIiBbY2xhc3MuZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtLS1zZWxlY3RlZF09XCJmcmFnbWVudElkID09PSAnYWR2YW5jZWQnXCIgKGNsaWNrKT1cIm9uTmF2Q2xpY2soJ2FkdmFuY2VkJywgNSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3twYWdlSW50ZXJhY3RpdmVDb250ZW50LmZpcnN0LnRpdGxlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhZ2VUaGVtaW5nQ29udGVudC5sZW5ndGggID09PSAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0lmPVwicGFnZUludGVyYWN0aXZlQ29udGVudC5sZW5ndGggPiAwXCIgY2xhc3M9XCJkb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW1cIiBbY2xhc3MuZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtLS1zZWxlY3RlZF09XCJmcmFnbWVudElkID09PSAnYWR2YW5jZWQnXCIgKGNsaWNrKT1cIm9uTmF2Q2xpY2soJ2FkdmFuY2VkJywgNClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3twYWdlSW50ZXJhY3RpdmVDb250ZW50LmZpcnN0LnRpdGxlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFnZVNlY3Rpb25zQ29udGVudC5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJkb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW1cIiBbY2xhc3MuZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtLS1zZWxlY3RlZF09XCJmcmFnbWVudElkID09PSAnc2VjdGlvbnMnXCIgKGNsaWNrKT1cIm9uTmF2Q2xpY2soJ3NlY3Rpb25zJywgbnVsbClcIj48c3Bhbj5TZWN0aW9uczwvc3Bhbj48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0lmPVwic2VjdGlvbnMubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJkb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW1cIiBbY2xhc3MuZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtLS1zZWxlY3RlZF09XCJmcmFnbWVudElkID09PSAnZGVtbydcIiAoY2xpY2spPVwib25OYXZDbGljaygnZGVtbycsIG51bGwpXCI+PHNwYW4+RGVtbzwvc3Bhbj48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0lmPVwic2VjdGlvbnMubGVuZ3RoID4gMFwiIGNsYXNzPVwiZG9jLXBhZ2UtbmF2aWdhdGlvbi1pdGVtIGRvYy1wYWdlLW5hdmlnYXRpb24tc3ViXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsICpuZ0Zvcj1cImxldCBzZWN0aW9uIG9mIHNlY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImRvYy1wYWdlLW5hdmlnYXRpb24taXRlbVwiIFtjbGFzcy5kb2MtcGFnZS1uYXZpZ2F0aW9uLWl0ZW0tLXNlbGVjdGVkXT1cImZyYWdtZW50SWQgPT09IHNlY3Rpb24uaWRcIiAoY2xpY2spPVwib25OYXZDbGljayhzZWN0aW9uLmlkLCBudWxsKVwiPjxzcGFuPnt7c2VjdGlvbi5sYWJlbH19PC9zcGFuPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -12,9 +12,9 @@ export class DocPageCodeComponent {
|
|
|
12
12
|
window.open(sourceRootPath + this.codeFolder, '_blank');
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
/** @nocollapse */ DocPageCodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
16
|
-
/** @nocollapse */ DocPageCodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
15
|
+
/** @nocollapse */ DocPageCodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DocPageCodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
+
/** @nocollapse */ DocPageCodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DocPageCodeComponent, selector: "eui-showcase-doc-page-code", inputs: { codeFolder: "codeFolder", showcase: "showcase" }, ngImport: i0, template: "<button euiButton euiAccent (click)=\"onOpenCode()\">\n <span euiLabel>Check the code</span>\n <span euiIcon iconClass=\"eui-icon eui-icon-code\"></span>\n</button>\n", dependencies: [{ kind: "component", type: i1.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiRaisedButton", "isLoading", "euiIconButton", "euiLineWrap"] }] });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DocPageCodeComponent, decorators: [{
|
|
18
18
|
type: Component,
|
|
19
19
|
args: [{ selector: 'eui-showcase-doc-page-code', template: "<button euiButton euiAccent (click)=\"onOpenCode()\">\n <span euiLabel>Check the code</span>\n <span euiIcon iconClass=\"eui-icon eui-icon-code\"></span>\n</button>\n" }]
|
|
20
20
|
}], ctorParameters: function () { return []; }, propDecorators: { codeFolder: [{
|
|
@@ -22,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImpor
|
|
|
22
22
|
}], showcase: [{
|
|
23
23
|
type: Input
|
|
24
24
|
}] } });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jLXBhZ2UtY29kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZG9jLXBhZ2UtY29kZS9kb2MtcGFnZS1jb2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kb2MtcGFnZS1jb2RlL2RvYy1wYWdlLWNvZGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU1qRCxNQUFNLE9BQU8sb0JBQW9CO0lBSTdCO1FBSFMsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixhQUFRLEdBQUcsSUFBSSxDQUFDO0lBR3RCLENBQUM7SUFFSixVQUFVO1FBQ04sbUNBQW1DO1FBQ25DLE1BQU0sY0FBYyxHQUFHLHNGQUFzRixJQUFJLENBQUMsUUFBUSxrQkFBa0IsQ0FBQztRQUM3SSxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzVELENBQUM7O3FJQVhRLG9CQUFvQjt5SEFBcEIsb0JBQW9CLDhIQ05qQyw4S0FJQTs0RkRFYSxvQkFBb0I7a0JBSmhDLFNBQVM7K0JBQ0ksNEJBQTRCOzBFQUk3QixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpLXNob3djYXNlLWRvYy1wYWdlLWNvZGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnZG9jLXBhZ2UtY29kZS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIERvY1BhZ2VDb2RlQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBjb2RlRm9sZGVyID0gJyc7XG4gICAgQElucHV0KCkgc2hvd2Nhc2UgPSAndXgnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgKSB7fVxuXG4gICAgb25PcGVuQ29kZSgpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAgICAgY29uc3Qgc291cmNlUm9vdFBhdGggPSBgaHR0cHM6Ly9jaXRuZXQudGVjaC5lYy5ldXJvcGEuZXUvQ0lUbmV0L3N0YXNoL3Byb2plY3RzL0NTRFIvcmVwb3MvYXBwLWV1aS1zaG93Y2FzZS0ke3RoaXMuc2hvd2Nhc2V9L2Jyb3dzZS9zcmMvYXBwL2A7XG4gICAgICAgIHdpbmRvdy5vcGVuKHNvdXJjZVJvb3RQYXRoICsgdGhpcy5jb2RlRm9sZGVyLCAnX2JsYW5rJyk7XG4gICAgfVxufVxuIiwiPGJ1dHRvbiBldWlCdXR0b24gZXVpQWNjZW50IChjbGljayk9XCJvbk9wZW5Db2RlKClcIj5cbiAgICA8c3BhbiBldWlMYWJlbD5DaGVjayB0aGUgY29kZTwvc3Bhbj5cbiAgICA8c3BhbiBldWlJY29uIGljb25DbGFzcz1cImV1aS1pY29uIGV1aS1pY29uLWNvZGVcIj48L3NwYW4+XG48L2J1dHRvbj5cbiJdfQ==
|
|
@@ -22,9 +22,9 @@ export class DocPageCodeFabComponent {
|
|
|
22
22
|
window.open(sourcePath, '_blank');
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
/** @nocollapse */ DocPageCodeFabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
26
|
-
/** @nocollapse */ DocPageCodeFabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
25
|
+
/** @nocollapse */ DocPageCodeFabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DocPageCodeFabComponent, deps: [{ token: i1.UxAppShellService }], target: i0.ɵɵFactoryTarget.Component });
|
|
26
|
+
/** @nocollapse */ DocPageCodeFabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DocPageCodeFabComponent, selector: "eui-showcase-doc-page-code-fab", inputs: { codeFolder: "codeFolder", showcase: "showcase" }, viewQueries: [{ propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }], ngImport: i0, template: "<div class=\"eui-button-fixed\">\n <div class=\"eui-button-floating eui-button--size-2xl eui-button--icon-only eui-button--accent\">\n <span class=\"eui-icon eui-icon-code\" (click)=\"toggleCode()\"></span>\n </div>\n</div>\n\n<eui-dialog #dialog title=\"Page source code\" [hasFooter]=\"false\" (close)=\"onClose()\">\n <button euiButton euiAccent (click)=\"onOpenCode()\">\n <span class=\"eui-icon eui-icon-code\"></span> VIEW SOURCE\n </button>\n <br>\n <br>\n <ng-content></ng-content>\n <br>\n <p>Use the <kbd>View source</kbd> button to access the code source of the page.</p>\n</eui-dialog>\n", dependencies: [{ kind: "component", type: i2.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiRaisedButton", "isLoading", "euiIconButton", "euiLineWrap"] }, { kind: "component", type: i3.EuiDialogComponent, selector: "eui-dialog", inputs: ["e2eAttr", "title", "width", "height", "acceptLabel", "dismissLabel", "typeClass", "hasCloseButton", "hasAcceptButton", "hasDismissButton", "hasMobileCustomSize", "isClosedOnClickOutside", "isClosedOnEscape", "isHandleCloseOnDismiss", "isHandleCloseOnClose", "isHandleCloseOnAccept", "isHandleCloseOnClickOutside", "isHandleCloseOnEscape", "isMessageBox", "isDraggable", "hasNoBodyPadding", "hasFooter"], outputs: ["clickOutside", "escape", "open", "close", "dismiss", "accept"] }] });
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DocPageCodeFabComponent, decorators: [{
|
|
28
28
|
type: Component,
|
|
29
29
|
args: [{ selector: 'eui-showcase-doc-page-code-fab', template: "<div class=\"eui-button-fixed\">\n <div class=\"eui-button-floating eui-button--size-2xl eui-button--icon-only eui-button--accent\">\n <span class=\"eui-icon eui-icon-code\" (click)=\"toggleCode()\"></span>\n </div>\n</div>\n\n<eui-dialog #dialog title=\"Page source code\" [hasFooter]=\"false\" (close)=\"onClose()\">\n <button euiButton euiAccent (click)=\"onOpenCode()\">\n <span class=\"eui-icon eui-icon-code\"></span> VIEW SOURCE\n </button>\n <br>\n <br>\n <ng-content></ng-content>\n <br>\n <p>Use the <kbd>View source</kbd> button to access the code source of the page.</p>\n</eui-dialog>\n" }]
|
|
30
30
|
}], ctorParameters: function () { return [{ type: i1.UxAppShellService }]; }, propDecorators: { codeFolder: [{
|
|
@@ -35,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImpor
|
|
|
35
35
|
type: ViewChild,
|
|
36
36
|
args: ['dialog']
|
|
37
37
|
}] } });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jLXBhZ2UtY29kZS1mYWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2RvYy1wYWdlLWNvZGUtZmFiL2RvYy1wYWdlLWNvZGUtZmFiLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kb2MtcGFnZS1jb2RlLWZhYi9kb2MtcGFnZS1jb2RlLWZhYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUTVELE1BQU0sT0FBTyx1QkFBdUI7SUFNaEMsWUFBbUIsU0FBNEI7UUFBNUIsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFMdEMsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixhQUFRLEdBQUcsSUFBSSxDQUFDO0lBSTBCLENBQUM7SUFFN0MsVUFBVTtRQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVNLE9BQU87UUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTSxVQUFVO1FBQ2IsbUNBQW1DO1FBQ25DLE1BQU0sY0FBYyxHQUFHLHNGQUFzRixJQUFJLENBQUMsUUFBUSxpQkFBaUIsQ0FBQztRQUM1SSxNQUFNLFVBQVUsR0FBRyxHQUFHLGNBQWMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDMUQsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdEMsQ0FBQzs7d0lBckJRLHVCQUF1Qjs0SEFBdkIsdUJBQXVCLG9PQ1JwQyxrb0JBZ0JBOzRGRFJhLHVCQUF1QjtrQkFKbkMsU0FBUzsrQkFDSSxnQ0FBZ0M7d0dBSWpDLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFZSxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFV4QXBwU2hlbGxTZXJ2aWNlIH0gZnJvbSAnQGV1aS9jb3JlJztcbmltcG9ydCB7IEV1aURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktZGlhbG9nJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktc2hvd2Nhc2UtZG9jLXBhZ2UtY29kZS1mYWInLFxuICAgIHRlbXBsYXRlVXJsOiAnZG9jLXBhZ2UtY29kZS1mYWIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBEb2NQYWdlQ29kZUZhYkNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgY29kZUZvbGRlciA9ICcnO1xuICAgIEBJbnB1dCgpIHNob3djYXNlID0gJ3V4JztcblxuICAgIEBWaWV3Q2hpbGQoJ2RpYWxvZycpIGRpYWxvZzogRXVpRGlhbG9nQ29tcG9uZW50O1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGFzU2VydmljZTogVXhBcHBTaGVsbFNlcnZpY2UpIHsgfVxuXG4gICAgcHVibGljIHRvZ2dsZUNvZGUoKSB7XG4gICAgICAgIHRoaXMuZGlhbG9nLm9wZW5EaWFsb2coKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWFsb2cuY2xvc2VEaWFsb2coKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25PcGVuQ29kZSgpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAgICAgY29uc3Qgc291cmNlUm9vdFBhdGggPSBgaHR0cHM6Ly9jaXRuZXQudGVjaC5lYy5ldXJvcGEuZXUvQ0lUbmV0L3N0YXNoL3Byb2plY3RzL0NTRFIvcmVwb3MvYXBwLWV1aS1zaG93Y2FzZS0ke3RoaXMuc2hvd2Nhc2V9L2Jyb3dzZS9zcmMvYXBwYDtcbiAgICAgICAgY29uc3Qgc291cmNlUGF0aCA9IGAke3NvdXJjZVJvb3RQYXRofS8ke3RoaXMuY29kZUZvbGRlcn1gO1xuICAgICAgICB3aW5kb3cub3Blbihzb3VyY2VQYXRoLCAnX2JsYW5rJyk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImV1aS1idXR0b24tZml4ZWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZXVpLWJ1dHRvbi1mbG9hdGluZyBldWktYnV0dG9uLS1zaXplLTJ4bCBldWktYnV0dG9uLS1pY29uLW9ubHkgZXVpLWJ1dHRvbi0tYWNjZW50XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLWljb24gZXVpLWljb24tY29kZVwiIChjbGljayk9XCJ0b2dnbGVDb2RlKClcIj48L3NwYW4+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPGV1aS1kaWFsb2cgI2RpYWxvZyB0aXRsZT1cIlBhZ2Ugc291cmNlIGNvZGVcIiBbaGFzRm9vdGVyXT1cImZhbHNlXCIgKGNsb3NlKT1cIm9uQ2xvc2UoKVwiPlxuICAgIDxidXR0b24gZXVpQnV0dG9uIGV1aUFjY2VudCAoY2xpY2spPVwib25PcGVuQ29kZSgpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLWljb24gZXVpLWljb24tY29kZVwiPjwvc3Bhbj4gVklFVyBTT1VSQ0VcbiAgICA8L2J1dHRvbj5cbiAgICA8YnI+XG4gICAgPGJyPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8YnI+XG4gICAgPHA+VXNlIHRoZSA8a2JkPlZpZXcgc291cmNlPC9rYmQ+IGJ1dHRvbiB0byBhY2Nlc3MgdGhlIGNvZGUgc291cmNlIG9mIHRoZSBwYWdlLjwvcD5cbjwvZXVpLWRpYWxvZz5cbiJdfQ==
|