@ng-doc/app 16.14.0 → 16.15.0
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/assets/themes/ng-doc-night.css +20 -19
- package/components/playground/playground-properties/playground-properties.component.d.ts +2 -1
- package/components/playground/playground.component.d.ts +3 -0
- package/components/theme-toggle/theme-toggle.component.d.ts +8 -2
- package/constants/themes.d.ts +8 -8
- package/esm2022/components/api-list/api-list.component.mjs +7 -5
- package/esm2022/components/code/code.component.mjs +3 -3
- package/esm2022/components/demo/demo.component.mjs +7 -6
- package/esm2022/components/demo-displayer/demo-displayer.component.mjs +3 -3
- package/esm2022/components/demo-pane/demo-pane.component.mjs +6 -5
- package/esm2022/components/kind-icon/kind-icon.component.mjs +3 -3
- package/esm2022/components/link/link.component.mjs +1 -1
- package/esm2022/components/navbar/navbar.component.mjs +3 -3
- package/esm2022/components/page/page.component.mjs +2 -2
- package/esm2022/components/page-link/page-link.component.mjs +4 -4
- package/esm2022/components/page-navigation/page-navigation.component.mjs +3 -3
- package/esm2022/components/playground/base-playground.mjs +3 -3
- package/esm2022/components/playground/playground-form.mjs +1 -1
- package/esm2022/components/playground/playground-properties/playground-properties.component.mjs +6 -3
- package/esm2022/components/playground/playground-property/playground-property.component.mjs +4 -2
- package/esm2022/components/playground/playground-property-control.mjs +1 -1
- package/esm2022/components/playground/playground.component.mjs +29 -10
- package/esm2022/components/search/search.component.mjs +3 -3
- package/esm2022/components/search-result/search-result.component.mjs +10 -2
- package/esm2022/components/sidebar/sidebar-category/sidebar-category.component.mjs +6 -5
- package/esm2022/components/sidebar/sidebar-item/sidebar-item.component.mjs +3 -3
- package/esm2022/components/sidebar/sidebar.component.mjs +3 -3
- package/esm2022/components/tabs/tabs.component.mjs +3 -3
- package/esm2022/components/theme-toggle/theme-toggle.component.mjs +34 -7
- package/esm2022/components/toc/toc-element/toc-element.component.mjs +3 -3
- package/esm2022/constants/themes.mjs +9 -9
- package/esm2022/directives/code-highlighter/code-highlighter.directive.mjs +1 -1
- package/esm2022/directives/route-active/route-active.directive.mjs +1 -1
- package/esm2022/helpers/as-boolean.mjs +6 -2
- package/esm2022/helpers/generate-toc.mjs +1 -1
- package/esm2022/interfaces/provided-type-control.mjs +1 -1
- package/esm2022/pipes/extract-value/extract-value.pipe.mjs +1 -1
- package/esm2022/pipes/filter-by-text/filter-by-text.pipe.mjs +1 -1
- package/esm2022/pipes/sanitize-html/sanitize-html.pipe.mjs +1 -1
- package/esm2022/processors/processors/code.processor.mjs +1 -1
- package/esm2022/processors/processors/demo-pane.processor.mjs +1 -1
- package/esm2022/processors/processors/demo.processor.mjs +1 -1
- package/esm2022/processors/processors/icon.processor.mjs +1 -1
- package/esm2022/processors/processors/link.processor.mjs +1 -1
- package/esm2022/processors/processors/playground.processor.mjs +3 -2
- package/esm2022/processors/processors/tabs.processor.mjs +1 -1
- package/esm2022/providers/ng-doc-app/provide-ng-doc-app.mjs +8 -6
- package/esm2022/services/store/store.service.mjs +1 -1
- package/esm2022/services/theme/theme.service.mjs +62 -33
- package/esm2022/tokens/api-list.mjs +1 -1
- package/esm2022/tokens/context.mjs +1 -1
- package/esm2022/tokens/theme.mjs +7 -7
- package/esm2022/tokens/type-control.mjs +1 -1
- package/esm2022/type-controls/boolean-control/boolean-control.component.mjs +1 -1
- package/esm2022/type-controls/number-control/number-control.component.mjs +1 -1
- package/esm2022/type-controls/string-control/string-control.component.mjs +1 -1
- package/esm2022/type-controls/type-alias-control/type-alias-control.component.mjs +1 -1
- package/esm2022/types/typed-form.mjs +1 -1
- package/fesm2022/ng-doc-app-components-api-list.mjs +5 -3
- package/fesm2022/ng-doc-app-components-api-list.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-code.mjs +2 -2
- package/fesm2022/ng-doc-app-components-code.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-demo-displayer.mjs +2 -2
- package/fesm2022/ng-doc-app-components-demo-displayer.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-demo-pane.mjs +4 -3
- package/fesm2022/ng-doc-app-components-demo-pane.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-demo.mjs +4 -3
- package/fesm2022/ng-doc-app-components-demo.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-kind-icon.mjs +2 -2
- package/fesm2022/ng-doc-app-components-kind-icon.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-link.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-navbar.mjs +2 -2
- package/fesm2022/ng-doc-app-components-navbar.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-page-link.mjs +2 -2
- package/fesm2022/ng-doc-app-components-page-link.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-page-navigation.mjs +2 -2
- package/fesm2022/ng-doc-app-components-page-navigation.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-page.mjs +2 -2
- package/fesm2022/ng-doc-app-components-playground.mjs +37 -14
- package/fesm2022/ng-doc-app-components-playground.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-search-result.mjs +9 -1
- package/fesm2022/ng-doc-app-components-search-result.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-search.mjs +2 -2
- package/fesm2022/ng-doc-app-components-search.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-sidebar.mjs +8 -7
- package/fesm2022/ng-doc-app-components-sidebar.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-tabs.mjs +2 -2
- package/fesm2022/ng-doc-app-components-tabs.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-theme-toggle.mjs +33 -6
- package/fesm2022/ng-doc-app-components-theme-toggle.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-toc.mjs +2 -2
- package/fesm2022/ng-doc-app-components-toc.mjs.map +1 -1
- package/fesm2022/ng-doc-app-constants.mjs +8 -8
- package/fesm2022/ng-doc-app-constants.mjs.map +1 -1
- package/fesm2022/ng-doc-app-directives-code-highlighter.mjs.map +1 -1
- package/fesm2022/ng-doc-app-directives-route-active.mjs.map +1 -1
- package/fesm2022/ng-doc-app-helpers.mjs +5 -1
- package/fesm2022/ng-doc-app-helpers.mjs.map +1 -1
- package/fesm2022/ng-doc-app-pipes-extract-value.mjs.map +1 -1
- package/fesm2022/ng-doc-app-pipes-filter-by-text.mjs.map +1 -1
- package/fesm2022/ng-doc-app-pipes-sanitize-html.mjs.map +1 -1
- package/fesm2022/ng-doc-app-processors-processors.mjs +2 -1
- package/fesm2022/ng-doc-app-processors-processors.mjs.map +1 -1
- package/fesm2022/ng-doc-app-providers-ng-doc-app.mjs +7 -5
- package/fesm2022/ng-doc-app-providers-ng-doc-app.mjs.map +1 -1
- package/fesm2022/ng-doc-app-services-store.mjs.map +1 -1
- package/fesm2022/ng-doc-app-services-theme.mjs +61 -32
- package/fesm2022/ng-doc-app-services-theme.mjs.map +1 -1
- package/fesm2022/ng-doc-app-tokens.mjs +6 -6
- package/fesm2022/ng-doc-app-tokens.mjs.map +1 -1
- package/fesm2022/ng-doc-app-type-controls-boolean-control.mjs.map +1 -1
- package/fesm2022/ng-doc-app-type-controls-number-control.mjs.map +1 -1
- package/fesm2022/ng-doc-app-type-controls-string-control.mjs.map +1 -1
- package/fesm2022/ng-doc-app-type-controls-type-alias-control.mjs.map +1 -1
- package/package.json +3 -3
- package/services/theme/theme.service.d.ts +24 -7
- package/styles/global.css +141 -436
- package/styles/main.css +138 -433
- package/tokens/theme.d.ts +6 -6
package/esm2022/components/playground/playground-properties/playground-properties.component.mjs
CHANGED
|
@@ -18,6 +18,7 @@ class NgDocPlaygroundPropertiesComponent {
|
|
|
18
18
|
this.ignoreInputs = [];
|
|
19
19
|
this.hideSidePanel = false;
|
|
20
20
|
this.recreateDemo = false;
|
|
21
|
+
this.showResetButton = false;
|
|
21
22
|
this.recreateDemoChange = new EventEmitter();
|
|
22
23
|
this.resetForm = new EventEmitter();
|
|
23
24
|
this.breakpoints = [Breakpoints.XSmall];
|
|
@@ -96,7 +97,7 @@ class NgDocPlaygroundPropertiesComponent {
|
|
|
96
97
|
return undefined;
|
|
97
98
|
}
|
|
98
99
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocPlaygroundPropertiesComponent, deps: [{ token: i1.BreakpointObserver }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
99
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocPlaygroundPropertiesComponent, isStandalone: true, selector: "ng-doc-playground-properties", inputs: { form: "form", properties: "properties", ignoreInputs: "ignoreInputs", dynamicContent: "dynamicContent", defaultValues: "defaultValues", hideSidePanel: "hideSidePanel", recreateDemo: "recreateDemo" }, outputs: { recreateDemoChange: "recreateDemoChange", resetForm: "resetForm" }, usesOnChanges: true, ngImport: i0, template: "<div\n\tclass=\"ng-doc-playground-properties-wrapper\"\n\t[class.vertical]=\"observer | async\"\n\t*ngIf=\"defaultValues\">\n\t<div class=\"ng-doc-playground-demos\">\n\t\t<ng-content></ng-content>\n\t</div>\n\t<div class=\"ng-doc-playground-properties\" *ngIf=\"!hideSidePanel\">\n\t\t<div class=\"ng-doc-playground-header\">\n\t\t\t<h4 ng-doc-text>Playground</h4>\n\t\t\t<button ng-doc-button color=\"
|
|
100
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocPlaygroundPropertiesComponent, isStandalone: true, selector: "ng-doc-playground-properties", inputs: { form: "form", properties: "properties", ignoreInputs: "ignoreInputs", dynamicContent: "dynamicContent", defaultValues: "defaultValues", hideSidePanel: "hideSidePanel", recreateDemo: "recreateDemo", showResetButton: "showResetButton" }, outputs: { recreateDemoChange: "recreateDemoChange", resetForm: "resetForm" }, usesOnChanges: true, ngImport: i0, template: "<div\n\tclass=\"ng-doc-playground-properties-wrapper\"\n\t[class.vertical]=\"observer | async\"\n\t*ngIf=\"defaultValues\">\n\t<div class=\"ng-doc-playground-demos\">\n\t\t<ng-content></ng-content>\n\t</div>\n\t<div class=\"ng-doc-playground-properties\" *ngIf=\"!hideSidePanel\">\n\t\t<div class=\"ng-doc-playground-header\">\n\t\t\t<h4 ng-doc-text>Playground</h4>\n\t\t\t<button ng-doc-button color=\"alert\" (click)=\"resetForm.emit()\" *ngIf=\"showResetButton\">\n\t\t\t\tReset\n\t\t\t</button>\n\t\t</div>\n\t\t<div class=\"ng-doc-playground-setting\">\n\t\t\t<ng-doc-checkbox [(ngModel)]=\"recreateDemo\" (ngModelChange)=\"recreateDemoChange.emit($event)\">\n\t\t\t\t<span\n\t\t\t\t\tng-doc-text\n\t\t\t\t\t[ngDocTooltip]=\"'Recreates demo everytime\\none of the input has changed'\"\n\t\t\t\t\t[positions]=\"['bottom-right', 'left-center']\">\n\t\t\t\t\tRecreate\n\t\t\t\t\t<ng-doc-icon icon=\"info\" ngDocTextRight></ng-doc-icon>\n\t\t\t\t</span>\n\t\t\t</ng-doc-checkbox>\n\t\t</div>\n\t\t<div class=\"ng-doc-playground-divider\"></div>\n\t\t<ng-container *ngIf=\"propertyControls.length\">\n\t\t\t<h5 class=\"ng-doc-title\" ng-doc-text>Settings</h5>\n\t\t\t<ng-doc-playground-property\n\t\t\t\t*ngFor=\"let propertyControl of propertyControls\"\n\t\t\t\t[name]=\"propertyControl.property.inputName\"\n\t\t\t\t[property]=\"propertyControl.property\"\n\t\t\t\t[typeControl]=\"propertyControl.typeControl\"\n\t\t\t\t[defaultValue]=\"defaultValues[propertyControl.propertyName]\"\n\t\t\t\t[control]=\"\n\t\t\t\t\tgetFormControl | bind: this | execute: 'properties':propertyControl.propertyName\n\t\t\t\t\">\n\t\t\t</ng-doc-playground-property>\n\t\t</ng-container>\n\n\t\t<ng-container *ngIf=\"(dynamicContent | keyvalue)?.length\">\n\t\t\t<h5 class=\"ng-doc-title\" ng-doc-text>Content</h5>\n\t\t\t<ng-doc-playground-property\n\t\t\t\t*ngFor=\"let content of dynamicContent | keyvalue\"\n\t\t\t\t[name]=\"content.value.label\"\n\t\t\t\t[property]=\"content.value\"\n\t\t\t\t[typeControl]=\"contentTypeControl\"\n\t\t\t\t[control]=\"getFormControl | bind: this | execute: 'content':content.key\">\n\t\t\t</ng-doc-playground-property>\n\t\t</ng-container>\n\t</div>\n</div>\n", styles: [":host .ng-doc-playground-properties-wrapper{position:relative;display:flex;grid-gap:calc(var(--ng-doc-base-gutter) * 2);gap:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper.vertical{flex-direction:column}:host .ng-doc-playground-properties-wrapper.vertical .ng-doc-playground-demos{margin-right:0;margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper.vertical .ng-doc-playground-properties{width:100%}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-demos{display:flex;flex-direction:column;width:100%;overflow:hidden}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties{flex-shrink:0;width:300px;padding:calc(var(--ng-doc-base-gutter) * 2) calc(var(--ng-doc-base-gutter) * 3);background-color:var(--ng-doc-base-1);border-radius:var(--ng-doc-base-gutter);border:1px solid var(--ng-doc-border-color)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties ng-doc-playground-property:not(:last-child){margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-controls{display:flex;justify-content:flex-end}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-header{display:flex;align-items:center;justify-content:space-between;height:40px;margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-header h4{margin:0}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-setting{display:flex;flex-direction:column}:host .ng-doc-playground-properties-wrapper .ng-doc-title{margin-top:0;margin-bottom:calc(var(--ng-doc-base-gutter) + var(--ng-doc-base-gutter) / 2)}:host .ng-doc-playground-divider{margin:calc(var(--ng-doc-base-gutter) * 2) 0;height:1px;background-color:var(--ng-doc-base-2)}\n"], dependencies: [{ kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "component", type: NgDocButtonComponent, selector: "button[ng-doc-button], a[ng-doc-button], button[ng-doc-button-flat], a[ng-doc-button-flat], button[ng-doc-button-text], a[ng-doc-button-text]", inputs: ["size", "color", "rounded", "number"] }, { kind: "component", type: NgDocCheckboxComponent, selector: "ng-doc-checkbox", inputs: ["color"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "directive", type: NgDocTextRightDirective, selector: "[ngDocTextRight]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: NgDocPlaygroundPropertyComponent, selector: "ng-doc-playground-property", inputs: ["name", "property", "typeControl", "control", "defaultValue"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: NgDocBindPipe, name: "bind" }, { kind: "pipe", type: NgDocExecutePipe, name: "execute" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
100
101
|
}
|
|
101
102
|
export { NgDocPlaygroundPropertiesComponent };
|
|
102
103
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocPlaygroundPropertiesComponent, decorators: [{
|
|
@@ -116,7 +117,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
116
117
|
KeyValuePipe,
|
|
117
118
|
NgDocBindPipe,
|
|
118
119
|
NgDocExecutePipe,
|
|
119
|
-
], template: "<div\n\tclass=\"ng-doc-playground-properties-wrapper\"\n\t[class.vertical]=\"observer | async\"\n\t*ngIf=\"defaultValues\">\n\t<div class=\"ng-doc-playground-demos\">\n\t\t<ng-content></ng-content>\n\t</div>\n\t<div class=\"ng-doc-playground-properties\" *ngIf=\"!hideSidePanel\">\n\t\t<div class=\"ng-doc-playground-header\">\n\t\t\t<h4 ng-doc-text>Playground</h4>\n\t\t\t<button ng-doc-button color=\"
|
|
120
|
+
], template: "<div\n\tclass=\"ng-doc-playground-properties-wrapper\"\n\t[class.vertical]=\"observer | async\"\n\t*ngIf=\"defaultValues\">\n\t<div class=\"ng-doc-playground-demos\">\n\t\t<ng-content></ng-content>\n\t</div>\n\t<div class=\"ng-doc-playground-properties\" *ngIf=\"!hideSidePanel\">\n\t\t<div class=\"ng-doc-playground-header\">\n\t\t\t<h4 ng-doc-text>Playground</h4>\n\t\t\t<button ng-doc-button color=\"alert\" (click)=\"resetForm.emit()\" *ngIf=\"showResetButton\">\n\t\t\t\tReset\n\t\t\t</button>\n\t\t</div>\n\t\t<div class=\"ng-doc-playground-setting\">\n\t\t\t<ng-doc-checkbox [(ngModel)]=\"recreateDemo\" (ngModelChange)=\"recreateDemoChange.emit($event)\">\n\t\t\t\t<span\n\t\t\t\t\tng-doc-text\n\t\t\t\t\t[ngDocTooltip]=\"'Recreates demo everytime\\none of the input has changed'\"\n\t\t\t\t\t[positions]=\"['bottom-right', 'left-center']\">\n\t\t\t\t\tRecreate\n\t\t\t\t\t<ng-doc-icon icon=\"info\" ngDocTextRight></ng-doc-icon>\n\t\t\t\t</span>\n\t\t\t</ng-doc-checkbox>\n\t\t</div>\n\t\t<div class=\"ng-doc-playground-divider\"></div>\n\t\t<ng-container *ngIf=\"propertyControls.length\">\n\t\t\t<h5 class=\"ng-doc-title\" ng-doc-text>Settings</h5>\n\t\t\t<ng-doc-playground-property\n\t\t\t\t*ngFor=\"let propertyControl of propertyControls\"\n\t\t\t\t[name]=\"propertyControl.property.inputName\"\n\t\t\t\t[property]=\"propertyControl.property\"\n\t\t\t\t[typeControl]=\"propertyControl.typeControl\"\n\t\t\t\t[defaultValue]=\"defaultValues[propertyControl.propertyName]\"\n\t\t\t\t[control]=\"\n\t\t\t\t\tgetFormControl | bind: this | execute: 'properties':propertyControl.propertyName\n\t\t\t\t\">\n\t\t\t</ng-doc-playground-property>\n\t\t</ng-container>\n\n\t\t<ng-container *ngIf=\"(dynamicContent | keyvalue)?.length\">\n\t\t\t<h5 class=\"ng-doc-title\" ng-doc-text>Content</h5>\n\t\t\t<ng-doc-playground-property\n\t\t\t\t*ngFor=\"let content of dynamicContent | keyvalue\"\n\t\t\t\t[name]=\"content.value.label\"\n\t\t\t\t[property]=\"content.value\"\n\t\t\t\t[typeControl]=\"contentTypeControl\"\n\t\t\t\t[control]=\"getFormControl | bind: this | execute: 'content':content.key\">\n\t\t\t</ng-doc-playground-property>\n\t\t</ng-container>\n\t</div>\n</div>\n", styles: [":host .ng-doc-playground-properties-wrapper{position:relative;display:flex;grid-gap:calc(var(--ng-doc-base-gutter) * 2);gap:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper.vertical{flex-direction:column}:host .ng-doc-playground-properties-wrapper.vertical .ng-doc-playground-demos{margin-right:0;margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper.vertical .ng-doc-playground-properties{width:100%}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-demos{display:flex;flex-direction:column;width:100%;overflow:hidden}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties{flex-shrink:0;width:300px;padding:calc(var(--ng-doc-base-gutter) * 2) calc(var(--ng-doc-base-gutter) * 3);background-color:var(--ng-doc-base-1);border-radius:var(--ng-doc-base-gutter);border:1px solid var(--ng-doc-border-color)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties ng-doc-playground-property:not(:last-child){margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-controls{display:flex;justify-content:flex-end}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-header{display:flex;align-items:center;justify-content:space-between;height:40px;margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-header h4{margin:0}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-setting{display:flex;flex-direction:column}:host .ng-doc-playground-properties-wrapper .ng-doc-title{margin-top:0;margin-bottom:calc(var(--ng-doc-base-gutter) + var(--ng-doc-base-gutter) / 2)}:host .ng-doc-playground-divider{margin:calc(var(--ng-doc-base-gutter) * 2) 0;height:1px;background-color:var(--ng-doc-base-2)}\n"] }]
|
|
120
121
|
}], ctorParameters: function () { return [{ type: i1.BreakpointObserver }, { type: i0.Injector }]; }, propDecorators: { form: [{
|
|
121
122
|
type: Input
|
|
122
123
|
}], properties: [{
|
|
@@ -131,9 +132,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
131
132
|
type: Input
|
|
132
133
|
}], recreateDemo: [{
|
|
133
134
|
type: Input
|
|
135
|
+
}], showResetButton: [{
|
|
136
|
+
type: Input
|
|
134
137
|
}], recreateDemoChange: [{
|
|
135
138
|
type: Output
|
|
136
139
|
}], resetForm: [{
|
|
137
140
|
type: Output
|
|
138
141
|
}] } });
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLXByb3BlcnRpZXMvcGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLXByb3BlcnRpZXMvcGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDdkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZFLE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFFWixRQUFRLEVBQ1IsS0FBSyxFQUNMLFNBQVMsRUFFVCxNQUFNLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFlLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFNMUUsT0FBTyxFQUNOLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixxQkFBcUIsR0FDckIsTUFBTSxnQkFBZ0IsQ0FB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QUFrQjtzQkFEakIsTUFBTTtnQkFJUCxTQUFTO3NCQURSLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIsIEJyZWFrcG9pbnRzLCBCcmVha3BvaW50U3RhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7IEFzeW5jUGlwZSwgS2V5VmFsdWVQaXBlLCBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHRFdmVudEVtaXR0ZXIsXG5cdEluamVjdGlvblRva2VuLFxuXHRJbmplY3Rvcixcblx0SW5wdXQsXG5cdGlzRGV2TW9kZSxcblx0T25DaGFuZ2VzLFxuXHRPdXRwdXQsXG5cdFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBpc1BsYXlncm91bmRQcm9wZXJ0eSB9IGZyb20gJ0BuZy1kb2MvYXBwL2hlbHBlcnMnO1xuaW1wb3J0IHsgTmdEb2NQcm92aWRlZFR5cGVDb250cm9sIH0gZnJvbSAnQG5nLWRvYy9hcHAvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBnZXRUb2tlbkZvclR5cGUgfSBmcm9tICdAbmctZG9jL2FwcC9wcm92aWRlcnMvdHlwZS1jb250cm9sJztcbmltcG9ydCB7IGV4dHJhY3RWYWx1ZU9yVGhyb3csIGlzUHJlc2VudCwgb2JqZWN0S2V5cyB9IGZyb20gJ0BuZy1kb2MvY29yZSc7XG5pbXBvcnQge1xuXHROZ0RvY1BsYXlncm91bmRDb250ZW50LFxuXHROZ0RvY1BsYXlncm91bmRQcm9wZXJ0aWVzLFxuXHROZ0RvY1BsYXlncm91bmRQcm9wZXJ0eSxcbn0gZnJvbSAnQG5nLWRvYy9jb3JlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtcblx0TmdEb2NCaW5kUGlwZSxcblx0TmdEb2NCdXR0b25Db21wb25lbnQsXG5cdE5nRG9jQ2hlY2tib3hDb21wb25lbnQsXG5cdE5nRG9jRXhlY3V0ZVBpcGUsXG5cdE5nRG9jSWNvbkNvbXBvbmVudCxcblx0TmdEb2NUZXh0Q29tcG9uZW50LFxuXHROZ0RvY1RleHRSaWdodERpcmVjdGl2ZSxcblx0TmdEb2NUb29sdGlwRGlyZWN0aXZlLFxufSBmcm9tICdAbmctZG9jL3VpLWtpdCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE5nRG9jUGxheWdyb3VuZEZvcm0gfSBmcm9tICcuLi9wbGF5Z3JvdW5kLWZvcm0nO1xuaW1wb3J0IHsgTmdEb2NQbGF5Z3JvdW5kUHJvcGVydHlDb21wb25lbnQgfSBmcm9tICcuLi9wbGF5Z3JvdW5kLXByb3BlcnR5L3BsYXlncm91bmQtcHJvcGVydHkuY29tcG9uZW50JztcbmltcG9ydCB7IE5nRG9jUGxheWdyb3VuZFByb3BlcnR5Q29udHJvbCB9IGZyb20gJy4uL3BsYXlncm91bmQtcHJvcGVydHktY29udHJvbCc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25nLWRvYy1wbGF5Z3JvdW5kLXByb3BlcnRpZXMnLFxuXHR0ZW1wbGF0ZVVybDogJy4vcGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vcGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5zY3NzJ10sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbXG5cdFx0TmdEb2NUZXh0Q29tcG9uZW50LFxuXHRcdE5nRG9jQnV0dG9uQ29tcG9uZW50LFxuXHRcdE5nRG9jQ2hlY2tib3hDb21wb25lbnQsXG5cdFx0Rm9ybXNNb2R1bGUsXG5cdFx0TmdEb2NUb29sdGlwRGlyZWN0aXZlLFxuXHRcdE5nRG9jSWNvbkNvbXBvbmVudCxcblx0XHROZ0RvY1RleHRSaWdodERpcmVjdGl2ZSxcblx0XHROZ0lmLFxuXHRcdE5nRm9yLFxuXHRcdE5nRG9jUGxheWdyb3VuZFByb3BlcnR5Q29tcG9uZW50LFxuXHRcdEFzeW5jUGlwZSxcblx0XHRLZXlWYWx1ZVBpcGUsXG5cdFx0TmdEb2NCaW5kUGlwZSxcblx0XHROZ0RvY0V4ZWN1dGVQaXBlLFxuXHRdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0aWVzQ29tcG9uZW50PFxuXHRQIGV4dGVuZHMgTmdEb2NQbGF5Z3JvdW5kUHJvcGVydGllcyxcblx0QyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIE5nRG9jUGxheWdyb3VuZENvbnRlbnQ+LFxuPiBpbXBsZW1lbnRzIE9uQ2hhbmdlc1xue1xuXHRASW5wdXQoKVxuXHRmb3JtITogRm9ybUdyb3VwPE5nRG9jUGxheWdyb3VuZEZvcm0+O1xuXG5cdEBJbnB1dCgpXG5cdHByb3BlcnRpZXM/OiBQO1xuXG5cdEBJbnB1dCgpXG5cdGlnbm9yZUlucHV0cz86IHN0cmluZ1tdID0gW107XG5cblx0QElucHV0KClcblx0ZHluYW1pY0NvbnRlbnQ/OiBDO1xuXG5cdEBJbnB1dCgpXG5cdGRlZmF1bHRWYWx1ZXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuXHRASW5wdXQoKVxuXHRoaWRlU2lkZVBhbmVsOiBib29sZWFuID0gZmFsc2U7XG5cblx0QElucHV0KClcblx0cmVjcmVhdGVEZW1vOiBib29sZWFuID0gZmFsc2U7XG5cblx0QE91dHB1dCgpXG5cdHJlY3JlYXRlRGVtb0NoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG5cdEBPdXRwdXQoKVxuXHRyZXNldEZvcm06IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuXHRyZWFkb25seSBicmVha3BvaW50czogc3RyaW5nW10gPSBbQnJlYWtwb2ludHMuWFNtYWxsXTtcblx0cmVhZG9ubHkgb2JzZXJ2ZXI6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cblx0cHJvdGVjdGVkIHByb3BlcnR5Q29udHJvbHM6IE5nRG9jUGxheWdyb3VuZFByb3BlcnR5Q29udHJvbFtdID0gW107XG5cdHByb3RlY3RlZCBjb250ZW50VHlwZUNvbnRyb2w/OiBOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2wgPSB0aGlzLmdldENvbnRyb2xGb3JUeXBlKCdib29sZWFuJyk7XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJvdGVjdGVkIHJlYWRvbmx5IGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyLFxuXHRcdHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuXHQpIHtcblx0XHR0aGlzLm9ic2VydmVyID0gdGhpcy5icmVha3BvaW50T2JzZXJ2ZXJcblx0XHRcdC5vYnNlcnZlKHRoaXMuYnJlYWtwb2ludHMpXG5cdFx0XHQucGlwZShtYXAoKHN0YXRlOiBCcmVha3BvaW50U3RhdGUpID0+IHN0YXRlLm1hdGNoZXMpKTtcblx0fVxuXG5cdG5nT25DaGFuZ2VzKHsgcHJvcGVydGllcyB9OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG5cdFx0aWYgKHByb3BlcnRpZXMgJiYgdGhpcy5wcm9wZXJ0aWVzKSB7XG5cdFx0XHR0aGlzLnByb3BlcnR5Q29udHJvbHMgPSBvYmplY3RLZXlzKHRoaXMucHJvcGVydGllcylcblx0XHRcdFx0LmZpbHRlcigoa2V5OiBrZXlvZiBQKSA9PiB0aGlzLmlnbm9yZUlucHV0cz8uaW5jbHVkZXMoU3RyaW5nKGtleSkpICE9PSB0cnVlKVxuXHRcdFx0XHQubWFwKChrZXk6IGtleW9mIFApID0+IHtcblx0XHRcdFx0XHRpZiAodGhpcy5wcm9wZXJ0aWVzKSB7XG5cdFx0XHRcdFx0XHRjb25zdCBwcm9wZXJ0eTogTmdEb2NQbGF5Z3JvdW5kUHJvcGVydHkgPSB0aGlzLnByb3BlcnRpZXNba2V5XTtcblx0XHRcdFx0XHRcdGNvbnN0IHR5cGVDb250cm9sOiBOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2wgfCB1bmRlZmluZWQgPSB0aGlzLmdldFR5cGVDb250cm9sKHByb3BlcnR5KTtcblxuXHRcdFx0XHRcdFx0aWYgKHR5cGVDb250cm9sKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0XHRcdFx0cHJvcGVydHlOYW1lOiBTdHJpbmcoa2V5KSxcblx0XHRcdFx0XHRcdFx0XHRwcm9wZXJ0eSxcblx0XHRcdFx0XHRcdFx0XHR0eXBlQ29udHJvbCxcblx0XHRcdFx0XHRcdFx0fTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRyZXR1cm4gbnVsbDtcblx0XHRcdFx0fSlcblx0XHRcdFx0LmZpbHRlcihpc1ByZXNlbnQpXG5cdFx0XHRcdC5zb3J0KChhOiBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0eUNvbnRyb2wsIGI6IE5nRG9jUGxheWdyb3VuZFByb3BlcnR5Q29udHJvbCkgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IGFPcmRlcjogbnVtYmVyIHwgdW5kZWZpbmVkID0gYS50eXBlQ29udHJvbC5vcHRpb25zPy5vcmRlcjtcblx0XHRcdFx0XHRjb25zdCBiT3JkZXI6IG51bWJlciB8IHVuZGVmaW5lZCA9IGIudHlwZUNvbnRyb2wub3B0aW9ucz8ub3JkZXI7XG5cblx0XHRcdFx0XHRpZiAoaXNQcmVzZW50KGFPcmRlcikgJiYgaXNQcmVzZW50KGJPcmRlcikpIHtcblx0XHRcdFx0XHRcdHJldHVybiBhT3JkZXIgLSBiT3JkZXI7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGlmIChpc1ByZXNlbnQoYU9yZGVyKSkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIC0xO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpZiAoaXNQcmVzZW50KGJPcmRlcikpIHtcblx0XHRcdFx0XHRcdHJldHVybiAxO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gYS5wcm9wZXJ0eS5pbnB1dE5hbWUubG9jYWxlQ29tcGFyZShiLnByb3BlcnR5LmlucHV0TmFtZSk7XG5cdFx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdGdldEZvcm1Db250cm9sKGNvbnRyb2xUeXBlOiBrZXlvZiB0eXBlb2YgdGhpcy5mb3JtLmNvbnRyb2xzLCBrZXk6IHN0cmluZyk6IEZvcm1Db250cm9sIHtcblx0XHRyZXR1cm4gdGhpcy5mb3JtLmdldChjb250cm9sVHlwZSk/LmdldChrZXkpIGFzIEZvcm1Db250cm9sO1xuXHR9XG5cblx0cHJpdmF0ZSBnZXRUeXBlQ29udHJvbChwcm9wZXJ0eTogTmdEb2NQbGF5Z3JvdW5kUHJvcGVydHkpOiBOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2wgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IHR5cGU6IHN0cmluZyA9IHByb3BlcnR5LnR5cGU7XG5cdFx0Y29uc3QgdHlwZUNvbnRyb2w6IE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbCB8IHVuZGVmaW5lZCA9XG5cdFx0XHR0aGlzLmdldENvbnRyb2xGb3JUeXBlKHR5cGUpID8/XG5cdFx0XHR0aGlzLmdldENvbnRyb2xGb3JUeXBlQWxpYXMoaXNQbGF5Z3JvdW5kUHJvcGVydHkocHJvcGVydHkpID8gcHJvcGVydHkub3B0aW9ucyA6IHVuZGVmaW5lZCk7XG5cblx0XHRpZiAoIXR5cGVDb250cm9sICYmIGlzRGV2TW9kZSgpKSB7XG5cdFx0XHRjb25zb2xlLndhcm4oXG5cdFx0XHRcdGBOZ0RvY1BsYXlncm91bmQgZGlkbid0IGZpbmQgdGhlIGNvbnRyb2wgZm9yIHRoZSBASW5wdXQgXCIke3Byb3BlcnR5LmlucHV0TmFtZX1cIiwgdGhlIHR5cGUgXCIke3R5cGV9XCIgd2FzIG5vdCByZWNvZ25pemVkJ2AsXG5cdFx0XHQpO1xuXHRcdH1cblxuXHRcdHJldHVybiB0eXBlQ29udHJvbDtcblx0fVxuXG5cdHByaXZhdGUgZ2V0Q29udHJvbEZvclR5cGUodHlwZTogc3RyaW5nKTogTmdEb2NQcm92aWRlZFR5cGVDb250cm9sIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCB0b2tlbjogSW5qZWN0aW9uVG9rZW48TmdEb2NQcm92aWRlZFR5cGVDb250cm9sPiB8IHVuZGVmaW5lZCA9IGdldFRva2VuRm9yVHlwZSh0eXBlKTtcblxuXHRcdHJldHVybiB0b2tlbiA/IHRoaXMuaW5qZWN0b3IuZ2V0KHRva2VuKSA6IHVuZGVmaW5lZDtcblx0fVxuXG5cdHByaXZhdGUgZ2V0Q29udHJvbEZvclR5cGVBbGlhcyhvcHRpb25zPzogc3RyaW5nW10pOiBOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2wgfCB1bmRlZmluZWQge1xuXHRcdGlmIChvcHRpb25zICYmIG9wdGlvbnMubGVuZ3RoKSB7XG5cdFx0XHRsZXQgb3B0aW9uc0lzVmFsaWQ6IGJvb2xlYW4gPSB0cnVlO1xuXG5cdFx0XHR0cnkge1xuXHRcdFx0XHQvLyBjaGVja2luZyB0aGF0IGFsbCB2YWx1ZXMgYXJlIGV4dHJhY3RhYmxlXG5cdFx0XHRcdG9wdGlvbnMuZm9yRWFjaCgoaXRlbTogc3RyaW5nKSA9PiBleHRyYWN0VmFsdWVPclRocm93KGl0ZW0pKTtcblx0XHRcdH0gY2F0Y2gge1xuXHRcdFx0XHRvcHRpb25zSXNWYWxpZCA9IGZhbHNlO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAob3B0aW9uc0lzVmFsaWQpIHtcblx0XHRcdFx0Y29uc3QgdG9rZW46IEluamVjdGlvblRva2VuPE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbD4gfCB1bmRlZmluZWQgPVxuXHRcdFx0XHRcdGdldFRva2VuRm9yVHlwZSgnTmdEb2NUeXBlQWxpYXMnKTtcblxuXHRcdFx0XHRyZXR1cm4gdG9rZW4gPyB0aGlzLmluamVjdG9yLmdldCh0b2tlbikgOiB1bmRlZmluZWQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxufVxuIiwiPGRpdlxuXHRjbGFzcz1cIm5nLWRvYy1wbGF5Z3JvdW5kLXByb3BlcnRpZXMtd3JhcHBlclwiXG5cdFtjbGFzcy52ZXJ0aWNhbF09XCJvYnNlcnZlciB8IGFzeW5jXCJcblx0Km5nSWY9XCJkZWZhdWx0VmFsdWVzXCI+XG5cdDxkaXYgY2xhc3M9XCJuZy1kb2MtcGxheWdyb3VuZC1kZW1vc1wiPlxuXHRcdDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblx0PC9kaXY+XG5cdDxkaXYgY2xhc3M9XCJuZy1kb2MtcGxheWdyb3VuZC1wcm9wZXJ0aWVzXCIgKm5nSWY9XCIhaGlkZVNpZGVQYW5lbFwiPlxuXHRcdDxkaXYgY2xhc3M9XCJuZy1kb2MtcGxheWdyb3VuZC1oZWFkZXJcIj5cblx0XHRcdDxoNCBuZy1kb2MtdGV4dD5QbGF5Z3JvdW5kPC9oND5cblx0XHRcdDxidXR0b24gbmctZG9jLWJ1dHRvbiBjb2xvcj1cInJlZFwiIChjbGljayk9XCJyZXNldEZvcm0uZW1pdCgpXCI+UmVzZXQ8L2J1dHRvbj5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2IGNsYXNzPVwibmctZG9jLXBsYXlncm91bmQtc2V0dGluZ1wiPlxuXHRcdFx0PG5nLWRvYy1jaGVja2JveCBbKG5nTW9kZWwpXT1cInJlY3JlYXRlRGVtb1wiIChuZ01vZGVsQ2hhbmdlKT1cInJlY3JlYXRlRGVtb0NoYW5nZS5lbWl0KCRldmVudClcIj5cblx0XHRcdFx0PHNwYW5cblx0XHRcdFx0XHRuZy1kb2MtdGV4dFxuXHRcdFx0XHRcdFtuZ0RvY1Rvb2x0aXBdPVwiJ1JlY3JlYXRlcyBkZW1vIGV2ZXJ5dGltZVxcbm9uZSBvZiB0aGUgaW5wdXQgaGFzIGNoYW5nZWQnXCJcblx0XHRcdFx0XHRbcG9zaXRpb25zXT1cIlsnYm90dG9tLXJpZ2h0JywgJ2xlZnQtY2VudGVyJ11cIj5cblx0XHRcdFx0XHRSZWNyZWF0ZVxuXHRcdFx0XHRcdDxuZy1kb2MtaWNvbiBpY29uPVwiaW5mb1wiIG5nRG9jVGV4dFJpZ2h0PjwvbmctZG9jLWljb24+XG5cdFx0XHRcdDwvc3Bhbj5cblx0XHRcdDwvbmctZG9jLWNoZWNrYm94PlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJuZy1kb2MtcGxheWdyb3VuZC1kaXZpZGVyXCI+PC9kaXY+XG5cdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cInByb3BlcnR5Q29udHJvbHMubGVuZ3RoXCI+XG5cdFx0XHQ8aDUgY2xhc3M9XCJuZy1kb2MtdGl0bGVcIiBuZy1kb2MtdGV4dD5TZXR0aW5nczwvaDU+XG5cdFx0XHQ8bmctZG9jLXBsYXlncm91bmQtcHJvcGVydHlcblx0XHRcdFx0Km5nRm9yPVwibGV0IHByb3BlcnR5Q29udHJvbCBvZiBwcm9wZXJ0eUNvbnRyb2xzXCJcblx0XHRcdFx0W25hbWVdPVwicHJvcGVydHlDb250cm9sLnByb3BlcnR5LmlucHV0TmFtZVwiXG5cdFx0XHRcdFtwcm9wZXJ0eV09XCJwcm9wZXJ0eUNvbnRyb2wucHJvcGVydHlcIlxuXHRcdFx0XHRbdHlwZUNvbnRyb2xdPVwicHJvcGVydHlDb250cm9sLnR5cGVDb250cm9sXCJcblx0XHRcdFx0W2RlZmF1bHRWYWx1ZV09XCJkZWZhdWx0VmFsdWVzW3Byb3BlcnR5Q29udHJvbC5wcm9wZXJ0eU5hbWVdXCJcblx0XHRcdFx0W2NvbnRyb2xdPVwiXG5cdFx0XHRcdFx0Z2V0Rm9ybUNvbnRyb2wgfCBiaW5kOiB0aGlzIHwgZXhlY3V0ZTogJ3Byb3BlcnRpZXMnOnByb3BlcnR5Q29udHJvbC5wcm9wZXJ0eU5hbWVcblx0XHRcdFx0XCI+XG5cdFx0XHQ8L25nLWRvYy1wbGF5Z3JvdW5kLXByb3BlcnR5PlxuXHRcdDwvbmctY29udGFpbmVyPlxuXG5cdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cIihkeW5hbWljQ29udGVudCB8IGtleXZhbHVlKT8ubGVuZ3RoXCI+XG5cdFx0XHQ8aDUgY2xhc3M9XCJuZy1kb2MtdGl0bGVcIiBuZy1kb2MtdGV4dD5Db250ZW50PC9oNT5cblx0XHRcdDxuZy1kb2MtcGxheWdyb3VuZC1wcm9wZXJ0eVxuXHRcdFx0XHQqbmdGb3I9XCJsZXQgY29udGVudCBvZiBkeW5hbWljQ29udGVudCB8IGtleXZhbHVlXCJcblx0XHRcdFx0W25hbWVdPVwiY29udGVudC52YWx1ZS5sYWJlbFwiXG5cdFx0XHRcdFtwcm9wZXJ0eV09XCJjb250ZW50LnZhbHVlXCJcblx0XHRcdFx0W3R5cGVDb250cm9sXT1cImNvbnRlbnRUeXBlQ29udHJvbFwiXG5cdFx0XHRcdFtjb250cm9sXT1cImdldEZvcm1Db250cm9sIHwgYmluZDogdGhpcyB8IGV4ZWN1dGU6ICdjb250ZW50Jzpjb250ZW50LmtleVwiPlxuXHRcdFx0PC9uZy1kb2MtcGxheWdyb3VuZC1wcm9wZXJ0eT5cblx0XHQ8L25nLWNvbnRhaW5lcj5cblx0PC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLXByb3BlcnRpZXMvcGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLXByb3BlcnRpZXMvcGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDdkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZFLE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFFWixRQUFRLEVBQ1IsS0FBSyxFQUNMLFNBQVMsRUFFVCxNQUFNLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFlLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFNMUUsT0FBTyxFQUNOLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixxQkFBcUIsR0FDckIsTUFBTSxnQkFBZ0IsQ0FB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SU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTixrQkFBa0I7c0JBRGpCLE1BQU07Z0JBSVAsU0FBUztzQkFEUixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50cywgQnJlYWtwb2ludFN0YXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQgeyBBc3luY1BpcGUsIEtleVZhbHVlUGlwZSwgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0RXZlbnRFbWl0dGVyLFxuXHRJbmplY3Rpb25Ub2tlbixcblx0SW5qZWN0b3IsXG5cdElucHV0LFxuXHRpc0Rldk1vZGUsXG5cdE9uQ2hhbmdlcyxcblx0T3V0cHV0LFxuXHRTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgaXNQbGF5Z3JvdW5kUHJvcGVydHkgfSBmcm9tICdAbmctZG9jL2FwcC9oZWxwZXJzJztcbmltcG9ydCB7IE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbCB9IGZyb20gJ0BuZy1kb2MvYXBwL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZ2V0VG9rZW5Gb3JUeXBlIH0gZnJvbSAnQG5nLWRvYy9hcHAvcHJvdmlkZXJzL3R5cGUtY29udHJvbCc7XG5pbXBvcnQgeyBleHRyYWN0VmFsdWVPclRocm93LCBpc1ByZXNlbnQsIG9iamVjdEtleXMgfSBmcm9tICdAbmctZG9jL2NvcmUnO1xuaW1wb3J0IHtcblx0TmdEb2NQbGF5Z3JvdW5kQ29udGVudCxcblx0TmdEb2NQbGF5Z3JvdW5kUHJvcGVydGllcyxcblx0TmdEb2NQbGF5Z3JvdW5kUHJvcGVydHksXG59IGZyb20gJ0BuZy1kb2MvY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7XG5cdE5nRG9jQmluZFBpcGUsXG5cdE5nRG9jQnV0dG9uQ29tcG9uZW50LFxuXHROZ0RvY0NoZWNrYm94Q29tcG9uZW50LFxuXHROZ0RvY0V4ZWN1dGVQaXBlLFxuXHROZ0RvY0ljb25Db21wb25lbnQsXG5cdE5nRG9jVGV4dENvbXBvbmVudCxcblx0TmdEb2NUZXh0UmlnaHREaXJlY3RpdmUsXG5cdE5nRG9jVG9vbHRpcERpcmVjdGl2ZSxcbn0gZnJvbSAnQG5nLWRvYy91aS1raXQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBOZ0RvY1BsYXlncm91bmRGb3JtIH0gZnJvbSAnLi4vcGxheWdyb3VuZC1mb3JtJztcbmltcG9ydCB7IE5nRG9jUGxheWdyb3VuZFByb3BlcnR5Q29tcG9uZW50IH0gZnJvbSAnLi4vcGxheWdyb3VuZC1wcm9wZXJ0eS9wbGF5Z3JvdW5kLXByb3BlcnR5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0eUNvbnRyb2wgfSBmcm9tICcuLi9wbGF5Z3JvdW5kLXByb3BlcnR5LWNvbnRyb2wnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZy1kb2MtcGxheWdyb3VuZC1wcm9wZXJ0aWVzJyxcblx0dGVtcGxhdGVVcmw6ICcuL3BsYXlncm91bmQtcHJvcGVydGllcy5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL3BsYXlncm91bmQtcHJvcGVydGllcy5jb21wb25lbnQuc2NzcyddLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aW1wb3J0czogW1xuXHRcdE5nRG9jVGV4dENvbXBvbmVudCxcblx0XHROZ0RvY0J1dHRvbkNvbXBvbmVudCxcblx0XHROZ0RvY0NoZWNrYm94Q29tcG9uZW50LFxuXHRcdEZvcm1zTW9kdWxlLFxuXHRcdE5nRG9jVG9vbHRpcERpcmVjdGl2ZSxcblx0XHROZ0RvY0ljb25Db21wb25lbnQsXG5cdFx0TmdEb2NUZXh0UmlnaHREaXJlY3RpdmUsXG5cdFx0TmdJZixcblx0XHROZ0Zvcixcblx0XHROZ0RvY1BsYXlncm91bmRQcm9wZXJ0eUNvbXBvbmVudCxcblx0XHRBc3luY1BpcGUsXG5cdFx0S2V5VmFsdWVQaXBlLFxuXHRcdE5nRG9jQmluZFBpcGUsXG5cdFx0TmdEb2NFeGVjdXRlUGlwZSxcblx0XSxcbn0pXG5leHBvcnQgY2xhc3MgTmdEb2NQbGF5Z3JvdW5kUHJvcGVydGllc0NvbXBvbmVudDxcblx0UCBleHRlbmRzIE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXMsXG5cdEMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBOZ0RvY1BsYXlncm91bmRDb250ZW50Pixcbj4gaW1wbGVtZW50cyBPbkNoYW5nZXNcbntcblx0QElucHV0KClcblx0Zm9ybSE6IEZvcm1Hcm91cDxOZ0RvY1BsYXlncm91bmRGb3JtPjtcblxuXHRASW5wdXQoKVxuXHRwcm9wZXJ0aWVzPzogUDtcblxuXHRASW5wdXQoKVxuXHRpZ25vcmVJbnB1dHM/OiBzdHJpbmdbXSA9IFtdO1xuXG5cdEBJbnB1dCgpXG5cdGR5bmFtaWNDb250ZW50PzogQztcblxuXHRASW5wdXQoKVxuXHRkZWZhdWx0VmFsdWVzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cblx0QElucHV0KClcblx0aGlkZVNpZGVQYW5lbDogYm9vbGVhbiA9IGZhbHNlO1xuXG5cdEBJbnB1dCgpXG5cdHJlY3JlYXRlRGVtbzogYm9vbGVhbiA9IGZhbHNlO1xuXG5cdEBJbnB1dCgpXG5cdHNob3dSZXNldEJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG5cdEBPdXRwdXQoKVxuXHRyZWNyZWF0ZURlbW9DaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuXHRAT3V0cHV0KClcblx0cmVzZXRGb3JtOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cblx0cmVhZG9ubHkgYnJlYWtwb2ludHM6IHN0cmluZ1tdID0gW0JyZWFrcG9pbnRzLlhTbWFsbF07XG5cdHJlYWRvbmx5IG9ic2VydmVyOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG5cdHByb3RlY3RlZCBwcm9wZXJ0eUNvbnRyb2xzOiBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0eUNvbnRyb2xbXSA9IFtdO1xuXHRwcm90ZWN0ZWQgY29udGVudFR5cGVDb250cm9sPzogTmdEb2NQcm92aWRlZFR5cGVDb250cm9sID0gdGhpcy5nZXRDb250cm9sRm9yVHlwZSgnYm9vbGVhbicpO1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdHByb3RlY3RlZCByZWFkb25seSBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcixcblx0XHRwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcixcblx0KSB7XG5cdFx0dGhpcy5vYnNlcnZlciA9IHRoaXMuYnJlYWtwb2ludE9ic2VydmVyXG5cdFx0XHQub2JzZXJ2ZSh0aGlzLmJyZWFrcG9pbnRzKVxuXHRcdFx0LnBpcGUobWFwKChzdGF0ZTogQnJlYWtwb2ludFN0YXRlKSA9PiBzdGF0ZS5tYXRjaGVzKSk7XG5cdH1cblxuXHRuZ09uQ2hhbmdlcyh7IHByb3BlcnRpZXMgfTogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuXHRcdGlmIChwcm9wZXJ0aWVzICYmIHRoaXMucHJvcGVydGllcykge1xuXHRcdFx0dGhpcy5wcm9wZXJ0eUNvbnRyb2xzID0gb2JqZWN0S2V5cyh0aGlzLnByb3BlcnRpZXMpXG5cdFx0XHRcdC5maWx0ZXIoKGtleToga2V5b2YgUCkgPT4gdGhpcy5pZ25vcmVJbnB1dHM/LmluY2x1ZGVzKFN0cmluZyhrZXkpKSAhPT0gdHJ1ZSlcblx0XHRcdFx0Lm1hcCgoa2V5OiBrZXlvZiBQKSA9PiB7XG5cdFx0XHRcdFx0aWYgKHRoaXMucHJvcGVydGllcykge1xuXHRcdFx0XHRcdFx0Y29uc3QgcHJvcGVydHk6IE5nRG9jUGxheWdyb3VuZFByb3BlcnR5ID0gdGhpcy5wcm9wZXJ0aWVzW2tleV07XG5cdFx0XHRcdFx0XHRjb25zdCB0eXBlQ29udHJvbDogTmdEb2NQcm92aWRlZFR5cGVDb250cm9sIHwgdW5kZWZpbmVkID0gdGhpcy5nZXRUeXBlQ29udHJvbChwcm9wZXJ0eSk7XG5cblx0XHRcdFx0XHRcdGlmICh0eXBlQ29udHJvbCkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdFx0XHRcdHByb3BlcnR5TmFtZTogU3RyaW5nKGtleSksXG5cdFx0XHRcdFx0XHRcdFx0cHJvcGVydHksXG5cdFx0XHRcdFx0XHRcdFx0dHlwZUNvbnRyb2wsXG5cdFx0XHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC5maWx0ZXIoaXNQcmVzZW50KVxuXHRcdFx0XHQuc29ydCgoYTogTmdEb2NQbGF5Z3JvdW5kUHJvcGVydHlDb250cm9sLCBiOiBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0eUNvbnRyb2wpID0+IHtcblx0XHRcdFx0XHRjb25zdCBhT3JkZXI6IG51bWJlciB8IHVuZGVmaW5lZCA9IGEudHlwZUNvbnRyb2wub3B0aW9ucz8ub3JkZXI7XG5cdFx0XHRcdFx0Y29uc3QgYk9yZGVyOiBudW1iZXIgfCB1bmRlZmluZWQgPSBiLnR5cGVDb250cm9sLm9wdGlvbnM/Lm9yZGVyO1xuXG5cdFx0XHRcdFx0aWYgKGlzUHJlc2VudChhT3JkZXIpICYmIGlzUHJlc2VudChiT3JkZXIpKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gYU9yZGVyIC0gYk9yZGVyO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpZiAoaXNQcmVzZW50KGFPcmRlcikpIHtcblx0XHRcdFx0XHRcdHJldHVybiAtMTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aWYgKGlzUHJlc2VudChiT3JkZXIpKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gMTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuIGEucHJvcGVydHkuaW5wdXROYW1lLmxvY2FsZUNvbXBhcmUoYi5wcm9wZXJ0eS5pbnB1dE5hbWUpO1xuXHRcdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRnZXRGb3JtQ29udHJvbChjb250cm9sVHlwZToga2V5b2YgdHlwZW9mIHRoaXMuZm9ybS5jb250cm9scywga2V5OiBzdHJpbmcpOiBGb3JtQ29udHJvbCB7XG5cdFx0cmV0dXJuIHRoaXMuZm9ybS5nZXQoY29udHJvbFR5cGUpPy5nZXQoa2V5KSBhcyBGb3JtQ29udHJvbDtcblx0fVxuXG5cdHByaXZhdGUgZ2V0VHlwZUNvbnRyb2wocHJvcGVydHk6IE5nRG9jUGxheWdyb3VuZFByb3BlcnR5KTogTmdEb2NQcm92aWRlZFR5cGVDb250cm9sIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCB0eXBlOiBzdHJpbmcgPSBwcm9wZXJ0eS50eXBlO1xuXHRcdGNvbnN0IHR5cGVDb250cm9sOiBOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2wgfCB1bmRlZmluZWQgPVxuXHRcdFx0dGhpcy5nZXRDb250cm9sRm9yVHlwZSh0eXBlKSA/P1xuXHRcdFx0dGhpcy5nZXRDb250cm9sRm9yVHlwZUFsaWFzKGlzUGxheWdyb3VuZFByb3BlcnR5KHByb3BlcnR5KSA/IHByb3BlcnR5Lm9wdGlvbnMgOiB1bmRlZmluZWQpO1xuXG5cdFx0aWYgKCF0eXBlQ29udHJvbCAmJiBpc0Rldk1vZGUoKSkge1xuXHRcdFx0Y29uc29sZS53YXJuKFxuXHRcdFx0XHRgTmdEb2NQbGF5Z3JvdW5kIGRpZG4ndCBmaW5kIHRoZSBjb250cm9sIGZvciB0aGUgQElucHV0IFwiJHtwcm9wZXJ0eS5pbnB1dE5hbWV9XCIsIHRoZSB0eXBlIFwiJHt0eXBlfVwiIHdhcyBub3QgcmVjb2duaXplZCdgLFxuXHRcdFx0KTtcblx0XHR9XG5cblx0XHRyZXR1cm4gdHlwZUNvbnRyb2w7XG5cdH1cblxuXHRwcml2YXRlIGdldENvbnRyb2xGb3JUeXBlKHR5cGU6IHN0cmluZyk6IE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbCB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3QgdG9rZW46IEluamVjdGlvblRva2VuPE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbD4gfCB1bmRlZmluZWQgPSBnZXRUb2tlbkZvclR5cGUodHlwZSk7XG5cblx0XHRyZXR1cm4gdG9rZW4gPyB0aGlzLmluamVjdG9yLmdldCh0b2tlbikgOiB1bmRlZmluZWQ7XG5cdH1cblxuXHRwcml2YXRlIGdldENvbnRyb2xGb3JUeXBlQWxpYXMob3B0aW9ucz86IHN0cmluZ1tdKTogTmdEb2NQcm92aWRlZFR5cGVDb250cm9sIHwgdW5kZWZpbmVkIHtcblx0XHRpZiAob3B0aW9ucyAmJiBvcHRpb25zLmxlbmd0aCkge1xuXHRcdFx0bGV0IG9wdGlvbnNJc1ZhbGlkOiBib29sZWFuID0gdHJ1ZTtcblxuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Ly8gY2hlY2tpbmcgdGhhdCBhbGwgdmFsdWVzIGFyZSBleHRyYWN0YWJsZVxuXHRcdFx0XHRvcHRpb25zLmZvckVhY2goKGl0ZW06IHN0cmluZykgPT4gZXh0cmFjdFZhbHVlT3JUaHJvdyhpdGVtKSk7XG5cdFx0XHR9IGNhdGNoIHtcblx0XHRcdFx0b3B0aW9uc0lzVmFsaWQgPSBmYWxzZTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKG9wdGlvbnNJc1ZhbGlkKSB7XG5cdFx0XHRcdGNvbnN0IHRva2VuOiBJbmplY3Rpb25Ub2tlbjxOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2w+IHwgdW5kZWZpbmVkID1cblx0XHRcdFx0XHRnZXRUb2tlbkZvclR5cGUoJ05nRG9jVHlwZUFsaWFzJyk7XG5cblx0XHRcdFx0cmV0dXJuIHRva2VuID8gdGhpcy5pbmplY3Rvci5nZXQodG9rZW4pIDogdW5kZWZpbmVkO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cbn1cbiIsIjxkaXZcblx0Y2xhc3M9XCJuZy1kb2MtcGxheWdyb3VuZC1wcm9wZXJ0aWVzLXdyYXBwZXJcIlxuXHRbY2xhc3MudmVydGljYWxdPVwib2JzZXJ2ZXIgfCBhc3luY1wiXG5cdCpuZ0lmPVwiZGVmYXVsdFZhbHVlc1wiPlxuXHQ8ZGl2IGNsYXNzPVwibmctZG9jLXBsYXlncm91bmQtZGVtb3NcIj5cblx0XHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cdDwvZGl2PlxuXHQ8ZGl2IGNsYXNzPVwibmctZG9jLXBsYXlncm91bmQtcHJvcGVydGllc1wiICpuZ0lmPVwiIWhpZGVTaWRlUGFuZWxcIj5cblx0XHQ8ZGl2IGNsYXNzPVwibmctZG9jLXBsYXlncm91bmQtaGVhZGVyXCI+XG5cdFx0XHQ8aDQgbmctZG9jLXRleHQ+UGxheWdyb3VuZDwvaDQ+XG5cdFx0XHQ8YnV0dG9uIG5nLWRvYy1idXR0b24gY29sb3I9XCJhbGVydFwiIChjbGljayk9XCJyZXNldEZvcm0uZW1pdCgpXCIgKm5nSWY9XCJzaG93UmVzZXRCdXR0b25cIj5cblx0XHRcdFx0UmVzZXRcblx0XHRcdDwvYnV0dG9uPlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJuZy1kb2MtcGxheWdyb3VuZC1zZXR0aW5nXCI+XG5cdFx0XHQ8bmctZG9jLWNoZWNrYm94IFsobmdNb2RlbCldPVwicmVjcmVhdGVEZW1vXCIgKG5nTW9kZWxDaGFuZ2UpPVwicmVjcmVhdGVEZW1vQ2hhbmdlLmVtaXQoJGV2ZW50KVwiPlxuXHRcdFx0XHQ8c3BhblxuXHRcdFx0XHRcdG5nLWRvYy10ZXh0XG5cdFx0XHRcdFx0W25nRG9jVG9vbHRpcF09XCInUmVjcmVhdGVzIGRlbW8gZXZlcnl0aW1lXFxub25lIG9mIHRoZSBpbnB1dCBoYXMgY2hhbmdlZCdcIlxuXHRcdFx0XHRcdFtwb3NpdGlvbnNdPVwiWydib3R0b20tcmlnaHQnLCAnbGVmdC1jZW50ZXInXVwiPlxuXHRcdFx0XHRcdFJlY3JlYXRlXG5cdFx0XHRcdFx0PG5nLWRvYy1pY29uIGljb249XCJpbmZvXCIgbmdEb2NUZXh0UmlnaHQ+PC9uZy1kb2MtaWNvbj5cblx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0PC9uZy1kb2MtY2hlY2tib3g+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz1cIm5nLWRvYy1wbGF5Z3JvdW5kLWRpdmlkZXJcIj48L2Rpdj5cblx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwicHJvcGVydHlDb250cm9scy5sZW5ndGhcIj5cblx0XHRcdDxoNSBjbGFzcz1cIm5nLWRvYy10aXRsZVwiIG5nLWRvYy10ZXh0PlNldHRpbmdzPC9oNT5cblx0XHRcdDxuZy1kb2MtcGxheWdyb3VuZC1wcm9wZXJ0eVxuXHRcdFx0XHQqbmdGb3I9XCJsZXQgcHJvcGVydHlDb250cm9sIG9mIHByb3BlcnR5Q29udHJvbHNcIlxuXHRcdFx0XHRbbmFtZV09XCJwcm9wZXJ0eUNvbnRyb2wucHJvcGVydHkuaW5wdXROYW1lXCJcblx0XHRcdFx0W3Byb3BlcnR5XT1cInByb3BlcnR5Q29udHJvbC5wcm9wZXJ0eVwiXG5cdFx0XHRcdFt0eXBlQ29udHJvbF09XCJwcm9wZXJ0eUNvbnRyb2wudHlwZUNvbnRyb2xcIlxuXHRcdFx0XHRbZGVmYXVsdFZhbHVlXT1cImRlZmF1bHRWYWx1ZXNbcHJvcGVydHlDb250cm9sLnByb3BlcnR5TmFtZV1cIlxuXHRcdFx0XHRbY29udHJvbF09XCJcblx0XHRcdFx0XHRnZXRGb3JtQ29udHJvbCB8IGJpbmQ6IHRoaXMgfCBleGVjdXRlOiAncHJvcGVydGllcyc6cHJvcGVydHlDb250cm9sLnByb3BlcnR5TmFtZVxuXHRcdFx0XHRcIj5cblx0XHRcdDwvbmctZG9jLXBsYXlncm91bmQtcHJvcGVydHk+XG5cdFx0PC9uZy1jb250YWluZXI+XG5cblx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiKGR5bmFtaWNDb250ZW50IHwga2V5dmFsdWUpPy5sZW5ndGhcIj5cblx0XHRcdDxoNSBjbGFzcz1cIm5nLWRvYy10aXRsZVwiIG5nLWRvYy10ZXh0PkNvbnRlbnQ8L2g1PlxuXHRcdFx0PG5nLWRvYy1wbGF5Z3JvdW5kLXByb3BlcnR5XG5cdFx0XHRcdCpuZ0Zvcj1cImxldCBjb250ZW50IG9mIGR5bmFtaWNDb250ZW50IHwga2V5dmFsdWVcIlxuXHRcdFx0XHRbbmFtZV09XCJjb250ZW50LnZhbHVlLmxhYmVsXCJcblx0XHRcdFx0W3Byb3BlcnR5XT1cImNvbnRlbnQudmFsdWVcIlxuXHRcdFx0XHRbdHlwZUNvbnRyb2xdPVwiY29udGVudFR5cGVDb250cm9sXCJcblx0XHRcdFx0W2NvbnRyb2xdPVwiZ2V0Rm9ybUNvbnRyb2wgfCBiaW5kOiB0aGlzIHwgZXhlY3V0ZTogJ2NvbnRlbnQnOmNvbnRlbnQua2V5XCI+XG5cdFx0XHQ8L25nLWRvYy1wbGF5Z3JvdW5kLXByb3BlcnR5PlxuXHRcdDwvbmctY29udGFpbmVyPlxuXHQ8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -34,7 +34,9 @@ class NgDocPlaygroundPropertyComponent {
|
|
|
34
34
|
return !!this.propertyTypeControl;
|
|
35
35
|
}
|
|
36
36
|
get tooltipContent() {
|
|
37
|
-
return this.property && isPlaygroundProperty(this.property)
|
|
37
|
+
return this.property && isPlaygroundProperty(this.property)
|
|
38
|
+
? this.property.description ?? ''
|
|
39
|
+
: '';
|
|
38
40
|
}
|
|
39
41
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocPlaygroundPropertyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40
42
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocPlaygroundPropertyComponent, isStandalone: true, selector: "ng-doc-playground-property", inputs: { name: "name", property: "property", typeControl: "typeControl", control: "control", defaultValue: "defaultValue" }, host: { properties: { "attr.data-has-property-control": "this.hasPropertyControl" } }, viewQueries: [{ propertyName: "propertyOutlet", first: true, predicate: ["propertyOutlet"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<label [ng-doc-label]=\"option?.hideLabel ? '' : labelContent\">\n\t<ng-template #labelContent>\n\t\t<span\n\t\t\t[ngDocTooltip]=\"tooltipTemplate\"\n\t\t\t[canOpen]=\"!!tooltipContent\"\n\t\t\t[positions]=\"['left-center', 'top-right', 'bottom-right']\"\n\t\t\t>{{ name }}</span\n\t\t>\n\t\t<ng-template #tooltipTemplate>\n\t\t\t<div [innerHTML]=\"tooltipContent | ngDocSanitizeHtml\"></div>\n\t\t</ng-template>\n\t</ng-template>\n\t<ng-container #propertyOutlet></ng-container>\n</label>\n", styles: [":host{display:block}:host[data-has-property-control=false]{display:none}\n"], dependencies: [{ kind: "component", type: NgDocLabelComponent, selector: "label[ng-doc-label]", inputs: ["ng-doc-label", "align"] }, { kind: "directive", type: NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "pipe", type: NgDocSanitizeHtmlPipe, name: "ngDocSanitizeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
@@ -60,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
60
62
|
type: HostBinding,
|
|
61
63
|
args: ['attr.data-has-property-control']
|
|
62
64
|
}] } });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC1wcm9wZXJ0eS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3BsYXlncm91bmQvcGxheWdyb3VuZC1wcm9wZXJ0eS9wbGF5Z3JvdW5kLXByb3BlcnR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLXByb3BlcnR5L3BsYXlncm91bmQtcHJvcGVydHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsV0FBVyxFQUNYLEtBQUssRUFHTCxTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQU0zRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFNUUsTUFRYSxnQ0FBZ0M7SUFSN0M7UUFVQyxTQUFJLEdBQVcsRUFBRSxDQUFDO0tBNERsQjtJQXhDQSxXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQWlCO1FBQzFFLElBQUksQ0FBQyxRQUFRLElBQUksT0FBTyxJQUFJLFdBQVcsSUFBSSxZQUFZLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDOUYsSUFBSSxDQUFDLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxT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blx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0Q29tcG9uZW50UmVmLFxuXHRIb3N0QmluZGluZyxcblx0SW5wdXQsXG5cdE9uQ2hhbmdlcyxcblx0U2ltcGxlQ2hhbmdlcyxcblx0Vmlld0NoaWxkLFxuXHRWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgaXNQbGF5Z3JvdW5kUHJvcGVydHkgfSBmcm9tICdAbmctZG9jL2FwcC9oZWxwZXJzJztcbmltcG9ydCB7XG5cdE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbCxcblx0TmdEb2NUeXBlQ29udHJvbCxcblx0TmdEb2NUeXBlQ29udHJvbFByb3ZpZGVyT3B0aW9ucyxcbn0gZnJvbSAnQG5nLWRvYy9hcHAvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBOZ0RvY1Nhbml0aXplSHRtbFBpcGUgfSBmcm9tICdAbmctZG9jL2FwcC9waXBlcyc7XG5pbXBvcnQgeyBOZ0RvY1BsYXlncm91bmRDb250ZW50LCBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0eSB9IGZyb20gJ0BuZy1kb2MvY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE5nRG9jTGFiZWxDb21wb25lbnQsIE5nRG9jVG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJ0BuZy1kb2MvdWkta2l0JztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmctZG9jLXBsYXlncm91bmQtcHJvcGVydHknLFxuXHR0ZW1wbGF0ZVVybDogJy4vcGxheWdyb3VuZC1wcm9wZXJ0eS5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL3BsYXlncm91bmQtcHJvcGVydHkuY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtOZ0RvY0xhYmVsQ29tcG9uZW50LCBOZ0RvY1Rvb2x0aXBEaXJlY3RpdmUsIE5nRG9jU2FuaXRpemVIdG1sUGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIE5nRG9jUGxheWdyb3VuZFByb3BlcnR5Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcblx0QElucHV0KClcblx0bmFtZTogc3RyaW5nID0gJyc7XG5cblx0QElucHV0KClcblx0cHJvcGVydHk/OiBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0eSB8IE5nRG9jUGxheWdyb3VuZENvbnRlbnQ7XG5cblx0QElucHV0KClcblx0dHlwZUNvbnRyb2w/OiBOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2w7XG5cblx0QElucHV0KClcblx0Y29udHJvbD86IEZvcm1Db250cm9sO1xuXG5cdEBJbnB1dCgpXG5cdGRlZmF1bHRWYWx1ZT86IHVua25vd247XG5cblx0QFZpZXdDaGlsZCgncHJvcGVydHlPdXRsZXQnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuXHRwcm9wZXJ0eU91dGxldD86IFZpZXdDb250YWluZXJSZWY7XG5cblx0cHJvdGVjdGVkIG9wdGlvbj86IE5nRG9jVHlwZUNvbnRyb2xQcm92aWRlck9wdGlvbnM7XG5cdHByaXZhdGUgcHJvcGVydHlUeXBlQ29udHJvbD86IENvbXBvbmVudFJlZjxOZ0RvY1R5cGVDb250cm9sPjtcblxuXHRuZ09uQ2hhbmdlcyh7IHByb3BlcnR5LCBjb250cm9sLCB0eXBlQ29udHJvbCwgZGVmYXVsdFZhbHVlIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcblx0XHRpZiAoKHByb3BlcnR5IHx8IGNvbnRyb2wgfHwgdHlwZUNvbnRyb2wgfHwgZGVmYXVsdFZhbHVlKSAmJiB0aGlzLnByb3BlcnR5ICYmIHRoaXMudHlwZUNvbnRyb2wpIHtcblx0XHRcdHRoaXMucHJvcGVydHlUeXBlQ29udHJvbD8uZGVzdHJveSgpO1xuXHRcdFx0dGhpcy5wcm9wZXJ0eVR5cGVDb250cm9sID0gdW5kZWZpbmVkO1xuXG5cdFx0XHRpZiAodGhpcy50eXBlQ29udHJvbCAmJiB0aGlzLnByb3BlcnR5T3V0bGV0KSB7XG5cdFx0XHRcdHRoaXMucHJvcGVydHlUeXBlQ29udHJvbCA9IHRoaXMucHJvcGVydHlPdXRsZXQuY3JlYXRlQ29tcG9uZW50KHRoaXMudHlwZUNvbnRyb2wuY29udHJvbCk7XG5cdFx0XHRcdHRoaXMucHJvcGVydHlUeXBlQ29udHJvbC5pbnN0YW5jZS5uYW1lID0gdGhpcy5uYW1lO1xuXHRcdFx0XHR0aGlzLnByb3BlcnR5VHlwZUNvbnRyb2wuaW5zdGFuY2UuZGVzY3JpcHRpb24gPSB0aGlzLnRvb2x0aXBDb250ZW50O1xuXHRcdFx0XHR0aGlzLnByb3BlcnR5VHlwZUNvbnRyb2wuaW5zdGFuY2Uub3B0aW9ucyA9IGlzUGxheWdyb3VuZFByb3BlcnR5KHRoaXMucHJvcGVydHkpXG5cdFx0XHRcdFx0PyB0aGlzLnByb3BlcnR5Lm9wdGlvbnNcblx0XHRcdFx0XHQ6IHVuZGVmaW5lZDtcblx0XHRcdFx0dGhpcy5wcm9wZXJ0eVR5cGVDb250cm9sLmluc3RhbmNlLmRlZmF1bHQgPSB0aGlzLmRlZmF1bHRWYWx1ZTtcblx0XHRcdFx0dGhpcy5wcm9wZXJ0eVR5cGVDb250cm9sLmluc3RhbmNlLndyaXRlVmFsdWUodGhpcy5jb250cm9sPy52YWx1ZSk7XG5cblx0XHRcdFx0dGhpcy5vcHRpb24gPSB0aGlzLnR5cGVDb250cm9sLm9wdGlvbnM7XG5cdFx0XHR9XG5cblx0XHRcdGlmICh0aGlzLmNvbnRyb2wpIHtcblx0XHRcdFx0dGhpcy5jb250cm9sPy5yZWdpc3Rlck9uQ2hhbmdlKCh2YWx1ZTogc3RyaW5nKSA9PlxuXHRcdFx0XHRcdHRoaXMucHJvcGVydHlUeXBlQ29udHJvbD8uaW5zdGFuY2U/LndyaXRlVmFsdWUodmFsdWUpLFxuXHRcdFx0XHQpO1xuXHRcdFx0XHR0aGlzLnByb3BlcnR5VHlwZUNvbnRyb2w/Lmluc3RhbmNlLnJlZ2lzdGVyT25DaGFuZ2UoKHZhbHVlOiB1bmtub3duKSA9PlxuXHRcdFx0XHRcdHRoaXMuY29udHJvbD8uc2V0VmFsdWUodmFsdWUpLFxuXHRcdFx0XHQpO1xuXHRcdFx0XHR0aGlzLnByb3BlcnR5VHlwZUNvbnRyb2w/Lmluc3RhbmNlLnJlZ2lzdGVyT25Ub3VjaGVkKCgpID0+IHRoaXMuY29udHJvbD8ubWFya0FzVG91Y2hlZCgpKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1oYXMtcHJvcGVydHktY29udHJvbCcpXG5cdGdldCBoYXNQcm9wZXJ0eUNvbnRyb2woKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuICEhdGhpcy5wcm9wZXJ0eVR5cGVDb250cm9sO1xuXHR9XG5cblx0Z2V0IHRvb2x0aXBDb250ZW50KCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMucHJvcGVydHkgJiYgaXNQbGF5Z3JvdW5kUHJvcGVydHkodGhpcy5wcm9wZXJ0eSlcblx0XHRcdD8gdGhpcy5wcm9wZXJ0eS5kZXNjcmlwdGlvbiA/PyAnJ1xuXHRcdFx0OiAnJztcblx0fVxufVxuIiwiPGxhYmVsIFtuZy1kb2MtbGFiZWxdPVwib3B0aW9uPy5oaWRlTGFiZWwgPyAnJyA6IGxhYmVsQ29udGVudFwiPlxuXHQ8bmctdGVtcGxhdGUgI2xhYmVsQ29udGVudD5cblx0XHQ8c3BhblxuXHRcdFx0W25nRG9jVG9vbHRpcF09XCJ0b29sdGlwVGVtcGxhdGVcIlxuXHRcdFx0W2Nhbk9wZW5dPVwiISF0b29sdGlwQ29udGVudFwiXG5cdFx0XHRbcG9zaXRpb25zXT1cIlsnbGVmdC1jZW50ZXInLCAndG9wLXJpZ2h0JywgJ2JvdHRvbS1yaWdodCddXCJcblx0XHRcdD57eyBuYW1lIH19PC9zcGFuXG5cdFx0PlxuXHRcdDxuZy10ZW1wbGF0ZSAjdG9vbHRpcFRlbXBsYXRlPlxuXHRcdFx0PGRpdiBbaW5uZXJIVE1MXT1cInRvb2x0aXBDb250ZW50IHwgbmdEb2NTYW5pdGl6ZUh0bWxcIj48L2Rpdj5cblx0XHQ8L25nLXRlbXBsYXRlPlxuXHQ8L25nLXRlbXBsYXRlPlxuXHQ8bmctY29udGFpbmVyICNwcm9wZXJ0eU91dGxldD48L25nLWNvbnRhaW5lcj5cbjwvbGFiZWw+XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC1wcm9wZXJ0eS1jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvY29tcG9uZW50cy9wbGF5Z3JvdW5kL3BsYXlncm91bmQtcHJvcGVydHktY29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdEb2NQcm92aWRlZFR5cGVDb250cm9sIH0gZnJvbSAnQG5nLWRvYy9hcHAvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0eSB9IGZyb20gJ0BuZy1kb2MvY29yZS9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGludGVyZmFjZSBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0eUNvbnRyb2wge1xuXHRwcm9wZXJ0eU5hbWU6IHN0cmluZztcblx0cHJvcGVydHk6IE5nRG9jUGxheWdyb3VuZFByb3BlcnR5O1xuXHR0eXBlQ29udHJvbDogTmdEb2NQcm92aWRlZFR5cGVDb250cm9sO1xufVxuIl19
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { NgFor, NgIf } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
|
|
3
3
|
import { FormBuilder } from '@angular/forms';
|
|
4
4
|
import { NgDocRootPage } from '@ng-doc/app/classes/root-page';
|
|
5
|
+
import { isSameObject } from '@ng-doc/core';
|
|
5
6
|
import { objectKeys } from '@ng-doc/core/helpers/object-keys';
|
|
6
7
|
import { NgDocAsArrayPipe } from '@ng-doc/ui-kit';
|
|
7
8
|
import { NgDocPlaygroundDemoComponent } from './playground-demo/playground-demo.component';
|
|
@@ -18,6 +19,8 @@ class NgDocPlaygroundComponent {
|
|
|
18
19
|
this.selectors = [];
|
|
19
20
|
this.options = {};
|
|
20
21
|
this.recreateDemo = false;
|
|
22
|
+
this.defaultProperties = {};
|
|
23
|
+
this.defaultContent = {};
|
|
21
24
|
}
|
|
22
25
|
ngOnChanges({ options }) {
|
|
23
26
|
if (options) {
|
|
@@ -26,18 +29,27 @@ class NgDocPlaygroundComponent {
|
|
|
26
29
|
}
|
|
27
30
|
}
|
|
28
31
|
ngAfterViewInit() {
|
|
29
|
-
|
|
30
|
-
|
|
32
|
+
this.defaultProperties = this.getPropertiesFormValues();
|
|
33
|
+
this.defaultContent = this.getContentFormValues();
|
|
34
|
+
const propertiesForm = this.formBuilder.group(this.defaultProperties);
|
|
35
|
+
const contentForm = this.formBuilder.group(this.defaultContent);
|
|
31
36
|
this.formGroup = this.formBuilder.group({
|
|
32
37
|
properties: propertiesForm,
|
|
33
38
|
content: contentForm,
|
|
34
39
|
});
|
|
35
40
|
// `patchValue` is needed to set `undefined` values, otherwise they will be ignored by the Angular form
|
|
36
41
|
this.formGroup.patchValue({
|
|
37
|
-
properties: Object.assign({}, this.
|
|
38
|
-
content: this.
|
|
42
|
+
properties: Object.assign({}, this.defaultProperties, this.configuration.inputs),
|
|
43
|
+
content: this.defaultContent,
|
|
39
44
|
});
|
|
40
45
|
}
|
|
46
|
+
isDefaultState() {
|
|
47
|
+
if (!this.formGroup) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
return (isSameObject(this.formGroup.value.properties ?? {}, this.defaultValues ?? {}) &&
|
|
51
|
+
isSameObject(this.formGroup.value.content ?? {}, this.defaultContent ?? {}));
|
|
52
|
+
}
|
|
41
53
|
getPropertiesFormValues() {
|
|
42
54
|
const formValues = objectKeys(this.properties ?? {}).reduce((controls, key) => {
|
|
43
55
|
if (this.properties) {
|
|
@@ -56,18 +68,25 @@ class NgDocPlaygroundComponent {
|
|
|
56
68
|
}, {});
|
|
57
69
|
}
|
|
58
70
|
resetForm() {
|
|
71
|
+
this.formGroup.reset({}, { emitEvent: false });
|
|
59
72
|
this.formGroup?.patchValue({
|
|
60
|
-
properties: this.
|
|
61
|
-
content: this.
|
|
73
|
+
properties: this.defaultProperties,
|
|
74
|
+
content: this.defaultContent,
|
|
62
75
|
});
|
|
63
76
|
}
|
|
64
77
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocPlaygroundComponent, deps: [{ token: i1.NgDocRootPage }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
65
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocPlaygroundComponent, isStandalone: true, selector: "ng-doc-playground", inputs: { id: "id", pipeName: "pipeName", selectors: "selectors", properties: "properties", options: "options" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"configuration\">\n\t<ng-doc-playground-properties\n\t\t[form]=\"formGroup\"\n\t\t[properties]=\"properties\"\n\t\t[ignoreInputs]=\"configuration.hiddenInputs\"\n\t\t[dynamicContent]=\"configuration.content\"\n\t\t[hideSidePanel]=\"configuration.hideSidePanel ?? false\"\n\t\t[defaultValues]=\"defaultValues\"\n\t\t[(recreateDemo)]=\"recreateDemo\"\n\t\t(resetForm)=\"resetForm()\">\n\t\t<ng-doc-playground-demo\n\t\t\t*ngFor=\"let selector of configuration.selectors ?? selectors | asArray\"\n\t\t\t[id]=\"id\"\n\t\t\t[selector]=\"selector\"\n\t\t\t[properties]=\"properties\"\n\t\t\t[configuration]=\"configuration\"\n\t\t\t[recreateDemo]=\"recreateDemo\"\n\t\t\t[form]=\"formGroup\"\n\t\t\t[expanded]=\"configuration.expanded ?? false\">\n\t\t</ng-doc-playground-demo>\n\n\t\t<ng-doc-playground-demo\n\t\t\t*ngIf=\"pipeName\"\n\t\t\t[id]=\"id\"\n\t\t\t[pipeName]=\"pipeName\"\n\t\t\t[properties]=\"properties\"\n\t\t\t[configuration]=\"configuration\"\n\t\t\t[recreateDemo]=\"recreateDemo\"\n\t\t\t[form]=\"formGroup\">\n\t\t</ng-doc-playground-demo>\n\t</ng-doc-playground-properties>\n</ng-container>\n", styles: [":host{display:block;margin:var(--ng-doc-playground-margin)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocPlaygroundPropertiesComponent, selector: "ng-doc-playground-properties", inputs: ["form", "properties", "ignoreInputs", "dynamicContent", "defaultValues", "hideSidePanel", "recreateDemo"], outputs: ["recreateDemoChange", "resetForm"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: NgDocPlaygroundDemoComponent, selector: "ng-doc-playground-demo", inputs: ["id", "pipeName", "selector", "configuration", "properties", "recreateDemo", "form", "expanded"] }, { kind: "pipe", type: NgDocAsArrayPipe, name: "asArray" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
78
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocPlaygroundComponent, isStandalone: true, selector: "ng-doc-playground", inputs: { id: "id", pipeName: "pipeName", selectors: "selectors", properties: "properties", options: "options" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"configuration\">\n\t<ng-doc-playground-properties\n\t\t[form]=\"formGroup\"\n\t\t[properties]=\"properties\"\n\t\t[ignoreInputs]=\"configuration.hiddenInputs\"\n\t\t[dynamicContent]=\"configuration.content\"\n\t\t[hideSidePanel]=\"configuration.hideSidePanel ?? false\"\n\t\t[defaultValues]=\"defaultValues\"\n\t\t[showResetButton]=\"!isDefaultState()\"\n\t\t[(recreateDemo)]=\"recreateDemo\"\n\t\t(resetForm)=\"resetForm()\">\n\t\t<ng-doc-playground-demo\n\t\t\t*ngFor=\"let selector of configuration.selectors ?? selectors | asArray\"\n\t\t\t[id]=\"id\"\n\t\t\t[selector]=\"selector\"\n\t\t\t[properties]=\"properties\"\n\t\t\t[configuration]=\"configuration\"\n\t\t\t[recreateDemo]=\"recreateDemo\"\n\t\t\t[form]=\"formGroup\"\n\t\t\t[expanded]=\"configuration.expanded ?? false\">\n\t\t</ng-doc-playground-demo>\n\n\t\t<ng-doc-playground-demo\n\t\t\t*ngIf=\"pipeName\"\n\t\t\t[id]=\"id\"\n\t\t\t[pipeName]=\"pipeName\"\n\t\t\t[properties]=\"properties\"\n\t\t\t[configuration]=\"configuration\"\n\t\t\t[recreateDemo]=\"recreateDemo\"\n\t\t\t[form]=\"formGroup\">\n\t\t</ng-doc-playground-demo>\n\t</ng-doc-playground-properties>\n</ng-container>\n", styles: [":host{display:block;margin:var(--ng-doc-playground-margin)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocPlaygroundPropertiesComponent, selector: "ng-doc-playground-properties", inputs: ["form", "properties", "ignoreInputs", "dynamicContent", "defaultValues", "hideSidePanel", "recreateDemo", "showResetButton"], outputs: ["recreateDemoChange", "resetForm"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: NgDocPlaygroundDemoComponent, selector: "ng-doc-playground-demo", inputs: ["id", "pipeName", "selector", "configuration", "properties", "recreateDemo", "form", "expanded"] }, { kind: "pipe", type: NgDocAsArrayPipe, name: "asArray" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
66
79
|
}
|
|
67
80
|
export { NgDocPlaygroundComponent };
|
|
68
81
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocPlaygroundComponent, decorators: [{
|
|
69
82
|
type: Component,
|
|
70
|
-
args: [{ selector: 'ng-doc-playground', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
83
|
+
args: [{ selector: 'ng-doc-playground', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
84
|
+
NgIf,
|
|
85
|
+
NgDocPlaygroundPropertiesComponent,
|
|
86
|
+
NgFor,
|
|
87
|
+
NgDocPlaygroundDemoComponent,
|
|
88
|
+
NgDocAsArrayPipe,
|
|
89
|
+
], template: "<ng-container *ngIf=\"configuration\">\n\t<ng-doc-playground-properties\n\t\t[form]=\"formGroup\"\n\t\t[properties]=\"properties\"\n\t\t[ignoreInputs]=\"configuration.hiddenInputs\"\n\t\t[dynamicContent]=\"configuration.content\"\n\t\t[hideSidePanel]=\"configuration.hideSidePanel ?? false\"\n\t\t[defaultValues]=\"defaultValues\"\n\t\t[showResetButton]=\"!isDefaultState()\"\n\t\t[(recreateDemo)]=\"recreateDemo\"\n\t\t(resetForm)=\"resetForm()\">\n\t\t<ng-doc-playground-demo\n\t\t\t*ngFor=\"let selector of configuration.selectors ?? selectors | asArray\"\n\t\t\t[id]=\"id\"\n\t\t\t[selector]=\"selector\"\n\t\t\t[properties]=\"properties\"\n\t\t\t[configuration]=\"configuration\"\n\t\t\t[recreateDemo]=\"recreateDemo\"\n\t\t\t[form]=\"formGroup\"\n\t\t\t[expanded]=\"configuration.expanded ?? false\">\n\t\t</ng-doc-playground-demo>\n\n\t\t<ng-doc-playground-demo\n\t\t\t*ngIf=\"pipeName\"\n\t\t\t[id]=\"id\"\n\t\t\t[pipeName]=\"pipeName\"\n\t\t\t[properties]=\"properties\"\n\t\t\t[configuration]=\"configuration\"\n\t\t\t[recreateDemo]=\"recreateDemo\"\n\t\t\t[form]=\"formGroup\">\n\t\t</ng-doc-playground-demo>\n\t</ng-doc-playground-properties>\n</ng-container>\n", styles: [":host{display:block;margin:var(--ng-doc-playground-margin)}\n"] }]
|
|
71
90
|
}], ctorParameters: function () { return [{ type: i1.NgDocRootPage }, { type: i2.FormBuilder }]; }, propDecorators: { id: [{
|
|
72
91
|
type: Input,
|
|
73
92
|
args: [{ required: true }]
|
|
@@ -80,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
80
99
|
}], options: [{
|
|
81
100
|
type: Input
|
|
82
101
|
}] } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3BsYXlncm91bmQvcGxheWdyb3VuZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3BsYXlncm91bmQvcGxheWdyb3VuZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBZ0IsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBMkIsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFDLFdBQVcsRUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFFNUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFFekYsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0seURBQXlELENBQUM7Ozs7QUFFM0csTUFRYSx3QkFBd0I7SUF1QnBDLFlBQTZCLFFBQXVCLEVBQW1CLFdBQXdCO1FBQWxFLGFBQVEsR0FBUixRQUFRLENBQWU7UUFBbUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFuQi9GLE9BQUUsR0FBVyxFQUFFLENBQUM7UUFHaEIsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUd0QixjQUFTLEdBQWEsRUFBRSxDQUFDO1FBTXpCLFlBQU8sR0FBMkIsRUFBRSxDQUFDO1FBRXJDLGlCQUFZLEdBQVksS0FBSyxDQUFDO0lBS29FLENBQUM7SUFFbkcsV0FBVyxDQUFDLEVBQUMs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QUUsZ0JBQWdCLENBQUM7OEhBTTFHLEVBQUU7c0JBREQsS0FBSzt1QkFBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUM7Z0JBSXZCLFFBQVE7c0JBRFAsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdGb3IsIE5nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0FmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQnVpbGRlciwgRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge05nRG9jUm9vdFBhZ2V9IGZyb20gJ0BuZy1kb2MvYXBwL2NsYXNzZXMvcm9vdC1wYWdlJztcbmltcG9ydCB7b2JqZWN0S2V5c30gZnJvbSAnQG5nLWRvYy9jb3JlL2hlbHBlcnMvb2JqZWN0LWtleXMnO1xuaW1wb3J0IHtOZ0RvY1BsYXlncm91bmRDb25maWcsIE5nRG9jUGxheWdyb3VuZE9wdGlvbnMsIE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXN9IGZyb20gJ0BuZy1kb2MvY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7TmdEb2NBc0FycmF5UGlwZX0gZnJvbSAnQG5nLWRvYy91aS1raXQnO1xuXG5pbXBvcnQge05nRG9jUGxheWdyb3VuZERlbW9Db21wb25lbnR9IGZyb20gJy4vcGxheWdyb3VuZC1kZW1vL3BsYXlncm91bmQtZGVtby5jb21wb25lbnQnO1xuaW1wb3J0IHtOZ0RvY1BsYXlncm91bmRGb3JtfSBmcm9tICcuL3BsYXlncm91bmQtZm9ybSc7XG5pbXBvcnQge05nRG9jUGxheWdyb3VuZFByb3BlcnRpZXNDb21wb25lbnR9IGZyb20gJy4vcGxheWdyb3VuZC1wcm9wZXJ0aWVzL3BsYXlncm91bmQtcHJvcGVydGllcy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZy1kb2MtcGxheWdyb3VuZCcsXG5cdHRlbXBsYXRlVXJsOiAnLi9wbGF5Z3JvdW5kLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vcGxheWdyb3VuZC5jb21wb25lbnQuc2NzcyddLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aW1wb3J0czogW05nSWYsIE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXNDb21wb25lbnQsIE5nRm9yLCBOZ0RvY1BsYXlncm91bmREZW1vQ29tcG9uZW50LCBOZ0RvY0FzQXJyYXlQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgTmdEb2NQbGF5Z3JvdW5kQ29tcG9uZW50PFQgZXh0ZW5kcyBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0aWVzID0gTmdEb2NQbGF5Z3JvdW5kUHJvcGVydGllcz5cblx0aW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXRcbntcblx0QElucHV0KHtyZXF1aXJlZDogdHJ1ZX0pXG5cdGlkOiBzdHJpbmcgPSAnJztcblxuXHRASW5wdXQoKVxuXHRwaXBlTmFtZTogc3RyaW5nID0gJyc7XG5cblx0QElucHV0KClcblx0c2VsZWN0b3JzOiBzdHJpbmdbXSA9IFtdO1xuXG5cdEBJbnB1dCgpXG5cdHByb3BlcnRpZXM/OiBUO1xuXG5cdEBJbnB1dCgpXG5cdG9wdGlvbnM6IE5nRG9jUGxheWdyb3VuZE9wdGlvbnMgPSB7fTtcblxuXHRyZWNyZWF0ZURlbW86IGJvb2xlYW4gPSBmYWxzZTtcblx0Zm9ybUdyb3VwITogRm9ybUdyb3VwPE5nRG9jUGxheWdyb3VuZEZvcm0+O1xuXHRkZWZhdWx0VmFsdWVzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cdGNvbmZpZ3VyYXRpb24hOiBOZ0RvY1BsYXlncm91bmRDb25maWc7XG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByb290UGFnZTogTmdEb2NSb290UGFnZSwgcHJpdmF0ZSByZWFkb25seSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIpIHt9XG5cblx0bmdPbkNoYW5nZXMoe29wdGlvbnN9OiBTaW1wbGVDaGFuZ2VzKSB7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdC8vIEpvaW4gY29uZmlndXJhdGlvbiB3aXRoIG9wdGlvbnNcblx0XHRcdHRoaXMuY29uZmlndXJhdGlvbiA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMucm9vdFBhZ2UucGFnZT8ucGxheWdyb3VuZHM/Llt0aGlzLmlkXSwgdGhpcy5vcHRpb25zKTtcblx0XHR9XG5cdH1cblxuXHRuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG5cdFx0Y29uc3QgcHJvcGVydGllc0Zvcm06IEZvcm1Hcm91cCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAodGhpcy5nZXRQcm9wZXJ0aWVzRm9ybVZhbHVlcygpKTtcblx0XHRjb25zdCBjb250ZW50Rm9ybTogRm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh0aGlzLmdldENvbnRlbnRGb3JtVmFsdWVzKCkpO1xuXG5cdFx0dGhpcy5mb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcblx0XHRcdHByb3BlcnRpZXM6IHByb3BlcnRpZXNGb3JtLFxuXHRcdFx0Y29udGVudDogY29udGVudEZvcm0sXG5cdFx0fSk7XG5cdFx0Ly8gYHBhdGNoVmFsdWVgIGlzIG5lZWRlZCB0byBzZXQgYHVuZGVmaW5lZGAgdmFsdWVzLCBvdGhlcndpc2UgdGhleSB3aWxsIGJlIGlnbm9yZWQgYnkgdGhlIEFuZ3VsYXIgZm9ybVxuXHRcdHRoaXMuZm9ybUdyb3VwLnBhdGNoVmFsdWUoe1xuXHRcdFx0cHJvcGVydGllczogT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5nZXRQcm9wZXJ0aWVzRm9ybVZhbHVlcygpLCB0aGlzLmNvbmZpZ3VyYXRpb24uaW5wdXRzKSxcblx0XHRcdGNvbnRlbnQ6IHRoaXMuZ2V0Q29udGVudEZvcm1WYWx1ZXMoKSxcblx0XHR9KTtcblx0fVxuXG5cdHByaXZhdGUgZ2V0UHJvcGVydGllc0Zvcm1WYWx1ZXMoKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuXHRcdGNvbnN0IGZvcm1WYWx1ZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gb2JqZWN0S2V5cyh0aGlzLnByb3BlcnRpZXMgPz8ge30pLnJlZHVjZShcblx0XHRcdChjb250cm9sczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIGtleTogc3RyaW5nKSA9PiB7XG5cdFx0XHRcdGlmICh0aGlzLnByb3BlcnRpZXMpIHtcblx0XHRcdFx0XHRjb250cm9sc1trZXldID0gdGhpcy5kZWZhdWx0VmFsdWVzID8gdGhpcy5kZWZhdWx0VmFsdWVzW2tleV0gOiB1bmRlZmluZWQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRyZXR1cm4gY29udHJvbHM7XG5cdFx0XHR9LFxuXHRcdFx0e30gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG5cdFx0KTtcblxuXHRcdHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBmb3JtVmFsdWVzLCB0aGlzLmNvbmZpZ3VyYXRpb24uZGVmYXVsdHMpO1xuXHR9XG5cblx0cHJpdmF0ZSBnZXRDb250ZW50Rm9ybVZhbHVlcygpOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiB7XG5cdFx0cmV0dXJuIG9iamVjdEtleXModGhpcy5jb25maWd1cmF0aW9uPy5jb250ZW50ID8/IHt9KS5yZWR1Y2UoKGNvbnRyb2xzOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiwga2V5OiBzdHJpbmcpID0+IHtcblx0XHRcdGlmICh0aGlzLmNvbmZpZ3VyYXRpb24/LmNvbnRlbnQpIHtcblx0XHRcdFx0Y29udHJvbHNba2V5XSA9IGZhbHNlO1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gY29udHJvbHM7XG5cdFx0fSwge30gYXMgUmVjb3JkPGtleW9mIFQsIGJvb2xlYW4+KTtcblx0fVxuXG5cdHJlc2V0Rm9ybSgpOiB2b2lkIHtcblx0XHR0aGlzLmZvcm1Hcm91cD8ucGF0Y2hWYWx1ZSh7XG5cdFx0XHRwcm9wZXJ0aWVzOiB0aGlzLmdldFByb3BlcnRpZXNGb3JtVmFsdWVzKCksXG5cdFx0XHRjb250ZW50OiB0aGlzLmdldENvbnRlbnRGb3JtVmFsdWVzKCksXG5cdFx0fSk7XG5cdH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWd1cmF0aW9uXCI+XG5cdDxuZy1kb2MtcGxheWdyb3VuZC1wcm9wZXJ0aWVzXG5cdFx0W2Zvcm1dPVwiZm9ybUdyb3VwXCJcblx0XHRbcHJvcGVydGllc109XCJwcm9wZXJ0aWVzXCJcblx0XHRbaWdub3JlSW5wdXRzXT1cImNvbmZpZ3VyYXRpb24uaGlkZGVuSW5wdXRzXCJcblx0XHRbZHluYW1pY0NvbnRlbnRdPVwiY29uZmlndXJhdGlvbi5jb250ZW50XCJcblx0XHRbaGlkZVNpZGVQYW5lbF09XCJjb25maWd1cmF0aW9uLmhpZGVTaWRlUGFuZWwgPz8gZmFsc2VcIlxuXHRcdFtkZWZhdWx0VmFsdWVzXT1cImRlZmF1bHRWYWx1ZXNcIlxuXHRcdFsocmVjcmVhdGVEZW1vKV09XCJyZWNyZWF0ZURlbW9cIlxuXHRcdChyZXNldEZvcm0pPVwicmVzZXRGb3JtKClcIj5cblx0XHQ8bmctZG9jLXBsYXlncm91bmQtZGVtb1xuXHRcdFx0Km5nRm9yPVwibGV0IHNlbGVjdG9yIG9mIGNvbmZpZ3VyYXRpb24uc2VsZWN0b3JzID8/IHNlbGVjdG9ycyB8IGFzQXJyYXlcIlxuXHRcdFx0W2lkXT1cImlkXCJcblx0XHRcdFtzZWxlY3Rvcl09XCJzZWxlY3RvclwiXG5cdFx0XHRbcHJvcGVydGllc109XCJwcm9wZXJ0aWVzXCJcblx0XHRcdFtjb25maWd1cmF0aW9uXT1cImNvbmZpZ3VyYXRpb25cIlxuXHRcdFx0W3JlY3JlYXRlRGVtb109XCJyZWNyZWF0ZURlbW9cIlxuXHRcdFx0W2Zvcm1dPVwiZm9ybUdyb3VwXCJcblx0XHRcdFtleHBhbmRlZF09XCJjb25maWd1cmF0aW9uLmV4cGFuZGVkID8/IGZhbHNlXCI+XG5cdFx0PC9uZy1kb2MtcGxheWdyb3VuZC1kZW1vPlxuXG5cdFx0PG5nLWRvYy1wbGF5Z3JvdW5kLWRlbW9cblx0XHRcdCpuZ0lmPVwicGlwZU5hbWVcIlxuXHRcdFx0W2lkXT1cImlkXCJcblx0XHRcdFtwaXBlTmFtZV09XCJwaXBlTmFtZVwiXG5cdFx0XHRbcHJvcGVydGllc109XCJwcm9wZXJ0aWVzXCJcblx0XHRcdFtjb25maWd1cmF0aW9uXT1cImNvbmZpZ3VyYXRpb25cIlxuXHRcdFx0W3JlY3JlYXRlRGVtb109XCJyZWNyZWF0ZURlbW9cIlxuXHRcdFx0W2Zvcm1dPVwiZm9ybUdyb3VwXCI+XG5cdFx0PC9uZy1kb2MtcGxheWdyb3VuZC1kZW1vPlxuXHQ8L25nLWRvYy1wbGF5Z3JvdW5kLXByb3BlcnRpZXM+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3BsYXlncm91bmQvcGxheWdyb3VuZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3BsYXlncm91bmQvcGxheWdyb3VuZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFFTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssR0FHTCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBTTlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRTNGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHlEQUF5RCxDQUFDOzs7O0FBRTdHLE1BY2Esd0JBQXdCO0lBMkJwQyxZQUNrQixRQUF1QixFQUN2QixXQUF3QjtRQUR4QixhQUFRLEdBQVIsUUFBUSxDQUFlO1FBQ3ZCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBeEIxQyxPQUFFLEdBQVcsRUFBRSxDQUFDO1FBR2hCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFHdEIsY0FBUyxHQUFhLEVBQUUsQ0FBQztRQU16QixZQUFPLEdBQTJCLEVBQUUsQ0FBQztRQUVyQyxpQkFBWSxHQUFZLEtB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QyxHQUFHLEtBQUssQ0FBQzthQUN0QjtZQUVELE9BQU8sUUFBUSxDQUFDO1FBQ2pCLENBQUMsRUFDRCxFQUE4QixDQUM5QixDQUFDO0lBQ0gsQ0FBQztJQUVELFNBQVM7UUFDUixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQztZQUMxQixVQUFVLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtZQUNsQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGNBQWM7U0FDNUIsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs4R0ExR1csd0JBQXdCO2tHQUF4Qix3QkFBd0Isb05DdENyQyx1cENBaUNBLHVIREZFLElBQUksNkZBQ0osa0NBQWtDLDhQQUNsQyxLQUFLLG1IQUNMLDRCQUE0Qix5S0FDNUIsZ0JBQWdCOztTQUdMLHdCQUF3QjsyRkFBeEIsd0JBQXdCO2tCQWRwQyxTQUFTOytCQUNDLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUixJQUFJO3dCQUNKLGtDQUFrQzt3QkFDbEMsS0FBSzt3QkFDTCw0QkFBNEI7d0JBQzVCLGdCQUFnQjtxQkFDaEI7OEhBT0QsRUFBRTtzQkFERCxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFJekIsUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcblx0QWZ0ZXJWaWV3SW5pdCxcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0SW5wdXQsXG5cdE9uQ2hhbmdlcyxcblx0U2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmdEb2NSb290UGFnZSB9IGZyb20gJ0BuZy1kb2MvYXBwL2NsYXNzZXMvcm9vdC1wYWdlJztcbmltcG9ydCB7IGlzU2FtZU9iamVjdCB9IGZyb20gJ0BuZy1kb2MvY29yZSc7XG5pbXBvcnQgeyBvYmplY3RLZXlzIH0gZnJvbSAnQG5nLWRvYy9jb3JlL2hlbHBlcnMvb2JqZWN0LWtleXMnO1xuaW1wb3J0IHtcblx0TmdEb2NQbGF5Z3JvdW5kQ29uZmlnLFxuXHROZ0RvY1BsYXlncm91bmRPcHRpb25zLFxuXHROZ0RvY1BsYXlncm91bmRQcm9wZXJ0aWVzLFxufSBmcm9tICdAbmctZG9jL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBOZ0RvY0FzQXJyYXlQaXBlIH0gZnJvbSAnQG5nLWRvYy91aS1raXQnO1xuXG5pbXBvcnQgeyBOZ0RvY1BsYXlncm91bmREZW1vQ29tcG9uZW50IH0gZnJvbSAnLi9wbGF5Z3JvdW5kLWRlbW8vcGxheWdyb3VuZC1kZW1vLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ0RvY1BsYXlncm91bmRGb3JtIH0gZnJvbSAnLi9wbGF5Z3JvdW5kLWZvcm0nO1xuaW1wb3J0IHsgTmdEb2NQbGF5Z3JvdW5kUHJvcGVydGllc0NvbXBvbmVudCB9IGZyb20gJy4vcGxheWdyb3VuZC1wcm9wZXJ0aWVzL3BsYXlncm91bmQtcHJvcGVydGllcy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZy1kb2MtcGxheWdyb3VuZCcsXG5cdHRlbXBsYXRlVXJsOiAnLi9wbGF5Z3JvdW5kLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vcGxheWdyb3VuZC5jb21wb25lbnQuc2NzcyddLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aW1wb3J0czogW1xuXHRcdE5nSWYsXG5cdFx0TmdEb2NQbGF5Z3JvdW5kUHJvcGVydGllc0NvbXBvbmVudCxcblx0XHROZ0Zvcixcblx0XHROZ0RvY1BsYXlncm91bmREZW1vQ29tcG9uZW50LFxuXHRcdE5nRG9jQXNBcnJheVBpcGUsXG5cdF0sXG59KVxuZXhwb3J0IGNsYXNzIE5nRG9jUGxheWdyb3VuZENvbXBvbmVudDxcblx0VCBleHRlbmRzIE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXMgPSBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0aWVzLFxuPiBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdFxue1xuXHRASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuXHRpZDogc3RyaW5nID0gJyc7XG5cblx0QElucHV0KClcblx0cGlwZU5hbWU6IHN0cmluZyA9ICcnO1xuXG5cdEBJbnB1dCgpXG5cdHNlbGVjdG9yczogc3RyaW5nW10gPSBbXTtcblxuXHRASW5wdXQoKVxuXHRwcm9wZXJ0aWVzPzogVDtcblxuXHRASW5wdXQoKVxuXHRvcHRpb25zOiBOZ0RvY1BsYXlncm91bmRPcHRpb25zID0ge307XG5cblx0cmVjcmVhdGVEZW1vOiBib29sZWFuID0gZmFsc2U7XG5cdGZvcm1Hcm91cCE6IEZvcm1Hcm91cDxOZ0RvY1BsYXlncm91bmRGb3JtPjtcblx0ZGVmYXVsdFZhbHVlcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXHRjb25maWd1cmF0aW9uITogTmdEb2NQbGF5Z3JvdW5kQ29uZmlnO1xuXG5cdHByaXZhdGUgZGVmYXVsdFByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG5cdHByaXZhdGUgZGVmYXVsdENvbnRlbnQ6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+ID0ge307XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSByZWFkb25seSByb290UGFnZTogTmdEb2NSb290UGFnZSxcblx0XHRwcml2YXRlIHJlYWRvbmx5IGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcblx0KSB7fVxuXG5cdG5nT25DaGFuZ2VzKHsgb3B0aW9ucyB9OiBTaW1wbGVDaGFuZ2VzKSB7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdC8vIEpvaW4gY29uZmlndXJhdGlvbiB3aXRoIG9wdGlvbnNcblx0XHRcdHRoaXMuY29uZmlndXJhdGlvbiA9IE9iamVjdC5hc3NpZ24oXG5cdFx0XHRcdHt9LFxuXHRcdFx0XHR0aGlzLnJvb3RQYWdlLnBhZ2U/LnBsYXlncm91bmRzPy5bdGhpcy5pZF0sXG5cdFx0XHRcdHRoaXMub3B0aW9ucyxcblx0XHRcdCk7XG5cdFx0fVxuXHR9XG5cblx0bmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuXHRcdHRoaXMuZGVmYXVsdFByb3BlcnRpZXMgPSB0aGlzLmdldFByb3BlcnRpZXNGb3JtVmFsdWVzKCk7XG5cdFx0dGhpcy5kZWZhdWx0Q29udGVudCA9IHRoaXMuZ2V0Q29udGVudEZvcm1WYWx1ZXMoKTtcblxuXHRcdGNvbnN0IHByb3BlcnRpZXNGb3JtOiBGb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHRoaXMuZGVmYXVsdFByb3BlcnRpZXMpO1xuXHRcdGNvbnN0IGNvbnRlbnRGb3JtOiBGb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHRoaXMuZGVmYXVsdENvbnRlbnQpO1xuXG5cdFx0dGhpcy5mb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcblx0XHRcdHByb3BlcnRpZXM6IHByb3BlcnRpZXNGb3JtLFxuXHRcdFx0Y29udGVudDogY29udGVudEZvcm0sXG5cdFx0fSk7XG5cdFx0Ly8gYHBhdGNoVmFsdWVgIGlzIG5lZWRlZCB0byBzZXQgYHVuZGVmaW5lZGAgdmFsdWVzLCBvdGhlcndpc2UgdGhleSB3aWxsIGJlIGlnbm9yZWQgYnkgdGhlIEFuZ3VsYXIgZm9ybVxuXHRcdHRoaXMuZm9ybUdyb3VwLnBhdGNoVmFsdWUoe1xuXHRcdFx0cHJvcGVydGllczogT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5kZWZhdWx0UHJvcGVydGllcywgdGhpcy5jb25maWd1cmF0aW9uLmlucHV0cyksXG5cdFx0XHRjb250ZW50OiB0aGlzLmRlZmF1bHRDb250ZW50LFxuXHRcdH0pO1xuXHR9XG5cblx0cHJvdGVjdGVkIGlzRGVmYXVsdFN0YXRlKCk6IGJvb2xlYW4ge1xuXHRcdGlmICghdGhpcy5mb3JtR3JvdXApIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cblx0XHRyZXR1cm4gKFxuXHRcdFx0aXNTYW1lT2JqZWN0KHRoaXMuZm9ybUdyb3VwLnZhbHVlLnByb3BlcnRpZXMgPz8ge30sIHRoaXMuZGVmYXVsdFZhbHVlcyA/PyB7fSkgJiZcblx0XHRcdGlzU2FtZU9iamVjdCh0aGlzLmZvcm1Hcm91cC52YWx1ZS5jb250ZW50ID8/IHt9LCB0aGlzLmRlZmF1bHRDb250ZW50ID8/IHt9KVxuXHRcdCk7XG5cdH1cblxuXHRwcml2YXRlIGdldFByb3BlcnRpZXNGb3JtVmFsdWVzKCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcblx0XHRjb25zdCBmb3JtVmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IG9iamVjdEtleXModGhpcy5wcm9wZXJ0aWVzID8/IHt9KS5yZWR1Y2UoXG5cdFx0XHQoY29udHJvbHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBrZXk6IHN0cmluZykgPT4ge1xuXHRcdFx0XHRpZiAodGhpcy5wcm9wZXJ0aWVzKSB7XG5cdFx0XHRcdFx0Y29udHJvbHNba2V5XSA9IHRoaXMuZGVmYXVsdFZhbHVlcyA/IHRoaXMuZGVmYXVsdFZhbHVlc1trZXldIDogdW5kZWZpbmVkO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0cmV0dXJuIGNvbnRyb2xzO1xuXHRcdFx0fSxcblx0XHRcdHt9IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuXHRcdCk7XG5cblx0XHRyZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgZm9ybVZhbHVlcywgdGhpcy5jb25maWd1cmF0aW9uLmRlZmF1bHRzKTtcblx0fVxuXG5cdHByaXZhdGUgZ2V0Q29udGVudEZvcm1WYWx1ZXMoKTogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4ge1xuXHRcdHJldHVybiBvYmplY3RLZXlzKHRoaXMuY29uZmlndXJhdGlvbj8uY29udGVudCA/PyB7fSkucmVkdWNlKFxuXHRcdFx0KGNvbnRyb2xzOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiwga2V5OiBzdHJpbmcpID0+IHtcblx0XHRcdFx0aWYgKHRoaXMuY29uZmlndXJhdGlvbj8uY29udGVudCkge1xuXHRcdFx0XHRcdGNvbnRyb2xzW2tleV0gPSBmYWxzZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHJldHVybiBjb250cm9scztcblx0XHRcdH0sXG5cdFx0XHR7fSBhcyBSZWNvcmQ8a2V5b2YgVCwgYm9vbGVhbj4sXG5cdFx0KTtcblx0fVxuXG5cdHJlc2V0Rm9ybSgpOiB2b2lkIHtcblx0XHR0aGlzLmZvcm1Hcm91cC5yZXNldCh7fSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuXHRcdHRoaXMuZm9ybUdyb3VwPy5wYXRjaFZhbHVlKHtcblx0XHRcdHByb3BlcnRpZXM6IHRoaXMuZGVmYXVsdFByb3BlcnRpZXMsXG5cdFx0XHRjb250ZW50OiB0aGlzLmRlZmF1bHRDb250ZW50LFxuXHRcdH0pO1xuXHR9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlndXJhdGlvblwiPlxuXHQ8bmctZG9jLXBsYXlncm91bmQtcHJvcGVydGllc1xuXHRcdFtmb3JtXT1cImZvcm1Hcm91cFwiXG5cdFx0W3Byb3BlcnRpZXNdPVwicHJvcGVydGllc1wiXG5cdFx0W2lnbm9yZUlucHV0c109XCJjb25maWd1cmF0aW9uLmhpZGRlbklucHV0c1wiXG5cdFx0W2R5bmFtaWNDb250ZW50XT1cImNvbmZpZ3VyYXRpb24uY29udGVudFwiXG5cdFx0W2hpZGVTaWRlUGFuZWxdPVwiY29uZmlndXJhdGlvbi5oaWRlU2lkZVBhbmVsID8/IGZhbHNlXCJcblx0XHRbZGVmYXVsdFZhbHVlc109XCJkZWZhdWx0VmFsdWVzXCJcblx0XHRbc2hvd1Jlc2V0QnV0dG9uXT1cIiFpc0RlZmF1bHRTdGF0ZSgpXCJcblx0XHRbKHJlY3JlYXRlRGVtbyldPVwicmVjcmVhdGVEZW1vXCJcblx0XHQocmVzZXRGb3JtKT1cInJlc2V0Rm9ybSgpXCI+XG5cdFx0PG5nLWRvYy1wbGF5Z3JvdW5kLWRlbW9cblx0XHRcdCpuZ0Zvcj1cImxldCBzZWxlY3RvciBvZiBjb25maWd1cmF0aW9uLnNlbGVjdG9ycyA/PyBzZWxlY3RvcnMgfCBhc0FycmF5XCJcblx0XHRcdFtpZF09XCJpZFwiXG5cdFx0XHRbc2VsZWN0b3JdPVwic2VsZWN0b3JcIlxuXHRcdFx0W3Byb3BlcnRpZXNdPVwicHJvcGVydGllc1wiXG5cdFx0XHRbY29uZmlndXJhdGlvbl09XCJjb25maWd1cmF0aW9uXCJcblx0XHRcdFtyZWNyZWF0ZURlbW9dPVwicmVjcmVhdGVEZW1vXCJcblx0XHRcdFtmb3JtXT1cImZvcm1Hcm91cFwiXG5cdFx0XHRbZXhwYW5kZWRdPVwiY29uZmlndXJhdGlvbi5leHBhbmRlZCA/PyBmYWxzZVwiPlxuXHRcdDwvbmctZG9jLXBsYXlncm91bmQtZGVtbz5cblxuXHRcdDxuZy1kb2MtcGxheWdyb3VuZC1kZW1vXG5cdFx0XHQqbmdJZj1cInBpcGVOYW1lXCJcblx0XHRcdFtpZF09XCJpZFwiXG5cdFx0XHRbcGlwZU5hbWVdPVwicGlwZU5hbWVcIlxuXHRcdFx0W3Byb3BlcnRpZXNdPVwicHJvcGVydGllc1wiXG5cdFx0XHRbY29uZmlndXJhdGlvbl09XCJjb25maWd1cmF0aW9uXCJcblx0XHRcdFtyZWNyZWF0ZURlbW9dPVwicmVjcmVhdGVEZW1vXCJcblx0XHRcdFtmb3JtXT1cImZvcm1Hcm91cFwiPlxuXHRcdDwvbmctZG9jLXBsYXlncm91bmQtZGVtbz5cblx0PC9uZy1kb2MtcGxheWdyb3VuZC1wcm9wZXJ0aWVzPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|