@decaf-ts/for-angular 0.0.11 → 0.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/dist/for-angular/cli/cli-module.d.ts +22 -0
- package/dist/for-angular/cli/cli-module.d.ts.map +1 -0
- package/dist/for-angular/cli/cli-module.js +131 -0
- package/dist/for-angular/cli/cli-module.js.map +1 -0
- package/dist/lib/components/component-renderer/component-renderer.component.d.ts +1 -0
- package/dist/lib/components/component-renderer/component-renderer.component.d.ts.map +1 -0
- package/dist/lib/components/crud-field/crud-field.component.d.ts +1 -0
- package/dist/lib/components/crud-field/crud-field.component.d.ts.map +1 -0
- package/dist/lib/components/crud-form/constants.d.ts +1 -0
- package/dist/lib/components/crud-form/constants.d.ts.map +1 -0
- package/dist/lib/components/crud-form/crud-form.component.d.ts +1 -0
- package/dist/lib/components/crud-form/crud-form.component.d.ts.map +1 -0
- package/dist/lib/components/crud-form/types.d.ts +1 -0
- package/dist/lib/components/crud-form/types.d.ts.map +1 -0
- package/dist/lib/components/empty-state/empty-state.component.d.ts +1 -0
- package/dist/lib/components/empty-state/empty-state.component.d.ts.map +1 -0
- package/dist/lib/components/fieldset/fieldset.component.d.ts +1 -0
- package/dist/lib/components/fieldset/fieldset.component.d.ts.map +1 -0
- package/dist/lib/components/filter/filter.component.d.ts +1 -0
- package/dist/lib/components/filter/filter.component.d.ts.map +1 -0
- package/dist/lib/components/for-angular-components.module.d.ts +1 -0
- package/dist/lib/components/for-angular-components.module.d.ts.map +1 -0
- package/dist/lib/components/index.d.ts +1 -0
- package/dist/lib/components/index.d.ts.map +1 -0
- package/dist/lib/components/layout/layout.component.d.ts +1 -0
- package/dist/lib/components/layout/layout.component.d.ts.map +1 -0
- package/dist/lib/components/list/constants.d.ts +1 -0
- package/dist/lib/components/list/constants.d.ts.map +1 -0
- package/dist/lib/components/list/list.component.d.ts +1 -0
- package/dist/lib/components/list/list.component.d.ts.map +1 -0
- package/dist/lib/components/list-item/list-item.component.d.ts +1 -0
- package/dist/lib/components/list-item/list-item.component.d.ts.map +1 -0
- package/dist/lib/components/model-renderer/model-renderer.component.d.ts +1 -0
- package/dist/lib/components/model-renderer/model-renderer.component.d.ts.map +1 -0
- package/dist/lib/components/pagination/constants.d.ts +1 -0
- package/dist/lib/components/pagination/constants.d.ts.map +1 -0
- package/dist/lib/components/pagination/pagination.component.d.ts +1 -0
- package/dist/lib/components/pagination/pagination.component.d.ts.map +1 -0
- package/dist/lib/components/searchbar/searchbar.component.d.ts +1 -0
- package/dist/lib/components/searchbar/searchbar.component.d.ts.map +1 -0
- package/dist/lib/decaf-ts-for-angular.d.ts.map +1 -0
- package/dist/lib/directives/collapsable.directive.d.ts +1 -0
- package/dist/lib/directives/collapsable.directive.d.ts.map +1 -0
- package/dist/lib/directives/index.d.ts +1 -0
- package/dist/lib/directives/index.d.ts.map +1 -0
- package/dist/lib/engine/DynamicModule.d.ts +1 -0
- package/dist/lib/engine/DynamicModule.d.ts.map +1 -0
- package/dist/lib/engine/NgxBaseComponent.d.ts +1 -0
- package/dist/lib/engine/NgxBaseComponent.d.ts.map +1 -0
- package/dist/lib/engine/NgxCrudFormField.d.ts +1 -0
- package/dist/lib/engine/NgxCrudFormField.d.ts.map +1 -0
- package/dist/lib/engine/NgxFormService.d.ts +1 -0
- package/dist/lib/engine/NgxFormService.d.ts.map +1 -0
- package/dist/lib/engine/NgxRenderingEngine.d.ts +1 -0
- package/dist/lib/engine/NgxRenderingEngine.d.ts.map +1 -0
- package/dist/lib/engine/NgxRenderingEngine2.d.ts +1 -0
- package/dist/lib/engine/NgxRenderingEngine2.d.ts.map +1 -0
- package/dist/lib/engine/ValidatorFactory.d.ts +1 -0
- package/dist/lib/engine/ValidatorFactory.d.ts.map +1 -0
- package/dist/lib/engine/constants.d.ts +1 -0
- package/dist/lib/engine/constants.d.ts.map +1 -0
- package/dist/lib/engine/decorators.d.ts +1 -0
- package/dist/lib/engine/decorators.d.ts.map +1 -0
- package/dist/lib/engine/index.d.ts +1 -0
- package/dist/lib/engine/index.d.ts.map +1 -0
- package/dist/lib/engine/types.d.ts +1 -0
- package/dist/lib/engine/types.d.ts.map +1 -0
- package/dist/lib/esm2022/components/component-renderer/component-renderer.component.mjs +70 -24
- package/dist/lib/esm2022/components/crud-field/crud-field.component.mjs +271 -116
- package/dist/lib/esm2022/components/crud-form/crud-form.component.mjs +170 -37
- package/dist/lib/esm2022/components/empty-state/empty-state.component.mjs +103 -41
- package/dist/lib/esm2022/components/fieldset/fieldset.component.mjs +41 -16
- package/dist/lib/esm2022/components/filter/filter.component.mjs +248 -31
- package/dist/lib/esm2022/components/for-angular-components.module.mjs +38 -37
- package/dist/lib/esm2022/components/layout/layout.component.mjs +84 -15
- package/dist/lib/esm2022/components/list/list.component.mjs +252 -83
- package/dist/lib/esm2022/components/list-item/list-item.component.mjs +250 -46
- package/dist/lib/esm2022/components/model-renderer/model-renderer.component.mjs +66 -22
- package/dist/lib/esm2022/components/pagination/pagination.component.mjs +58 -17
- package/dist/lib/esm2022/components/searchbar/searchbar.component.mjs +66 -56
- package/dist/lib/esm2022/directives/collapsable.directive.mjs +10 -10
- package/dist/lib/esm2022/engine/NgxBaseComponent.mjs +53 -46
- package/dist/lib/esm2022/for-angular.module.mjs +40 -39
- package/dist/lib/fesm2022/decaf-ts-for-angular.mjs +1805 -621
- package/dist/lib/fesm2022/decaf-ts-for-angular.mjs.map +1 -1
- package/dist/lib/for-angular.module.d.ts +1 -0
- package/dist/lib/for-angular.module.d.ts.map +1 -0
- package/dist/lib/helpers/index.d.ts +1 -0
- package/dist/lib/helpers/index.d.ts.map +1 -0
- package/dist/lib/helpers/utils.d.ts +1 -0
- package/dist/lib/helpers/utils.d.ts.map +1 -0
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/interfaces.d.ts +1 -0
- package/dist/lib/interfaces.d.ts.map +1 -0
- package/dist/lib/public-apis.d.ts +1 -0
- package/dist/lib/public-apis.d.ts.map +1 -0
- package/package.json +3 -2
|
@@ -434,60 +434,70 @@ export class SearchbarComponent extends NgxBaseComponent {
|
|
|
434
434
|
preventChange(event) {
|
|
435
435
|
event.preventDefault();
|
|
436
436
|
}
|
|
437
|
-
static { this.ɵfac =
|
|
438
|
-
static { this.ɵcmp = i0.ɵɵ
|
|
437
|
+
static { this.ɵfac = function SearchbarComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SearchbarComponent)(); }; }
|
|
438
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchbarComponent, selectors: [["ngx-decaf-searchbar"]], hostBindings: function SearchbarComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
439
|
+
i0.ɵɵlistener("toggleSearchbarVisibility", function SearchbarComponent_toggleSearchbarVisibility_HostBindingHandler($event) { return ctx.handleToggleVisibility($event); }, false, i0.ɵɵresolveWindow);
|
|
440
|
+
} }, inputs: { autocomplete: "autocomplete", autocorrect: "autocorrect", animated: "animated", buttonCancelText: "buttonCancelText", clearIcon: "clearIcon", color: "color", debounce: "debounce", disabled: "disabled", enterkeyhint: "enterkeyhint", inputmode: "inputmode", placeholder: "placeholder", searchIcon: "searchIcon", showCancelButton: "showCancelButton", showClearButton: "showClearButton", spellcheck: "spellcheck", type: "type", value: "value", queryKeys: "queryKeys", isVisible: "isVisible", wrapper: "wrapper", wrapperColor: "wrapperColor", emitEventToWindow: "emitEventToWindow" }, outputs: { searchEvent: "searchEvent" }, standalone: true, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 2, vars: 14, consts: [["component", ""], ["ngClass", "dcf-searchbar", "name", "search", "mode", "ios", 3, "keyup.enter", "ionChange", "ionInput", "ionClear", "autocomplete", "showCancelButton", "cancelButtonText", "clearIcon", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "placeholder", "searchIcon", "showClearButton", "spellcheck", "type"]], template: function SearchbarComponent_Template(rf, ctx) { if (rf & 1) {
|
|
441
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
442
|
+
i0.ɵɵelementStart(0, "ion-searchbar", 1, 0);
|
|
443
|
+
i0.ɵɵlistener("keyup.enter", function SearchbarComponent_Template_ion_searchbar_keyup_enter_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.preventChange($event)); })("ionChange", function SearchbarComponent_Template_ion_searchbar_ionChange_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.handleChange($event)); })("ionInput", function SearchbarComponent_Template_ion_searchbar_ionInput_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.handleInput($event)); })("ionClear", function SearchbarComponent_Template_ion_searchbar_ionClear_0_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.handleClear()); });
|
|
444
|
+
i0.ɵɵelementEnd();
|
|
445
|
+
} if (rf & 2) {
|
|
446
|
+
i0.ɵɵproperty("autocomplete", ctx.autocomplete)("showCancelButton", ctx.showCancelButton)("cancelButtonText", ctx.buttonCancelText)("clearIcon", ctx.clearIcon)("color", ctx.color)("debounce", ctx.debounce)("disabled", ctx.disabled)("enterkeyhint", ctx.enterkeyhint)("inputmode", ctx.inputmode)("placeholder", ctx.placeholder)("searchIcon", ctx.searchIcon)("showClearButton", ctx.showClearButton)("spellcheck", ctx.spellcheck)("type", ctx.type);
|
|
447
|
+
} }, dependencies: [ForAngularModule, i1.NgClass, IonSearchbar] }); }
|
|
439
448
|
}
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hiYXIvc2VhcmNoYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hiYXIvc2VhcmNoYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUcsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzlGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxLQUFLLFFBQVEsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFFcEM7Ozs7Ozs7Ozs7OztHQVlHO0FBUUgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGdCQUFnQjtJQTRRdEQ7Ozs7Ozs7T0FPRztJQUNIO1FBQ0UsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFuUjlCOzs7OztXQUtHO1FBQ0gsV0FBVztRQUNYLGtEQUFrRDtRQUVsRDs7Ozs7Ozs7OztXQVVHO1FBRUgsaUJBQVksR0FBa0MsS0FBSyxDQUFDO1FBRXBEOzs7Ozs7Ozs7V0FTRztRQUVILGdCQUFXLEdBQWlCLEtBQUssQ0FBQztRQUVsQzs7Ozs7Ozs7O1dBU0c7UUFFSCxhQUFRLEdBQW9CLElBQUksQ0FBQztRQUVqQzs7Ozs7Ozs7OztXQVVHO1FBRUgscUJBQWdCLEdBQVcsUUFBUSxDQUFDO1FBRXBDOzs7Ozs7V0FNRztRQUVILGNBQVMsR0FBdUIsU0FBUyxDQUFDO1FBRTFDOzs7Ozs7V0FNRztRQUVILFVBQUssR0FBdUIsU0FBUyxDQUFDO1FBRXRDOzs7Ozs7V0FNRztRQUVILGFBQVEsR0FBVyxHQUFHLENBQUM7UUFFdkI7Ozs7OztXQU1HO1FBRUgsYUFBUSxHQUFvQixLQUFLLENBQUM7UUFFbEM7Ozs7OztXQU1HO1FBRUgsaUJBQVksR0FBa0YsT0FBTyxDQUFDO1FBRXRHOzs7Ozs7V0FNRztRQUVILGNBQVMsR0FBNkYsUUFBUSxDQUFDO1FBRS9HOzs7Ozs7V0FNRztRQUVILGdCQUFXLEdBQUcsUUFBUSxDQUFDO1FBRXZCOzs7Ozs7V0FNRztRQUVILGVBQVUsR0FBdUIsZ0JBQWdCLENBQUM7UUFFbEQ7Ozs7OztXQU1HO1FBRUgscUJBQWdCLEdBQWlDLE9BQU8sQ0FBQztRQUV6RDs7Ozs7O1dBTUc7UUFFSCxvQkFBZSxHQUFpQyxPQUFPLENBQUM7UUFFeEQ7Ozs7OztXQU1HO1FBRUgsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUU1Qjs7Ozs7O1dBTUc7UUFFSCxTQUFJLEdBQW9GLFFBQVEsQ0FBQztRQUVqRzs7Ozs7O1dBTUc7UUFFSCxVQUFLLEdBQThCLEVBQUUsQ0FBQztRQUV0Qzs7Ozs7O1dBTUc7UUFFSCxjQUFTLEdBQXNCLE1BQU0sQ0FBQztRQUV0Qzs7Ozs7O1dBTUc7UUFFSCxjQUFTLEdBQW9CLEtBQUssQ0FBQztRQUVuQzs7Ozs7O1dBTUc7UUFFSCxZQUFPLEdBQW9CLEtBQUssQ0FBQztRQUVqQzs7Ozs7O1dBTUc7UUFFSCxpQkFBWSxHQUFxQixTQUFTLENBQUM7UUFFM0M7Ozs7OztXQU1HO1FBRUgsc0JBQWlCLEdBQW9CLElBQUksQ0FBQztRQWExQzs7Ozs7Ozs7V0FRRztRQUVILGdCQUFXLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFZN0QsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ3BCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQTRCRztJQUNILFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxPQUFPLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0F5Qkc7SUFFSCxzQkFBc0I7UUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDakMsSUFBRyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3BELFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUF5QyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3ZFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNWLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxNQUFNO1FBQ0osTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUF3QyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILFlBQVksQ0FBQyxLQUFrQjtRQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxJQUFJLFNBQVMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQTRCRztJQUNILFdBQVcsQ0FBQyxLQUFrQjtRQUM1QixNQUFNLEtBQUssR0FBRyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQztRQUNuQyxJQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU07WUFDekIsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCwwQ0FBMEM7SUFFMUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BdUJHO0lBQ0gsU0FBUyxDQUFDLEtBQXlCO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUcsSUFBSSxDQUFDLGlCQUFpQjtZQUN2QixrQkFBa0IsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFBO0lBQ3hELENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxhQUFhLENBQUMsS0FBWTtRQUN2QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDMUIsQ0FBQzsrR0FqZVUsa0JBQWtCO21HQUFsQixrQkFBa0IsNHpCQy9CL0IsMHJCQXdCQSx5RERLWSxnQkFBZ0IsNkhBQUUsWUFBWTs7NEZBRTdCLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxxQkFBcUIsY0FHbkIsSUFBSSxXQUNQLENBQUMsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDO3dEQXlCekMsWUFBWTtzQkFEWCxLQUFLO2dCQWNOLFdBQVc7c0JBRFYsS0FBSztnQkFjTixRQUFRO3NCQURQLEtBQUs7Z0JBZU4sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBV04sU0FBUztzQkFEUixLQUFLO2dCQVdOLEtBQUs7c0JBREosS0FBSztnQkFXTixRQUFRO3NCQURQLEtBQUs7Z0JBV04sUUFBUTtzQkFEUCxLQUFLO2dCQVdOLFlBQVk7c0JBRFgsS0FBSztnQkFXTixTQUFTO3NCQURSLEtBQUs7Z0JBV04sV0FBVztzQkFEVixLQUFLO2dCQVdOLFVBQVU7c0JBRFQsS0FBSztnQkFXTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFXTixlQUFlO3NCQURkLEtBQUs7Z0JBV04sVUFBVTtzQkFEVCxLQUFLO2dCQVdOLElBQUk7c0JBREgsS0FBSztnQkFXTixLQUFLO3NCQURKLEtBQUs7Z0JBV04sU0FBUztzQkFEUixLQUFLO2dCQVdOLFNBQVM7c0JBRFIsS0FBSztnQkFXTixPQUFPO3NCQUROLEtBQUs7Z0JBV04sWUFBWTtzQkFEWCxLQUFLO2dCQVdOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkF3Qk4sV0FBVztzQkFEVixNQUFNO2dCQWdGUCxzQkFBc0I7c0JBRHJCLFlBQVk7dUJBQUMsa0NBQWtDLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsICBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVUeXBlcywgUHJlZGVmaW5lZENvbG9yc30gZnJvbSAnQGlvbmljL2NvcmUnO1xuaW1wb3J0IHsgU3RyaW5nT3JCb29sZWFuIH0gZnJvbSAnLi4vLi4vZW5naW5lL3R5cGVzJztcbmltcG9ydCB7d2luZG93RXZlbnRFbWl0dGVyfSBmcm9tICcuLi8uLi9oZWxwZXJzL3V0aWxzJztcbmltcG9ydCB7IEZvckFuZ3VsYXJNb2R1bGUgfSBmcm9tICcuLi8uLi9mb3ItYW5ndWxhci5tb2R1bGUnO1xuaW1wb3J0IHsgc3RyaW5nVG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vaGVscGVycy91dGlscyc7XG5pbXBvcnQgeyBOZ3hCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZW5naW5lL05neEJhc2VDb21wb25lbnQnO1xuaW1wb3J0IHsgSW9uU2VhcmNoYmFyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgKiBhcyBhbGxJY29ucyBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gU2VhcmNoYmFyIGNvbXBvbmVudCBmb3IgQW5ndWxhciBhcHBsaWNhdGlvbnMuXG4gKiBAc3VtbWFyeSBUaGUgU2VhcmNoYmFyQ29tcG9uZW50IHByb3ZpZGVzIGEgaGlnaGx5IGN1c3RvbWl6YWJsZSBzZWFyY2ggaW5wdXQgZmllbGQgd2l0aCBjb21wcmVoZW5zaXZlXG4gKiBvcHRpb25zIGZvciBhcHBlYXJhbmNlLCBiZWhhdmlvciwgYW5kIGludGVyYWN0aW9uIHBhdHRlcm5zLiBJdCBleHRlbmRzIE5neEJhc2VDb21wb25lbnQgdG8gaW5oZXJpdFxuICogY29tbW9uIGZ1bmN0aW9uYWxpdHkgYW5kIGltcGxlbWVudHMgT25Jbml0IGZvciBwcm9wZXIgbGlmZWN5Y2xlIG1hbmFnZW1lbnQuIFRoaXMgY29tcG9uZW50IGZlYXR1cmVzXG4gKiBkZWJvdW5jZWQgaW5wdXQgaGFuZGxpbmcsIHdpbmRvdyBldmVudCBpbnRlZ3JhdGlvbiwgdmlzaWJpbGl0eSBjb250cm9scywgYW5kIGV4dGVuc2l2ZSBzdHlsaW5nIG9wdGlvbnMuXG4gKiBJdCdzIGRlc2lnbmVkIHRvIGJlIGZsZXhpYmxlIGFuZCBhZGFwdGFibGUgdG8gZGlmZmVyZW50IHNlYXJjaCByZXF1aXJlbWVudHMgd2l0aGluIG1vZGVybiB3ZWIgYXBwbGljYXRpb25zLlxuICpcbiAqIEBjbGFzcyBTZWFyY2hiYXJDb21wb25lbnRcbiAqIEBleHRlbmRzIHtOZ3hCYXNlQ29tcG9uZW50fVxuICogQGltcGxlbWVudHMge09uSW5pdH1cbiAqIEBtZW1iZXJPZiBTZWFyY2hiYXJDb21wb25lbnRcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LWRlY2FmLXNlYXJjaGJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2hiYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2hiYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0ZvckFuZ3VsYXJNb2R1bGUsIElvblNlYXJjaGJhcl0sXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaGJhckNvbXBvbmVudCBleHRlbmRzIE5neEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIG1vZGUgb2YgdGhlIHNlYXJjaGJhci5cbiAgICogQHN1bW1hcnkgRGV0ZXJtaW5lcyB0aGUgdmlzdWFsIHN0eWxlIG9mIHRoZSBzZWFyY2hiYXIsIGVpdGhlciBpT1Mgb3IgTWF0ZXJpYWwgRGVzaWduLlxuICAgKiBAdHlwZSB7XCJpb3NcIiB8IFwibWRcIiB8IHVuZGVmaW5lZH1cbiAgICogQGRlZmF1bHQgXCJpb3NcIlxuICAgKi9cbiAgLy8gQElucHV0KClcbiAgLy8gb3ZlcnJpZGUgbW9kZTogXCJpb3NcIiB8IFwibWRcIiB8IHVuZGVmaW5lZCA9IFwibWRcIjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSBhdXRvY29tcGxldGUgYXR0cmlidXRlIGZvciB0aGUgc2VhcmNoYmFyIGlucHV0LlxuICAgKiBAc3VtbWFyeSBTcGVjaWZpZXMgd2hldGhlciB0aGUgYnJvd3NlciBzaG91bGQgZW5hYmxlIGF1dG9jb21wbGV0ZSBmb3IgdGhlIGlucHV0IGZpZWxkLlxuICAgKiBUaGlzIGNvbnRyb2xzIHRoZSBicm93c2VyJ3MgYnVpbHQtaW4gYXV0b2NvbXBsZXRlIGZ1bmN0aW9uYWxpdHksIGhlbHBpbmcgdXNlcnMgYnlcbiAgICogc3VnZ2VzdGluZyBwcmV2aW91c2x5IGVudGVyZWQgdmFsdWVzIG9yIGNvbW1vbiBpbnB1dHMuIFNldHRpbmcgdG8gJ29mZicgZGlzYWJsZXNcbiAgICogdGhpcyBmZWF0dXJlIGZvciBwcml2YWN5IG9yIHNlY3VyaXR5IHJlYXNvbnMuXG4gICAqXG4gICAqIEB0eXBlIHtBdXRvY29tcGxldGVUeXBlcyB8IHVuZGVmaW5lZH1cbiAgICogQGRlZmF1bHQgXCJvZmZcIlxuICAgKiBAbWVtYmVyT2YgU2VhcmNoYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBhdXRvY29tcGxldGU6IEF1dG9jb21wbGV0ZVR5cGVzIHwgdW5kZWZpbmVkID0gXCJvZmZcIjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSBhdXRvY29ycmVjdCBhdHRyaWJ1dGUgZm9yIHRoZSBzZWFyY2hiYXIgaW5wdXQuXG4gICAqIEBzdW1tYXJ5IENvbnRyb2xzIHdoZXRoZXIgdGhlIGJyb3dzZXIgc2hvdWxkIGVuYWJsZSBhdXRvY29ycmVjdCBmdW5jdGlvbmFsaXR5IGZvciB0aGUgaW5wdXQgZmllbGQuXG4gICAqIFdoZW4gZW5hYmxlZCwgdGhlIGJyb3dzZXIgd2lsbCBhdXRvbWF0aWNhbGx5IGNvcnJlY3Qgc3BlbGxpbmcgbWlzdGFrZXMgYXMgdGhlIHVzZXIgdHlwZXMuXG4gICAqIFRoaXMgaXMgdHlwaWNhbGx5IGRpc2FibGVkIGZvciBzZWFyY2ggZmllbGRzIHRvIHByZXNlcnZlIHRoZSB1c2VyJ3MgZXhhY3Qgc2VhcmNoIHRlcm1zLlxuICAgKlxuICAgKiBAdHlwZSB7XCJvblwiIHwgXCJvZmZcIn1cbiAgICogQGRlZmF1bHQgXCJvZmZcIlxuICAgKiBAbWVtYmVyT2YgU2VhcmNoYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBhdXRvY29ycmVjdDogXCJvblwiIHwgXCJvZmZcIiA9IFwib2ZmXCI7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBXaGV0aGVyIHRoZSBzZWFyY2hiYXIgc2hvdWxkIGFuaW1hdGUuXG4gICAqIEBzdW1tYXJ5IENvbnRyb2xzIHRoZSBhbmltYXRpb24gYmVoYXZpb3Igb2YgdGhlIHNlYXJjaGJhciBkdXJpbmcgYXBwZWFyYW5jZSBhbmQgZGlzYXBwZWFyYW5jZSB0cmFuc2l0aW9ucy5cbiAgICogV2hlbiBlbmFibGVkLCB0aGUgc2VhcmNoYmFyIHdpbGwgdXNlIHNtb290aCBhbmltYXRpb25zIGZvciBzdGF0ZSBjaGFuZ2VzLCBwcm92aWRpbmcgYSBtb3JlXG4gICAqIHBvbGlzaGVkIHVzZXIgZXhwZXJpZW5jZS4gVGhpcyBhZmZlY3RzIHRyYW5zaXRpb25zIGxpa2Ugc2hvd2luZy9oaWRpbmcgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHR5cGUge1N0cmluZ09yQm9vbGVhbn1cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAbWVtYmVyT2YgU2VhcmNoYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBhbmltYXRlZDogU3RyaW5nT3JCb29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSB0ZXh0IGZvciB0aGUgY2FuY2VsIGJ1dHRvbi5cbiAgICogQHN1bW1hcnkgU3BlY2lmaWVzIHRoZSBsb2NhbGl6ZWQgdGV4dCB0byBiZSBkaXNwbGF5ZWQgb24gdGhlIGNhbmNlbCBidXR0b24gb2YgdGhlIHNlYXJjaGJhci5cbiAgICogVGhpcyB0ZXh0IGFwcGVhcnMgd2hlbiB0aGUgY2FuY2VsIGJ1dHRvbiBpcyB2aXNpYmxlIGFuZCBwcm92aWRlcyB1c2VycyB3aXRoIGEgY2xlYXJcbiAgICogaW5kaWNhdGlvbiBvZiBob3cgdG8gZGlzbWlzcyB0aGUgc2VhcmNoIGludGVyZmFjZS4gVGhlIHRleHQgY2FuIGJlIGN1c3RvbWl6ZWQgZm9yXG4gICAqIGRpZmZlcmVudCBsYW5ndWFnZXMgYW5kIGN1bHR1cmFsIGNvbnRleHRzLlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAZGVmYXVsdCBcIkNhbmNlbFwiXG4gICAqIEBtZW1iZXJPZiBTZWFyY2hiYXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpXG4gIGJ1dHRvbkNhbmNlbFRleHQ6IHN0cmluZyA9IFwiQ2FuY2VsXCI7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgaWNvbiB0byB1c2UgZm9yIHRoZSBjbGVhciBidXR0b24uXG4gICAqIEBzdW1tYXJ5IFNwZWNpZmllcyB0aGUgaWNvbiB0byBiZSBkaXNwbGF5ZWQgZm9yIHRoZSBjbGVhciBidXR0b24gb2YgdGhlIHNlYXJjaGJhci5cbiAgICogQHR5cGUge3N0cmluZyB8IHVuZGVmaW5lZH1cbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqIEBtZW1iZXJPZiBTZWFyY2hiYXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpXG4gIGNsZWFySWNvbjogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIGNvbG9yIG9mIHRoZSBzZWFyY2hiYXIuXG4gICAqIEBzdW1tYXJ5IFNwZWNpZmllcyB0aGUgY29sb3IgdGhlbWUgdG8gYmUgYXBwbGllZCB0byB0aGUgc2VhcmNoYmFyLlxuICAgKiBAdHlwZSB7c3RyaW5nIHwgdW5kZWZpbmVkfVxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICogQG1lbWJlck9mIFNlYXJjaGJhckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KClcbiAgY29sb3I6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSBhbW91bnQgb2YgdGltZSwgaW4gbWlsbGlzZWNvbmRzLCB0byB3YWl0IHRvIHRyaWdnZXIgdGhlIGBpb25DaGFuZ2VgIGV2ZW50IGFmdGVyIGVhY2gga2V5c3Ryb2tlLlxuICAgKiBAc3VtbWFyeSBDb250cm9scyB0aGUgZGVib3VuY2UgdGltZSBmb3IgdGhlIHNlYXJjaCBpbnB1dCB0byByZWR1Y2UgdGhlIGZyZXF1ZW5jeSBvZiBldmVudCBlbWlzc2lvbnMuXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqIEBkZWZhdWx0IDUwMFxuICAgKiBAbWVtYmVyT2YgU2VhcmNoYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBkZWJvdW5jZTogbnVtYmVyID0gNTAwO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gV2hldGhlciB0aGUgc2VhcmNoYmFyIGlzIGRpc2FibGVkLlxuICAgKiBAc3VtbWFyeSBDb250cm9scyB3aGV0aGVyIHRoZSBzZWFyY2hiYXIgaXMgaW50ZXJhY3RpdmUgb3Igbm90LlxuICAgKiBAdHlwZSB7U3RyaW5nT3JCb29sZWFufVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAbWVtYmVyT2YgU2VhcmNoYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBkaXNhYmxlZDogU3RyaW5nT3JCb29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBBIGhpbnQgdG8gdGhlIGJyb3dzZXIgZm9yIHdoaWNoIGVudGVyIGtleSB0byBkaXNwbGF5LlxuICAgKiBAc3VtbWFyeSBTcGVjaWZpZXMgdGhlIHR5cGUgb2YgYWN0aW9uIHRoYXQgd2lsbCBiZSBwZXJmb3JtZWQgd2hlbiB0aGUgZW50ZXIga2V5IGlzIHByZXNzZWQuXG4gICAqIEB0eXBlIHtcInNlYXJjaFwiIHwgXCJlbnRlclwiIHwgXCJkb25lXCIgfCBcImdvXCIgfCBcIm5leHRcIiB8IFwicHJldmlvdXNcIiB8IFwic2VuZFwiIHwgdW5kZWZpbmVkfVxuICAgKiBAZGVmYXVsdCBcImVudGVyXCJcbiAgICogQG1lbWJlck9mIFNlYXJjaGJhckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KClcbiAgZW50ZXJrZXloaW50OiBcInNlYXJjaFwiIHwgXCJlbnRlclwiIHwgXCJkb25lXCIgfCBcImdvXCIgfCBcIm5leHRcIiB8IFwicHJldmlvdXNcIiB8IFwic2VuZFwiIHwgdW5kZWZpbmVkID0gXCJlbnRlclwiO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIGlucHV0IG1vZGUgZm9yIHRoZSBzZWFyY2hiYXIuXG4gICAqIEBzdW1tYXJ5IFNwZWNpZmllcyB0aGUgdHlwZSBvZiBkYXRhIHRoYXQgbWlnaHQgYmUgZW50ZXJlZCBieSB0aGUgdXNlciB3aGlsZSBlZGl0aW5nIHRoZSBlbGVtZW50IG9yIGl0cyBjb250ZW50cy5cbiAgICogQHR5cGUge1widGV4dFwiIHwgXCJzZWFyY2hcIiB8IFwibm9uZVwiIHwgXCJlbWFpbFwiIHwgXCJ0ZWxcIiB8IFwidXJsXCIgfCBcIm51bWVyaWNcIiB8IFwiZGVjaW1hbFwiIHwgdW5kZWZpbmVkfVxuICAgKiBAZGVmYXVsdCAnc2VhcmNoJ1xuICAgKiBAbWVtYmVyT2YgU2VhcmNoYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBpbnB1dG1vZGU6IFwidGV4dFwiIHwgXCJzZWFyY2hcIiB8IFwibm9uZVwiIHwgXCJlbWFpbFwiIHwgXCJ0ZWxcIiB8IFwidXJsXCIgfCBcIm51bWVyaWNcIiB8IFwiZGVjaW1hbFwiIHwgdW5kZWZpbmVkID0gJ3NlYXJjaCc7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgcGxhY2Vob2xkZXIgZm9yIHRoZSBzZWFyY2hiYXIgaW5wdXQuXG4gICAqIEBzdW1tYXJ5IFNwZWNpZmllcyB0aGUgcGxhY2Vob2xkZXIgdGV4dCB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIHNlYXJjaGJhciB3aGVuIGl0J3MgZW1wdHkuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBkZWZhdWx0IFwiU2VhcmNoXCJcbiAgICogQG1lbWJlck9mIFNlYXJjaGJhckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KClcbiAgcGxhY2Vob2xkZXIgPSBcIlNlYXJjaFwiO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIGljb24gdG8gdXNlIGZvciB0aGUgc2VhcmNoIGJ1dHRvbi5cbiAgICogQHN1bW1hcnkgU3BlY2lmaWVzIHRoZSBpY29uIHRvIGJlIGRpc3BsYXllZCBmb3IgdGhlIHNlYXJjaCBidXR0b24gb2YgdGhlIHNlYXJjaGJhci5cbiAgICogQHR5cGUge3N0cmluZyB8IHVuZGVmaW5lZH1cbiAgICogQGRlZmF1bHQgXCJzZWFyY2gtb3V0bGluZVwiXG4gICAqIEBtZW1iZXJPZiBTZWFyY2hiYXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNlYXJjaEljb246IHN0cmluZyB8IHVuZGVmaW5lZCA9IFwic2VhcmNoLW91dGxpbmVcIjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFdoZW4gdG8gc2hvdyB0aGUgY2FuY2VsIGJ1dHRvbi5cbiAgICogQHN1bW1hcnkgQ29udHJvbHMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGNhbmNlbCBidXR0b24gaW4gZGlmZmVyZW50IHN0YXRlcyBvZiB0aGUgc2VhcmNoYmFyLlxuICAgKiBAdHlwZSB7XCJhbHdheXNcIiB8IFwiZm9jdXNcIiB8IFwibmV2ZXJcIn1cbiAgICogQGRlZmF1bHQgXCJuZXZlclwiXG4gICAqIEBtZW1iZXJPZiBTZWFyY2hiYXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNob3dDYW5jZWxCdXR0b246IFwiYWx3YXlzXCIgfCBcImZvY3VzXCIgfCBcIm5ldmVyXCIgPSBcIm5ldmVyXCI7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBXaGVuIHRvIHNob3cgdGhlIGNsZWFyIGJ1dHRvbi5cbiAgICogQHN1bW1hcnkgQ29udHJvbHMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGNsZWFyIGJ1dHRvbiBpbiBkaWZmZXJlbnQgc3RhdGVzIG9mIHRoZSBzZWFyY2hiYXIuXG4gICAqIEB0eXBlIHtcImFsd2F5c1wiIHwgXCJmb2N1c1wiIHwgXCJuZXZlclwifVxuICAgKiBAZGVmYXVsdCBcImZvY3VzXCJcbiAgICogQG1lbWJlck9mIFNlYXJjaGJhckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KClcbiAgc2hvd0NsZWFyQnV0dG9uOiBcImFsd2F5c1wiIHwgXCJmb2N1c1wiIHwgXCJuZXZlclwiID0gXCJmb2N1c1wiO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gV2hldGhlciB0byBlbmFibGUgc3BlbGxjaGVjayBvbiB0aGUgc2VhcmNoYmFyIGlucHV0LlxuICAgKiBAc3VtbWFyeSBDb250cm9scyB3aGV0aGVyIHRoZSBicm93c2VyJ3Mgc3BlbGxjaGVjayBmZWF0dXJlIGlzIGVuYWJsZWQgZm9yIHRoZSBzZWFyY2hiYXIgaW5wdXQuXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAbWVtYmVyT2YgU2VhcmNoYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBzcGVsbGNoZWNrOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgdHlwZSBvZiBpbnB1dCB0byB1c2UgZm9yIHRoZSBzZWFyY2hiYXIuXG4gICAqIEBzdW1tYXJ5IFNwZWNpZmllcyB0aGUgdHlwZSBvZiBjb250cm9sIHRvIGRpc3BsYXkgZm9yIHRoZSBzZWFyY2hiYXIgaW5wdXQuXG4gICAqIEB0eXBlIHtcIm51bWJlclwiIHwgXCJ0ZXh0XCIgfCBcInNlYXJjaFwiIHwgXCJlbWFpbFwiIHwgXCJwYXNzd29yZFwiIHwgXCJ0ZWxcIiB8IFwidXJsXCIgfCB1bmRlZmluZWR9XG4gICAqIEBkZWZhdWx0IFwic2VhcmNoXCJcbiAgICogQG1lbWJlck9mIFNlYXJjaGJhckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KClcbiAgdHlwZTogXCJudW1iZXJcIiB8IFwidGV4dFwiIHwgXCJzZWFyY2hcIiB8IFwiZW1haWxcIiB8IFwicGFzc3dvcmRcIiB8IFwidGVsXCIgfCBcInVybFwiIHwgdW5kZWZpbmVkID0gXCJzZWFyY2hcIjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSB2YWx1ZSBvZiB0aGUgc2VhcmNoYmFyIGlucHV0LlxuICAgKiBAc3VtbWFyeSBTcGVjaWZpZXMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHNlYXJjaGJhciBpbnB1dC5cbiAgICogQHR5cGUge251bGwgfCBzdHJpbmcgfCB1bmRlZmluZWR9XG4gICAqIEBkZWZhdWx0IFwiXCJcbiAgICogQG1lbWJlck9mIFNlYXJjaGJhckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KClcbiAgdmFsdWU6IG51bGwgfCBzdHJpbmcgfCB1bmRlZmluZWQgPSBcIlwiO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIGtleXMgdG8gdXNlIGZvciBxdWVyeWluZy5cbiAgICogQHN1bW1hcnkgU3BlY2lmaWVzIHRoZSBrZXlzIHRvIGJlIHVzZWQgd2hlbiBwZXJmb3JtaW5nIGEgc2VhcmNoIHF1ZXJ5LlxuICAgKiBAdHlwZSB7c3RyaW5nIHwgc3RyaW5nW119XG4gICAqIEBkZWZhdWx0IFwibmFtZVwiXG4gICAqIEBtZW1iZXJPZiBTZWFyY2hiYXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHF1ZXJ5S2V5czogc3RyaW5nIHwgc3RyaW5nW10gPSBcIm5hbWVcIjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFdoZXRoZXIgdGhlIHNlYXJjaGJhciBpcyB2aXNpYmxlLlxuICAgKiBAc3VtbWFyeSBDb250cm9scyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgc2VhcmNoYmFyIGNvbXBvbmVudC5cbiAgICogQHR5cGUge1N0cmluZ09yQm9vbGVhbn1cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQG1lbWJlck9mIFNlYXJjaGJhckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KClcbiAgaXNWaXNpYmxlOiBTdHJpbmdPckJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFdoZXRoZXIgdG8gd3JhcCB0aGUgc2VhcmNoYmFyIGluIGEgY29udGFpbmVyLlxuICAgKiBAc3VtbWFyeSBDb250cm9scyB3aGV0aGVyIHRoZSBzZWFyY2hiYXIgaXMgd3JhcHBlZCBpbiBhbiBhZGRpdGlvbmFsIGNvbnRhaW5lciBlbGVtZW50LlxuICAgKiBAdHlwZSB7U3RyaW5nT3JCb29sZWFufVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAbWVtYmVyT2YgU2VhcmNoYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICB3cmFwcGVyOiBTdHJpbmdPckJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSBjb2xvciBvZiB0aGUgd3JhcHBlci5cbiAgICogQHN1bW1hcnkgU3BlY2lmaWVzIHRoZSBjb2xvciB0aGVtZSB0byBiZSBhcHBsaWVkIHRvIHRoZSB3cmFwcGVyIGNvbnRhaW5lciwgaWYgcHJlc2VudC5cbiAgICogQHR5cGUge1ByZWRlZmluZWRDb2xvcnN9XG4gICAqIEBkZWZhdWx0IFwicHJpbWFyeVwiXG4gICAqIEBtZW1iZXJPZiBTZWFyY2hiYXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHdyYXBwZXJDb2xvcjogUHJlZGVmaW5lZENvbG9ycyA9IFwicHJpbWFyeVwiO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gV2hldGhlciB0byBlbWl0IGV2ZW50cyB0byB0aGUgd2luZG93LlxuICAgKiBAc3VtbWFyeSBDb250cm9scyB3aGV0aGVyIHNlYXJjaCBldmVudHMgc2hvdWxkIGJlIGVtaXR0ZWQgYXMgd2luZG93IGV2ZW50cy5cbiAgICogQHR5cGUge1N0cmluZ09yQm9vbGVhbn1cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAbWVtYmVyT2YgU2VhcmNoYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBlbWl0RXZlbnRUb1dpbmRvdzogU3RyaW5nT3JCb29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBzZWFyY2hiYXIuXG4gICAqIEBzdW1tYXJ5IFN0b3JlcyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgc2VhcmNoYmFyIGlucHV0IGZvciBpbnRlcm5hbCBzdGF0ZSBtYW5hZ2VtZW50IGFuZCBwcm9jZXNzaW5nLlxuICAgKiBUaGlzIHByb3BlcnR5IGlzIHVzZWQgdG8gdHJhY2sgdGhlIHNlYXJjaCB0ZXJtIHRocm91Z2hvdXQgdGhlIGNvbXBvbmVudCdzIGxpZmVjeWNsZSBhbmRcbiAgICogY29vcmRpbmF0ZSBiZXR3ZWVuIGRpZmZlcmVudCBldmVudCBoYW5kbGVycyBhbmQgbWV0aG9kcy5cbiAgICpcbiAgICogQHR5cGUge3N0cmluZyB8IHVuZGVmaW5lZH1cbiAgICogQG1lbWJlck9mIFNlYXJjaGJhckNvbXBvbmVudFxuICAgKi9cbiAgY3VycmVudFZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBFdmVudCBlbWl0dGVyIGZvciBzZWFyY2ggZXZlbnRzLlxuICAgKiBAc3VtbWFyeSBFbWl0cyBzZWFyY2ggZXZlbnRzIHdoZW4gdGhlIHVzZXIgaW50ZXJhY3RzIHdpdGggdGhlIHNlYXJjaGJhciwgcHJvdmlkaW5nIGEgcmVhY3RpdmVcbiAgICogaW50ZXJmYWNlIGZvciBwYXJlbnQgY29tcG9uZW50cyB0byByZXNwb25kIHRvIHNlYXJjaCBhY3Rpb25zLiBUaGlzIGV2ZW50IGlzIHRyaWdnZXJlZCBieVxuICAgKiB2YXJpb3VzIHVzZXIgaW50ZXJhY3Rpb25zIGluY2x1ZGluZyB0eXBpbmcsIGNsZWFyaW5nLCBhbmQgZXhwbGljaXQgc2VhcmNoIGFjdGlvbnMuXG4gICAqXG4gICAqIEB0eXBlIHtFdmVudEVtaXR0ZXI8c3RyaW5nPn1cbiAgICogQG1lbWJlck9mIFNlYXJjaGJhckNvbXBvbmVudFxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHNlYXJjaEV2ZW50OiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBTZWFyY2hiYXJDb21wb25lbnQuXG4gICAqIEBzdW1tYXJ5IEluaXRpYWxpemVzIHRoZSBTZWFyY2hiYXJDb21wb25lbnQgd2l0aCBhbGwgbmVjZXNzYXJ5IGRlcGVuZGVuY2llcyBhbmQgY29uZmlndXJhdGlvbnMuXG4gICAqIER1cmluZyBpbml0aWFsaXphdGlvbiwgaXQgYWRkcyBhbGwgYXZhaWxhYmxlIElvbmljb25zIHRvIHRoZSBhcHBsaWNhdGlvbidzIGljb24gcmVnaXN0cnksXG4gICAqIGVuc3VyaW5nIHRoYXQgc2VhcmNoIGFuZCBjbGVhciBpY29ucyBhcmUgYXZhaWxhYmxlIGZvciB1c2UgdGhyb3VnaG91dCB0aGUgY29tcG9uZW50J3MgbGlmZWN5Y2xlLlxuICAgKlxuICAgKiBAbWVtYmVyT2YgU2VhcmNoYmFyQ29tcG9uZW50XG4gICAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignU2VhcmNoYmFyQ29tcG9uZW50Jyk7XG4gICAgYWRkSWNvbnMoYWxsSWNvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEluaXRpYWxpemVzIHRoZSBjb21wb25lbnQgYWZ0ZXIgQW5ndWxhciBmaXJzdCBkaXNwbGF5cyB0aGUgZGF0YS1ib3VuZCBwcm9wZXJ0aWVzLlxuICAgKiBAc3VtbWFyeSBQZXJmb3JtcyBlc3NlbnRpYWwgY29tcG9uZW50IGluaXRpYWxpemF0aW9uIGJ5IGNvbnZlcnRpbmcgc3RyaW5nLWJhc2VkIGJvb2xlYW4gaW5wdXRzXG4gICAqIHRvIHByb3BlciBib29sZWFuIHZhbHVlcyB1c2luZyB0aGUgc3RyaW5nVG9Cb29sZWFuIHV0aWxpdHkuIFRoaXMgZW5zdXJlcyB0aGF0IGFsbCBib29sZWFuXG4gICAqIHByb3BlcnRpZXMgd29yayBjb3JyZWN0bHkgcmVnYXJkbGVzcyBvZiBob3cgdGhleSB3ZXJlIHBhc3NlZCBmcm9tIHBhcmVudCBjb21wb25lbnRzIG9yIHRlbXBsYXRlcy5cbiAgICpcbiAgICogQHJldHVybiB7dm9pZH1cbiAgICpcbiAgICogQG1lcm1haWRcbiAgICogc2VxdWVuY2VEaWFncmFtXG4gICAqICAgcGFydGljaXBhbnQgQSBhcyBBbmd1bGFyIExpZmVjeWNsZVxuICAgKiAgIHBhcnRpY2lwYW50IFMgYXMgU2VhcmNoYmFyQ29tcG9uZW50XG4gICAqICAgcGFydGljaXBhbnQgVSBhcyBVdGlsaXR5IEZ1bmN0aW9uc1xuICAgKlxuICAgKiAgIEEtPj5TOiBuZ09uSW5pdCgpXG4gICAqICAgUy0+PlU6IHN0cmluZ1RvQm9vbGVhbihlbWl0RXZlbnRUb1dpbmRvdylcbiAgICogICBVLS0+PlM6IGJvb2xlYW4gdmFsdWVcbiAgICogICBTLT4+VTogc3RyaW5nVG9Cb29sZWFuKHdyYXBwZXIpXG4gICAqICAgVS0tPj5TOiBib29sZWFuIHZhbHVlXG4gICAqICAgUy0+PlU6IHN0cmluZ1RvQm9vbGVhbihpc1Zpc2libGUpXG4gICAqICAgVS0tPj5TOiBib29sZWFuIHZhbHVlXG4gICAqICAgUy0+PlU6IHN0cmluZ1RvQm9vbGVhbihkaXNhYmxlZClcbiAgICogICBVLS0+PlM6IGJvb2xlYW4gdmFsdWVcbiAgICogICBTLT4+VTogc3RyaW5nVG9Cb29sZWFuKGFuaW1hdGVkKVxuICAgKiAgIFUtLT4+UzogYm9vbGVhbiB2YWx1ZVxuICAgKiAgIE5vdGUgb3ZlciBTOiBDb21wb25lbnQgcmVhZHkgZm9yIGludGVyYWN0aW9uXG4gICAqXG4gICAqIEBtZW1iZXJPZiBTZWFyY2hiYXJDb21wb25lbnRcbiAgICovXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZW1pdEV2ZW50VG9XaW5kb3cgPSBzdHJpbmdUb0Jvb2xlYW4odGhpcy5lbWl0RXZlbnRUb1dpbmRvdyk7XG4gICAgdGhpcy53cmFwcGVyID0gc3RyaW5nVG9Cb29sZWFuKHRoaXMud3JhcHBlcik7XG4gICAgdGhpcy5pc1Zpc2libGUgPSBzdHJpbmdUb0Jvb2xlYW4odGhpcy5pc1Zpc2libGUpO1xuICAgIHRoaXMuZGlzYWJsZWQgPSBzdHJpbmdUb0Jvb2xlYW4odGhpcy5kaXNhYmxlZCk7XG4gICAgdGhpcy5hbmltYXRlZCA9IHN0cmluZ1RvQm9vbGVhbih0aGlzLmFuaW1hdGVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gSGFuZGxlcyB0aGUgdmlzaWJpbGl0eSB0b2dnbGUgb2YgdGhlIHNlYXJjaGJhciBjb21wb25lbnQuXG4gICAqIEBzdW1tYXJ5IExpc3RlbnMgZm9yIGdsb2JhbCB3aW5kb3cgZXZlbnRzIHRvIHRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBzdGF0ZSBvZiB0aGUgc2VhcmNoYmFyLlxuICAgKiBXaGVuIHRoZSBzZWFyY2hiYXIgYmVjb21lcyB2aXNpYmxlLCBpdCBhdXRvbWF0aWNhbGx5IGZvY3VzZXMgb24gdGhlIGlucHV0IGZpZWxkIGFmdGVyIGEgYnJpZWZcbiAgICogZGVsYXkgdG8gZW5zdXJlIHNtb290aCBhbmltYXRpb24gY29tcGxldGlvbi4gVGhpcyBwcm92aWRlcyBhIHNlYW1sZXNzIHVzZXIgZXhwZXJpZW5jZSBmb3JcbiAgICogc2VhcmNoIGFjdGl2YXRpb24gdGhyb3VnaCBrZXlib2FyZCBzaG9ydGN1dHMgb3IgcHJvZ3JhbW1hdGljIHRyaWdnZXJzLlxuICAgKlxuICAgKiBAcGFyYW0ge0N1c3RvbUV2ZW50fSBldmVudCAtIFRoZSBjdXN0b20gZXZlbnQgdHJpZ2dlcmluZyB0aGUgdmlzaWJpbGl0eSB0b2dnbGUgKHVudXNlZCBidXQgcmVxdWlyZWQgYnkgSG9zdExpc3RlbmVyKVxuICAgKiBAcmV0dXJuIHt2b2lkfVxuICAgKlxuICAgKiBAbWVybWFpZFxuICAgKiBzZXF1ZW5jZURpYWdyYW1cbiAgICogICBwYXJ0aWNpcGFudCBXIGFzIFdpbmRvd1xuICAgKiAgIHBhcnRpY2lwYW50IFMgYXMgU2VhcmNoYmFyQ29tcG9uZW50XG4gICAqICAgcGFydGljaXBhbnQgRSBhcyBET00gRWxlbWVudFxuICAgKlxuICAgKiAgIFctPj5TOiB0b2dnbGVTZWFyY2hiYXJWaXNpYmlsaXR5IGV2ZW50XG4gICAqICAgUy0+PlM6IGhhbmRsZVRvZ2dsZVZpc2liaWxpdHkoKVxuICAgKiAgIFMtPj5TOiBUb2dnbGUgaXNWaXNpYmxlIHN0YXRlXG4gICAqICAgYWx0IGlzVmlzaWJsZSBpcyB0cnVlIEFORCBjb21wb25lbnQgZXhpc3RzXG4gICAqICAgICBTLT4+Uzogc2V0VGltZW91dCgxMjVtcylcbiAgICogICAgIFMtPj5FOiBzZXRGb2N1cygpIG9uIGlvbi1zZWFyY2hiYXJcbiAgICogICBlbmRcbiAgICpcbiAgICogQG1lbWJlck9mIFNlYXJjaGJhckNvbXBvbmVudFxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzp0b2dnbGVTZWFyY2hiYXJWaXNpYmlsaXR5XCIsIFsnJGV2ZW50J10pXG4gIGhhbmRsZVRvZ2dsZVZpc2liaWxpdHkoKTogdm9pZCB7XG4gICAgdGhpcy5pc1Zpc2libGUgPSAhdGhpcy5pc1Zpc2libGU7XG4gICAgaWYodGhpcy5pc1Zpc2libGUgJiYgISF0aGlzLmNvbXBvbmVudC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgKHRoaXMuY29tcG9uZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTElvblNlYXJjaGJhckVsZW1lbnQpLnNldEZvY3VzKCk7XG4gICAgICB9LCAxMjUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVHJpZ2dlcnMgYSBtYW51YWwgc2VhcmNoIGV2ZW50IHdpdGggdGhlIGN1cnJlbnQgc2VhcmNoYmFyIHZhbHVlLlxuICAgKiBAc3VtbWFyeSBSZXRyaWV2ZXMgdGhlIGN1cnJlbnQgdmFsdWUgZnJvbSB0aGUgc2VhcmNoYmFyJ3MgbmF0aXZlIGVsZW1lbnQgYW5kIGVtaXRzIGl0IGFzIGEgc2VhcmNoIGV2ZW50LlxuICAgKiBUaGlzIG1ldGhvZCBwcm92aWRlcyBhIHByb2dyYW1tYXRpYyB3YXkgdG8gdHJpZ2dlciBzZWFyY2ggZnVuY3Rpb25hbGl0eSwgdXNlZnVsIGZvciBleHRlcm5hbFxuICAgKiBjb21wb25lbnRzIG9yIGtleWJvYXJkIHNob3J0Y3V0cyB0aGF0IG5lZWQgdG8gZXhlY3V0ZSBzZWFyY2ggd2l0aG91dCB1c2VyIGludGVyYWN0aW9uIHdpdGggdGhlIHNlYXJjaGJhciBpdHNlbGYuXG4gICAqXG4gICAqIEByZXR1cm4ge3ZvaWR9XG4gICAqIEBtZW1iZXJPZiBTZWFyY2hiYXJDb21wb25lbnRcbiAgICovXG4gIHNlYXJjaCgpOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5jb21wb25lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MSW9uU2VhcmNoYmFyRWxlbWVudDtcbiAgICB0aGlzLnNlYXJjaEV2ZW50LmVtaXQoZWxlbWVudC52YWx1ZSB8fCB1bmRlZmluZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBIYW5kbGVzIHZhbHVlIGNoYW5nZXMgaW4gdGhlIHNlYXJjaGJhciBpbnB1dCBmaWVsZC5cbiAgICogQHN1bW1hcnkgUHJvY2Vzc2VzIGNoYW5nZSBldmVudHMgZnJvbSB0aGUgSW9uaWMgc2VhcmNoYmFyIGNvbXBvbmVudCBhbmQgZXh0cmFjdHMgdGhlIG5ldyB2YWx1ZVxuICAgKiB0byBlbWl0IGFzIGEgc2VhcmNoIGV2ZW50LiBUaGlzIG1ldGhvZCBpcyB0cmlnZ2VyZWQgd2hlbiB0aGUgdXNlciBmaW5pc2hlcyBlZGl0aW5nIHRoZSBzZWFyY2hiYXJcbiAgICogdmFsdWUsIHByb3ZpZGluZyBhIHdheSB0byByZWFjdCB0byBjb21wbGV0ZWQgaW5wdXQgY2hhbmdlcyByYXRoZXIgdGhhbiByZWFsLXRpbWUgdHlwaW5nLlxuICAgKlxuICAgKiBAcGFyYW0ge0N1c3RvbUV2ZW50fSBldmVudCAtIFRoZSBjaGFuZ2UgZXZlbnQgZnJvbSB0aGUgSW9uaWMgc2VhcmNoYmFyIGNvbnRhaW5pbmcgdGhlIG5ldyB2YWx1ZVxuICAgKiBAcmV0dXJuIHt2b2lkfVxuICAgKiBAbWVtYmVyT2YgU2VhcmNoYmFyQ29tcG9uZW50XG4gICAqL1xuICBoYW5kbGVDaGFuZ2UoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5lbWl0RXZlbnQoZXZlbnQ/LmRldGFpbD8udmFsdWUgPz8gdW5kZWZpbmVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gSGFuZGxlcyBjbGVhcmluZyBvZiB0aGUgc2VhcmNoYmFyIGlucHV0IGZpZWxkLlxuICAgKiBAc3VtbWFyeSBFbWl0cyBhbiB1bmRlZmluZWQgdmFsdWUgYXMgYSBzZWFyY2ggZXZlbnQgd2hlbiB0aGUgc2VhcmNoYmFyIGlzIGNsZWFyZWQgYnkgdGhlIHVzZXIuXG4gICAqIFRoaXMgbWV0aG9kIGlzIHR5cGljYWxseSB0cmlnZ2VyZWQgd2hlbiB0aGUgdXNlciBjbGlja3MgdGhlIGNsZWFyIGJ1dHRvbiBvciB1c2VzIG90aGVyXG4gICAqIGNsZWFyIG1lY2hhbmlzbXMsIHNpZ25hbGluZyB0aGF0IHRoZSBzZWFyY2ggc2hvdWxkIGJlIHJlc2V0IG9yIGNsZWFyZWQuXG4gICAqXG4gICAqIEByZXR1cm4ge3ZvaWR9XG4gICAqIEBtZW1iZXJPZiBTZWFyY2hiYXJDb21wb25lbnRcbiAgICovXG4gIGhhbmRsZUNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuZW1pdEV2ZW50KHVuZGVmaW5lZCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEhhbmRsZXMgcmVhbC10aW1lIGlucHV0IGV2ZW50cyBvbiB0aGUgc2VhcmNoYmFyLlxuICAgKiBAc3VtbWFyeSBQcm9jZXNzZXMgaW5wdXQgZXZlbnRzIGFzIHRoZSB1c2VyIHR5cGVzLCBwcm92aWRpbmcgaW1tZWRpYXRlIGZlZWRiYWNrIGZvciBzZWFyY2ggZnVuY3Rpb25hbGl0eS5cbiAgICogVGhpcyBtZXRob2QgaW1wbGVtZW50cyBzbWFydCBjbGVhcmluZyBiZWhhdmlvciAtIGlmIHRoZSBpbnB1dCBiZWNvbWVzIGVtcHR5LCBpdCBhdXRvbWF0aWNhbGx5XG4gICAqIHRyaWdnZXJzIHRoZSBjbGVhciBoYW5kbGVyLiBPdGhlcndpc2UsIGl0IGVtaXRzIHRoZSBjdXJyZW50IHZhbHVlIGZvciByZWFsLXRpbWUgc2VhcmNoIHN1Z2dlc3Rpb25zXG4gICAqIG9yIGZpbHRlcmluZy4gVGhpcyBlbmFibGVzIHJlc3BvbnNpdmUgc2VhcmNoIGV4cGVyaWVuY2VzIHdpdGggZGVib3VuY2VkIGV2ZW50IGhhbmRsaW5nLlxuICAgKlxuICAgKiBAcGFyYW0ge0N1c3RvbUV2ZW50fSBldmVudCAtIFRoZSBpbnB1dCBldmVudCBmcm9tIHRoZSBJb25pYyBzZWFyY2hiYXIgY29udGFpbmluZyB0aGUgY3VycmVudCB2YWx1ZVxuICAgKiBAcmV0dXJuIHt2b2lkfVxuICAgKlxuICAgKiBAbWVybWFpZFxuICAgKiBzZXF1ZW5jZURpYWdyYW1cbiAgICogICBwYXJ0aWNpcGFudCBVIGFzIFVzZXJcbiAgICogICBwYXJ0aWNpcGFudCBTIGFzIFNlYXJjaGJhckNvbXBvbmVudFxuICAgKiAgIHBhcnRpY2lwYW50IEUgYXMgRXZlbnQgU3lzdGVtXG4gICAqXG4gICAqICAgVS0+PlM6IFR5cGUgaW4gc2VhcmNoYmFyXG4gICAqICAgUy0+PlM6IGhhbmRsZUlucHV0KGV2ZW50KVxuICAgKiAgIFMtPj5TOiBFeHRyYWN0IHZhbHVlIGZyb20gZXZlbnRcbiAgICogICBhbHQgdmFsdWUgaXMgZW1wdHkgb3IgbnVsbFxuICAgKiAgICAgUy0+PlM6IGhhbmRsZUNsZWFyKClcbiAgICogICAgIFMtPj5FOiBFbWl0IHVuZGVmaW5lZFxuICAgKiAgIGVsc2UgdmFsdWUgaGFzIGNvbnRlbnRcbiAgICogICAgIFMtPj5TOiBlbWl0RXZlbnQodmFsdWUpXG4gICAqICAgICBTLT4+RTogRW1pdCBzZWFyY2ggdmFsdWVcbiAgICogICBlbmRcbiAgICpcbiAgICogQG1lbWJlck9mIFNlYXJjaGJhckNvbXBvbmVudFxuICAgKi9cbiAgaGFuZGxlSW5wdXQoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdmFsdWUgPSBldmVudD8uZGV0YWlsPy52YWx1ZTtcbiAgICBpZighdmFsdWUgfHwgIXZhbHVlPy5sZW5ndGgpXG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVDbGVhcigpO1xuICAgIHRoaXMuZW1pdEV2ZW50KHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gSGFuZGxlcyBibHVyIGV2ZW50cyBvbiB0aGUgc2VhcmNoYmFyLlxuICAgKiBAc3VtbWFyeSBDdXJyZW50bHkgYW4gZW1wdHkgbWV0aG9kLCBjYW4gYmUgaW1wbGVtZW50ZWQgZm9yIHNwZWNpZmljIGJsdXIgYmVoYXZpb3IuXG4gICAqIEBwYXJhbSB7Q3VzdG9tRXZlbnR9IGV2ZW50IC0gVGhlIGJsdXIgZXZlbnQgZnJvbSB0aGUgc2VhcmNoYmFyXG4gICAqIEByZXR1cm4ge3ZvaWR9XG4gICAqL1xuICAvLyBoYW5kbGVCbHVyKGV2ZW50OiBDdXN0b21FdmVudCk6IHZvaWQge31cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEVtaXRzIHNlYXJjaCBldmVudHMgdGhyb3VnaCBtdWx0aXBsZSBjaGFubmVscy5cbiAgICogQHN1bW1hcnkgT3JjaGVzdHJhdGVzIHRoZSBlbWlzc2lvbiBvZiBzZWFyY2ggZXZlbnRzIGJvdGggYXMgY29tcG9uZW50IG91dHB1dCBldmVudHMgYW5kIG9wdGlvbmFsbHlcbiAgICogYXMgZ2xvYmFsIHdpbmRvdyBldmVudHMuIFRoaXMgZHVhbC1jaGFubmVsIGFwcHJvYWNoIGVuYWJsZXMgYm90aCBkaXJlY3QgcGFyZW50LWNoaWxkIGNvbW11bmljYXRpb25cbiAgICogYW5kIGFwcGxpY2F0aW9uLXdpZGUgZXZlbnQgYnJvYWRjYXN0aW5nLCBzdXBwb3J0aW5nIGZsZXhpYmxlIGludGVncmF0aW9uIHBhdHRlcm5zIGFuZCBsb29zZSBjb3VwbGluZ1xuICAgKiBiZXR3ZWVuIGNvbXBvbmVudHMgdGhhdCBuZWVkIHRvIHJlc3BvbmQgdG8gc2VhcmNoIGFjdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgdW5kZWZpbmVkfSB2YWx1ZSAtIFRoZSBzZWFyY2ggdmFsdWUgdG8gZW1pdCBhY3Jvc3MgYWxsIGNvbmZpZ3VyZWQgY2hhbm5lbHNcbiAgICogQHJldHVybiB7dm9pZH1cbiAgICpcbiAgICogQG1lcm1haWRcbiAgICogc2VxdWVuY2VEaWFncmFtXG4gICAqICAgcGFydGljaXBhbnQgUyBhcyBTZWFyY2hiYXJDb21wb25lbnRcbiAgICogICBwYXJ0aWNpcGFudCBQIGFzIFBhcmVudCBDb21wb25lbnRcbiAgICogICBwYXJ0aWNpcGFudCBXIGFzIFdpbmRvdyBFdmVudCBTeXN0ZW1cbiAgICpcbiAgICogICBTLT4+UzogZW1pdEV2ZW50KHZhbHVlKVxuICAgKiAgIFMtPj5QOiBzZWFyY2hFdmVudC5lbWl0KHZhbHVlKVxuICAgKiAgIGFsdCBlbWl0RXZlbnRUb1dpbmRvdyBpcyB0cnVlXG4gICAqICAgICBTLT4+Vzogd2luZG93RXZlbnRFbWl0dGVyKCdzZWFyY2hiYXJFdmVudCcsIHt2YWx1ZX0pXG4gICAqICAgZW5kXG4gICAqXG4gICAqIEBtZW1iZXJPZiBTZWFyY2hiYXJDb21wb25lbnRcbiAgICovXG4gIGVtaXRFdmVudCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hFdmVudC5lbWl0KHZhbHVlKTtcbiAgICBpZih0aGlzLmVtaXRFdmVudFRvV2luZG93KVxuICAgICAgd2luZG93RXZlbnRFbWl0dGVyKCdzZWFyY2hiYXJFdmVudCcsIHt2YWx1ZTogdmFsdWV9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBQcmV2ZW50cyBkZWZhdWx0IGJlaGF2aW9yIG9mIERPTSBldmVudHMuXG4gICAqIEBzdW1tYXJ5IFV0aWxpdHkgbWV0aG9kIHRvIHByZXZlbnQgdW53YW50ZWQgZGVmYXVsdCBhY3Rpb25zIG9uIERPTSBldmVudHMsIHN1Y2ggYXMgZm9ybSBzdWJtaXNzaW9uc1xuICAgKiBvciBuYXZpZ2F0aW9uIHRyaWdnZXJzLiBUaGlzIGlzIGNvbW1vbmx5IHVzZWQgaW4gZXZlbnQgaGFuZGxlcnMgd2hlcmUgdGhlIGRlZmF1bHQgYnJvd3NlciBiZWhhdmlvclxuICAgKiB3b3VsZCBpbnRlcmZlcmUgd2l0aCB0aGUgY29tcG9uZW50J3MgY3VzdG9tIGxvZ2ljIG9yIHVzZXIgZXhwZXJpZW5jZSBkZXNpZ24uXG4gICAqXG4gICAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50IC0gVGhlIERPTSBldmVudCB3aG9zZSBkZWZhdWx0IGJlaGF2aW9yIHNob3VsZCBiZSBwcmV2ZW50ZWRcbiAgICogQHJldHVybiB7dm9pZH1cbiAgICogQG1lbWJlck9mIFNlYXJjaGJhckNvbXBvbmVudFxuICAgKi9cbiAgcHJldmVudENoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxufVxuIiwiPGlvbi1zZWFyY2hiYXJcbiAgbmdDbGFzcz1cImRjZi1zZWFyY2hiYXJcIlxuICBuYW1lPVwic2VhcmNoXCJcbiAgbW9kZT1cImlvc1wiXG4gIChrZXl1cC5lbnRlcik9XCJwcmV2ZW50Q2hhbmdlKCRldmVudClcIlxuICAoaW9uQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgKGlvbklucHV0KT1cImhhbmRsZUlucHV0KCRldmVudClcIlxuICAoaW9uQ2xlYXIpPVwiaGFuZGxlQ2xlYXIoKVwiXG4gIFthdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlXCJcbiAgW3Nob3dDYW5jZWxCdXR0b25dPVwic2hvd0NhbmNlbEJ1dHRvblwiXG4gIFtjYW5jZWxCdXR0b25UZXh0XT1cImJ1dHRvbkNhbmNlbFRleHRcIlxuICBbY2xlYXJJY29uXT1cImNsZWFySWNvblwiXG4gIFtjb2xvcl09XCJjb2xvclwiXG4gIFtkZWJvdW5jZV09XCJkZWJvdW5jZVwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtlbnRlcmtleWhpbnRdPVwiZW50ZXJrZXloaW50XCJcbiAgW2lucHV0bW9kZV09XCJpbnB1dG1vZGVcIlxuICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICBbc2VhcmNoSWNvbl09XCJzZWFyY2hJY29uXCJcbiAgW3Nob3dDbGVhckJ1dHRvbl09XCJzaG93Q2xlYXJCdXR0b25cIlxuICBbc3BlbGxjaGVja109XCJzcGVsbGNoZWNrXCJcbiAgW3R5cGVdPVwidHlwZVwiXG4gICNjb21wb25lbnRcbiAvPlxuIl19
|
|
449
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchbarComponent, [{
|
|
450
|
+
type: Component,
|
|
451
|
+
args: [{ selector: 'ngx-decaf-searchbar', standalone: true, imports: [ForAngularModule, IonSearchbar], template: "<ion-searchbar\n ngClass=\"dcf-searchbar\"\n name=\"search\"\n mode=\"ios\"\n (keyup.enter)=\"preventChange($event)\"\n (ionChange)=\"handleChange($event)\"\n (ionInput)=\"handleInput($event)\"\n (ionClear)=\"handleClear()\"\n [autocomplete]=\"autocomplete\"\n [showCancelButton]=\"showCancelButton\"\n [cancelButtonText]=\"buttonCancelText\"\n [clearIcon]=\"clearIcon\"\n [color]=\"color\"\n [debounce]=\"debounce\"\n [disabled]=\"disabled\"\n [enterkeyhint]=\"enterkeyhint\"\n [inputmode]=\"inputmode\"\n [placeholder]=\"placeholder\"\n [searchIcon]=\"searchIcon\"\n [showClearButton]=\"showClearButton\"\n [spellcheck]=\"spellcheck\"\n [type]=\"type\"\n #component\n />\n" }]
|
|
452
|
+
}], () => [], { autocomplete: [{
|
|
453
|
+
type: Input
|
|
454
|
+
}], autocorrect: [{
|
|
455
|
+
type: Input
|
|
456
|
+
}], animated: [{
|
|
457
|
+
type: Input
|
|
458
|
+
}], buttonCancelText: [{
|
|
459
|
+
type: Input
|
|
460
|
+
}], clearIcon: [{
|
|
461
|
+
type: Input
|
|
462
|
+
}], color: [{
|
|
463
|
+
type: Input
|
|
464
|
+
}], debounce: [{
|
|
465
|
+
type: Input
|
|
466
|
+
}], disabled: [{
|
|
467
|
+
type: Input
|
|
468
|
+
}], enterkeyhint: [{
|
|
469
|
+
type: Input
|
|
470
|
+
}], inputmode: [{
|
|
471
|
+
type: Input
|
|
472
|
+
}], placeholder: [{
|
|
473
|
+
type: Input
|
|
474
|
+
}], searchIcon: [{
|
|
475
|
+
type: Input
|
|
476
|
+
}], showCancelButton: [{
|
|
477
|
+
type: Input
|
|
478
|
+
}], showClearButton: [{
|
|
479
|
+
type: Input
|
|
480
|
+
}], spellcheck: [{
|
|
481
|
+
type: Input
|
|
482
|
+
}], type: [{
|
|
483
|
+
type: Input
|
|
484
|
+
}], value: [{
|
|
485
|
+
type: Input
|
|
486
|
+
}], queryKeys: [{
|
|
487
|
+
type: Input
|
|
488
|
+
}], isVisible: [{
|
|
489
|
+
type: Input
|
|
490
|
+
}], wrapper: [{
|
|
491
|
+
type: Input
|
|
492
|
+
}], wrapperColor: [{
|
|
493
|
+
type: Input
|
|
494
|
+
}], emitEventToWindow: [{
|
|
495
|
+
type: Input
|
|
496
|
+
}], searchEvent: [{
|
|
497
|
+
type: Output
|
|
498
|
+
}], handleToggleVisibility: [{
|
|
499
|
+
type: HostListener,
|
|
500
|
+
args: ["window:toggleSearchbarVisibility", ['$event']]
|
|
501
|
+
}] }); })();
|
|
502
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SearchbarComponent, { className: "SearchbarComponent", filePath: "components/searchbar/searchbar.component.ts", lineNumber: 32 }); })();
|
|
503
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hiYXIvc2VhcmNoYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hiYXIvc2VhcmNoYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUcsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzlGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxLQUFLLFFBQVEsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFFcEM7Ozs7Ozs7Ozs7OztHQVlHO0FBUUgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGdCQUFnQjtJQTRRdEQ7Ozs7Ozs7T0FPRztJQUNIO1FBQ0UsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFuUjlCOzs7OztXQUtHO1FBQ0gsV0FBVztRQUNYLGtEQUFrRDtRQUVsRDs7Ozs7Ozs7OztXQVVHO1FBRUgsaUJBQVksR0FBa0MsS0FBSyxDQUFDO1FBRXBEOzs7Ozs7Ozs7V0FTRztRQUVILGdCQUFXLEdBQWlCLEtBQUssQ0FBQztRQUVsQzs7Ozs7Ozs7O1dBU0c7UUFFSCxhQUFRLEdBQW9CLElBQUks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QURBLEFBREEsQUFEQSxBQURBLEFBREEsQUFEQSxBQURBLEFBREEsQUFEQSxBQURBLCtDQUE2QiwwQ0FDUSwwQ0FDQSw0QkFDZCxvQkFDUiwwQkFDTSwwQkFDQSxrQ0FDUSw0QkFDTixnQ0FDSSw4QkFDRix3Q0FDVSw4QkFDVixrQkFDWjs0QkRRSCxnQkFBZ0IsY0FBRSxZQUFZOztpRkFFN0Isa0JBQWtCO2NBUDlCLFNBQVM7MkJBQ0UscUJBQXFCLGNBR25CLElBQUksV0FDUCxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQztvQkF5QnpDLFlBQVk7a0JBRFgsS0FBSztZQWNOLFdBQVc7a0JBRFYsS0FBSztZQWNOLFFBQVE7a0JBRFAsS0FBSztZQWVOLGdCQUFnQjtrQkFEZixLQUFLO1lBV04sU0FBUztrQkFEUixLQUFLO1lBV04sS0FBSztrQkFESixLQUFLO1lBV04sUUFBUTtrQkFEUCxLQUFLO1lBV04sUUFBUTtrQkFEUCxLQUFLO1lBV04sWUFBWTtrQkFEWCxLQUFLO1lBV04sU0FBUztrQkFEUixLQUFLO1lBV04sV0FBVztrQkFEVixLQUFLO1lBV04sVUFBVTtrQkFEVCxLQUFLO1lBV04sZ0JBQWdCO2tCQURmLEtBQUs7WUFXTixlQUFlO2tCQURkLEtBQUs7WUFXTixVQUFVO2tCQURULEtBQUs7WUFXTixJQUFJO2tCQURILEtBQUs7WUFXTixLQUFLO2tCQURKLEtBQUs7WUFXTixTQUFTO2tCQURSLEtBQUs7WUFXTixTQUFTO2tCQURSLEtBQUs7WUFXTixPQUFPO2tCQUROLEtBQUs7WUFXTixZQUFZO2tCQURYLEtBQUs7WUFXTixpQkFBaUI7a0JBRGhCLEtBQUs7WUF3Qk4sV0FBVztrQkFEVixNQUFNO1lBZ0ZQLHNCQUFzQjtrQkFEckIsWUFBWTttQkFBQyxrQ0FBa0MsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7a0ZBeFZqRCxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsICBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVUeXBlcywgUHJlZGVmaW5lZENvbG9yc30gZnJvbSAnQGlvbmljL2NvcmUnO1xuaW1wb3J0IHsgU3RyaW5nT3JCb29sZWFuIH0gZnJvbSAnLi4vLi4vZW5naW5lL3R5cGVzJztcbmltcG9ydCB7d2luZG93RXZlbnRFbWl0dGVyfSBmcm9tICcuLi8uLi9oZWxwZXJzL3V0aWxzJztcbmltcG9ydCB7IEZvckFuZ3VsYXJNb2R1bGUgfSBmcm9tICcuLi8uLi9mb3ItYW5ndWxhci5tb2R1bGUnO1xuaW1wb3J0IHsgc3RyaW5nVG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vaGVscGVycy91dGlscyc7XG5pbXBvcnQgeyBOZ3hCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZW5naW5lL05neEJhc2VDb21wb25lbnQnO1xuaW1wb3J0IHsgSW9uU2VhcmNoYmFyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgKiBhcyBhbGxJY29ucyBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gU2VhcmNoYmFyIGNvbXBvbmVudCBmb3IgQW5ndWxhciBhcHBsaWNhdGlvbnMuXG4gKiBAc3VtbWFyeSBUaGUgU2VhcmNoYmFyQ29tcG9uZW50IHByb3ZpZGVzIGEgaGlnaGx5IGN1c3RvbWl6YWJsZSBzZWFyY2ggaW5wdXQgZmllbGQgd2l0aCBjb21wcmVoZW5zaXZlXG4gKiBvcHRpb25zIGZvciBhcHBlYXJhbmNlLCBiZWhhdmlvciwgYW5kIGludGVyYWN0aW9uIHBhdHRlcm5zLiBJdCBleHRlbmRzIE5neEJhc2VDb21wb25lbnQgdG8gaW5oZXJpdFxuICogY29tbW9uIGZ1bmN0aW9uYWxpdHkgYW5kIGltcGxlbWVudHMgT25Jbml0IGZvciBwcm9wZXIgbGlmZWN5Y2xlIG1hbmFnZW1lbnQuIFRoaXMgY29tcG9uZW50IGZlYXR1cmVzXG4gKiBkZWJvdW5jZWQgaW5wdXQgaGFuZGxpbmcsIHdpbmRvdyBldmVudCBpbnRlZ3JhdGlvbiwgdmlzaWJpbGl0eSBjb250cm9scywgYW5kIGV4dGVuc2l2ZSBzdHlsaW5nIG9wdGlvbnMuXG4gKiBJdCdzIGRlc2lnbmVkIHRvIGJlIGZsZXhpYmxlIGFuZCBhZGFwdGFibGUgdG8gZGlmZmVyZW50IHNlYXJjaCByZXF1aXJlbWVudHMgd2l0aGluIG1vZGVybiB3ZWIgYXBwbGljYXRpb25zLlxuICpcbiAqIEBjbGFzcyBTZWFyY2hiYXJDb21wb25lbnRcbiAqIEBleHRlbmRzIHtOZ3hCYXNlQ29tcG9uZW50fVxuICogQGltcGxlbWVudHMge09uSW5pdH1cbiAqIEBtZW1iZXJPZiBTZWFyY2hiYXJDb21wb25lbnRcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LWRlY2FmLXNlYXJjaGJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2hiYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2hiYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0ZvckFuZ3VsYXJNb2R1bGUsIElvblNlYXJjaGJhcl0sXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaGJhckNvbXBvbmVudCBleHRlbmRzIE5neEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIG1vZGUgb2YgdGhlIHNlYXJjaGJhci5cbiAgICogQHN1bW1hcnkgRGV0ZXJtaW5lcyB0aGUgdmlzdWFsIHN0eWxlIG9mIHRoZSBzZWFyY2hiYXIsIGVpdGhlciBpT1Mgb3IgTWF0ZXJpYWwgRGVzaWduLlxuICAgKiBAdHlwZSB7XCJpb3NcIiB8IFwibWRcIiB8IHVuZGVmaW5lZH1cbiAgICogQGRlZmF1bHQgXCJpb3NcIlxuICAgKi9cbiAgLy8gQElucHV0KClcbiAgLy8gb3ZlcnJpZGUgbW9kZTogXCJpb3NcIiB8IFwibWRcIiB8IHVuZGVmaW5lZCA9IFwibWRcIjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSBhdXRvY29tcGxldGUgYXR0cmlidXRlIGZvciB0aGUgc2VhcmNoYmFyIGlucHV0LlxuICAgKiBAc3VtbWFyeSBTcGVjaWZpZXMgd2hldGhlciB0aGUgYnJvd3NlciBzaG91bGQgZW5hYmxlIGF1dG9jb21wbGV0ZSBmb3IgdGhlIGlucHV0IGZpZWxkLlxuICAgKiBUaGlzIGNvbnRyb2xzIHRoZSBicm93c2VyJ3MgYnVpbHQtaW4gYXV0b2NvbXBsZXRlIGZ1bmN0aW9uYWxpdHksIGhlbHBpbmcgdXNlcnMgYnlcbiAgICogc3VnZ2VzdGluZyBwcmV2aW91c2x5IGVudGVyZWQgdmFsdWVzIG9yIGNvbW1vbiBpbnB1dHMuIFNldHRpbmcgdG8gJ29mZicgZGlzYWJsZXNcbiAgICogdGhpcyBmZWF0dXJlIGZvciBwcml2YWN5IG9yIHNlY3VyaXR5IHJlYXNvbnMuXG4gICAqXG4gICAqIEB0eXBlIHtBdXRvY29tcGxldGVUeXBlcyB8IHVuZGVmaW5lZH1cbiAgICogQGRlZmF1bHQgXCJvZmZcIlxuICAgKiBAbWVtYmVyT2YgU2VhcmNoYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBhdXRvY29tcGxldGU6IEF1dG9jb21wbGV0ZVR5cGVzIHwgdW5kZWZpbmVkID0gXCJvZmZcIjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSBhdXRvY29ycmVjdCBhdHRyaWJ1dGUgZm9yIHRoZSBzZWFyY2hiYXIgaW5wdXQuXG4gICAqIEBzdW1tYXJ5IENvbnRyb2xzIHdoZXRoZXIgdGhlIGJyb3dzZXIgc2hvdWxkIGVuYWJsZSBhdXRvY29ycmVjdCBmdW5jdGlvbmFsaXR5IGZvciB0aGUgaW5wdXQgZmllbGQuXG4gICAqIFdoZW4gZW5hYmxlZCwgdGhlIGJyb3dzZXIgd2lsbCBhdXRvbWF0aWNhbGx5IGNvcnJlY3Qgc3BlbGxpbmcgbWlzdGFrZXMgYXMgdGhlIHVzZXIgdHlwZXMuXG4gICAqIFRoaXMgaXMgdHlwaWNhbGx5IGRpc2FibGVkIGZvciBzZWFyY2ggZmllbGRzIHRvIHByZXNlcnZlIHRoZSB1c2VyJ3MgZXhhY3Qgc2VhcmNoIHRlcm1zLlxuICAgKlxuICAgKiBAdHlwZSB7XCJvblwiIHwgXCJvZmZcIn1cbiAgICogQGRlZmF1bHQgXCJvZmZcIlxuICAgKiBAbWVtYmVyT2YgU2VhcmNoYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBhdXRvY29ycmVjdDogXCJvblwiIHwgXCJvZmZcIiA9IFwib2ZmXCI7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBXaGV0aGVyIHRoZSBzZWFyY2hiYXIgc2hvdWxkIGFuaW1hdGUuXG4gICAqIEBzdW1tYXJ5IENvbnRyb2xzIHRoZSBhbmltYXRpb24gYmVoYXZpb3Igb2YgdGhlIHNlYXJjaGJhciBkdXJpbmcgYXBwZWFyYW5jZSBhbmQgZGlzYXBwZWFyYW5jZSB0cmFuc2l0aW9ucy5cbiAgICogV2hlbiBlbmFibGVkLCB0aGUgc2VhcmNoYmFyIHdpbGwgdXNlIHNtb290aCBhbmltYXRpb25zIGZvciBzdGF0ZSBjaGFuZ2VzLCBwcm92aWRpbmcgYSBtb3JlXG4gICAqIHBvbGlzaGVkIHVzZXIgZXhwZXJpZW5jZS4gVGhpcyBhZmZlY3RzIHRyYW5zaXRpb25zIGxpa2Ugc2hvd2luZy9oaWRpbmcgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHR5cGUge1N0cmluZ09yQm9vbGVhbn1cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAbWVtYmVyT2YgU2VhcmNoYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBhbmltYXRlZDogU3RyaW5nT3JCb29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSB0ZXh0IGZvciB0aGUgY2FuY2VsIGJ1dHRvbi5cbiAgICogQHN1bW1hcnkgU3BlY2lmaWVzIHRoZSBsb2NhbGl6ZWQgdGV4dCB0byBiZSBkaXNwbGF5ZWQgb24gdGhlIGNhbmNlbCBidXR0b24gb2YgdGhlIHNlYXJjaGJhci5cbiAgICogVGhpcyB0ZXh0IGFwcGVhcnMgd2hlbiB0aGUgY2FuY2VsIGJ1dHRvbiBpcyB2aXNpYmxlIGFuZCBwcm92aWRlcyB1c2VycyB3aXRoIGEgY2xlYXJcbiAgICogaW5kaWNhdGlvbiBvZiBob3cgdG8gZGlzbWlzcyB0aGUgc2VhcmNoIGludGVyZmFjZS4gVGhlIHRleHQgY2FuIGJlIGN1c3RvbWl6ZWQgZm9yXG4gICAqIGRpZmZlcmVudCBsYW5ndWFnZXMgYW5kIGN1bHR1cmFsIGNvbnRleHRzLlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAZGVmYXVsdCBcIkNhbmNlbFwiXG4gICAqIEBtZW1iZXJPZiBTZWFyY2hiYXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpXG4gIGJ1dHRvbkNhbmNlbFRleHQ6IHN0cmluZyA9IFwiQ2FuY2VsXCI7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgaWNvbiB0byB1c2UgZm9yIHRoZSBjbGVhciBidXR0b24uXG4gICAqIEBzdW1tYXJ5IFNwZWNpZmllcyB0aGUgaWNvbiB0byBiZSBkaXNwbGF5ZWQgZm9yIHRoZSBjbGVhciBidXR0b24gb2YgdGhlIHNlYXJjaGJhci5cbiAgICogQHR5cGUge3N0cmluZyB8IHVuZGVmaW5lZH1cbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqIEBtZW1iZXJPZiBTZWFyY2hiYXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpXG4gIGNsZWFySWNvbjogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIGNvbG9yIG9mIHRoZSBzZWFyY2hiYXIuXG4gICAqIEBzdW1tYXJ5IFNwZWNpZmllcyB0aGUgY29sb3IgdGhlbWUgdG8gYmUgYXBwbGllZCB0byB0aGUgc2VhcmNoYmFyLlxuICAgKiBAdHlwZSB7c3RyaW5nIHwgdW5kZWZpbmVkfVxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICogQG1lbWJlck9mIFNlYXJjaGJhckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KClcbiAgY29sb3I6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSBhbW91bnQgb2YgdGltZSwgaW4gbWlsbGlzZWNvbmRzLCB0byB3YWl0IHRvIHRyaWdnZXIgdGhlIGBpb25DaGFuZ2VgIGV2ZW50IGFmdGVyIGVhY2gga2V5c3Ryb2tlLlxuICAgKiBAc3VtbWFyeSBDb250cm9scyB0aGUgZGVib3VuY2UgdGltZSBmb3IgdGhlIHNlYXJjaCBpbnB1dCB0byByZWR1Y2UgdGhlIGZyZXF1ZW5jeSBvZiBldmVudCBlbWlzc2lvbnMuXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqIEBkZWZhdWx0IDUwMFxuICAgKiBAbWVtYmVyT2YgU2VhcmNoYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBkZWJvdW5jZTogbnVtYmVyID0gNTAwO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gV2hldGhlciB0aGUgc2VhcmNoYmFyIGlzIGRpc2FibGVkLlxuICAgKiBAc3VtbWFyeSBDb250cm9scyB3aGV0aGVyIHRoZSBzZWFyY2hiYXIgaXMgaW50ZXJhY3RpdmUgb3Igbm90LlxuICAgKiBAdHlwZSB7U3RyaW5nT3JCb29sZWFufVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAbWVtYmVyT2YgU2VhcmNoYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBkaXNhYmxlZDogU3RyaW5nT3JCb29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBBIGhpbnQgdG8gdGhlIGJyb3dzZXIgZm9yIHdoaWNoIGVudGVyIGtleSB0byBkaXNwbGF5LlxuICAgKiBAc3VtbWFyeSBTcGVjaWZpZXMgdGhlIHR5cGUgb2YgYWN0aW9uIHRoYXQgd2lsbCBiZSBwZXJmb3JtZWQgd2hlbiB0aGUgZW50ZXIga2V5IGlzIHByZXNzZWQuXG4gICAqIEB0eXBlIHtcInNlYXJjaFwiIHwgXCJlbnRlclwiIHwgXCJkb25lXCIgfCBcImdvXCIgfCBcIm5leHRcIiB8IFwicHJldmlvdXNcIiB8IFwic2VuZFwiIHwgdW5kZWZpbmVkfVxuICAgKiBAZGVmYXVsdCBcImVudGVyXCJcbiAgICogQG1lbWJlck9mIFNlYXJjaGJhckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KClcbiAgZW50ZXJrZXloaW50OiBcInNlYXJjaFwiIHwgXCJlbnRlclwiIHwgXCJkb25lXCIgfCBcImdvXCIgfCBcIm5leHRcIiB8IFwicHJldmlvdXNcIiB8IFwic2VuZFwiIHwgdW5kZWZpbmVkID0gXCJlbnRlclwiO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIGlucHV0IG1vZGUgZm9yIHRoZSBzZWFyY2hiYXIuXG4gICAqIEBzdW1tYXJ5IFNwZWNpZmllcyB0aGUgdHlwZSBvZiBkYXRhIHRoYXQgbWlnaHQgYmUgZW50ZXJlZCBieSB0aGUgdXNlciB3aGlsZSBlZGl0aW5nIHRoZSBlbGVtZW50IG9yIGl0cyBjb250ZW50cy5cbiAgICogQHR5cGUge1widGV4dFwiIHwgXCJzZWFyY2hcIiB8IFwibm9uZVwiIHwgXCJlbWFpbFwiIHwgXCJ0ZWxcIiB8IFwidXJsXCIgfCBcIm51bWVyaWNcIiB8IFwiZGVjaW1hbFwiIHwgdW5kZWZpbmVkfVxuICAgKiBAZGVmYXVsdCAnc2VhcmNoJ1xuICAgKiBAbWVtYmVyT2YgU2VhcmNoYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBpbnB1dG1vZGU6IFwidGV4dFwiIHwgXCJzZWFyY2hcIiB8IFwibm9uZVwiIHwgXCJlbWFpbFwiIHwgXCJ0ZWxcIiB8IFwidXJsXCIgfCBcIm51bWVyaWNcIiB8IFwiZGVjaW1hbFwiIHwgdW5kZWZpbmVkID0gJ3NlYXJjaCc7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgcGxhY2Vob2xkZXIgZm9yIHRoZSBzZWFyY2hiYXIgaW5wdXQuXG4gICAqIEBzdW1tYXJ5IFNwZWNpZmllcyB0aGUgcGxhY2Vob2xkZXIgdGV4dCB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIHNlYXJjaGJhciB3aGVuIGl0J3MgZW1wdHkuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBkZWZhdWx0IFwiU2VhcmNoXCJcbiAgICogQG1lbWJlck9mIFNlYXJjaGJhckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KClcbiAgcGxhY2Vob2xkZXIgPSBcIlNlYXJjaFwiO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIGljb24gdG8gdXNlIGZvciB0aGUgc2VhcmNoIGJ1dHRvbi5cbiAgICogQHN1bW1hcnkgU3BlY2lmaWVzIHRoZSBpY29uIHRvIGJlIGRpc3BsYXllZCBmb3IgdGhlIHNlYXJjaCBidXR0b24gb2YgdGhlIHNlYXJjaGJhci5cbiAgICogQHR5cGUge3N0cmluZyB8IHVuZGVmaW5lZH1cbiAgICogQGRlZmF1bHQgXCJzZWFyY2gtb3V0bGluZVwiXG4gICAqIEBtZW1iZXJPZiBTZWFyY2hiYXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNlYXJjaEljb246IHN0cmluZyB8IHVuZGVmaW5lZCA9IFwic2VhcmNoLW91dGxpbmVcIjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFdoZW4gdG8gc2hvdyB0aGUgY2FuY2VsIGJ1dHRvbi5cbiAgICogQHN1bW1hcnkgQ29udHJvbHMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGNhbmNlbCBidXR0b24gaW4gZGlmZmVyZW50IHN0YXRlcyBvZiB0aGUgc2VhcmNoYmFyLlxuICAgKiBAdHlwZSB7XCJhbHdheXNcIiB8IFwiZm9jdXNcIiB8IFwibmV2ZXJcIn1cbiAgICogQGRlZmF1bHQgXCJuZXZlclwiXG4gICAqIEBtZW1iZXJPZiBTZWFyY2hiYXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNob3dDYW5jZWxCdXR0b246IFwiYWx3YXlzXCIgfCBcImZvY3VzXCIgfCBcIm5ldmVyXCIgPSBcIm5ldmVyXCI7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBXaGVuIHRvIHNob3cgdGhlIGNsZWFyIGJ1dHRvbi5cbiAgICogQHN1bW1hcnkgQ29udHJvbHMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGNsZWFyIGJ1dHRvbiBpbiBkaWZmZXJlbnQgc3RhdGVzIG9mIHRoZSBzZWFyY2hiYXIuXG4gICAqIEB0eXBlIHtcImFsd2F5c1wiIHwgXCJmb2N1c1wiIHwgXCJuZXZlclwifVxuICAgKiBAZGVmYXVsdCBcImZvY3VzXCJcbiAgICogQG1lbWJlck9mIFNlYXJjaGJhckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KClcbiAgc2hvd0NsZWFyQnV0dG9uOiBcImFsd2F5c1wiIHwgXCJmb2N1c1wiIHwgXCJuZXZlclwiID0gXCJmb2N1c1wiO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gV2hldGhlciB0byBlbmFibGUgc3BlbGxjaGVjayBvbiB0aGUgc2VhcmNoYmFyIGlucHV0LlxuICAgKiBAc3VtbWFyeSBDb250cm9scyB3aGV0aGVyIHRoZSBicm93c2VyJ3Mgc3BlbGxjaGVjayBmZWF0dXJlIGlzIGVuYWJsZWQgZm9yIHRoZSBzZWFyY2hiYXIgaW5wdXQuXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAbWVtYmVyT2YgU2VhcmNoYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBzcGVsbGNoZWNrOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgdHlwZSBvZiBpbnB1dCB0byB1c2UgZm9yIHRoZSBzZWFyY2hiYXIuXG4gICAqIEBzdW1tYXJ5IFNwZWNpZmllcyB0aGUgdHlwZSBvZiBjb250cm9sIHRvIGRpc3BsYXkgZm9yIHRoZSBzZWFyY2hiYXIgaW5wdXQuXG4gICAqIEB0eXBlIHtcIm51bWJlclwiIHwgXCJ0ZXh0XCIgfCBcInNlYXJjaFwiIHwgXCJlbWFpbFwiIHwgXCJwYXNzd29yZFwiIHwgXCJ0ZWxcIiB8IFwidXJsXCIgfCB1bmRlZmluZWR9XG4gICAqIEBkZWZhdWx0IFwic2VhcmNoXCJcbiAgICogQG1lbWJlck9mIFNlYXJjaGJhckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KClcbiAgdHlwZTogXCJudW1iZXJcIiB8IFwidGV4dFwiIHwgXCJzZWFyY2hcIiB8IFwiZW1haWxcIiB8IFwicGFzc3dvcmRcIiB8IFwidGVsXCIgfCBcInVybFwiIHwgdW5kZWZpbmVkID0gXCJzZWFyY2hcIjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSB2YWx1ZSBvZiB0aGUgc2VhcmNoYmFyIGlucHV0LlxuICAgKiBAc3VtbWFyeSBTcGVjaWZpZXMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHNlYXJjaGJhciBpbnB1dC5cbiAgICogQHR5cGUge251bGwgfCBzdHJpbmcgfCB1bmRlZmluZWR9XG4gICAqIEBkZWZhdWx0IFwiXCJcbiAgICogQG1lbWJlck9mIFNlYXJjaGJhckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KClcbiAgdmFsdWU6IG51bGwgfCBzdHJpbmcgfCB1bmRlZmluZWQgPSBcIlwiO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIGtleXMgdG8gdXNlIGZvciBxdWVyeWluZy5cbiAgICogQHN1bW1hcnkgU3BlY2lmaWVzIHRoZSBrZXlzIHRvIGJlIHVzZWQgd2hlbiBwZXJmb3JtaW5nIGEgc2VhcmNoIHF1ZXJ5LlxuICAgKiBAdHlwZSB7c3RyaW5nIHwgc3RyaW5nW119XG4gICAqIEBkZWZhdWx0IFwibmFtZVwiXG4gICAqIEBtZW1iZXJPZiBTZWFyY2hiYXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHF1ZXJ5S2V5czogc3RyaW5nIHwgc3RyaW5nW10gPSBcIm5hbWVcIjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFdoZXRoZXIgdGhlIHNlYXJjaGJhciBpcyB2aXNpYmxlLlxuICAgKiBAc3VtbWFyeSBDb250cm9scyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgc2VhcmNoYmFyIGNvbXBvbmVudC5cbiAgICogQHR5cGUge1N0cmluZ09yQm9vbGVhbn1cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQG1lbWJlck9mIFNlYXJjaGJhckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KClcbiAgaXNWaXNpYmxlOiBTdHJpbmdPckJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFdoZXRoZXIgdG8gd3JhcCB0aGUgc2VhcmNoYmFyIGluIGEgY29udGFpbmVyLlxuICAgKiBAc3VtbWFyeSBDb250cm9scyB3aGV0aGVyIHRoZSBzZWFyY2hiYXIgaXMgd3JhcHBlZCBpbiBhbiBhZGRpdGlvbmFsIGNvbnRhaW5lciBlbGVtZW50LlxuICAgKiBAdHlwZSB7U3RyaW5nT3JCb29sZWFufVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAbWVtYmVyT2YgU2VhcmNoYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICB3cmFwcGVyOiBTdHJpbmdPckJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSBjb2xvciBvZiB0aGUgd3JhcHBlci5cbiAgICogQHN1bW1hcnkgU3BlY2lmaWVzIHRoZSBjb2xvciB0aGVtZSB0byBiZSBhcHBsaWVkIHRvIHRoZSB3cmFwcGVyIGNvbnRhaW5lciwgaWYgcHJlc2VudC5cbiAgICogQHR5cGUge1ByZWRlZmluZWRDb2xvcnN9XG4gICAqIEBkZWZhdWx0IFwicHJpbWFyeVwiXG4gICAqIEBtZW1iZXJPZiBTZWFyY2hiYXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHdyYXBwZXJDb2xvcjogUHJlZGVmaW5lZENvbG9ycyA9IFwicHJpbWFyeVwiO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gV2hldGhlciB0byBlbWl0IGV2ZW50cyB0byB0aGUgd2luZG93LlxuICAgKiBAc3VtbWFyeSBDb250cm9scyB3aGV0aGVyIHNlYXJjaCBldmVudHMgc2hvdWxkIGJlIGVtaXR0ZWQgYXMgd2luZG93IGV2ZW50cy5cbiAgICogQHR5cGUge1N0cmluZ09yQm9vbGVhbn1cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAbWVtYmVyT2YgU2VhcmNoYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBlbWl0RXZlbnRUb1dpbmRvdzogU3RyaW5nT3JCb29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBzZWFyY2hiYXIuXG4gICAqIEBzdW1tYXJ5IFN0b3JlcyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgc2VhcmNoYmFyIGlucHV0IGZvciBpbnRlcm5hbCBzdGF0ZSBtYW5hZ2VtZW50IGFuZCBwcm9jZXNzaW5nLlxuICAgKiBUaGlzIHByb3BlcnR5IGlzIHVzZWQgdG8gdHJhY2sgdGhlIHNlYXJjaCB0ZXJtIHRocm91Z2hvdXQgdGhlIGNvbXBvbmVudCdzIGxpZmVjeWNsZSBhbmRcbiAgICogY29vcmRpbmF0ZSBiZXR3ZWVuIGRpZmZlcmVudCBldmVudCBoYW5kbGVycyBhbmQgbWV0aG9kcy5cbiAgICpcbiAgICogQHR5cGUge3N0cmluZyB8IHVuZGVmaW5lZH1cbiAgICogQG1lbWJlck9mIFNlYXJjaGJhckNvbXBvbmVudFxuICAgKi9cbiAgY3VycmVudFZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBFdmVudCBlbWl0dGVyIGZvciBzZWFyY2ggZXZlbnRzLlxuICAgKiBAc3VtbWFyeSBFbWl0cyBzZWFyY2ggZXZlbnRzIHdoZW4gdGhlIHVzZXIgaW50ZXJhY3RzIHdpdGggdGhlIHNlYXJjaGJhciwgcHJvdmlkaW5nIGEgcmVhY3RpdmVcbiAgICogaW50ZXJmYWNlIGZvciBwYXJlbnQgY29tcG9uZW50cyB0byByZXNwb25kIHRvIHNlYXJjaCBhY3Rpb25zLiBUaGlzIGV2ZW50IGlzIHRyaWdnZXJlZCBieVxuICAgKiB2YXJpb3VzIHVzZXIgaW50ZXJhY3Rpb25zIGluY2x1ZGluZyB0eXBpbmcsIGNsZWFyaW5nLCBhbmQgZXhwbGljaXQgc2VhcmNoIGFjdGlvbnMuXG4gICAqXG4gICAqIEB0eXBlIHtFdmVudEVtaXR0ZXI8c3RyaW5nPn1cbiAgICogQG1lbWJlck9mIFNlYXJjaGJhckNvbXBvbmVudFxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHNlYXJjaEV2ZW50OiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBTZWFyY2hiYXJDb21wb25lbnQuXG4gICAqIEBzdW1tYXJ5IEluaXRpYWxpemVzIHRoZSBTZWFyY2hiYXJDb21wb25lbnQgd2l0aCBhbGwgbmVjZXNzYXJ5IGRlcGVuZGVuY2llcyBhbmQgY29uZmlndXJhdGlvbnMuXG4gICAqIER1cmluZyBpbml0aWFsaXphdGlvbiwgaXQgYWRkcyBhbGwgYXZhaWxhYmxlIElvbmljb25zIHRvIHRoZSBhcHBsaWNhdGlvbidzIGljb24gcmVnaXN0cnksXG4gICAqIGVuc3VyaW5nIHRoYXQgc2VhcmNoIGFuZCBjbGVhciBpY29ucyBhcmUgYXZhaWxhYmxlIGZvciB1c2UgdGhyb3VnaG91dCB0aGUgY29tcG9uZW50J3MgbGlmZWN5Y2xlLlxuICAgKlxuICAgKiBAbWVtYmVyT2YgU2VhcmNoYmFyQ29tcG9uZW50XG4gICAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignU2VhcmNoYmFyQ29tcG9uZW50Jyk7XG4gICAgYWRkSWNvbnMoYWxsSWNvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEluaXRpYWxpemVzIHRoZSBjb21wb25lbnQgYWZ0ZXIgQW5ndWxhciBmaXJzdCBkaXNwbGF5cyB0aGUgZGF0YS1ib3VuZCBwcm9wZXJ0aWVzLlxuICAgKiBAc3VtbWFyeSBQZXJmb3JtcyBlc3NlbnRpYWwgY29tcG9uZW50IGluaXRpYWxpemF0aW9uIGJ5IGNvbnZlcnRpbmcgc3RyaW5nLWJhc2VkIGJvb2xlYW4gaW5wdXRzXG4gICAqIHRvIHByb3BlciBib29sZWFuIHZhbHVlcyB1c2luZyB0aGUgc3RyaW5nVG9Cb29sZWFuIHV0aWxpdHkuIFRoaXMgZW5zdXJlcyB0aGF0IGFsbCBib29sZWFuXG4gICAqIHByb3BlcnRpZXMgd29yayBjb3JyZWN0bHkgcmVnYXJkbGVzcyBvZiBob3cgdGhleSB3ZXJlIHBhc3NlZCBmcm9tIHBhcmVudCBjb21wb25lbnRzIG9yIHRlbXBsYXRlcy5cbiAgICpcbiAgICogQHJldHVybiB7dm9pZH1cbiAgICpcbiAgICogQG1lcm1haWRcbiAgICogc2VxdWVuY2VEaWFncmFtXG4gICAqICAgcGFydGljaXBhbnQgQSBhcyBBbmd1bGFyIExpZmVjeWNsZVxuICAgKiAgIHBhcnRpY2lwYW50IFMgYXMgU2VhcmNoYmFyQ29tcG9uZW50XG4gICAqICAgcGFydGljaXBhbnQgVSBhcyBVdGlsaXR5IEZ1bmN0aW9uc1xuICAgKlxuICAgKiAgIEEtPj5TOiBuZ09uSW5pdCgpXG4gICAqICAgUy0+PlU6IHN0cmluZ1RvQm9vbGVhbihlbWl0RXZlbnRUb1dpbmRvdylcbiAgICogICBVLS0+PlM6IGJvb2xlYW4gdmFsdWVcbiAgICogICBTLT4+VTogc3RyaW5nVG9Cb29sZWFuKHdyYXBwZXIpXG4gICAqICAgVS0tPj5TOiBib29sZWFuIHZhbHVlXG4gICAqICAgUy0+PlU6IHN0cmluZ1RvQm9vbGVhbihpc1Zpc2libGUpXG4gICAqICAgVS0tPj5TOiBib29sZWFuIHZhbHVlXG4gICAqICAgUy0+PlU6IHN0cmluZ1RvQm9vbGVhbihkaXNhYmxlZClcbiAgICogICBVLS0+PlM6IGJvb2xlYW4gdmFsdWVcbiAgICogICBTLT4+VTogc3RyaW5nVG9Cb29sZWFuKGFuaW1hdGVkKVxuICAgKiAgIFUtLT4+UzogYm9vbGVhbiB2YWx1ZVxuICAgKiAgIE5vdGUgb3ZlciBTOiBDb21wb25lbnQgcmVhZHkgZm9yIGludGVyYWN0aW9uXG4gICAqXG4gICAqIEBtZW1iZXJPZiBTZWFyY2hiYXJDb21wb25lbnRcbiAgICovXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZW1pdEV2ZW50VG9XaW5kb3cgPSBzdHJpbmdUb0Jvb2xlYW4odGhpcy5lbWl0RXZlbnRUb1dpbmRvdyk7XG4gICAgdGhpcy53cmFwcGVyID0gc3RyaW5nVG9Cb29sZWFuKHRoaXMud3JhcHBlcik7XG4gICAgdGhpcy5pc1Zpc2libGUgPSBzdHJpbmdUb0Jvb2xlYW4odGhpcy5pc1Zpc2libGUpO1xuICAgIHRoaXMuZGlzYWJsZWQgPSBzdHJpbmdUb0Jvb2xlYW4odGhpcy5kaXNhYmxlZCk7XG4gICAgdGhpcy5hbmltYXRlZCA9IHN0cmluZ1RvQm9vbGVhbih0aGlzLmFuaW1hdGVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gSGFuZGxlcyB0aGUgdmlzaWJpbGl0eSB0b2dnbGUgb2YgdGhlIHNlYXJjaGJhciBjb21wb25lbnQuXG4gICAqIEBzdW1tYXJ5IExpc3RlbnMgZm9yIGdsb2JhbCB3aW5kb3cgZXZlbnRzIHRvIHRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBzdGF0ZSBvZiB0aGUgc2VhcmNoYmFyLlxuICAgKiBXaGVuIHRoZSBzZWFyY2hiYXIgYmVjb21lcyB2aXNpYmxlLCBpdCBhdXRvbWF0aWNhbGx5IGZvY3VzZXMgb24gdGhlIGlucHV0IGZpZWxkIGFmdGVyIGEgYnJpZWZcbiAgICogZGVsYXkgdG8gZW5zdXJlIHNtb290aCBhbmltYXRpb24gY29tcGxldGlvbi4gVGhpcyBwcm92aWRlcyBhIHNlYW1sZXNzIHVzZXIgZXhwZXJpZW5jZSBmb3JcbiAgICogc2VhcmNoIGFjdGl2YXRpb24gdGhyb3VnaCBrZXlib2FyZCBzaG9ydGN1dHMgb3IgcHJvZ3JhbW1hdGljIHRyaWdnZXJzLlxuICAgKlxuICAgKiBAcGFyYW0ge0N1c3RvbUV2ZW50fSBldmVudCAtIFRoZSBjdXN0b20gZXZlbnQgdHJpZ2dlcmluZyB0aGUgdmlzaWJpbGl0eSB0b2dnbGUgKHVudXNlZCBidXQgcmVxdWlyZWQgYnkgSG9zdExpc3RlbmVyKVxuICAgKiBAcmV0dXJuIHt2b2lkfVxuICAgKlxuICAgKiBAbWVybWFpZFxuICAgKiBzZXF1ZW5jZURpYWdyYW1cbiAgICogICBwYXJ0aWNpcGFudCBXIGFzIFdpbmRvd1xuICAgKiAgIHBhcnRpY2lwYW50IFMgYXMgU2VhcmNoYmFyQ29tcG9uZW50XG4gICAqICAgcGFydGljaXBhbnQgRSBhcyBET00gRWxlbWVudFxuICAgKlxuICAgKiAgIFctPj5TOiB0b2dnbGVTZWFyY2hiYXJWaXNpYmlsaXR5IGV2ZW50XG4gICAqICAgUy0+PlM6IGhhbmRsZVRvZ2dsZVZpc2liaWxpdHkoKVxuICAgKiAgIFMtPj5TOiBUb2dnbGUgaXNWaXNpYmxlIHN0YXRlXG4gICAqICAgYWx0IGlzVmlzaWJsZSBpcyB0cnVlIEFORCBjb21wb25lbnQgZXhpc3RzXG4gICAqICAgICBTLT4+Uzogc2V0VGltZW91dCgxMjVtcylcbiAgICogICAgIFMtPj5FOiBzZXRGb2N1cygpIG9uIGlvbi1zZWFyY2hiYXJcbiAgICogICBlbmRcbiAgICpcbiAgICogQG1lbWJlck9mIFNlYXJjaGJhckNvbXBvbmVudFxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzp0b2dnbGVTZWFyY2hiYXJWaXNpYmlsaXR5XCIsIFsnJGV2ZW50J10pXG4gIGhhbmRsZVRvZ2dsZVZpc2liaWxpdHkoKTogdm9pZCB7XG4gICAgdGhpcy5pc1Zpc2libGUgPSAhdGhpcy5pc1Zpc2libGU7XG4gICAgaWYodGhpcy5pc1Zpc2libGUgJiYgISF0aGlzLmNvbXBvbmVudC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgKHRoaXMuY29tcG9uZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTElvblNlYXJjaGJhckVsZW1lbnQpLnNldEZvY3VzKCk7XG4gICAgICB9LCAxMjUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVHJpZ2dlcnMgYSBtYW51YWwgc2VhcmNoIGV2ZW50IHdpdGggdGhlIGN1cnJlbnQgc2VhcmNoYmFyIHZhbHVlLlxuICAgKiBAc3VtbWFyeSBSZXRyaWV2ZXMgdGhlIGN1cnJlbnQgdmFsdWUgZnJvbSB0aGUgc2VhcmNoYmFyJ3MgbmF0aXZlIGVsZW1lbnQgYW5kIGVtaXRzIGl0IGFzIGEgc2VhcmNoIGV2ZW50LlxuICAgKiBUaGlzIG1ldGhvZCBwcm92aWRlcyBhIHByb2dyYW1tYXRpYyB3YXkgdG8gdHJpZ2dlciBzZWFyY2ggZnVuY3Rpb25hbGl0eSwgdXNlZnVsIGZvciBleHRlcm5hbFxuICAgKiBjb21wb25lbnRzIG9yIGtleWJvYXJkIHNob3J0Y3V0cyB0aGF0IG5lZWQgdG8gZXhlY3V0ZSBzZWFyY2ggd2l0aG91dCB1c2VyIGludGVyYWN0aW9uIHdpdGggdGhlIHNlYXJjaGJhciBpdHNlbGYuXG4gICAqXG4gICAqIEByZXR1cm4ge3ZvaWR9XG4gICAqIEBtZW1iZXJPZiBTZWFyY2hiYXJDb21wb25lbnRcbiAgICovXG4gIHNlYXJjaCgpOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5jb21wb25lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MSW9uU2VhcmNoYmFyRWxlbWVudDtcbiAgICB0aGlzLnNlYXJjaEV2ZW50LmVtaXQoZWxlbWVudC52YWx1ZSB8fCB1bmRlZmluZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBIYW5kbGVzIHZhbHVlIGNoYW5nZXMgaW4gdGhlIHNlYXJjaGJhciBpbnB1dCBmaWVsZC5cbiAgICogQHN1bW1hcnkgUHJvY2Vzc2VzIGNoYW5nZSBldmVudHMgZnJvbSB0aGUgSW9uaWMgc2VhcmNoYmFyIGNvbXBvbmVudCBhbmQgZXh0cmFjdHMgdGhlIG5ldyB2YWx1ZVxuICAgKiB0byBlbWl0IGFzIGEgc2VhcmNoIGV2ZW50LiBUaGlzIG1ldGhvZCBpcyB0cmlnZ2VyZWQgd2hlbiB0aGUgdXNlciBmaW5pc2hlcyBlZGl0aW5nIHRoZSBzZWFyY2hiYXJcbiAgICogdmFsdWUsIHByb3ZpZGluZyBhIHdheSB0byByZWFjdCB0byBjb21wbGV0ZWQgaW5wdXQgY2hhbmdlcyByYXRoZXIgdGhhbiByZWFsLXRpbWUgdHlwaW5nLlxuICAgKlxuICAgKiBAcGFyYW0ge0N1c3RvbUV2ZW50fSBldmVudCAtIFRoZSBjaGFuZ2UgZXZlbnQgZnJvbSB0aGUgSW9uaWMgc2VhcmNoYmFyIGNvbnRhaW5pbmcgdGhlIG5ldyB2YWx1ZVxuICAgKiBAcmV0dXJuIHt2b2lkfVxuICAgKiBAbWVtYmVyT2YgU2VhcmNoYmFyQ29tcG9uZW50XG4gICAqL1xuICBoYW5kbGVDaGFuZ2UoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5lbWl0RXZlbnQoZXZlbnQ/LmRldGFpbD8udmFsdWUgPz8gdW5kZWZpbmVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gSGFuZGxlcyBjbGVhcmluZyBvZiB0aGUgc2VhcmNoYmFyIGlucHV0IGZpZWxkLlxuICAgKiBAc3VtbWFyeSBFbWl0cyBhbiB1bmRlZmluZWQgdmFsdWUgYXMgYSBzZWFyY2ggZXZlbnQgd2hlbiB0aGUgc2VhcmNoYmFyIGlzIGNsZWFyZWQgYnkgdGhlIHVzZXIuXG4gICAqIFRoaXMgbWV0aG9kIGlzIHR5cGljYWxseSB0cmlnZ2VyZWQgd2hlbiB0aGUgdXNlciBjbGlja3MgdGhlIGNsZWFyIGJ1dHRvbiBvciB1c2VzIG90aGVyXG4gICAqIGNsZWFyIG1lY2hhbmlzbXMsIHNpZ25hbGluZyB0aGF0IHRoZSBzZWFyY2ggc2hvdWxkIGJlIHJlc2V0IG9yIGNsZWFyZWQuXG4gICAqXG4gICAqIEByZXR1cm4ge3ZvaWR9XG4gICAqIEBtZW1iZXJPZiBTZWFyY2hiYXJDb21wb25lbnRcbiAgICovXG4gIGhhbmRsZUNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuZW1pdEV2ZW50KHVuZGVmaW5lZCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEhhbmRsZXMgcmVhbC10aW1lIGlucHV0IGV2ZW50cyBvbiB0aGUgc2VhcmNoYmFyLlxuICAgKiBAc3VtbWFyeSBQcm9jZXNzZXMgaW5wdXQgZXZlbnRzIGFzIHRoZSB1c2VyIHR5cGVzLCBwcm92aWRpbmcgaW1tZWRpYXRlIGZlZWRiYWNrIGZvciBzZWFyY2ggZnVuY3Rpb25hbGl0eS5cbiAgICogVGhpcyBtZXRob2QgaW1wbGVtZW50cyBzbWFydCBjbGVhcmluZyBiZWhhdmlvciAtIGlmIHRoZSBpbnB1dCBiZWNvbWVzIGVtcHR5LCBpdCBhdXRvbWF0aWNhbGx5XG4gICAqIHRyaWdnZXJzIHRoZSBjbGVhciBoYW5kbGVyLiBPdGhlcndpc2UsIGl0IGVtaXRzIHRoZSBjdXJyZW50IHZhbHVlIGZvciByZWFsLXRpbWUgc2VhcmNoIHN1Z2dlc3Rpb25zXG4gICAqIG9yIGZpbHRlcmluZy4gVGhpcyBlbmFibGVzIHJlc3BvbnNpdmUgc2VhcmNoIGV4cGVyaWVuY2VzIHdpdGggZGVib3VuY2VkIGV2ZW50IGhhbmRsaW5nLlxuICAgKlxuICAgKiBAcGFyYW0ge0N1c3RvbUV2ZW50fSBldmVudCAtIFRoZSBpbnB1dCBldmVudCBmcm9tIHRoZSBJb25pYyBzZWFyY2hiYXIgY29udGFpbmluZyB0aGUgY3VycmVudCB2YWx1ZVxuICAgKiBAcmV0dXJuIHt2b2lkfVxuICAgKlxuICAgKiBAbWVybWFpZFxuICAgKiBzZXF1ZW5jZURpYWdyYW1cbiAgICogICBwYXJ0aWNpcGFudCBVIGFzIFVzZXJcbiAgICogICBwYXJ0aWNpcGFudCBTIGFzIFNlYXJjaGJhckNvbXBvbmVudFxuICAgKiAgIHBhcnRpY2lwYW50IEUgYXMgRXZlbnQgU3lzdGVtXG4gICAqXG4gICAqICAgVS0+PlM6IFR5cGUgaW4gc2VhcmNoYmFyXG4gICAqICAgUy0+PlM6IGhhbmRsZUlucHV0KGV2ZW50KVxuICAgKiAgIFMtPj5TOiBFeHRyYWN0IHZhbHVlIGZyb20gZXZlbnRcbiAgICogICBhbHQgdmFsdWUgaXMgZW1wdHkgb3IgbnVsbFxuICAgKiAgICAgUy0+PlM6IGhhbmRsZUNsZWFyKClcbiAgICogICAgIFMtPj5FOiBFbWl0IHVuZGVmaW5lZFxuICAgKiAgIGVsc2UgdmFsdWUgaGFzIGNvbnRlbnRcbiAgICogICAgIFMtPj5TOiBlbWl0RXZlbnQodmFsdWUpXG4gICAqICAgICBTLT4+RTogRW1pdCBzZWFyY2ggdmFsdWVcbiAgICogICBlbmRcbiAgICpcbiAgICogQG1lbWJlck9mIFNlYXJjaGJhckNvbXBvbmVudFxuICAgKi9cbiAgaGFuZGxlSW5wdXQoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdmFsdWUgPSBldmVudD8uZGV0YWlsPy52YWx1ZTtcbiAgICBpZighdmFsdWUgfHwgIXZhbHVlPy5sZW5ndGgpXG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVDbGVhcigpO1xuICAgIHRoaXMuZW1pdEV2ZW50KHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gSGFuZGxlcyBibHVyIGV2ZW50cyBvbiB0aGUgc2VhcmNoYmFyLlxuICAgKiBAc3VtbWFyeSBDdXJyZW50bHkgYW4gZW1wdHkgbWV0aG9kLCBjYW4gYmUgaW1wbGVtZW50ZWQgZm9yIHNwZWNpZmljIGJsdXIgYmVoYXZpb3IuXG4gICAqIEBwYXJhbSB7Q3VzdG9tRXZlbnR9IGV2ZW50IC0gVGhlIGJsdXIgZXZlbnQgZnJvbSB0aGUgc2VhcmNoYmFyXG4gICAqIEByZXR1cm4ge3ZvaWR9XG4gICAqL1xuICAvLyBoYW5kbGVCbHVyKGV2ZW50OiBDdXN0b21FdmVudCk6IHZvaWQge31cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEVtaXRzIHNlYXJjaCBldmVudHMgdGhyb3VnaCBtdWx0aXBsZSBjaGFubmVscy5cbiAgICogQHN1bW1hcnkgT3JjaGVzdHJhdGVzIHRoZSBlbWlzc2lvbiBvZiBzZWFyY2ggZXZlbnRzIGJvdGggYXMgY29tcG9uZW50IG91dHB1dCBldmVudHMgYW5kIG9wdGlvbmFsbHlcbiAgICogYXMgZ2xvYmFsIHdpbmRvdyBldmVudHMuIFRoaXMgZHVhbC1jaGFubmVsIGFwcHJvYWNoIGVuYWJsZXMgYm90aCBkaXJlY3QgcGFyZW50LWNoaWxkIGNvbW11bmljYXRpb25cbiAgICogYW5kIGFwcGxpY2F0aW9uLXdpZGUgZXZlbnQgYnJvYWRjYXN0aW5nLCBzdXBwb3J0aW5nIGZsZXhpYmxlIGludGVncmF0aW9uIHBhdHRlcm5zIGFuZCBsb29zZSBjb3VwbGluZ1xuICAgKiBiZXR3ZWVuIGNvbXBvbmVudHMgdGhhdCBuZWVkIHRvIHJlc3BvbmQgdG8gc2VhcmNoIGFjdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgdW5kZWZpbmVkfSB2YWx1ZSAtIFRoZSBzZWFyY2ggdmFsdWUgdG8gZW1pdCBhY3Jvc3MgYWxsIGNvbmZpZ3VyZWQgY2hhbm5lbHNcbiAgICogQHJldHVybiB7dm9pZH1cbiAgICpcbiAgICogQG1lcm1haWRcbiAgICogc2VxdWVuY2VEaWFncmFtXG4gICAqICAgcGFydGljaXBhbnQgUyBhcyBTZWFyY2hiYXJDb21wb25lbnRcbiAgICogICBwYXJ0aWNpcGFudCBQIGFzIFBhcmVudCBDb21wb25lbnRcbiAgICogICBwYXJ0aWNpcGFudCBXIGFzIFdpbmRvdyBFdmVudCBTeXN0ZW1cbiAgICpcbiAgICogICBTLT4+UzogZW1pdEV2ZW50KHZhbHVlKVxuICAgKiAgIFMtPj5QOiBzZWFyY2hFdmVudC5lbWl0KHZhbHVlKVxuICAgKiAgIGFsdCBlbWl0RXZlbnRUb1dpbmRvdyBpcyB0cnVlXG4gICAqICAgICBTLT4+Vzogd2luZG93RXZlbnRFbWl0dGVyKCdzZWFyY2hiYXJFdmVudCcsIHt2YWx1ZX0pXG4gICAqICAgZW5kXG4gICAqXG4gICAqIEBtZW1iZXJPZiBTZWFyY2hiYXJDb21wb25lbnRcbiAgICovXG4gIGVtaXRFdmVudCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hFdmVudC5lbWl0KHZhbHVlKTtcbiAgICBpZih0aGlzLmVtaXRFdmVudFRvV2luZG93KVxuICAgICAgd2luZG93RXZlbnRFbWl0dGVyKCdzZWFyY2hiYXJFdmVudCcsIHt2YWx1ZTogdmFsdWV9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBQcmV2ZW50cyBkZWZhdWx0IGJlaGF2aW9yIG9mIERPTSBldmVudHMuXG4gICAqIEBzdW1tYXJ5IFV0aWxpdHkgbWV0aG9kIHRvIHByZXZlbnQgdW53YW50ZWQgZGVmYXVsdCBhY3Rpb25zIG9uIERPTSBldmVudHMsIHN1Y2ggYXMgZm9ybSBzdWJtaXNzaW9uc1xuICAgKiBvciBuYXZpZ2F0aW9uIHRyaWdnZXJzLiBUaGlzIGlzIGNvbW1vbmx5IHVzZWQgaW4gZXZlbnQgaGFuZGxlcnMgd2hlcmUgdGhlIGRlZmF1bHQgYnJvd3NlciBiZWhhdmlvclxuICAgKiB3b3VsZCBpbnRlcmZlcmUgd2l0aCB0aGUgY29tcG9uZW50J3MgY3VzdG9tIGxvZ2ljIG9yIHVzZXIgZXhwZXJpZW5jZSBkZXNpZ24uXG4gICAqXG4gICAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50IC0gVGhlIERPTSBldmVudCB3aG9zZSBkZWZhdWx0IGJlaGF2aW9yIHNob3VsZCBiZSBwcmV2ZW50ZWRcbiAgICogQHJldHVybiB7dm9pZH1cbiAgICogQG1lbWJlck9mIFNlYXJjaGJhckNvbXBvbmVudFxuICAgKi9cbiAgcHJldmVudENoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxufVxuIiwiPGlvbi1zZWFyY2hiYXJcbiAgbmdDbGFzcz1cImRjZi1zZWFyY2hiYXJcIlxuICBuYW1lPVwic2VhcmNoXCJcbiAgbW9kZT1cImlvc1wiXG4gIChrZXl1cC5lbnRlcik9XCJwcmV2ZW50Q2hhbmdlKCRldmVudClcIlxuICAoaW9uQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgKGlvbklucHV0KT1cImhhbmRsZUlucHV0KCRldmVudClcIlxuICAoaW9uQ2xlYXIpPVwiaGFuZGxlQ2xlYXIoKVwiXG4gIFthdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlXCJcbiAgW3Nob3dDYW5jZWxCdXR0b25dPVwic2hvd0NhbmNlbEJ1dHRvblwiXG4gIFtjYW5jZWxCdXR0b25UZXh0XT1cImJ1dHRvbkNhbmNlbFRleHRcIlxuICBbY2xlYXJJY29uXT1cImNsZWFySWNvblwiXG4gIFtjb2xvcl09XCJjb2xvclwiXG4gIFtkZWJvdW5jZV09XCJkZWJvdW5jZVwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtlbnRlcmtleWhpbnRdPVwiZW50ZXJrZXloaW50XCJcbiAgW2lucHV0bW9kZV09XCJpbnB1dG1vZGVcIlxuICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICBbc2VhcmNoSWNvbl09XCJzZWFyY2hJY29uXCJcbiAgW3Nob3dDbGVhckJ1dHRvbl09XCJzaG93Q2xlYXJCdXR0b25cIlxuICBbc3BlbGxjaGVja109XCJzcGVsbGNoZWNrXCJcbiAgW3R5cGVdPVwidHlwZVwiXG4gICNjb21wb25lbnRcbiAvPlxuIl19
|
|
@@ -15,14 +15,14 @@ export class CollapsableDirective {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
static { this.ɵfac =
|
|
19
|
-
static { this.ɵdir = i0.ɵɵ
|
|
18
|
+
static { this.ɵfac = function CollapsableDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CollapsableDirective)(); }; }
|
|
19
|
+
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: CollapsableDirective, selectors: [["", "decafCollapsable", ""]], standalone: true }); }
|
|
20
20
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CollapsableDirective, [{
|
|
22
|
+
type: Directive,
|
|
23
|
+
args: [{
|
|
24
|
+
selector: '[decafCollapsable]',
|
|
25
|
+
standalone: true
|
|
26
|
+
}]
|
|
27
|
+
}], null, null); })();
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9kaXJlY3RpdmVzL2NvbGxhcHNhYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7O0FBT3RFLE1BQU0sT0FBTyxvQkFBb0I7SUFKakM7UUFNVSxZQUFPLEdBQTRCLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQWEvRDtJQVpDLG1CQUFtQjtJQUVuQixRQUFRO1FBQ04sTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUM7UUFDNUMsSUFBRyxPQUFPLEVBQUUsQ0FBQztZQUNYLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQXdCLENBQUM7WUFDckYsSUFBRyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3pCLE1BQU0sU0FBUyxHQUFHLE9BQU8sRUFBRSxPQUFPLENBQUMscUJBQXFCLENBQWdCLENBQUM7Z0JBQ3pFLFNBQVMsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzFDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztxSEFkVSxvQkFBb0I7b0VBQXBCLG9CQUFvQjs7aUZBQXBCLG9CQUFvQjtjQUpoQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsVUFBVSxFQUFFLElBQUk7YUFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RlY2FmQ29sbGFwc2FibGVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBDb2xsYXBzYWJsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdHtcblxuICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+ID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAvLyBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudD8ubmF0aXZlRWxlbWVudDtcbiAgICBpZihlbGVtZW50KSB7XG4gICAgICBjb25zdCByZXF1aXJlZEZpZWxkcyA9IGVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW3JlcXVpcmVkXScpIGFzIE5vZGVMaXN0T2Y8RWxlbWVudD47XG4gICAgICBpZihyZXF1aXJlZEZpZWxkcy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgYWNjb3JkaW9uID0gZWxlbWVudD8uY2xvc2VzdCgnaW9uLWFjY29yZGlvbi1ncm91cCcpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBhY2NvcmRpb24uc2V0QXR0cmlidXRlKCd2YWx1ZScsICdvcGVuJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|