mis-crystal-design-system 17.0.2 → 18.0.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/async-search-dropdown/async-dropdown.component.d.ts +4 -1
- package/esm2022/action-list/action-list.component.mjs +2 -2
- package/esm2022/action-list/action-list.module.mjs +2 -2
- package/esm2022/analytics/analytics.module.mjs +2 -2
- package/esm2022/analytics/analytics.service.mjs +2 -2
- package/esm2022/async-search-dropdown/async-dropdown.component.mjs +28 -10
- package/esm2022/async-search-dropdown/async-dropdown.module.mjs +2 -2
- package/esm2022/button/button.component.mjs +2 -2
- package/esm2022/button/button.directive.mjs +2 -2
- package/esm2022/button/button.module.mjs +2 -2
- package/esm2022/checkbox/checkbox.component.mjs +2 -2
- package/esm2022/checkbox/checkbox.module.mjs +2 -2
- package/esm2022/chip/chip.component.mjs +2 -2
- package/esm2022/chip/chip.module.mjs +2 -2
- package/esm2022/datepicker_v2/datepicker.module.mjs +2 -2
- package/esm2022/datepicker_v2/tz-datepicker.directive.mjs +2 -2
- package/esm2022/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +2 -2
- package/esm2022/datepicker_v2/utils/index.mjs +1 -1
- package/esm2022/daterangepicker_v2/daterangepicker.module.mjs +2 -2
- package/esm2022/daterangepicker_v2/tz-daterangepicker.directive.mjs +2 -2
- package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +3 -2
- package/esm2022/daterangepicker_v2/utils/index.mjs +1 -1
- package/esm2022/drawer/drawer-body/drawer-body.component.mjs +2 -2
- package/esm2022/drawer/drawer.module.mjs +2 -2
- package/esm2022/drawer/drawer.service.mjs +2 -2
- package/esm2022/dropdown/calculate-container-height.directive.mjs +2 -2
- package/esm2022/dropdown/dropdown.component.mjs +2 -2
- package/esm2022/dropdown/dropdown.module.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form.module.mjs +2 -2
- package/esm2022/fab/fab.component.mjs +2 -2
- package/esm2022/fab/fab.module.mjs +2 -2
- package/esm2022/filter/filter-panel/filter-panel.component.mjs +2 -2
- package/esm2022/filter/filters.module.mjs +2 -2
- package/esm2022/filter/has-value.pipe.mjs +2 -2
- package/esm2022/input/directives/input/input.directive.mjs +2 -2
- package/esm2022/input/mis-input.component.mjs +2 -2
- package/esm2022/input/mis-input.module.mjs +2 -2
- package/esm2022/input-stepper/input-stepper/input-stepper.component.mjs +2 -2
- package/esm2022/input-stepper/input-stepper.module.mjs +2 -2
- package/esm2022/loader/loader.component.mjs +2 -2
- package/esm2022/loader/loader.module.mjs +2 -2
- package/esm2022/menu/menu-close.directive.mjs +3 -3
- package/esm2022/menu/menu.directive.mjs +3 -3
- package/esm2022/menu/menu.module.mjs +2 -2
- package/esm2022/mobile-filter/mobile-filter.component.mjs +2 -2
- package/esm2022/mobile-filter/mobile-filter.module.mjs +2 -2
- package/esm2022/modal/modal.module.mjs +2 -2
- package/esm2022/modal/modal.service.mjs +2 -2
- package/esm2022/modal/module-wrapper/module-wrapper.component.mjs +2 -2
- package/esm2022/multi-select-dropdown/multi-select-dropdown.component.mjs +2 -2
- package/esm2022/multi-select-dropdown/multi-select-dropdown.module.mjs +2 -2
- package/esm2022/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +2 -2
- package/esm2022/nested-multi-select-dropdown/nested-multi-select-dropdown.module.mjs +2 -2
- package/esm2022/phone-input/phone-input.component.mjs +2 -2
- package/esm2022/phone-input/phone-input.module.mjs +2 -2
- package/esm2022/radio-button/radio-button.component.mjs +2 -2
- package/esm2022/radio-button/radio-button.module.mjs +2 -2
- package/esm2022/ske-loader/ske-loader.component.mjs +2 -2
- package/esm2022/ske-loader/ske-loader.module.mjs +2 -2
- package/esm2022/slider/slider.component.mjs +2 -2
- package/esm2022/slider/slider.module.mjs +2 -2
- package/esm2022/snackbar/snackbar/snackbar.component.mjs +2 -2
- package/esm2022/snackbar/snackbar.module.mjs +2 -2
- package/esm2022/snackbar/snackbar.service.mjs +2 -2
- package/esm2022/specificdatepicker/specificdatepicker.module.mjs +2 -2
- package/esm2022/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +2 -2
- package/esm2022/specificdatepicker/tz-specificdatepicker.directive.mjs +2 -2
- package/esm2022/specificdatepicker/utils/index.mjs +1 -1
- package/esm2022/star-rating/star-rating.component.mjs +2 -2
- package/esm2022/star-rating/star-rating.module.mjs +2 -2
- package/esm2022/switch/switch.component.mjs +2 -2
- package/esm2022/switch/switch.module.mjs +2 -2
- package/esm2022/table/custom-table-cell.directive.mjs +2 -2
- package/esm2022/table/filter/filter.component.mjs +2 -2
- package/esm2022/table/sub-table/sub-table.component.mjs +2 -2
- package/esm2022/table/table.component.mjs +3 -3
- package/esm2022/table/table.module.mjs +2 -2
- package/esm2022/timepicker/timepicker.component.mjs +51 -30
- package/esm2022/timepicker/timepicker.directive.mjs +3 -3
- package/esm2022/timepicker/timepicker.module.mjs +2 -2
- package/esm2022/timerangepicker/timerangepicker.component.mjs +38 -39
- package/esm2022/timerangepicker/timerangepicker.module.mjs +2 -2
- package/esm2022/toast/toast.component.mjs +2 -2
- package/esm2022/toast/toast.data.service.mjs +2 -2
- package/esm2022/toast/toast.module.mjs +2 -2
- package/esm2022/toast/toast.service.mjs +2 -2
- package/esm2022/tooltip/tooltip-container/tooltip.component.mjs +2 -2
- package/esm2022/tooltip/tooltip.directive.mjs +2 -2
- package/esm2022/tooltip/tooltip.module.mjs +2 -2
- package/esm2022/virtual-scroll/virtual-scroll.component.mjs +2 -2
- package/esm2022/virtual-scroll/virtual-scroll.module.mjs +2 -2
- package/esm2022/widgets/classes/async-widget.mjs +1 -1
- package/esm2022/widgets/classes/base-widget.mjs +1 -1
- package/esm2022/widgets/classes/sync-widget.mjs +1 -1
- package/esm2022/widgets/services/widget.service.mjs +2 -2
- package/esm2022/widgets/widgets.module.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-action-list.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-action-list.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-analytics.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-analytics.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs +29 -11
- package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-button.mjs +4 -4
- package/fesm2022/mis-crystal-design-system-button.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-checkbox.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-checkbox.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-chip.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-chip.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +5 -4
- package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-drawer.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-drawer.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-dropdown.mjs +4 -4
- package/fesm2022/mis-crystal-design-system-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-dynamic-form.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-fab.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-fab.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-filter.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-filter.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-input-stepper.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-input-stepper.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-input.mjs +4 -4
- package/fesm2022/mis-crystal-design-system-input.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-loader.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-loader.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-menu.mjs +6 -6
- package/fesm2022/mis-crystal-design-system-menu.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-mobile-filter.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-mobile-filter.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-modal.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-modal.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-phone-input.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-phone-input.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-radio-button.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-radio-button.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-ske-loader.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-ske-loader.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-slider.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-slider.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-snackbar.mjs +4 -4
- package/fesm2022/mis-crystal-design-system-snackbar.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs +4 -4
- package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-star-rating.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-star-rating.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-switch.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-switch.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-table.mjs +6 -6
- package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-timepicker.mjs +54 -33
- package/fesm2022/mis-crystal-design-system-timepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-timerangepicker.mjs +39 -40
- package/fesm2022/mis-crystal-design-system-timerangepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-toast.mjs +4 -4
- package/fesm2022/mis-crystal-design-system-toast.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-tooltip.mjs +4 -4
- package/fesm2022/mis-crystal-design-system-tooltip.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-utils.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-widgets.mjs +1 -1
- package/fesm2022/mis-crystal-design-system-widgets.mjs.map +1 -1
- package/package.json +13 -13
- package/table/filter/filter.component.d.ts +1 -1
|
@@ -349,7 +349,7 @@ export class DropdownComponent {
|
|
|
349
349
|
event.stopPropagation();
|
|
350
350
|
event.preventDefault();
|
|
351
351
|
}
|
|
352
|
-
static { this.ɵfac = function DropdownComponent_Factory(
|
|
352
|
+
static { this.ɵfac = function DropdownComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DropdownComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.Overlay), i0.ɵɵdirectiveInject(i0.ViewContainerRef)); }; }
|
|
353
353
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DropdownComponent, selectors: [["mis-dropdown"]], contentQueries: function DropdownComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
|
354
354
|
i0.ɵɵcontentQuery(dirIndex, _c0, 5);
|
|
355
355
|
} if (rf & 2) {
|
|
@@ -461,4 +461,4 @@ export class DropdownComponent {
|
|
|
461
461
|
args: ["keyup.esc", ['$event']]
|
|
462
462
|
}] }); })();
|
|
463
463
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DropdownComponent, { className: "DropdownComponent" }); })();
|
|
464
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFXLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWUsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUNqSyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ2U5RCwwQkFBd0g7OztJQUFsRSxBQUFkLEFBQWIsMEJBQVksY0FBYyw4RkFBaUM7OztJQUVwRiw2QkFBcUQ7SUFDbkQsWUFDRjtJQUFBLGlCQUFJOzs7SUFERixjQUNGO0lBREUsNFBBQ0Y7OztJQUVFLDZCQUE0QztJQUMxQyxZQUNGO0lBQUEsaUJBQUk7OztJQURGLGNBQ0Y7SUFERSw2Q0FDRjs7O0lBQ0EsMEJBQXlGOzs7SUFBMUMscUdBQTBCOzs7SUFBekUsQUFIQSw2RUFBNEMsb0VBRzZDOzs7SUFIeEUsdUZBQXlCO0lBR3ZCLGNBQTBCO0lBQTFCLHdGQUEwQjs7OztJQWdDL0MsK0JBUUM7SUFDQywyQkFLRTtJQUNKLGlCQUFNOzs7OztJQWVOLCtCQVNDO0lBTkMsMk1BQVMsa0NBQTJCLEtBQUM7SUFPckMsMkJBS0U7SUFDSixpQkFBTTs7OztJQS9DUiwrQkFBb0Q7SUFDbEQsNkZBUUM7SUFRRCxpQ0FhRTtJ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QkFBcEIsS0FBSztZQUNHLFVBQVU7a0JBQWxCLEtBQUs7WUFDSSxRQUFRO2tCQUFqQixNQUFNO1lBQ2lDLGFBQWE7a0JBQXBELFNBQVM7bUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQUNVLGNBQWM7a0JBQTdELFNBQVM7bUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBQ1QsUUFBUTtrQkFBNUMsU0FBUzttQkFBQyx3QkFBd0I7WUFDZSxVQUFVO2tCQUEzRCxZQUFZO21CQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFvR2hELFVBQVU7a0JBRFQsWUFBWTttQkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7O2tGQW5JMUIsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGlvblBvc2l0aW9uUGFpciwgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtaXMtZHJvcGRvd25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vZHJvcGRvd24uY29tcG9uZW50LnNjc3NcIl0sXG4gIFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGlzT3BlbiA9IGZhbHNlO1xuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIGlzU2VhcmNoSW5wdXRGb2N1c2VkOiBib29sZWFuID0gZmFsc2U7XG4gIHNlYXJjaElucHV0OiBzdHJpbmcgPSBcIlwiO1xuICBzZWFyY2hEYXRhOiBEcm9wZG93bkl0ZW1bXSA9IFtdO1xuICB2aXNpYmxlSXRlbXMgPSAxMDtcbiAgQElucHV0KCkgZGF0YTogRHJvcGRvd25JdGVtW10gID0gW107XG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9IFwiU2VsZWN0XCI7XG4gIEBJbnB1dCgpIGl0ZW1TaXplRm9yQ2RrOiBudW1iZXI7XG4gIEBJbnB1dCgpIHNob3dPbmx5SWNvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBoaWdsaWdodFNlbGVjdGVkVmFsdWU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZHJvcGRvd25MaXN0SGVpZ2h0OiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSBkcm9wZG93bkxpc3RXaWR0aDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgZHJvcGRvd25MaXN0UG9zaXRpb246IFwiTGVmdFwiIHwgXCJSaWdodFwiID0gXCJMZWZ0XCI7XG4gIEBJbnB1dCgpIGNvbmZpZ1xuICBASW5wdXQoKSBzZWFyY2hFbmFibGVkOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2VsZWN0ZWRJdGVtOiBEcm9wZG93bkl0ZW0gPSB7IHZhbHVlOiBcIlwiLCBsYWJlbDogXCJcIiB9O1xuICBASW5wdXQoKSBub0RhdGFNZXNzYWdlOiBzdHJpbmcgPSBcIk5vIERhdGFcIjtcbiAgQElucHV0KCkgbXVsdGlMaW5lOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFkZGl0aW9uYWxJbmZvTWVzc2FnZSA6IHN0cmluZztcbiAgQElucHV0KCkgc2Nyb2xsSW50b1ZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2VhcmNoTGFiZWw6c3RyaW5nID0gXCJTZWFyY2ggS2V5d29yZFwiO1xuICBASW5wdXQoKSBjdXN0b21TdHlsZXM6ICB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICBASW5wdXQoKSBhY3RpdmVJdGVtOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBWaWV3Q2hpbGQoXCJzZWxlY3RcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIHNlbGVjdEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoXCJwb3B1cENvbnRhaW5lclwiLCB7IHN0YXRpYzogZmFsc2UgfSkgcG9wdXBDb250YWluZXI6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCkgdmlld1BvcnQ6IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydDtcbiAgQENvbnRlbnRDaGlsZChcIm1pc0N1c3RvbUl0ZW1cIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGN1c3RvbUl0ZW06IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuICBwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZVJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LCBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHt9XG4gIG5nT25Jbml0KCkge1xuICB9XG5cbiAgZ2V0SWNvblN0eWxlcyhpdGVtOiBhbnksIGFjdGl2ZUl0ZW06IGJvb2xlYW4pOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ2NvbG9yJzogaXRlbSAmJiBhY3RpdmVJdGVtID8gJyMwOTM3QjInIDogJycsXG4gICAgICAnZm9udC13ZWlnaHQnOiBpdGVtICYmIGFjdGl2ZUl0ZW0gPyAnNzAwJyA6ICcnXG4gICAgfTtcbiAgfVxuXG5zZXRVcEFzeW5jRGF0YVNlYXJjaCgpXG57XG4gIGlmKHRoaXMuY29uZmlnKVxuICB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5jb25maWcuZGF0YVN0cmVhbSgpLnBpcGUoKS5zdWJzY3JpYmUocmVzPT4ge1xuICAgICAgICAgIHRoaXMuZGF0YSA9IHJlc1xuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgICB9KVxuICB9XG4gIGNvbnN0IGluZGV4ID0gdGhpcy5kYXRhLmZpbmRJbmRleCgoZGF0YUl0ZW0pID0+IGRhdGFJdGVtLnZhbHVlID09PSB0aGlzLnNlbGVjdGVkSXRlbS52YWx1ZSk7XG4gIGlmICh0aGlzLnNjcm9sbEludG9WaWV3KVxuICAgIHRoaXMudmlld1BvcnQuc2Nyb2xsVG9JbmRleChpbmRleCwgJ3Ntb290aCcpO1xufVxuICBmaWx0ZXJCeVZhbHVlKGFycmF5LCBzdHJpbmc6IHN0cmluZykge1xuICAgIHJldHVybiBhcnJheS5maWx0ZXIobyA9PiBvLmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc3RyaW5nLnRvTG93ZXJDYXNlKCkudHJpbSgpKSk7XG4gIH1cblxuICBmaWx0ZXJCeVByaW1hcnlUZXh0KGFycmF5LCBzdHJpbmc6IHN0cmluZykge1xuICAgIHJldHVybiBhcnJheS5maWx0ZXIobyA9PiBvLmxhYmVsLnByaW1hcnlUZXh0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc3RyaW5nLnRvTG93ZXJDYXNlKCkudHJpbSgpKSk7XG4gIH1cbiAgc2VhcmNoSW5wdXRPbkNoYW5nZShuZXdWYWx1ZSkge1xuICAgIHRoaXMuc2VhcmNoSW5wdXQgPSBuZXdWYWx1ZTtcbiAgICBpZiAobmV3VmFsdWUpIHtcbiAgICAgIHRoaXMuc2VhcmNoRGF0YSA9IHRoaXMubXVsdGlMaW5lID8gdGhpcy5maWx0ZXJCeVByaW1hcnlUZXh0KHRoaXMuZGF0YSwgbmV3VmFsdWUpIDogdGhpcy5maWx0ZXJCeVZhbHVlKHRoaXMuZGF0YSwgbmV3VmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlYXJjaERhdGEgPSBbXTtcbiAgICAgIHRoaXMuc2VhcmNoSW5wdXQgPSBcIlwiO1xuICAgIH1cbiAgfVxuICBzZWFyY2hJbnB1dEZvY3VzZWQoaXNGb2N1c2VkOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc1NlYXJjaElucHV0Rm9jdXNlZCA9IGlzRm9jdXNlZDtcbiAgfVxuICBzZWFyY2hJbnB1dENhbmNlbGVkKGV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5zZWFyY2hJbnB1dCA9IFwiXCI7XG4gICAgdGhpcy5pc1NlYXJjaElucHV0Rm9jdXNlZCA9IGZhbHNlO1xuICB9XG4gIHRvZ2dsZURyb3Bkb3duKCkge1xuICAgIHRoaXMuaXNPcGVuID0gIXRoaXMuaXNPcGVuO1xuICAgIGlmICh0aGlzLmlzT3BlbikgdGhpcy5vcGVuRHJvcGRvd24odGhpcy5wb3B1cENvbnRhaW5lciwgdGhpcy5zZWxlY3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIGVsc2UgdGhpcy5vbkNhbmNlbCgpO1xuICB9XG4gIHByaXZhdGUgb3BlbkRyb3Bkb3duKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxFbGVtZW50Piwgb3JpZ2luOiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGNvbnN0IHBvc2l0aW9uc0JvdHRvbSA9IFtcbiAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKHsgb3JpZ2luWDogXCJzdGFydFwiLCBvcmlnaW5ZOiBcImJvdHRvbVwiIH0sIHsgb3ZlcmxheVg6IFwic3RhcnRcIiwgb3ZlcmxheVk6IFwidG9wXCIgfSwgMCwgNCksXG4gICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcih7IG9yaWdpblg6IFwiZW5kXCIsIG9yaWdpblk6IFwiYm90dG9tXCIgfSwgeyBvdmVybGF5WDogXCJlbmRcIiwgb3ZlcmxheVk6IFwidG9wXCIgfSwgMCwgNClcbiAgICBdO1xuICAgIGNvbnN0IHBvc2l0aW9uc1RvcCA9IFtcbiAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKHsgb3JpZ2luWDogXCJzdGFydFwiLCBvcmlnaW5ZOiBcInRvcFwiIH0sIHsgb3ZlcmxheVg6IFwic3RhcnRcIiwgb3ZlcmxheVk6IFwiYm90dG9tXCIgfSwgMCwgLTQpLFxuICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoeyBvcmlnaW5YOiBcImVuZFwiLCBvcmlnaW5ZOiBcInRvcFwiIH0sIHsgb3ZlcmxheVg6IFwiZW5kXCIsIG92ZXJsYXlZOiBcImJvdHRvbVwiIH0sIDAsIC00KVxuICAgIF07XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVxuICAgICAgLnBvc2l0aW9uKClcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKG9yaWdpbilcbiAgICAgIC53aXRoUG9zaXRpb25zKFtcbiAgICAgICAgLi4uKHRoaXMuZHJvcGRvd25MaXN0UG9zaXRpb24gPT09IFwiUmlnaHRcIiA/IHBvc2l0aW9uc0JvdHRvbS5yZXZlcnNlKCkgOiBwb3NpdGlvbnNCb3R0b20pLFxuICAgICAgICAuLi4odGhpcy5kcm9wZG93bkxpc3RQb3NpdGlvbiA9PT0gXCJSaWdodFwiID8gcG9zaXRpb25zVG9wLnJldmVyc2UoKSA6IHBvc2l0aW9uc1RvcClcbiAgICAgIF0pXG4gICAgICAud2l0aFB1c2godHJ1ZSk7XG4gICAgY29uc3QgY29uZmlncyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgYmFja2Ryb3BDbGFzczogXCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiLFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICB3aWR0aDogb3JpZ2luLmNsaWVudFdpZHRoXG4gICAgfSk7XG4gICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShjb25maWdzKTtcbiAgICBpZiAodGhpcy5kcm9wZG93bkxpc3RXaWR0aCkgdGhpcy5vdmVybGF5UmVmLnVwZGF0ZVNpemUoeyB3aWR0aDogdGhpcy5kcm9wZG93bkxpc3RXaWR0aCB9KTtcbiAgICBpZiAodGhpcy5kcm9wZG93bkxpc3RIZWlnaHQpIHRoaXMub3ZlcmxheVJlZi51cGRhdGVTaXplKHsgaGVpZ2h0OiB0aGlzLmRyb3Bkb3duTGlzdEhlaWdodCB9KTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0ZW1wbGF0ZSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKSk7XG4gICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIHRoaXMub25DYW5jZWwoKTtcbiAgICB9KTtcbiAgfVxuICBzZWxlY3RJdGVtKGl0ZW0pIHtcbiAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoaXRlbSk7ICBcbiAgICB0aGlzLnRvZ2dsZURyb3Bkb3duKCk7XG4gIH1cbiAgb25DYW5jZWwoKSB7XG4gICAgdGhpcy5pc1NlYXJjaElucHV0Rm9jdXNlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgdGhpcy5vdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgICB0aGlzLnNlYXJjaElucHV0ID0gXCJcIjtcbiAgfVxuICBcbiAgQEhvc3RMaXN0ZW5lcihcImtleXVwLmVzY1wiLCBbJyRldmVudCddKVxuICBjbG9zZU9uRXNjKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgdGhpcy5vbkNhbmNlbCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cbn1cbmV4cG9ydCBpbnRlcmZhY2UgRHJvcGRvd25JdGVtIHtcbiAgbGFiZWw6IGFueSA7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgY3VzdG9tSWNvbj86IHN0cmluZ1xufVxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25JdGVtTGFiZWwge1xuICBwcmltYXJ5VGV4dCA/OiBzdHJpbmc7XG4gIHNlY29uZGFyeVRleHQgPzogc3RyaW5nO1xufVxuIiwiPGRpdiAoY2xpY2spPVwic2V0VXBBc3luY0RhdGFTZWFyY2goKVwiXG4oa2V5dXAuZW50ZXIpPVwic2V0VXBBc3luY0RhdGFTZWFyY2goKVwiXG4gIGNsYXNzPVwibWFpbi1jb250YWluZXJcIlxuICBbbmdTdHlsZV09XCJ7XG4gICAgaGVpZ2h0OiBoZWlnaHQubGVuZ3RoID4gMCA/IGhlaWdodCA6ICcnLFxuICAgIHdpZHRoOiB3aWR0aC5sZW5ndGggPiAwID8gd2lkdGggOiAnJ1xuICB9XCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZHJvcGRvd25cIlxuICAgICNzZWxlY3RcbiAgICB0YWJpbmRleD1cIjBcIlxuICAgIChrZXl1cC5lbnRlcik9XCJ0b2dnbGVEcm9wZG93bigpXCJcbiAgICAoY2xpY2spPVwidG9nZ2xlRHJvcGRvd24oKVwiXG4gICAgW25nU3R5bGVdPVwiY3VzdG9tU3R5bGVzXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgW25nQ2xhc3NdPVwiaXNPcGVuID8gJ2Ryb3Bkb3duLXBvcnQnOiAnJ1wiXG4gID5cbiAgICA8aW1nIGNsYXNzPVwiaW1nLWNvbnRhaW5lclwiIFt3aWR0aF09XCIxNlwiIFtoZWlnaHRdPVwiMTZcIiBbc3JjXT1cInNlbGVjdGVkSXRlbT8uY3VzdG9tSWNvblwiICpuZ0lmPVwic2VsZWN0ZWRJdGVtPy5jdXN0b21JY29uXCI+XG4gICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgW25nU3R5bGVdPVwie3dpZHRoOiBzZWxlY3RlZEl0ZW0/LmN1c3RvbUljb24gPyAnY2FsYygxMDAlIC0gNDhweCknIDogJ2NhbGMoMTAwJSAtIDMycHgpJ31cIj5cbiAgICAgIDxwIGNsYXNzPVwidGV4dFwiICpuZ0lmPVwiIXNob3dPbmx5SWNvbjsgZWxzZSBzaG93SWNvblwiPlxuICAgICAgICB7eyBtdWx0aUxpbmUgPyBzZWxlY3RlZEl0ZW0/LmxhYmVsPy5wcmltYXJ5VGV4dCA6IHNlbGVjdGVkSXRlbT8ubGFiZWwgfHwgbGFiZWwgfX1cbiAgICAgIDwvcD5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjc2hvd0ljb24+XG4gICAgICAgIDxwIGNsYXNzPVwidGV4dFwiICpuZ0lmPVwiIXNlbGVjdGVkSXRlbT8uaWNvblwiPlxuICAgICAgICAgIHt7IGxhYmVsIH19XG4gICAgICAgIDwvcD5cbiAgICAgICAgPGltZyBjbGFzcz1cImljb25cIiAqbmdJZj1cIiEhc2VsZWN0ZWRJdGVtPy5pY29uXCIgW3NyY109XCJzZWxlY3RlZEl0ZW0/Lmljb25cIiBhbHQ9XCJubyBpbWdcIiAvPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgICA8c3ZnXG4gICAgICBjbGFzcz1cImhhbmRsZVwiXG4gICAgICBbbmdTdHlsZV09XCJ7IHRyYW5zZm9ybTogaXNPcGVuID8gJ3JvdGF0ZSgxODBkZWcpJyA6ICdyb3RhdGUoMGRlZyknIH1cIlxuICAgICAgd2lkdGg9XCIyMFwiXG4gICAgICBoZWlnaHQ9XCIyMFwiXG4gICAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcbiAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgID5cbiAgICAgIDxwYXRoXG4gICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgZD1cIk0xMy44MjUgNy4xNTg0NUwxMCAxMC45NzUxTDYuMTc1IDcuMTU4NDVMNSA4LjMzMzQ1TDEwIDEzLjMzMzRMMTUgOC4zMzM0NUwxMy44MjUgNy4xNTg0NVpcIlxuICAgICAgICBmaWxsPVwiIzE4MUYzM1wiXG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICA8L2Rpdj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNwb3B1cENvbnRhaW5lcj5cbiAgPGRpdlxuICAgIGNsYXNzPVwicG9wdXAtY29udGFpbmVyXCIgY2RrVHJhcEZvY3VzIFtjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZV09XCJ0cnVlXCIgdGFiaW5kZXg9XCIwXCJcbiAgICBbbmdTdHlsZV09XCJ7XG4gICAgICBoZWlnaHQ6IGRyb3Bkb3duTGlzdEhlaWdodCxcbiAgICAgIHdpZHRoOiBkcm9wZG93bkxpc3RXaWR0aFxuICAgIH1cIlxuICAgIChrZXl1cC5lc2MpPVwiY2xvc2VPbkVzYygkZXZlbnQpXCJcbiAgICBhcmlhLWxhYmVsPVwiZHJvcGRvd25cIlxuICA+XG4gICAgPGRpdiAqbmdJZj1cInNlYXJjaEVuYWJsZWRcIiBjbGFzcz1cInNlYXJjaC1jb250YWluZXJcIj5cbiAgICAgIDxzdmdcbiAgICAgICAgKm5nSWY9XCIhaXNTZWFyY2hJbnB1dEZvY3VzZWRcIlxuICAgICAgICBjbGFzcz1cInNlYXJjaC1pY29uXCJcbiAgICAgICAgd2lkdGg9XCIyNFwiXG4gICAgICAgIGhlaWdodD1cIjI0XCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICA+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgZD1cIk00LjIxNTA4IDExLjE0NTZDNC4yMTUwOCA3LjMxNzkgNy4zMzcyMiA0LjIxMTY1IDExLjE5MjYgNC4yMTE2NUMxNS4wNDggNC4yMTE2NSAxOC4xNzAyIDcuMzE3OSAxOC4xNzAyIDExLjE0NTZDMTguMTcwMiAxMi42OTMxIDE3LjY1OTkgMTQuMTIyNiAxNi43OTcyIDE1LjI3NjdMMTUuMzY4NSAxNi43MDEzQzE0LjIwNDQgMTcuNTY2OCAxMi43NTkgMTguMDc5NiAxMS4xOTI2IDE4LjA3OTZDNy4zMzcyMiAxOC4wNzk2IDQuMjE1MDggMTQuOTczNCA0LjIxNTA4IDExLjE0NTZaTTE1Ljk0MjEgMTcuNzgzNUMxNC42MDIxIDE4LjczMjkgMTIuOTYyNyAxOS4yOTEzIDExLjE5MjYgMTkuMjkxM0M2LjY2OTc3IDE5LjI5MTMgMyAxNS42NDYxIDMgMTEuMTQ1NkMzIDYuNjQ1MTIgNi42Njk3NyAzIDExLjE5MjYgM0MxNS43MTU1IDMgMTkuMzg1MiA2LjY0NTEyIDE5LjM4NTIgMTEuMTQ1NkMxOS4zODUyIDEyLjkzNzEgMTguODAzNyAxNC41OTMxIDE3LjgxODQgMTUuOTM3NUwxOS44MzYxIDE3LjQwNDhDMjAuNjcwNSAxNy45MTIgMjEuNzU1NCAxOC42NTQzIDIwLjI0NTQgMjAuMjE1QzE4LjczNTMgMjEuNzc1NiAxOC4wMDk5IDIwLjY2NjMgMTcuNDk5MSAxOS44MzY0TDE1Ljk0MjEgMTcuNzgzNVpcIlxuICAgICAgICAgIGZpbGw9XCIjNkE3MzdEXCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgICAgPGlucHV0XG4gICAgICAgIFtuZ01vZGVsXT1cInNlYXJjaElucHV0XCJcbiAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgIHBhZGRpbmdMZWZ0OiBpc1NlYXJjaElucHV0Rm9jdXNlZCA/ICcxMnB4JyA6ICc0NXB4JyxcbiAgICAgICAgICBib3JkZXI6IGlzU2VhcmNoSW5wdXRGb2N1c2VkID8gJzFweCBzb2xpZCAjMDkzN0IyJyA6ICcxcHggc29saWQgI2UwZTBlMCcsXG4gICAgICAgICAgcGFkZGluZ1JpZ2h0OiBpc1NlYXJjaElucHV0Rm9jdXNlZCA/ICc0NXB4JyA6ICcxMHB4J1xuICAgICAgICB9XCJcbiAgICAgICAgW3RhYkluZGV4XT1cIjBcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWFyY2hJbnB1dE9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiaXNTZWFyY2hJbnB1dEZvY3VzZWQgPyAnJyA6IHNlYXJjaExhYmVsXCJcbiAgICAgICAgKGZvY3VzKT1cInNlYXJjaElucHV0Rm9jdXNlZCh0cnVlKVwiXG4gICAgICAgIGNsYXNzPVwic2VhcmNoLWlucHV0XCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJzZWFyY2hMYWJlbFwiXG4gICAgICAvPlxuICAgICAgPHN2Z1xuICAgICAgICAqbmdJZj1cImlzU2VhcmNoSW5wdXRGb2N1c2VkXCJcbiAgICAgICAgY2xhc3M9XCJjYW5jZWwtaWNvblwiXG4gICAgICAgIChjbGljayk9XCJzZWFyY2hJbnB1dENhbmNlbGVkKCRldmVudClcIlxuICAgICAgICB3aWR0aD1cIjI0XCJcbiAgICAgICAgaGVpZ2h0PVwiMjRcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgID5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICBkPVwiTTguODc0NDYgNy4zMjE0NEM4LjQ0NTg4IDYuODkyODUgNy43NTEgNi44OTI4NSA3LjMyMjQyIDcuMzIxNDRDNi44OTM4MyA3Ljc1MDAyIDYuODkzODMgOC40NDQ5IDcuMzIyNDIgOC44NzM0OUwxMC40NDg4IDExLjk5OTlMNy4zMjM1NyAxNS4xMjUyQzYuODk0OTggMTUuNTUzOCA2Ljg5NDk4IDE2LjI0ODYgNy4zMjM1NyAxNi42NzcyQzcuNzUyMTUgMTcuMTA1OCA4LjQ0NzAzIDE3LjEwNTggOC44NzU2MSAxNi42NzcyTDEyLjAwMDkgMTMuNTUyTDE1LjEyNjEgMTYuNjc3MkMxNS41NTQ3IDE3LjEwNTggMTYuMjQ5NiAxNy4xMDU4IDE2LjY3ODEgMTYuNjc3MkMxNy4xMDY3IDE2LjI0ODYgMTcuMTA2NyAxNS41NTM3IDE2LjY3ODEgMTUuMTI1MUwxMy41NTI5IDExLjk5OTlMMTYuNjc5MyA4Ljg3MzU0QzE3LjEwNzkgOC40NDQ5NiAxNy4xMDc5IDcuNzUwMDggMTYuNjc5MyA3LjMyMTVDMTYuMjUwNyA2Ljg5MjkxIDE1LjU1NTggNi44OTI5MSAxNS4xMjczIDcuMzIxNUwxMi4wMDA5IDEwLjQ0NzlMOC44NzQ0NiA3LjMyMTQ0WlwiXG4gICAgICAgICAgZmlsbD1cIiM2QTczN0RcIlxuICAgICAgICAvPlxuICAgICAgPC9zdmc+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInN0YXR1cy1jb250YWluZXJcIiAqbmdJZj1cImxvYWRpbmdcIj5cbiAgICAgIDxtaXMtbG9hZGVyIFttb2JpbGVWaWV3XT1cInRydWVcIj48L21pcy1sb2FkZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiB0YWJpbmRleD1cIi0xXCIgKm5nSWY9XCIhc2VhcmNoRW5hYmxlZFwiIGNka0ZvY3VzSW5pdGlhbD48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaXRlbXNcIiAqbmdJZj1cIiFsb2FkaW5nIFwiPiAgICBcbiAgICAgIDxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQgKm5nSWY9XCIhKChzZWFyY2hJbnB1dCA/IHNlYXJjaERhdGEgOiBkYXRhKS5sZW5ndGggPT09IDApXCIgW2l0ZW1TaXplXT1cIml0ZW1TaXplRm9yQ2RrXCIgY2xhc3M9XCJkcm9wZG93bi12aWV3cG9ydFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiaXRlbVwiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ2l0ZW0tZGlzYWJsZWQnOiBpdGVtLmRpc2FibGVkLCAnaXRlbS1zZWxlY3RlZCc6IChoaWdsaWdodFNlbGVjdGVkVmFsdWUgJiYgaXRlbS52YWx1ZSA9PT0gc2VsZWN0ZWRJdGVtPy52YWx1ZSksICdpY29uLW9ubHknIDogc2hvd09ubHlJY29uIH1cIlxuICAgICAgICAoY2xpY2spPVwiaXRlbS5kaXNhYmxlZCA/IG51bGwgOiBzZWxlY3RJdGVtKGl0ZW0pXCJcbiAgICAgICAgKGtleXVwLmVudGVyKT1cIml0ZW0uZGlzYWJsZWQgPyBudWxsIDogc2VsZWN0SXRlbShpdGVtKVwiXG4gICAgICAgICpjZGtWaXJ0dWFsRm9yPVwibGV0IGl0ZW0gb2Ygc2VhcmNoSW5wdXQgPyBzZWFyY2hEYXRhIDogZGF0YTtcIlxuICAgICAgICB0YWJJbmRleD1cIjBcIlxuICAgICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXN0b21JdGVtOyBlbHNlIHN0YW5kYXJkSXRlbVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tSXRlbVwiXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI3N0YW5kYXJkSXRlbT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIiAqbmdJZj1cIiFzaG93T25seUljb25cIiBbbmdTdHlsZV09XCJ7IHdpZHRoOiBpdGVtLmljb24gPyAnOTAlJyA6ICcxMDAlJywgJ2Rpc3BsYXknOiBtdWx0aUxpbmUgPyAnZmxleCc6ICdpbmhlcml0JywgJ2ZsZXgtZGlyZWN0aW9uJzogbXVsdGlMaW5lID8gJ2NvbHVtbic6ICdpbmhlcml0JyB9XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaW1hcnlUZXh0XCIgW25nU3R5bGVdPVwiZ2V0SWNvblN0eWxlcyhpdGVtLmljb24sIGFjdGl2ZUl0ZW0pXCI+e3sgbXVsdGlMaW5lID8gaXRlbT8ubGFiZWw/LnByaW1hcnlUZXh0IDogaXRlbT8ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNlY29uZGFyeVRleHRcIiAqbmdJZj1cIm11bHRpTGluZVwiIFtuZ1N0eWxlXT1cImdldEljb25TdHlsZXMoaXRlbS5pY29uLCBhY3RpdmVJdGVtKVwiPiB7eyBpdGVtPy5sYWJlbD8uc2Vjb25kYXJ5VGV4dCA/IGl0ZW0/LmxhYmVsPy5zZWNvbmRhcnlUZXh0IDogYWRkaXRpb25hbEluZm9NZXNzYWdlICB9fSA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImljb24tY29udGFpbmVyXCIgKm5nSWY9XCJpdGVtLmljb25cIj5cbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpY29uXCIgW3NyY109XCJpdGVtLmljb25cIiBhbHQ9XCJubyBpbWdcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG4gICAgPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XG4gICAgICA8ZGl2IGNsYXNzPVwibm9EYXRhXCIgKm5nSWY9XCIoc2VhcmNoSW5wdXQgPyBzZWFyY2hEYXRhIDogZGF0YSkubGVuZ3RoID09PSAwXCI+XG4gICAgICAgIHt7IHNlYXJjaElucHV0ID09PSBcIlwiID8gbm9EYXRhTWVzc2FnZSA6IFwiTm8gcmVzdWx0c1wiIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
464
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFXLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWUsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUNqSyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ2U5RCwwQkFBd0g7OztJQUFsRSxBQUFkLEFBQWIsMEJBQVksY0FBYyw4RkFBaUM7OztJQUVwRiw2QkFBcUQ7SUFDbkQsWUFDRjtJQUFBLGlCQUFJOzs7SUFERixjQUNGO0lBREUsNFBBQ0Y7OztJQUVFLDZCQUE0QztJQUMxQyxZQUNGO0lBQUEsaUJBQUk7OztJQURGLGNBQ0Y7SUFERSw2Q0FDRjs7O0lBQ0EsMEJBQXlGOzs7SUFBMUMscUdBQTBCOzs7SUFBekUsQUFIQSw2RUFBNEMsb0VBRzZDOzs7SUFIeEUsdUZBQXlCO0lBR3ZCLGNBQTBCO0lBQTFCLHdGQUEwQjs7OztJQWdDL0MsK0JBUUM7SUFDQywyQkFLRTtJQUNKLGlCQUFNOzs7OztJQWVOLCtCQVNDO0lBTkMsMk1BQVMsa0NBQTJCLEtBQUM7SUFPckMsMkJBS0U7SUFDSixpQkFBTTs7OztJQS9DUiwrQkFBb0Q7SUFDbEQsNkZBUUM7SUFRRCxpQ0FhRTtJ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RyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csWUFBWTtrQkFBcEIsS0FBSztZQUNHLFVBQVU7a0JBQWxCLEtBQUs7WUFDSSxRQUFRO2tCQUFqQixNQUFNO1lBQ2lDLGFBQWE7a0JBQXBELFNBQVM7bUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQUNVLGNBQWM7a0JBQTdELFNBQVM7bUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBQ1QsUUFBUTtrQkFBNUMsU0FBUzttQkFBQyx3QkFBd0I7WUFDZSxVQUFVO2tCQUEzRCxZQUFZO21CQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFvR2hELFVBQVU7a0JBRFQsWUFBWTttQkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7O2tGQW5JMUIsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGlvblBvc2l0aW9uUGFpciwgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtaXMtZHJvcGRvd25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vZHJvcGRvd24uY29tcG9uZW50LnNjc3NcIl0sXG4gIFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGlzT3BlbiA9IGZhbHNlO1xuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIGlzU2VhcmNoSW5wdXRGb2N1c2VkOiBib29sZWFuID0gZmFsc2U7XG4gIHNlYXJjaElucHV0OiBzdHJpbmcgPSBcIlwiO1xuICBzZWFyY2hEYXRhOiBEcm9wZG93bkl0ZW1bXSA9IFtdO1xuICB2aXNpYmxlSXRlbXMgPSAxMDtcbiAgQElucHV0KCkgZGF0YTogRHJvcGRvd25JdGVtW10gID0gW107XG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9IFwiU2VsZWN0XCI7XG4gIEBJbnB1dCgpIGl0ZW1TaXplRm9yQ2RrOiBudW1iZXI7XG4gIEBJbnB1dCgpIHNob3dPbmx5SWNvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBoaWdsaWdodFNlbGVjdGVkVmFsdWU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZHJvcGRvd25MaXN0SGVpZ2h0OiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSBkcm9wZG93bkxpc3RXaWR0aDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgZHJvcGRvd25MaXN0UG9zaXRpb246IFwiTGVmdFwiIHwgXCJSaWdodFwiID0gXCJMZWZ0XCI7XG4gIEBJbnB1dCgpIGNvbmZpZ1xuICBASW5wdXQoKSBzZWFyY2hFbmFibGVkOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2VsZWN0ZWRJdGVtOiBEcm9wZG93bkl0ZW0gPSB7IHZhbHVlOiBcIlwiLCBsYWJlbDogXCJcIiB9O1xuICBASW5wdXQoKSBub0RhdGFNZXNzYWdlOiBzdHJpbmcgPSBcIk5vIERhdGFcIjtcbiAgQElucHV0KCkgbXVsdGlMaW5lOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFkZGl0aW9uYWxJbmZvTWVzc2FnZSA6IHN0cmluZztcbiAgQElucHV0KCkgc2Nyb2xsSW50b1ZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2VhcmNoTGFiZWw6c3RyaW5nID0gXCJTZWFyY2ggS2V5d29yZFwiO1xuICBASW5wdXQoKSBjdXN0b21TdHlsZXM6ICB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICBASW5wdXQoKSBhY3RpdmVJdGVtOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBWaWV3Q2hpbGQoXCJzZWxlY3RcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIHNlbGVjdEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoXCJwb3B1cENvbnRhaW5lclwiLCB7IHN0YXRpYzogZmFsc2UgfSkgcG9wdXBDb250YWluZXI6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCkgdmlld1BvcnQ6IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydDtcbiAgQENvbnRlbnRDaGlsZChcIm1pc0N1c3RvbUl0ZW1cIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGN1c3RvbUl0ZW06IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuICBwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZVJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LCBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHt9XG4gIG5nT25Jbml0KCkge1xuICB9XG5cbiAgZ2V0SWNvblN0eWxlcyhpdGVtOiBhbnksIGFjdGl2ZUl0ZW06IGJvb2xlYW4pOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ2NvbG9yJzogaXRlbSAmJiBhY3RpdmVJdGVtID8gJyMwOTM3QjInIDogJycsXG4gICAgICAnZm9udC13ZWlnaHQnOiBpdGVtICYmIGFjdGl2ZUl0ZW0gPyAnNzAwJyA6ICcnXG4gICAgfTtcbiAgfVxuXG5zZXRVcEFzeW5jRGF0YVNlYXJjaCgpXG57XG4gIGlmKHRoaXMuY29uZmlnKVxuICB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5jb25maWcuZGF0YVN0cmVhbSgpLnBpcGUoKS5zdWJzY3JpYmUocmVzPT4ge1xuICAgICAgICAgIHRoaXMuZGF0YSA9IHJlc1xuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgICB9KVxuICB9XG4gIGNvbnN0IGluZGV4ID0gdGhpcy5kYXRhLmZpbmRJbmRleCgoZGF0YUl0ZW0pID0+IGRhdGFJdGVtLnZhbHVlID09PSB0aGlzLnNlbGVjdGVkSXRlbS52YWx1ZSk7XG4gIGlmICh0aGlzLnNjcm9sbEludG9WaWV3KVxuICAgIHRoaXMudmlld1BvcnQuc2Nyb2xsVG9JbmRleChpbmRleCwgJ3Ntb290aCcpO1xufVxuICBmaWx0ZXJCeVZhbHVlKGFycmF5LCBzdHJpbmc6IHN0cmluZykge1xuICAgIHJldHVybiBhcnJheS5maWx0ZXIobyA9PiBvLmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc3RyaW5nLnRvTG93ZXJDYXNlKCkudHJpbSgpKSk7XG4gIH1cblxuICBmaWx0ZXJCeVByaW1hcnlUZXh0KGFycmF5LCBzdHJpbmc6IHN0cmluZykge1xuICAgIHJldHVybiBhcnJheS5maWx0ZXIobyA9PiBvLmxhYmVsLnByaW1hcnlUZXh0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc3RyaW5nLnRvTG93ZXJDYXNlKCkudHJpbSgpKSk7XG4gIH1cbiAgc2VhcmNoSW5wdXRPbkNoYW5nZShuZXdWYWx1ZSkge1xuICAgIHRoaXMuc2VhcmNoSW5wdXQgPSBuZXdWYWx1ZTtcbiAgICBpZiAobmV3VmFsdWUpIHtcbiAgICAgIHRoaXMuc2VhcmNoRGF0YSA9IHRoaXMubXVsdGlMaW5lID8gdGhpcy5maWx0ZXJCeVByaW1hcnlUZXh0KHRoaXMuZGF0YSwgbmV3VmFsdWUpIDogdGhpcy5maWx0ZXJCeVZhbHVlKHRoaXMuZGF0YSwgbmV3VmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlYXJjaERhdGEgPSBbXTtcbiAgICAgIHRoaXMuc2VhcmNoSW5wdXQgPSBcIlwiO1xuICAgIH1cbiAgfVxuICBzZWFyY2hJbnB1dEZvY3VzZWQoaXNGb2N1c2VkOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc1NlYXJjaElucHV0Rm9jdXNlZCA9IGlzRm9jdXNlZDtcbiAgfVxuICBzZWFyY2hJbnB1dENhbmNlbGVkKGV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5zZWFyY2hJbnB1dCA9IFwiXCI7XG4gICAgdGhpcy5pc1NlYXJjaElucHV0Rm9jdXNlZCA9IGZhbHNlO1xuICB9XG4gIHRvZ2dsZURyb3Bkb3duKCkge1xuICAgIHRoaXMuaXNPcGVuID0gIXRoaXMuaXNPcGVuO1xuICAgIGlmICh0aGlzLmlzT3BlbikgdGhpcy5vcGVuRHJvcGRvd24odGhpcy5wb3B1cENvbnRhaW5lciwgdGhpcy5zZWxlY3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIGVsc2UgdGhpcy5vbkNhbmNlbCgpO1xuICB9XG4gIHByaXZhdGUgb3BlbkRyb3Bkb3duKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxFbGVtZW50Piwgb3JpZ2luOiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGNvbnN0IHBvc2l0aW9uc0JvdHRvbSA9IFtcbiAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKHsgb3JpZ2luWDogXCJzdGFydFwiLCBvcmlnaW5ZOiBcImJvdHRvbVwiIH0sIHsgb3ZlcmxheVg6IFwic3RhcnRcIiwgb3ZlcmxheVk6IFwidG9wXCIgfSwgMCwgNCksXG4gICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcih7IG9yaWdpblg6IFwiZW5kXCIsIG9yaWdpblk6IFwiYm90dG9tXCIgfSwgeyBvdmVybGF5WDogXCJlbmRcIiwgb3ZlcmxheVk6IFwidG9wXCIgfSwgMCwgNClcbiAgICBdO1xuICAgIGNvbnN0IHBvc2l0aW9uc1RvcCA9IFtcbiAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKHsgb3JpZ2luWDogXCJzdGFydFwiLCBvcmlnaW5ZOiBcInRvcFwiIH0sIHsgb3ZlcmxheVg6IFwic3RhcnRcIiwgb3ZlcmxheVk6IFwiYm90dG9tXCIgfSwgMCwgLTQpLFxuICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoeyBvcmlnaW5YOiBcImVuZFwiLCBvcmlnaW5ZOiBcInRvcFwiIH0sIHsgb3ZlcmxheVg6IFwiZW5kXCIsIG92ZXJsYXlZOiBcImJvdHRvbVwiIH0sIDAsIC00KVxuICAgIF07XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVxuICAgICAgLnBvc2l0aW9uKClcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKG9yaWdpbilcbiAgICAgIC53aXRoUG9zaXRpb25zKFtcbiAgICAgICAgLi4uKHRoaXMuZHJvcGRvd25MaXN0UG9zaXRpb24gPT09IFwiUmlnaHRcIiA/IHBvc2l0aW9uc0JvdHRvbS5yZXZlcnNlKCkgOiBwb3NpdGlvbnNCb3R0b20pLFxuICAgICAgICAuLi4odGhpcy5kcm9wZG93bkxpc3RQb3NpdGlvbiA9PT0gXCJSaWdodFwiID8gcG9zaXRpb25zVG9wLnJldmVyc2UoKSA6IHBvc2l0aW9uc1RvcClcbiAgICAgIF0pXG4gICAgICAud2l0aFB1c2godHJ1ZSk7XG4gICAgY29uc3QgY29uZmlncyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgYmFja2Ryb3BDbGFzczogXCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiLFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICB3aWR0aDogb3JpZ2luLmNsaWVudFdpZHRoXG4gICAgfSk7XG4gICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShjb25maWdzKTtcbiAgICBpZiAodGhpcy5kcm9wZG93bkxpc3RXaWR0aCkgdGhpcy5vdmVybGF5UmVmLnVwZGF0ZVNpemUoeyB3aWR0aDogdGhpcy5kcm9wZG93bkxpc3RXaWR0aCB9KTtcbiAgICBpZiAodGhpcy5kcm9wZG93bkxpc3RIZWlnaHQpIHRoaXMub3ZlcmxheVJlZi51cGRhdGVTaXplKHsgaGVpZ2h0OiB0aGlzLmRyb3Bkb3duTGlzdEhlaWdodCB9KTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0ZW1wbGF0ZSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKSk7XG4gICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIHRoaXMub25DYW5jZWwoKTtcbiAgICB9KTtcbiAgfVxuICBzZWxlY3RJdGVtKGl0ZW0pIHtcbiAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoaXRlbSk7ICBcbiAgICB0aGlzLnRvZ2dsZURyb3Bkb3duKCk7XG4gIH1cbiAgb25DYW5jZWwoKSB7XG4gICAgdGhpcy5pc1NlYXJjaElucHV0Rm9jdXNlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgdGhpcy5vdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgICB0aGlzLnNlYXJjaElucHV0ID0gXCJcIjtcbiAgfVxuICBcbiAgQEhvc3RMaXN0ZW5lcihcImtleXVwLmVzY1wiLCBbJyRldmVudCddKVxuICBjbG9zZU9uRXNjKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgdGhpcy5vbkNhbmNlbCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cbn1cbmV4cG9ydCBpbnRlcmZhY2UgRHJvcGRvd25JdGVtIHtcbiAgbGFiZWw6IGFueSA7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgY3VzdG9tSWNvbj86IHN0cmluZ1xufVxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25JdGVtTGFiZWwge1xuICBwcmltYXJ5VGV4dCA/OiBzdHJpbmc7XG4gIHNlY29uZGFyeVRleHQgPzogc3RyaW5nO1xufVxuIiwiPGRpdiAoY2xpY2spPVwic2V0VXBBc3luY0RhdGFTZWFyY2goKVwiXG4oa2V5dXAuZW50ZXIpPVwic2V0VXBBc3luY0RhdGFTZWFyY2goKVwiXG4gIGNsYXNzPVwibWFpbi1jb250YWluZXJcIlxuICBbbmdTdHlsZV09XCJ7XG4gICAgaGVpZ2h0OiBoZWlnaHQubGVuZ3RoID4gMCA/IGhlaWdodCA6ICcnLFxuICAgIHdpZHRoOiB3aWR0aC5sZW5ndGggPiAwID8gd2lkdGggOiAnJ1xuICB9XCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZHJvcGRvd25cIlxuICAgICNzZWxlY3RcbiAgICB0YWJpbmRleD1cIjBcIlxuICAgIChrZXl1cC5lbnRlcik9XCJ0b2dnbGVEcm9wZG93bigpXCJcbiAgICAoY2xpY2spPVwidG9nZ2xlRHJvcGRvd24oKVwiXG4gICAgW25nU3R5bGVdPVwiY3VzdG9tU3R5bGVzXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgW25nQ2xhc3NdPVwiaXNPcGVuID8gJ2Ryb3Bkb3duLXBvcnQnOiAnJ1wiXG4gID5cbiAgICA8aW1nIGNsYXNzPVwiaW1nLWNvbnRhaW5lclwiIFt3aWR0aF09XCIxNlwiIFtoZWlnaHRdPVwiMTZcIiBbc3JjXT1cInNlbGVjdGVkSXRlbT8uY3VzdG9tSWNvblwiICpuZ0lmPVwic2VsZWN0ZWRJdGVtPy5jdXN0b21JY29uXCI+XG4gICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgW25nU3R5bGVdPVwie3dpZHRoOiBzZWxlY3RlZEl0ZW0/LmN1c3RvbUljb24gPyAnY2FsYygxMDAlIC0gNDhweCknIDogJ2NhbGMoMTAwJSAtIDMycHgpJ31cIj5cbiAgICAgIDxwIGNsYXNzPVwidGV4dFwiICpuZ0lmPVwiIXNob3dPbmx5SWNvbjsgZWxzZSBzaG93SWNvblwiPlxuICAgICAgICB7eyBtdWx0aUxpbmUgPyBzZWxlY3RlZEl0ZW0/LmxhYmVsPy5wcmltYXJ5VGV4dCA6IHNlbGVjdGVkSXRlbT8ubGFiZWwgfHwgbGFiZWwgfX1cbiAgICAgIDwvcD5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjc2hvd0ljb24+XG4gICAgICAgIDxwIGNsYXNzPVwidGV4dFwiICpuZ0lmPVwiIXNlbGVjdGVkSXRlbT8uaWNvblwiPlxuICAgICAgICAgIHt7IGxhYmVsIH19XG4gICAgICAgIDwvcD5cbiAgICAgICAgPGltZyBjbGFzcz1cImljb25cIiAqbmdJZj1cIiEhc2VsZWN0ZWRJdGVtPy5pY29uXCIgW3NyY109XCJzZWxlY3RlZEl0ZW0/Lmljb25cIiBhbHQ9XCJubyBpbWdcIiAvPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgICA8c3ZnXG4gICAgICBjbGFzcz1cImhhbmRsZVwiXG4gICAgICBbbmdTdHlsZV09XCJ7IHRyYW5zZm9ybTogaXNPcGVuID8gJ3JvdGF0ZSgxODBkZWcpJyA6ICdyb3RhdGUoMGRlZyknIH1cIlxuICAgICAgd2lkdGg9XCIyMFwiXG4gICAgICBoZWlnaHQ9XCIyMFwiXG4gICAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcbiAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgID5cbiAgICAgIDxwYXRoXG4gICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgZD1cIk0xMy44MjUgNy4xNTg0NUwxMCAxMC45NzUxTDYuMTc1IDcuMTU4NDVMNSA4LjMzMzQ1TDEwIDEzLjMzMzRMMTUgOC4zMzM0NUwxMy44MjUgNy4xNTg0NVpcIlxuICAgICAgICBmaWxsPVwiIzE4MUYzM1wiXG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICA8L2Rpdj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNwb3B1cENvbnRhaW5lcj5cbiAgPGRpdlxuICAgIGNsYXNzPVwicG9wdXAtY29udGFpbmVyXCIgY2RrVHJhcEZvY3VzIFtjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZV09XCJ0cnVlXCIgdGFiaW5kZXg9XCIwXCJcbiAgICBbbmdTdHlsZV09XCJ7XG4gICAgICBoZWlnaHQ6IGRyb3Bkb3duTGlzdEhlaWdodCxcbiAgICAgIHdpZHRoOiBkcm9wZG93bkxpc3RXaWR0aFxuICAgIH1cIlxuICAgIChrZXl1cC5lc2MpPVwiY2xvc2VPbkVzYygkZXZlbnQpXCJcbiAgICBhcmlhLWxhYmVsPVwiZHJvcGRvd25cIlxuICA+XG4gICAgPGRpdiAqbmdJZj1cInNlYXJjaEVuYWJsZWRcIiBjbGFzcz1cInNlYXJjaC1jb250YWluZXJcIj5cbiAgICAgIDxzdmdcbiAgICAgICAgKm5nSWY9XCIhaXNTZWFyY2hJbnB1dEZvY3VzZWRcIlxuICAgICAgICBjbGFzcz1cInNlYXJjaC1pY29uXCJcbiAgICAgICAgd2lkdGg9XCIyNFwiXG4gICAgICAgIGhlaWdodD1cIjI0XCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICA+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgZD1cIk00LjIxNTA4IDExLjE0NTZDNC4yMTUwOCA3LjMxNzkgNy4zMzcyMiA0LjIxMTY1IDExLjE5MjYgNC4yMTE2NUMxNS4wNDggNC4yMTE2NSAxOC4xNzAyIDcuMzE3OSAxOC4xNzAyIDExLjE0NTZDMTguMTcwMiAxMi42OTMxIDE3LjY1OTkgMTQuMTIyNiAxNi43OTcyIDE1LjI3NjdMMTUuMzY4NSAxNi43MDEzQzE0LjIwNDQgMTcuNTY2OCAxMi43NTkgMTguMDc5NiAxMS4xOTI2IDE4LjA3OTZDNy4zMzcyMiAxOC4wNzk2IDQuMjE1MDggMTQuOTczNCA0LjIxNTA4IDExLjE0NTZaTTE1Ljk0MjEgMTcuNzgzNUMxNC42MDIxIDE4LjczMjkgMTIuOTYyNyAxOS4yOTEzIDExLjE5MjYgMTkuMjkxM0M2LjY2OTc3IDE5LjI5MTMgMyAxNS42NDYxIDMgMTEuMTQ1NkMzIDYuNjQ1MTIgNi42Njk3NyAzIDExLjE5MjYgM0MxNS43MTU1IDMgMTkuMzg1MiA2LjY0NTEyIDE5LjM4NTIgMTEuMTQ1NkMxOS4zODUyIDEyLjkzNzEgMTguODAzNyAxNC41OTMxIDE3LjgxODQgMTUuOTM3NUwxOS44MzYxIDE3LjQwNDhDMjAuNjcwNSAxNy45MTIgMjEuNzU1NCAxOC42NTQzIDIwLjI0NTQgMjAuMjE1QzE4LjczNTMgMjEuNzc1NiAxOC4wMDk5IDIwLjY2NjMgMTcuNDk5MSAxOS44MzY0TDE1Ljk0MjEgMTcuNzgzNVpcIlxuICAgICAgICAgIGZpbGw9XCIjNkE3MzdEXCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgICAgPGlucHV0XG4gICAgICAgIFtuZ01vZGVsXT1cInNlYXJjaElucHV0XCJcbiAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgIHBhZGRpbmdMZWZ0OiBpc1NlYXJjaElucHV0Rm9jdXNlZCA/ICcxMnB4JyA6ICc0NXB4JyxcbiAgICAgICAgICBib3JkZXI6IGlzU2VhcmNoSW5wdXRGb2N1c2VkID8gJzFweCBzb2xpZCAjMDkzN0IyJyA6ICcxcHggc29saWQgI2UwZTBlMCcsXG4gICAgICAgICAgcGFkZGluZ1JpZ2h0OiBpc1NlYXJjaElucHV0Rm9jdXNlZCA/ICc0NXB4JyA6ICcxMHB4J1xuICAgICAgICB9XCJcbiAgICAgICAgW3RhYkluZGV4XT1cIjBcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWFyY2hJbnB1dE9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiaXNTZWFyY2hJbnB1dEZvY3VzZWQgPyAnJyA6IHNlYXJjaExhYmVsXCJcbiAgICAgICAgKGZvY3VzKT1cInNlYXJjaElucHV0Rm9jdXNlZCh0cnVlKVwiXG4gICAgICAgIGNsYXNzPVwic2VhcmNoLWlucHV0XCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJzZWFyY2hMYWJlbFwiXG4gICAgICAvPlxuICAgICAgPHN2Z1xuICAgICAgICAqbmdJZj1cImlzU2VhcmNoSW5wdXRGb2N1c2VkXCJcbiAgICAgICAgY2xhc3M9XCJjYW5jZWwtaWNvblwiXG4gICAgICAgIChjbGljayk9XCJzZWFyY2hJbnB1dENhbmNlbGVkKCRldmVudClcIlxuICAgICAgICB3aWR0aD1cIjI0XCJcbiAgICAgICAgaGVpZ2h0PVwiMjRcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgID5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICBkPVwiTTguODc0NDYgNy4zMjE0NEM4LjQ0NTg4IDYuODkyODUgNy43NTEgNi44OTI4NSA3LjMyMjQyIDcuMzIxNDRDNi44OTM4MyA3Ljc1MDAyIDYuODkzODMgOC40NDQ5IDcuMzIyNDIgOC44NzM0OUwxMC40NDg4IDExLjk5OTlMNy4zMjM1NyAxNS4xMjUyQzYuODk0OTggMTUuNTUzOCA2Ljg5NDk4IDE2LjI0ODYgNy4zMjM1NyAxNi42NzcyQzcuNzUyMTUgMTcuMTA1OCA4LjQ0NzAzIDE3LjEwNTggOC44NzU2MSAxNi42NzcyTDEyLjAwMDkgMTMuNTUyTDE1LjEyNjEgMTYuNjc3MkMxNS41NTQ3IDE3LjEwNTggMTYuMjQ5NiAxNy4xMDU4IDE2LjY3ODEgMTYuNjc3MkMxNy4xMDY3IDE2LjI0ODYgMTcuMTA2NyAxNS41NTM3IDE2LjY3ODEgMTUuMTI1MUwxMy41NTI5IDExLjk5OTlMMTYuNjc5MyA4Ljg3MzU0QzE3LjEwNzkgOC40NDQ5NiAxNy4xMDc5IDcuNzUwMDggMTYuNjc5MyA3LjMyMTVDMTYuMjUwNyA2Ljg5MjkxIDE1LjU1NTggNi44OTI5MSAxNS4xMjczIDcuMzIxNUwxMi4wMDA5IDEwLjQ0NzlMOC44NzQ0NiA3LjMyMTQ0WlwiXG4gICAgICAgICAgZmlsbD1cIiM2QTczN0RcIlxuICAgICAgICAvPlxuICAgICAgPC9zdmc+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInN0YXR1cy1jb250YWluZXJcIiAqbmdJZj1cImxvYWRpbmdcIj5cbiAgICAgIDxtaXMtbG9hZGVyIFttb2JpbGVWaWV3XT1cInRydWVcIj48L21pcy1sb2FkZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiB0YWJpbmRleD1cIi0xXCIgKm5nSWY9XCIhc2VhcmNoRW5hYmxlZFwiIGNka0ZvY3VzSW5pdGlhbD48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaXRlbXNcIiAqbmdJZj1cIiFsb2FkaW5nIFwiPiAgICBcbiAgICAgIDxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQgKm5nSWY9XCIhKChzZWFyY2hJbnB1dCA/IHNlYXJjaERhdGEgOiBkYXRhKS5sZW5ndGggPT09IDApXCIgW2l0ZW1TaXplXT1cIml0ZW1TaXplRm9yQ2RrXCIgY2xhc3M9XCJkcm9wZG93bi12aWV3cG9ydFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiaXRlbVwiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ2l0ZW0tZGlzYWJsZWQnOiBpdGVtLmRpc2FibGVkLCAnaXRlbS1zZWxlY3RlZCc6IChoaWdsaWdodFNlbGVjdGVkVmFsdWUgJiYgaXRlbS52YWx1ZSA9PT0gc2VsZWN0ZWRJdGVtPy52YWx1ZSksICdpY29uLW9ubHknIDogc2hvd09ubHlJY29uIH1cIlxuICAgICAgICAoY2xpY2spPVwiaXRlbS5kaXNhYmxlZCA/IG51bGwgOiBzZWxlY3RJdGVtKGl0ZW0pXCJcbiAgICAgICAgKGtleXVwLmVudGVyKT1cIml0ZW0uZGlzYWJsZWQgPyBudWxsIDogc2VsZWN0SXRlbShpdGVtKVwiXG4gICAgICAgICpjZGtWaXJ0dWFsRm9yPVwibGV0IGl0ZW0gb2Ygc2VhcmNoSW5wdXQgPyBzZWFyY2hEYXRhIDogZGF0YTtcIlxuICAgICAgICB0YWJJbmRleD1cIjBcIlxuICAgICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXN0b21JdGVtOyBlbHNlIHN0YW5kYXJkSXRlbVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tSXRlbVwiXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI3N0YW5kYXJkSXRlbT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIiAqbmdJZj1cIiFzaG93T25seUljb25cIiBbbmdTdHlsZV09XCJ7IHdpZHRoOiBpdGVtLmljb24gPyAnOTAlJyA6ICcxMDAlJywgJ2Rpc3BsYXknOiBtdWx0aUxpbmUgPyAnZmxleCc6ICdpbmhlcml0JywgJ2ZsZXgtZGlyZWN0aW9uJzogbXVsdGlMaW5lID8gJ2NvbHVtbic6ICdpbmhlcml0JyB9XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaW1hcnlUZXh0XCIgW25nU3R5bGVdPVwiZ2V0SWNvblN0eWxlcyhpdGVtLmljb24sIGFjdGl2ZUl0ZW0pXCI+e3sgbXVsdGlMaW5lID8gaXRlbT8ubGFiZWw/LnByaW1hcnlUZXh0IDogaXRlbT8ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNlY29uZGFyeVRleHRcIiAqbmdJZj1cIm11bHRpTGluZVwiIFtuZ1N0eWxlXT1cImdldEljb25TdHlsZXMoaXRlbS5pY29uLCBhY3RpdmVJdGVtKVwiPiB7eyBpdGVtPy5sYWJlbD8uc2Vjb25kYXJ5VGV4dCA/IGl0ZW0/LmxhYmVsPy5zZWNvbmRhcnlUZXh0IDogYWRkaXRpb25hbEluZm9NZXNzYWdlICB9fSA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImljb24tY29udGFpbmVyXCIgKm5nSWY9XCJpdGVtLmljb25cIj5cbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpY29uXCIgW3NyY109XCJpdGVtLmljb25cIiBhbHQ9XCJubyBpbWdcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG4gICAgPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XG4gICAgICA8ZGl2IGNsYXNzPVwibm9EYXRhXCIgKm5nSWY9XCIoc2VhcmNoSW5wdXQgPyBzZWFyY2hEYXRhIDogZGF0YSkubGVuZ3RoID09PSAwXCI+XG4gICAgICAgIHt7IHNlYXJjaElucHV0ID09PSBcIlwiID8gbm9EYXRhTWVzc2FnZSA6IFwiTm8gcmVzdWx0c1wiIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -12,7 +12,7 @@ export class DropdownModule {
|
|
|
12
12
|
static forRoot() {
|
|
13
13
|
return { ngModule: DropdownModule, providers: [] };
|
|
14
14
|
}
|
|
15
|
-
static { this.ɵfac = function DropdownModule_Factory(
|
|
15
|
+
static { this.ɵfac = function DropdownModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DropdownModule)(); }; }
|
|
16
16
|
static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: DropdownModule }); }
|
|
17
17
|
static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, FormsModule, OverlayModule, ScrollingModule, LoaderModule, A11yModule] }); }
|
|
18
18
|
}
|
|
@@ -25,4 +25,4 @@ export class DropdownModule {
|
|
|
25
25
|
}]
|
|
26
26
|
}], null, null); })();
|
|
27
27
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(DropdownModule, { declarations: [DropdownComponent, CalculateContainerHeightDirective], imports: [CommonModule, FormsModule, OverlayModule, ScrollingModule, LoaderModule, A11yModule], exports: [DropdownComponent] }); })();
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQU8vQyxNQUFNLE9BQU8sY0FBYztJQUN6QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU8sRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUNyRCxDQUFDOytHQUhVLGNBQWM7bUVBQWQsY0FBYzt1RUFIZixZQUFZLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUMsWUFBWSxFQUFFLFVBQVU7O2lGQUdqRixjQUFjO2NBTDFCLFFBQVE7ZUFBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxpQ0FBaUMsQ0FBQztnQkFDcEUsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFDLFlBQVksRUFBRSxVQUFVLENBQUM7Z0JBQzdGLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO2FBQzdCOzt3RkFDWSxjQUFjLG1CQUpWLGlCQUFpQixFQUFFLGlDQUFpQyxhQUN6RCxZQUFZLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUMsWUFBWSxFQUFFLFVBQVUsYUFDbEYsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSBcIi4vZHJvcGRvd24uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrLWV4cGVyaW1lbnRhbC9zY3JvbGxpbmdcIjtcbmltcG9ydCB7IExvYWRlck1vZHVsZSB9IGZyb20gXCJtaXMtY3J5c3RhbC1kZXNpZ24tc3lzdGVtL2xvYWRlclwiO1xuaW1wb3J0IHsgQ2FsY3VsYXRlQ29udGFpbmVySGVpZ2h0RGlyZWN0aXZlIH0gZnJvbSAnLi9jYWxjdWxhdGUtY29udGFpbmVyLWhlaWdodC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvYTExeVwiO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtEcm9wZG93bkNvbXBvbmVudCwgQ2FsY3VsYXRlQ29udGFpbmVySGVpZ2h0RGlyZWN0aXZlXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIE92ZXJsYXlNb2R1bGUsIFNjcm9sbGluZ01vZHVsZSxMb2FkZXJNb2R1bGUsIEExMXlNb2R1bGVdLCAgXG4gIGV4cG9ydHM6IFtEcm9wZG93bkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25Nb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPERyb3Bkb3duTW9kdWxlPiB7XG4gICAgcmV0dXJuIHsgbmdNb2R1bGU6IERyb3Bkb3duTW9kdWxlLCBwcm92aWRlcnM6IFtdIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -955,7 +955,7 @@ export class DynamicFormComponent {
|
|
|
955
955
|
else
|
|
956
956
|
return formValue;
|
|
957
957
|
}
|
|
958
|
-
static { this.ɵfac = function DynamicFormComponent_Factory(
|
|
958
|
+
static { this.ɵfac = function DynamicFormComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DynamicFormComponent)(); }; }
|
|
959
959
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DynamicFormComponent, selectors: [["mis-dynamic-form"]], contentQueries: function DynamicFormComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
|
960
960
|
i0.ɵɵcontentQuery(dirIndex, _c0, 5);
|
|
961
961
|
i0.ɵɵcontentQuery(dirIndex, _c1, 5);
|
|
@@ -1090,4 +1090,4 @@ export const dynamicFieldValidator = (validators) => {
|
|
|
1090
1090
|
return errors;
|
|
1091
1091
|
};
|
|
1092
1092
|
};
|
|
1093
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL2R5bmFtaWMtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQWdCLEtBQUssRUFBcUIsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBRW5JLE9BQU8sRUFBbUIsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQWlDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBKLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLFFBQVEsTUFBTSx1QkFBdUIsQ0FBQztBQUM3QyxPQUFPLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQztBQUNuQyxPQUFPLGlCQUFpQixNQUFNLGdDQUFnQyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ010RCw2QkFBc0c7SUFDcEcsNEJBTWU7Ozs7Ozs7Ozs7SUFMYixjQUFpQztJQUNqQyxBQURBLGtEQUFpQyw0T0FJL0I7OztJQVBSLCtCQUF5TjtJQUN2Tiw2R0FBc0c7SUFTeEcsaUJBQU07OztJQVRzQyxjQUE2QztJQUE3QyxxRUFBNkM7OztJQVgzRixpQ0FBa0g7SUFDOUcsNEJBUWE7SUFDZixxRkFBeU47Ozs7Ozs7SUFWN00sb0NBQW1CO0lBRTdCLGNBQWlDO0lBQ2pDLEFBREEsa0RBQWlDLGlJQUsvQjtJQUcyQixjQUF3TDtJQUF4TCxrYUFBd0w7Ozs7SUFvQnpOLDZCQUF5RTtJQUN2RSxrSUFHQzs7Ozs7Ozs7SUFGQyxjQUEwQztJQUMxQyxBQURBLCtEQUEwQyw4RkFD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T0FBTyxNQUFNLENBQUE7SUFDZixDQUFDLENBQUE7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOc0R5bmFtaWNGb3JtIH0gZnJvbSBcIi4vZHluYW1pYy1mb3JtLm5hbWVzcGFjZVwiO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBVbnR5cGVkRm9ybUFycmF5LCBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5cbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgdGltZXpvbmUgZnJvbSAnZGF5anMvcGx1Z2luL3RpbWV6b25lJztcbmltcG9ydCB1dGMgZnJvbSAnZGF5anMvcGx1Z2luL3V0Yyc7XG5pbXBvcnQgY3VzdG9tUGFyc2VGb3JtYXQgZnJvbSAnZGF5anMvcGx1Z2luL2N1c3RvbVBhcnNlRm9ybWF0J1xuXG5kYXlqcy5leHRlbmQodXRjKTtcbmRheWpzLmV4dGVuZCh0aW1lem9uZSk7XG5kYXlqcy5leHRlbmQoY3VzdG9tUGFyc2VGb3JtYXQpO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1pcy1keW5hbWljLWZvcm1cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9keW5hbWljLWZvcm0uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2R5bmFtaWMtZm9ybS5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIGZvcm1GaWVsZHM6ICBEeW5hbWljIGZpZWxkcyByZWNpZXZlZCBmcm9tIHRoZSBBUEkgbWV0YWRhdGEgdG8gYnVpbGQgYSBkeW5hbWljIGZvcm1cbiAgICogZm9ybVZhbHVlczogIEhvbGRzIHRoZSB2YWx1ZSBvZiB0aGUgZHluYW1pYyBmb3JtIHdpdGggXCJrZXlcIiBiZWluZyBkeW5hbWljIGZpZWxkIFwidGl0bGVcIlxuICAgKiAgICAgICAgICAgICAgYW5kIHZhbHVlIGJlaW5nIHRoZSB1c2VyIGlucHV0LlxuICAgKi9cbiAgQElucHV0KCkgZm9ybUZpZWxkczogQXJyYXk8TnNEeW5hbWljRm9ybS5JRHluYW1pY0ZpZWxkPiA9IFtdO1xuICBASW5wdXQoKSBmb3JtVmFsdWVzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XG4gIC8vIE5lZWQgdG8gZGVwcmVjYXRlIHRoZXNlIGlucHV0cyBhbmQgdXNlIGNvbnN0YW50cy5cbiAgQElucHV0KCkgYWN0aXZlQnRuSWNvblVybCA9IFwiXCI7XG4gIEBJbnB1dCgpIGNhbGVuZGFySWNvblVybCA9IFwiXCI7XG4gIEBJbnB1dCgpIHJlbW92ZUljb25VcmwgPSBcIlwiO1xuICBASW5wdXQoKSByZW1vdmVTZXByYXRvckZvclN1YkZpZWxkcyA9IGZhbHNlO1xuICAvKipcbiAgICogZHluYW1pY0Zvcm06IENvbnN0cnVjdGVkIHVzaW5nIGZvcm1GaWVsZHMgYW5kIGZvcm1WYWx1ZXMoaW4gY2FzZSBvZiBlZGl0KVxuICAgKi9cbiAgZHluYW1pY0Zvcm06IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgLyoqXG4gICAqIGZvcm1VcGRhdGVkOiBFbWl0cyBmb3JtVmFsdWVzIE9iamVjdCB3aGVuZXZlciB0aGVyZSBpcyBhIGNoYW5nZSBpbiB0aGUgZHluYW1pYyBmb3JtLlxuICAgKi9cbiAgQE91dHB1dCgpIGZvcm1VcGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjx7IFtrZXk6IHN0cmluZ106IGFueSB9PigpO1xuICAvKipcbiAgICogZm9ybVZhbGlkOiBFbWl0cyBib29sZWFuIGRlcGVuZGluZyBvbiB2YWxpZGl0eSBvZiB0aGUgZm9ybVxuICAgKi9cbiAgQE91dHB1dCgpIGZvcm1WYWxpZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgLyoqXG4gICAqIGZvcm1Jbml0aWFsaXplZDogRW1pdHMgZHluYW1pYyBmb3JtIEFQSSBvbiBmb3JtIGluaXRpbGl6YXRpb25cbiAgICovXG4gIEBPdXRwdXQoKSBmb3JtSW5pdGlhbGl6ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGZpZWxkUmVtb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TnNEeW5hbWljRm9ybS5JRHluYW1pY0ZpZWxkPigpO1xuXG4gIEBDb250ZW50Q2hpbGQoXCJjdXN0b21JbnB1dFRleHROdW1iZXJcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIGN1c3RvbUlucHV0VGV4dE51bWJlcjogVGVtcGxhdGVSZWY8RWxlbWVudD47XG4gIFxuICBAQ29udGVudENoaWxkKFwiY3VzdG9tSW5wdXRUZXh0YXJlYVwiLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgY3VzdG9tSW5wdXRUZXh0YXJlYTogVGVtcGxhdGVSZWY8RWxlbWVudD47XG5cbiAgQENvbnRlbnRDaGlsZChcImN1c3RvbUlucHV0RGF0ZVwiLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgY3VzdG9tSW5wdXREYXRlOiBUZW1wbGF0ZVJlZjxFbGVtZW50PjtcblxuICBAQ29udGVudENoaWxkKFwiY3VzdG9tQm9vbGVhblRvZ2dsZVwiLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgY3VzdG9tQm9vbGVhblRvZ2dsZTogVGVtcGxhdGVSZWY8RWxlbWVudD47XG5cbiAgQENvbnRlbnRDaGlsZChcImN1c3RvbVNpbmdsZVNlbGVjdERyb3Bkb3duXCIsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBjdXN0b21TaW5nbGVTZWxlY3REcm9wZG93bjogVGVtcGxhdGVSZWY8RWxlbWVudD47XG5cbiAgQENvbnRlbnRDaGlsZChcImN1c3RvbVNpbmdsZVNlbGVjdFJhZGlvXCIsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBjdXN0b21TaW5nbGVTZWxlY3RSYWRpbzogVGVtcGxhdGVSZWY8RWxlbWVudD47XG5cbiAgQENvbnRlbnRDaGlsZChcImN1c3RvbU11bHRpU2VsZWN0Q2hlY2tib3hcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIGN1c3RvbU11bHRpU2VsZWN0Q2hlY2tib3g6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGQoXCJjdXN0b21NdWx0aVNlbGVjdERyb3Bkb3duXCIsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBjdXN0b21NdWx0aVNlbGVjdERyb3Bkb3duOiBUZW1wbGF0ZVJlZjxFbGVtZW50PjtcblxuICBkeW5hbWljRm9ybUFQSTogTnNEeW5hbWljRm9ybS5JRHluYW1pY0Zvcm1BUEk7XG4gIHZhbHVlQ2hhbmdlc1N1YnNjcmlwdGlvbiQ6IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gQnVpbGRpbmcgdGhlIGZvcm1cbiAgICB0aGlzLmR5bmFtaWNGb3JtID0gdGhpcy5nZW5lcmF0ZUR5bmFtaWNGb3JtKHRoaXMuZm9ybUZpZWxkcywgdGhpcy5mb3JtVmFsdWVzKTtcblxuICAgIC8vIFN1YnNjcmliaW5nIHRvIGZvcm0gY2hhbmdlcyBhbmQgZW1pdGluZyB2YWx1ZXMuXG4gICAgdGhpcy52YWx1ZUNoYW5nZXNTdWJzY3JpcHRpb24kID0gdGhpcy5keW5hbWljRm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKGZvcm1WYWx1ZSA9PiB7XG4gICAgICB0aGlzLm9uRm9ybVZhbHVlQ2hhbmdlcygpO1xuICAgIH0pO1xuXG4gICAgLy9hcGkgdG8gZXhwb3NlIGZ1bmN0aW9uc1xuICAgIHRoaXMuZHluYW1pY0Zvcm1BUEkgPSB7XG4gICAgICBkZWZhdWx0Rm9ybVZhbHVlczogKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZW5lcmF0ZUR5bmFtaWNGaWVsZHNWYWx1ZU9iamVjdCh0aGlzLmR5bmFtaWNGb3JtLnZhbHVlLmR5bmFtaWNGaWVsZHMpO1xuICAgICAgfVxuICAgIH07XG4gICAgdGhpcy5mb3JtSW5pdGlhbGl6ZWQuZW1pdCh0aGlzLmR5bmFtaWNGb3JtQVBJKTtcbiAgICB0aGlzLmZvcm1WYWxpZC5lbWl0KHRoaXMuZHluYW1pY0Zvcm0udmFsaWQpO1xuICB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWVDaGFuZ2VzU3Vic2NyaXB0aW9uJD8udW5zdWJzY3JpYmUoKTtcbiAgfVxuICBvbkZvcm1WYWx1ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgbGV0IGZvcm1WYWx1ZXMgPSB0aGlzLmdlbmVyYXRlRHluYW1pY0ZpZWxkc1ZhbHVlT2JqZWN0KHRoaXMuZHluYW1pY0Zvcm0udmFsdWUuZHluYW1pY0ZpZWxkcyk7XG4gICAgdGhpcy5mb3JtVmFsaWQuZW1pdCh0aGlzLmR5bmFtaWNGb3JtLnZhbGlkKTtcbiAgICB0aGlzLmZvcm1VcGRhdGVkLmVtaXQoZm9ybVZhbHVlcyk7XG4gICAgY29uc29sZS5sb2coZm9ybVZhbHVlcylcbiAgfVxuICBnZW5lcmF0ZUR5bmFtaWNGaWVsZHNWYWx1ZU9iamVjdChmb3JtVmFsdWVzOiBBcnJheTxhbnk+KTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgbGV0IGR5bmFtaWNGaWVsZHNWYWx1ZSA9IHt9O1xuICAgIGZvcm1WYWx1ZXMuZm9yRWFjaCgoZmllbGRWYWx1ZSwgaW5kZXgpID0+IHtcbiAgICAgIGlmKHR5cGVvZiBmaWVsZFZhbHVlPy52YWx1ZSA9PT0gJ3N0cmluZycpIGZpZWxkVmFsdWUudmFsdWUgPSBmaWVsZFZhbHVlPy52YWx1ZT8udHJpbSgpXG4gICAgICBsZXQgZm9ybWF0dGVkVmFsdWUgPSB0aGlzLm1hcEZvcm1GaWVsZFRvRm9ybVZhbHVlKHRoaXMuZm9ybUZpZWxkc1tpbmRleF0sIGZpZWxkVmFsdWUudmFsdWUpO1xuICAgICAgaWYgKGZpZWxkVmFsdWUuc3ViRmllbGRzPy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGxldCBmb3JtYXR0ZWRTdWJGaWVsZHNWYWx1ZXMgPSB7fVxuICAgICAgICBsZXQgc3ViRmllbGQgPSB0aGlzLmZvcm1GaWVsZHNbaW5kZXhdLnN1YkZpZWxkc1xuICAgICAgICBpZih0aGlzLmZvcm1GaWVsZHNbaW5kZXhdLmZpZWxkVHlwZSA9PT0gJ3NpbmdsZVNlbGVjdCcgfHwgdGhpcy5mb3JtRmllbGRzW2luZGV4XS5maWVsZFR5cGUgPT09ICdtdWx0aVNlbGVjdCcpIHtcbiAgICAgICAgICBzdWJGaWVsZCA9IHN1YkZpZWxkLmZpbHRlcigoc3ViRmllbGQpID0+IHN1YkZpZWxkLnBhcmVudENvbmZpZ1ZhbHVlID09PSBmaWVsZFZhbHVlLnZhbHVlLnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBmaWVsZFZhbHVlLnN1YkZpZWxkcy5mb3JFYWNoKChzdWJGaWVsZFZhbHVlLCBzdWJJbmRleCkgPT4ge1xuICAgICAgICAgIGxldCBzdWJGb3JtRmllbGQgPSBzdWJGaWVsZFtzdWJJbmRleF1cbiAgICAgICAgICBpZih0eXBlb2Ygc3ViRmllbGRWYWx1ZT8udmFsdWUgPT09ICdzdHJpbmcnKSBzdWJGaWVsZFZhbHVlLnZhbHVlID0gc3ViRmllbGRWYWx1ZT8udmFsdWU/LnRyaW0oKVxuICAgICAgICAgIGZvcm1hdHRlZFN1YkZpZWxkc1ZhbHVlc1tzdWJGb3JtRmllbGQuY29uZmlnTmFtZV0gPSB0aGlzLm1hcEZvcm1GaWVsZFRvRm9ybVZhbHVlKHN1YkZvcm1GaWVsZCwgc3ViRmllbGRWYWx1ZSlcbiAgICAgICAgfSlcbiAgICAgICAgZHluYW1pY0ZpZWxkc1ZhbHVlW3RoaXMuZm9ybUZpZWxkc1tpbmRleF0uY29uZmlnTmFtZV0gPSB7XG4gICAgICAgICAgdmFsdWU6IGZvcm1hdHRlZFZhbHVlLFxuICAgICAgICAgIHN1YkZpZWxkczogZm9ybWF0dGVkU3ViRmllbGRzVmFsdWVzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBkeW5hbWljRmllbGRzVmFsdWVbdGhpcy5mb3JtRmllbGRzW2luZGV4XS5jb25maWdOYW1lXSA9IGZvcm1hdHRlZFZhbHVlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBkeW5hbWljRmllbGRzVmFsdWU7XG4gIH1cbiAgZ2VuZXJhdGVEeW5hbWljRm9ybShcbiAgICBmb3JtRmllbGRzOiBBcnJheTxOc0R5bmFtaWNGb3JtLklEeW5hbWljRmllbGQ+LFxuICAgIGZvcm1WYWx1ZXM6IHsgW2tleTogc3RyaW5nXTogYW55IH1cbiAgKTogVW50eXBlZEZvcm1Hcm91cCB7XG4gICAgbGV0IGZvcm1BcnJheSA9IG5ldyBVbnR5cGVkRm9ybUFycmF5KFtdKVxuXG4gICAgZm9yIChsZXQgZmllbGQgb2YgZm9ybUZpZWxkcykge1xuICAgICAgbGV0IGZpZWxkVmFsdWUgPSBmb3JtVmFsdWVzW2ZpZWxkLmNvbmZpZ05hbWVdPy52YWx1ZSA/IGZvcm1WYWx1ZXNbZmllbGQuY29uZmlnTmFtZV0udmFsdWUgOiBmb3JtVmFsdWVzW2ZpZWxkLmNvbmZpZ05hbWVdXG4gICAgICBsZXQgZmllbGRDb250cm9sID0gdGhpcy5tYXBGb3JtVmFsdWVUb0Zvcm1GaWVsZChmaWVsZCwgZmllbGRWYWx1ZSk7XG4gICAgICBsZXQgc3ViRmllbGRzQ29udHJvbHMgPSB0aGlzLmdlbmVyYXRlU3ViRHluYW1pY0ZpZWxkcyhmb3JtVmFsdWVzLCBmaWVsZCwgZmllbGRDb250cm9sLnZhbHVlKTtcbiAgICAgIGZvcm1BcnJheS5wdXNoKG5ldyBVbnR5cGVkRm9ybUdyb3VwKHtcbiAgICAgICAgdmFsdWU6IGZpZWxkQ29udHJvbCxcbiAgICAgICAgc3ViRmllbGRzOiBzdWJGaWVsZHNDb250cm9sc1xuICAgICAgfSkpXG4gICAgfSAgXG4gICAgcmV0dXJuIG5ldyBVbnR5cGVkRm9ybUdyb3VwKHtcbiAgICAgIGR5bmFtaWNGaWVsZHM6IGZvcm1BcnJheVxuICAgIH0pXG4gIH1cbiAgXG4gIGdldER5bmFtaWNGaWVsZHNDb250cm9scygpOiBVbnR5cGVkRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdGhpcy5keW5hbWljRm9ybS5nZXQoXCJkeW5hbWljRmllbGRzXCIpIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gIH1cbiAgdXBkYXRlU3ViRHluYW1pY0ZpZWxkcyhcbiAgICBmaWVsZDogTnNEeW5hbWljRm9ybS5JRHluYW1pY0ZpZWxkLFxuICAgIGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCxcbiAgICB2YWx1ZTogYW55XG4gICk6IHZvaWQge1xuICAgIGlmIChmaWVsZC5zdWJGaWVsZHM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGxldCBzdWJGaWVsZHNDb250cm9scyA9IHRoaXMuZ2VuZXJhdGVTdWJEeW5hbWljRmllbGRzKHRoaXMuZm9ybVZhbHVlcywgZmllbGQsIHZhbHVlKTtcbiAgICAgIGZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdzdWJGaWVsZHMnKVxuICAgICAgZm9ybUdyb3VwLmFkZENvbnRyb2woJ3N1YkZpZWxkcycsIHN1YkZpZWxkc0NvbnRyb2xzKVxuICAgIH1cbiAgfVxuICB1cGRhdGVTZWxlY3RlZFZhbHVlRm9yU2luZ2xlU2VsZWN0KFxuICAgIGZpZWxkOiBOc0R5bmFtaWNGb3JtLklEeW5hbWljRmllbGQsXG4gICAgY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sLFxuICAgIGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCxcbiAgICB2YWx1ZTogYW55XG4gICk6IHZvaWQge1xuICAgIGlmIChjb250cm9sLnZhbHVlPy52YWx1ZSAhPT0gdmFsdWUudmFsdWUpIHtcbiAgICAgIGNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICAgIH1cbiAgICBlbHNlIGNvbnRyb2wuc2V0VmFsdWUoJycpO1xuICAgIHRoaXMudXBkYXRlU3ViRHluYW1pY0ZpZWxkcyhmaWVsZCwgZm9ybUdyb3VwLCB2YWx1ZSk7XG4gICAgY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gIH1cbiAgdXBkYXRlU2VsZWN0ZWRWYWx1ZUZvck11bHRpU2VsZWN0KFxuICAgIGZpZWxkOiBOc0R5bmFtaWNGb3JtLklEeW5hbWljRmllbGQsXG4gICAgY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sLFxuICAgIGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCxcbiAgICB2YWx1ZXM6IEFycmF5PGFueT5cbiAgKTogdm9pZCB7XG4gICAgbGV0IHNlbGVjdGVkVmFsdWVzOiBBcnJheTx7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBhbnkgfT4gPSBjb250cm9sLnZhbHVlO1xuICAgIGZvciAobGV0IHZhbHVlIG9mIHZhbHVlcykge1xuICAgICAgbGV0IGl0ZW1JbmRleCA9IHNlbGVjdGVkVmFsdWVzLmZpbmRJbmRleChpdGVtID0+IGl0ZW0ubGFiZWwgPT09IHZhbHVlLmxhYmVsKTtcbiAgICAgIGlmIChpdGVtSW5kZXggPiAtMSkge1xuICAgICAgICBzZWxlY3RlZFZhbHVlcy5zcGxpY2UoaXRlbUluZGV4LCAxKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlbGVjdGVkVmFsdWVzLnB1c2goeyAuLi52YWx1ZSB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29udHJvbC5zZXRWYWx1ZShzZWxlY3RlZFZhbHVlcyk7XG4gICAgdGhpcy51cGRhdGVTdWJEeW5hbWljRmllbGRzKGZpZWxkLCBmb3JtR3JvdXAsIHZhbHVlcyk7XG4gICAgY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gIH1cbiAgaXNDaGVja0JveFNlbGVjdGVkKHZhbHVlOiBzdHJpbmcsIHNlbGVjdGVkVmFsdWVzOiBBcnJheTx7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfT4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gc2VsZWN0ZWRWYWx1ZXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5sYWJlbCA9PT0gdmFsdWUpID4gLTE7XG4gIH1cblxuICBmaW5kU2VsZWN0ZWRTdWJGaWVsZENvbmZpZyhzdWJmaWVsZHMsIHZhbHVlLCBzdWJGaWVsZEluZGV4KSB7XG4gICAgdHJ5e1xuICAgICAgY29uc3Qgc2VsZWN0ZWRTdWJGaWVsZENvbmZpZyA9IHN1YmZpZWxkcy5maWx0ZXIoaXRlbSA9PiBpdGVtLnBhcmVudENvbmZpZ1ZhbHVlID09PSB2YWx1ZSlbc3ViRmllbGRJbmRleF07XG4gICAgICByZXR1cm4gc2VsZWN0ZWRTdWJGaWVsZENvbmZpZztcbiAgICB9XG4gICAgY2F0Y2goZSl7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1N1YmZpZWxkIGluZGV4IG5vdCBmb3VuZCcpO1xuICAgIH1cbiAgfVxuXG4gIG1hdGNoUGFyZW50Q29uZmlnKHN1YmZpZWxkcywgdmFsdWUpIHtcbiAgICBpZiAoIXN1YmZpZWxkcyB8fCBzdWJmaWVsZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBzdWJmaWVsZHMuc29tZShpdGVtID0+IGl0ZW0ucGFyZW50Q29uZmlnVmFsdWUgPT09IHZhbHVlKTtcbiAgfVxuXG4gIGdlbmVyYXRlU3ViRHluYW1pY0ZpZWxkcyhcbiAgICBmb3JtVmFsdWVzOiBhbnksXG4gICAgcGFyZW50RmllbGQ6IE5zRHluYW1pY0Zvcm0uSUR5bmFtaWNGaWVsZCxcbiAgICBwYXJlbnRWYWx1ZTogQXJyYXk8eyBsYWJlbDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIH0+IHwge2xhYmVsOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfSB8IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW5cbiAgKTogVW50eXBlZEZvcm1BcnJheSB7XG4gICAgbGV0IGNvbnRyb2xzID0gbmV3IFVudHlwZWRGb3JtQXJyYXkoW10pXG4gICAgbGV0IHN1YkZpZWxkcyA9IHBhcmVudEZpZWxkLnN1YkZpZWxkc1xuICAgIGxldCBzdWJGaWVsZHNWYWx1ZXMgPSBmb3JtVmFsdWVzW3BhcmVudEZpZWxkLmNvbmZpZ05hbWVdPy5zdWJGaWVsZHMgPyBmb3JtVmFsdWVzW3BhcmVudEZpZWxkLmNvbmZpZ05hbWVdLnN1YkZpZWxkcyA6IHt9XG4gICAgaWYoIXN1YkZpZWxkcykgcmV0dXJuIGNvbnRyb2xzO1xuICAgIGlmIChwYXJlbnRGaWVsZC5maWVsZFR5cGUgPT09ICdzaW5nbGVTZWxlY3QnKSB7XG4gICAgICBzdWJGaWVsZHMgPSBzdWJGaWVsZHMuZmlsdGVyKChzdWJGaWVsZCkgPT4gc3ViRmllbGQucGFyZW50Q29uZmlnVmFsdWUgPT09ICg8e2xhYmVsOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfT5wYXJlbnRWYWx1ZSk/LnZhbHVlKTtcbiAgICB9XG4gICAgZWxzZSBpZiAocGFyZW50RmllbGQuZmllbGRUeXBlID09PSAnbXVsdGlTZWxlY3QnKSB7XG4gICAgICBsZXQgcGFyZW50VmFsdWVzID0gbmV3IFNldCgoPEFycmF5PHsgbGFiZWw6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IG51bWJlciB9Pj5wYXJlbnRWYWx1ZSkubWFwKCh2YWx1ZSkgPT4gdmFsdWUudmFsdWUpKTtcbiAgICAgIHN1YkZpZWxkcyA9IHN1YkZpZWxkcy5maWx0ZXIoKHN1YkZpZWxkKSA9PiBwYXJlbnRWYWx1ZXMuaGFzKHN1YkZpZWxkLnBhcmVudENvbmZpZ1ZhbHVlKSk7XG4gICAgfVxuXG4gICAgaWYgKHN1YkZpZWxkcz8ubGVuZ3RoID4gMCkge1xuICAgICAgICBmb3IgKGxldCBzdWJGaWVsZCBvZiBzdWJGaWVsZHMpIHtcbiAgICAgICAgICBjb250cm9scy5wdXNoKHRoaXMubWFwRm9ybVZhbHVlVG9Gb3JtRmllbGQoc3ViRmllbGQsIHN1YkZpZWxkc1ZhbHVlc1tzdWJGaWVsZC5jb25maWdOYW1lXSkpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICByZXR1cm4gY29udHJvbHM7XG4gIH1cbiAgbWFwRm9ybVZhbHVlVG9Gb3JtRmllbGQoZm9ybUZpZWxkOiBOc0R5bmFtaWNGb3JtLklEeW5hbWljRmllbGQsIGZvcm1WYWx1ZTogYW55KTogYW55IHtcbiAgICBsZXQgdmFsaWRhdG9ycyA9IGZvcm1GaWVsZC52YWxpZGF0b3JzID8gW2R5bmFtaWNGaWVsZFZhbGlkYXRvcihmb3JtRmllbGQudmFsaWRhdG9ycyldOiBbXVxuICAgIGxldCBjb250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsLCB2YWxpZGF0b3JzKTtcblxuICAgIGlmIChmb3JtRmllbGQuZmllbGRUeXBlID09PSBcImlucHV0XCIpIHtcbiAgICAgIGlmIChmb3JtRmllbGQuZmllbGRJbnB1dFR5cGUgPT09IFwidGV4dFwiIHx8IGZvcm1GaWVsZC5maWVsZElucHV0VHlwZSA9PT0gXCJ0ZXh0YXJlYVwiKSBjb250cm9sLnNldFZhbHVlKGZvcm1WYWx1ZSA/IGZvcm1WYWx1ZSA6IFwiXCIpO1xuICAgICAgZWxzZSBpZiAoZm9ybUZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSBcIm51bWJlclwiKSBjb250cm9sLnNldFZhbHVlKGZvcm1WYWx1ZSA/IGZvcm1WYWx1ZSA6IDApO1xuICAgICAgZWxzZSBpZiAoZm9ybUZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSBcImRhdGVcIikge1xuICAgICAgICBpZiAoZm9ybVZhbHVlICYmIHR5cGVvZiBmb3JtVmFsdWUgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICBjb250cm9sLnNldFZhbHVlKGRheWpzKGZvcm1WYWx1ZSkudHooZm9ybUZpZWxkLmZpZWxkQ29uZmlnLnRpbWV6b25lKS5mb3JtYXQoZm9ybUZpZWxkLmZpZWxkQ29uZmlnLmZvcm1hdCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnRyb2wuc2V0VmFsdWUoZGF5anMoKS50eihmb3JtRmllbGQuZmllbGRDb25maWcudGltZXpvbmUpLmZvcm1hdChmb3JtRmllbGQuZmllbGRDb25maWcuZm9ybWF0KSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGZvcm1GaWVsZC5maWVsZFR5cGUgPT09IFwic2luZ2xlU2VsZWN0XCIpIHtcbiAgICAgIGNvbnN0IGZpbmRTZWxlY3RlZFZhbHVlID0gKCkgPT4ge1xuICAgICAgICBsZXQgaW5kZXggPSBmb3JtRmllbGQuaXRlbXNMaXN0LmZpbmRJbmRleChpdGVtID0+IGl0ZW0udmFsdWUgPT09IGZvcm1WYWx1ZSlcbiAgICAgICAgcmV0dXJuIGluZGV4ID49IDAgPyBmb3JtRmllbGQuaXRlbXNMaXN0W2luZGV4XTogXCJcIjtcbiAgICAgIH1cbiAgICAgIGlmIChmb3JtRmllbGQuZmllbGRJbnB1dFR5cGUgPT09IFwiZHJvcGRvd25cIikge1xuICAgICAgICBpZiAoIWZvcm1WYWx1ZSkgY29udHJvbC5zZXRWYWx1ZShmb3JtRmllbGQuaXRlbXNMaXN0WzBdKTtcbiAgICAgICAgZWxzZSBjb250cm9sLnNldFZhbHVlKGZpbmRTZWxlY3RlZFZhbHVlKCkpXG4gICAgICB9XG4gICAgICBlbHNlIGlmIChmb3JtRmllbGQuZmllbGRJbnB1dFR5cGUgPT09IFwicmFkaW9cIikge1xuICAgICAgICBjb250cm9sLnNldFZhbHVlKGZpbmRTZWxlY3RlZFZhbHVlKCkpXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChmb3JtRmllbGQuZmllbGRUeXBlID09PSBcIm11bHRpU2VsZWN0XCIpIHtcbiAgICAgIGlmIChmb3JtVmFsdWUgJiYgQXJyYXkuaXNBcnJheShmb3JtVmFsdWUpKSB7XG4gICAgICAgIGxldCBzZWxlY3RlZFZhbHVlcyA9IFtdO1xuICAgICAgICBmb3IgKGxldCB2YWx1ZSBvZiBmb3JtVmFsdWUpIHtcbiAgICAgICAgICBsZXQgaW5kZXggPSBmb3JtRmllbGQuaXRlbXNMaXN0LmZpbmRJbmRleChpdGVtID0+IGl0ZW0udmFsdWUgPT09IHZhbHVlKTtcbiAgICAgICAgICBpZiAoaW5kZXggPiAtMSkgc2VsZWN0ZWRWYWx1ZXMucHVzaCh7IC4uLmZvcm1GaWVsZC5pdGVtc0xpc3RbaW5kZXhdIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnRyb2wuc2V0VmFsdWUoc2VsZWN0ZWRWYWx1ZXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29udHJvbC5zZXRWYWx1ZShbXSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChmb3JtRmllbGQuZmllbGRUeXBlID09PSBcImJvb2xlYW5cIikge1xuICAgICAgY29udHJvbC5zZXRWYWx1ZSghIWZvcm1WYWx1ZSk7XG4gICAgfSBlbHNlIGNvbnRyb2wuc2V0VmFsdWUobnVsbCk7XG4gICAgcmV0dXJuIGNvbnRyb2w7XG4gIH1cbiAgbWFwRm9ybUZpZWxkVG9Gb3JtVmFsdWUoZm9ybUZpZWxkOiBOc0R5bmFtaWNGb3JtLklEeW5hbWljRmllbGQsIGZvcm1WYWx1ZTogYW55KTogYW55IHtcbiAgICBpZiAoZm9ybUZpZWxkLmZpZWxkVHlwZSA9PT0gXCJpbnB1dFwiKSB7XG4gICAgICBpZiAoZm9ybUZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSBcInRleHRcIiB8fCBmb3JtRmllbGQuZmllbGRJbnB1dFR5cGUgPT09IFwidGV4dGFyZWFcIikgcmV0dXJuIGZvcm1WYWx1ZTtcbiAgICAgIGVsc2UgaWYgKGZvcm1GaWVsZC5maWVsZElucHV0VHlwZSA9PT0gXCJudW1iZXJcIikgcmV0dXJuICtmb3JtVmFsdWU7XG4gICAgICBlbHNlIGlmIChmb3JtRmllbGQuZmllbGRJbnB1dFR5cGUgPT09IFwiZGF0ZVwiKSB7XG4gICAgICAgIHJldHVybiBkYXlqcy50eihmb3JtVmFsdWUsIGZvcm1GaWVsZC5maWVsZENvbmZpZy5mb3JtYXQsIGZvcm1GaWVsZC5maWVsZENvbmZpZy50aW1lem9uZSkudmFsdWVPZigpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZm9ybUZpZWxkLmZpZWxkVHlwZSA9PT0gXCJzaW5nbGVTZWxlY3RcIikge1xuICAgICAgcmV0dXJuIGZvcm1WYWx1ZT8udmFsdWUgPz8gJyc7XG4gICAgfSBlbHNlIGlmIChmb3JtRmllbGQuZmllbGRUeXBlID09PSBcIm11bHRpU2VsZWN0XCIpIHtcbiAgICAgIHJldHVybiBmb3JtVmFsdWU/Lm1hcChpdGVtID0+IGl0ZW0udmFsdWUpO1xuICAgIH0gZWxzZSBpZiAoZm9ybUZpZWxkLmZpZWxkVHlwZSA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgIHJldHVybiBmb3JtVmFsdWU7XG4gICAgfSBlbHNlIHJldHVybiBmb3JtVmFsdWU7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGR5bmFtaWNGaWVsZFZhbGlkYXRvciA9ICh2YWxpZGF0b3JzOiBBcnJheTxOc0R5bmFtaWNGb3JtLklEeW5hbWljRmllbGRWYWxpZGF0b3I+KTogVmFsaWRhdG9yRm4gPT4ge1xuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICBsZXQgdmFsdWUgPSBjb250cm9sLnZhbHVlXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgdmFsdWUgPSB2YWx1ZT8udmFsdWUgPyB2YWx1ZS52YWx1ZSA6ICcnXG4gICAgfVxuICAgIGxldCBlcnJvcnMgPSBudWxsXG5cbiAgICB2YWxpZGF0b3JzLmZvckVhY2goKHZhbGlkYXRvcikgPT4ge1xuICAgICAgbGV0IGVycm9yID0gbnVsbFxuICAgICAgbGV0IG1lc3NhZ2UgPSB2YWxpZGF0b3IubWVzc2FnZVxuICAgICAgc3dpdGNoICh2YWxpZGF0b3IudHlwZSkge1xuICAgICAgICBjYXNlIFwiUmVxdWlyZWRcIjpcbiAgICAgICAgICBlcnJvciA9IFZhbGlkYXRvcnMucmVxdWlyZWQoY29udHJvbCk7XG4gICAgICAgICAgaWYgKCFlcnJvciAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgICAgICAgIGVycm9yID0geyBSZXF1aXJlZDogbWVzc2FnZSB9O1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZihlcnJvcikgZXJyb3IgPSB7UmVxdWlyZWQ6IG1lc3NhZ2V9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJNaW5MZW5ndGhcIjpcbiAgICAgICAgICBlcnJvciA9IFZhbGlkYXRvcnMubWluTGVuZ3RoKCt2YWxpZGF0b3IudmFsdWUpKGNvbnRyb2wpXG4gICAgICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZSgnJHswfScsIGVycm9yPy5taW5sZW5ndGgucmVxdWlyZWRMZW5ndGgpXG4gICAgICAgICAgaWYoZXJyb3IpIGVycm9yID0geyBNaW5MZW5ndGg6IG1lc3NhZ2UgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiTWF4TGVuZ3RoXCI6XG4gICAgICAgICAgZXJyb3IgPSBWYWxpZGF0b3JzLm1heExlbmd0aCgrdmFsaWRhdG9yLnZhbHVlKShjb250cm9sKVxuICAgICAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoJyR7MH0nLCBlcnJvcj8uYWN0dWFsTGVuZ3RoKVxuICAgICAgICAgIGlmKGVycm9yKSBlcnJvciA9IHsgTWF4TGVuZ3RoOiBtZXNzYWdlIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIkVtYWlsXCI6XG4gICAgICAgICAgZXJyb3IgPSBWYWxpZGF0b3JzLmVtYWlsKGNvbnRyb2wpXG4gICAgICAgICAgaWYoZXJyb3IpIGVycm9yID0ge0VtYWlsOiBtZXNzYWdlfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiQ3VzdG9tXCI6XG4gICAgICAgICAgZXJyb3IgPSBWYWxpZGF0b3JzLnBhdHRlcm4oYCR7dmFsaWRhdG9yLnZhbHVlfWApKGNvbnRyb2wpXG4gICAgICAgICAgaWYoZXJyb3IpIGVycm9yID0ge0N1c3RvbTogbWVzc2FnZX1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGlmIChlcnJvcikgZXJyb3JzID0geyAuLi5lcnJvcnMsIC4uLmVycm9yIH1cbiAgICB9KVxuICAgIHJldHVybiBlcnJvcnNcbiAgfVxufSIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZHluYW1pY0Zvcm1cIj5cbiAgPG5nLWNvbnRhaW5lciBmb3JtQXJyYXlOYW1lPVwiZHluYW1pY0ZpZWxkc1wiPlxuICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cE5hbWVdPVwiaVwiICpuZ0Zvcj1cImxldCBmaWVsZENvbnRyb2wgb2YgZ2V0RHluYW1pY0ZpZWxkc0NvbnRyb2xzKCkuY29udHJvbHM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkeW5hbWljRmllbGRcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICRpbXBsaWNpdDogZm9ybUZpZWxkc1tpXSxcbiAgICAgICAgICBmb3JtR3JvdXA6IGZpZWxkQ29udHJvbCxcbiAgICAgICAgICBjb250cm9sOiBmaWVsZENvbnRyb2wuY29udHJvbHMudmFsdWVcbiAgICAgICAgfVwiXG4gICAgICA+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdWItZHluYW1pYy1mb3JtXCIgKm5nSWY9XCJmaWVsZENvbnRyb2wudmFsdWUgJiYgKCEhZm9ybUZpZWxkc1tpXT8uc3ViRmllbGRzICYmIGZvcm1GaWVsZHNbaV0/LnN1YkZpZWxkcz8ubGVuZ3RoID4gMCAmJiBtYXRjaFBhcmVudENvbmZpZyhmb3JtRmllbGRzW2ldPy5zdWJGaWVsZHMsIGZpZWxkQ29udHJvbC5jb250cm9scy52YWx1ZS52YWx1ZS52YWx1ZSkpXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN1YkZpZWxkQ29udHJvbCBvZiBmaWVsZENvbnRyb2wuY29udHJvbHMuc3ViRmllbGRzLmNvbnRyb2xzOyBsZXQgaiA9IGluZGV4XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHluYW1pY0ZpZWxkXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICRpbXBsaWNpdDogZmluZFNlbGVjdGVkU3ViRmllbGRDb25maWcoZm9ybUZpZWxkc1tpXT8uc3ViRmllbGRzLCBmaWVsZENvbnRyb2wuY29udHJvbHMudmFsdWUudmFsdWUudmFsdWUsaiksXG4gICAgICAgICAgICAgIGNvbnRyb2w6IHN1YkZpZWxkQ29udHJvbFxuICAgICAgICAgICAgfVwiPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZm9ybT5cblxuXG48bmctdGVtcGxhdGUgI2R5bmFtaWNGaWVsZCBsZXQtZmllbGQgbGV0LWNvbnRyb2w9XCJjb250cm9sXCIgbGV0LWZvcm1ncm91cD1cImZvcm1Hcm91cFwiPlxuXG4gIDwhLS0gZmllbGRUeXBlOiAnaW5wdXQnIGZpZWxkSW5wdXRUeXBlOiAndGV4dCcgfCAnbnVtYmVyJyAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkLmZpZWxkVHlwZSA9PT0gJ2lucHV0JyAmJiAoZmllbGQuZmllbGRJbnB1dFR5cGUgPT09ICd0ZXh0JyB8fCBmaWVsZC5maWVsZElucHV0VHlwZSA9PT0gJ251bWJlcicpXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbUlucHV0VGV4dE51bWJlcjsgZWxzZSBkZWZhdWx0SW5wdXRUZXh0TnVtYmVyXCI+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tSW5wdXRUZXh0TnVtYmVyXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZmllbGQ6IGZpZWxkLCBjb250cm9sOiBjb250cm9sLCBmb3JtZ3JvdXA6IGZvcm1ncm91cCB9XCJcbiAgICAgID48L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdElucHV0VGV4dE51bWJlcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkeW5hbWljLWZpZWxkIG11bHRpLWxpbmUtZmllbGQtY29udGFpbmVyXCJcbiAgICAgICAgW25nU3R5bGVdPVwieydib3JkZXItYm90dG9tJzogKGZvcm1ncm91cD8uY29udHJvbHM/LnN1YkZpZWxkcz8uY29udHJvbHM/Lmxlbmd0aCAmJiByZW1vdmVTZXByYXRvckZvclN1YkZpZWxkcykgPyAgJ25vbmUnOicnfVwiPlxuICAgICAgICA8cCBjbGFzcz1cImg3IGZpZWxkLXRpdGxlLXNtXCI+XG4gICAgICAgICAge3sgZmllbGQ/LnRpdGxlIH19IDxzcGFuICpuZ0lmPVwiZmllbGQudmFsaWRhdG9ycyAmJiBmaWVsZC52YWxpZGF0b3JzLmxlbmd0aCA+IDBcIj4gKjwvc3Bhbj5cbiAgICAgICAgPC9wPlxuICAgICAgICA8ZGl2IHN0eWxlPVwiZmxleC1iYXNpczogMTAwJVwiPjwvZGl2PlxuICAgICAgICA8aW5wdXQgY2xhc3M9XCJpbnB1dC1maWVsZCBpcC10ZXh0XCIgW3R5cGVdPVwiZmllbGQuZmllbGRJbnB1dFR5cGVcIiBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlU3ViRHluYW1pY0ZpZWxkcyhmaWVsZCwgZm9ybWdyb3VwLCAkZXZlbnQpXCIgXG4gICAgICAgICAgW25nU3R5bGVdPVwieydib3JkZXInOiBjb250cm9sLnRvdWNoZWQgJiYgY29udHJvbC5lcnJvcnMgPyAnMXB4IHNvbGlkICNCMDAwMjAnOiAnJ31cIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclRleHQgPyBmaWVsZC5wbGFjZWhvbGRlclRleHQgOiAnSW5wdXQgVGV4dCdcIiBcbiAgICAgICAgICBbbWluXT1cImZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSAnbnVtYmVyJyA/IDAgOiAnJyBcIi8+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250cm9sLnRvdWNoZWQgJiYgY29udHJvbC5lcnJvcnNcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImR5bmFtaWNGaWVsZEVycm9yc1wiIFxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogY29udHJvbC5lcnJvcnMgfVwiXG4gICAgICAgID5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgXG4gIDwhLS0gZmllbGRUeXBlOiAnaW5wdXQnIGZpZWxkSW5wdXRUeXBlOiAndGV4dGFyZWEnIC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmllbGQuZmllbGRUeXBlID09PSAnaW5wdXQnICYmIGZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSAndGV4dGFyZWEnXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbUlucHV0VGV4dGFyZWE7IGVsc2UgZGVmYXVsdElucHV0VGV4dGFyZWFcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tSW5wdXRUZXh0YXJlYVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBmaWVsZDogZmllbGQsIGNvbnRyb2w6IGNvbnRyb2wsIGZvcm1ncm91cDogZm9ybWdyb3VwIH1cIlxuICAgID48L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdElucHV0VGV4dGFyZWE+XG4gICAgICA8ZGl2IGNsYXNzPVwiZHluYW1pYy1maWVsZCBtdWx0aS1saW5lLWZpZWxkLWNvbnRhaW5lclwiXG4gICAgICBbbmdTdHlsZV09XCJ7J2JvcmRlci1ib3R0b20nOiAoZm9ybWdyb3VwPy5jb250cm9scz8uc3ViRmllbGRzPy5jb250cm9scz8ubGVuZ3RoICYmIHJlbW92ZVNlcHJhdG9yRm9yU3ViRmllbGRzKSA/ICAnbm9uZSc6Jyd9XCI+XG4gICAgICAgIDxwIGNsYXNzPVwiaDcgZmllbGQtdGl0bGUtc21cIj5cbiAgICAgICAgICB7eyBmaWVsZC50aXRsZSB9fTxzcGFuICpuZ0lmPVwiZmllbGQudmFsaWRhdG9ycyAmJiBmaWVsZC52YWxpZGF0b3JzLmxlbmd0aCA+IDBcIj4gKjwvc3Bhbj5cbiAgICAgICAgPC9wPlxuICAgICAgICA8ZGl2IHN0eWxlPVwiZmxleC1iYXNpczogMTAwJVwiPjwvZGl2PlxuICAgICAgICA8dGV4dGFyZWEgY2xhc3M9XCJpbnB1dC1maWVsZCBpcC10ZXh0YXJlYVwiIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJ7J2JvcmRlcic6IGNvbnRyb2wudG91Y2hlZCAmJiBjb250cm9sLmVycm9ycyA/ICcxcHggc29saWQgI0IwMDAyMCc6ICcnfVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyVGV4dCA/IGZpZWxkLnBsYWNlaG9sZGVyVGV4dCA6ICdJbnB1dCBUZXh0J1wiIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCIgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlU3ViRHluYW1pY0ZpZWxkcyhmaWVsZCwgZm9ybWdyb3VwLCAkZXZlbnQpXCI+PC90ZXh0YXJlYT5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbC50b3VjaGVkICYmIGNvbnRyb2wuZXJyb3JzXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHluYW1pY0ZpZWxkRXJyb3JzXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogY29udHJvbC5lcnJvcnMgfVwiPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG4gIFxuICA8IS0tIGZpZWxkVHlwZTogJ2lucHV0JyBmaWVsZElucHV0VHlwZTogJ2RhdGUnIC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmllbGQuZmllbGRUeXBlID09PSAnaW5wdXQnICYmIGZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSAnZGF0ZSdcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VzdG9tSW5wdXREYXRlOyBlbHNlIGRlZmF1bHRJbnB1dERhdGVcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21JbnB1dERhdGVcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBmaWVsZDogZmllbGQsIGNvbnRyb2w6IGNvbnRyb2wsIGZvcm1ncm91cDogZm9ybWdyb3VwIH1cIlxuICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0SW5wdXREYXRlPlxuICAgICAgPGRpdiBjbGFzcz1cImR5bmFtaWMtZmllbGQgc2luZ2xlLWxpbmUtZmllbGQtY29udGFpbmVyXCJcbiAgICAgIFtuZ1N0eWxlXT1cInsnYm9yZGVyLWJvdHRvbSc6IChmb3JtZ3JvdXA/LmNvbnRyb2xzPy5zdWJGaWVsZHM/LmNvbnRyb2xzPy5sZW5ndGggJiYgcmVtb3ZlU2VwcmF0b3JGb3JTdWJGaWVsZHMpID8gICdub25lJzonJ31cIlxuICAgICAgICAqbmdJZj1cImZpZWxkLmZpZWxkVHlwZSA9PT0gJ2lucHV0JyAmJiBmaWVsZC5maWVsZElucHV0VHlwZSA9PT0gJ2RhdGUnXCI+XG4gICAgICAgIDxwIGNsYXNzPVwiaDZcIj5cbiAgICAgICAgICB7eyBmaWVsZC50aXRsZSB9fSA8c3BhbiAqbmdJZj1cImZpZWxkLnZhbGlkYXRvcnMgJiYgZmllbGQudmFsaWRhdG9ycy5sZW5ndGggPiAwXCI+ICo8L3NwYW4+XG4gICAgICAgIDwvcD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRhdGUtcGlja2VyLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImRhdGUtcGlja2VyXCIgcmVhZG9ubHkgbWlzVHpEcCBbZHBDb25maWddPVwiZmllbGQuZmllbGRDb25maWdcIlxuICAgICAgICAgICAgKGRhdGVDaGFuZ2UpPVwiY29udHJvbC5zZXRWYWx1ZSgkZXZlbnQpXCIgW3NlbGVjdGVkRGF0ZV09XCJjb250cm9sLnZhbHVlXCIgW29mZnNldFldPVwiMFwiXG4gICAgICAgICAgICBbdmFsdWVdPVwiY29udHJvbC52YWx1ZVwiICNkcCAvPlxuICAgICAgICAgIDxpbWcgYWx0PVwiZGF0YS1waWNrZXJcIiAqbmdJZj1cImNhbGVuZGFySWNvblVybFwiIGNsYXNzPVwiZGF0ZS1waWNrZXItaWNvblwiIFtzcmNdPVwiY2FsZW5kYXJJY29uVXJsXCJcbiAgICAgICAgICAgIChjbGljayk9XCJkcC5jbGljaygpXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250cm9sLnRvdWNoZWQgJiYgY29udHJvbC5lcnJvcnNcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJkeW5hbWljRmllbGRFcnJvcnNcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogY29udHJvbC5lcnJvcnMgfVwiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gZmllbGRUeXBlOiAnYm9vbGVhbicgZmllbGRJbnB1dFR5cGU6ICd0b2dnbGUnIC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmllbGQuZmllbGRUeXBlID09PSAnYm9vbGVhbicgJiYgZmllbGQuZmllbGRJbnB1dFR5cGUgPT09ICd0b2dnbGUnXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbUJvb2xlYW5Ub2dnbGU7IGVsc2UgZGVmYXVsdEJvb2xlYW5Ub2dnbGVcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21Cb29sZWFuVG9nZ2xlXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZmllbGQ6IGZpZWxkLCBjb250cm9sOiBjb250cm9sLCBmb3JtZ3JvdXA6IGZvcm1ncm91cCB9XCJcbiAgICAgID48L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdEJvb2xlYW5Ub2dnbGU+XG4gICAgICA8ZGl2IGNsYXNzPVwiZHluYW1pYy1maWVsZCBzaW5nbGUtbGluZS1maWVsZC1jb250YWluZXJcIlxuICAgICAgW25nU3R5bGVdPVwieydib3JkZXItYm90dG9tJzogKGZvcm1ncm91cD8uY29udHJvbHM/LnN1YkZpZWxkcz8uY29udHJvbHM/Lmxlbmd0aCAmJiByZW1vdmVTZXByYXRvckZvclN1YkZpZWxkcykgPyAgJ25vbmUnOicnfVwiPlxuICAgICAgICA8cCBjbGFzcz1cImg2XCI+XG4gICAgICAgICAge3sgZmllbGQudGl0bGUgfX08c3BhbiAqbmdJZj1cImZpZWxkLnZhbGlkYXRvcnMgJiYgZmllbGQudmFsaWRhdG9ycy5sZW5ndGggPiAwXCI+ICo8L3NwYW4+XG4gICAgICAgIDwvcD5cbiAgICAgICAgPG1pcy1zd2l0Y2ggW2NvbnRyb2xdPVwiY29udHJvbFwiICh2YWx1ZUNoYW5nZWQpPVwidXBkYXRlU3ViRHluYW1pY0ZpZWxkcyhmaWVsZCwgZm9ybWdyb3VwLCAkZXZlbnQpXCI+PC9taXMtc3dpdGNoPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbC50b3VjaGVkICYmIGNvbnRyb2wuZXJyb3JzXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHluYW1pY0ZpZWxkRXJyb3JzXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNvbnRyb2wuZXJyb3JzIH1cIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj4gICAgXG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLSBmaWVsZFR5cGU6ICdzaW5nbGVTZWxlY3QnIGZpZWxkSW5wdXRUeXBlOiAnZHJvcGRvd24nIC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmllbGQuZmllbGRUeXBlID09PSAnc2luZ2xlU2VsZWN0JyAmJiBmaWVsZC5maWVsZElucHV0VHlwZSA9PT0gJ2Ryb3Bkb3duJ1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXN0b21TaW5nbGVTZWxlY3REcm9wZG93bjsgZWxzZSBkZWZhdWx0U2luZ2xlU2VsZWN0RHJvcGRvd25cIj5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21TaW5nbGVTZWxlY3REcm9wZG93blwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGZpZWxkOiBmaWVsZCwgY29udHJvbDogY29udHJvbCwgZm9ybWdyb3VwOiBmb3JtZ3JvdXAgfVwiXG4gICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRTaW5nbGVTZWxlY3REcm9wZG93bj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkeW5hbWljLWZpZWxkIHNpbmdsZS1saW5lLWZpZWxkLWNvbnRhaW5lclwiXG4gICAgICAgIFtuZ1N0eWxlXT1cInsnYm9yZGVyLWJvdHRvbSc6IChmb3JtZ3JvdXA/LmNvbnRyb2xzPy5zdWJGaWVsZHM/LmNvbnRyb2xzPy5sZW5ndGggJiYgcmVtb3ZlU2VwcmF0b3JGb3JTdWJGaWVsZHMpID8gICdub25lJzonJ31cIj5cbiAgICAgICAgPHAgY2xhc3M9XCJoNlwiPlxuICAgICAgICAgIHt7IGZpZWxkLnRpdGxlIH19PHNwYW4gKm5nSWY9XCJmaWVsZC52YWxpZGF0b3JzICYmIGZpZWxkLnZhbGlkYXRvcnMubGVuZ3RoID4gMFwiPiAqPC9zcGFuPlxuICAgICAgICA8L3A+XG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieydyZW1vdmVhYmxlLWNvbnRhaW5lcicgOiBmaWVsZD8uaXNSZW1vdmVhYmxlfVwiPlxuICAgICAgICAgIDxtaXMtZHJvcGRvd24gW3NlYXJjaEVuYWJsZWRdPVwiZmFsc2VcIiBbd2lkdGhdPVwiJzE0MHB4J1wiIFtkYXRhXT1cImZpZWxkLml0ZW1zTGlzdFwiIFtzZWxlY3RlZEl0ZW1dPVwiY29udHJvbC52YWx1ZVwiXG4gICAgICAgICAgKG9uQ2hhbmdlKT1cInVwZGF0ZVNlbGVjdGVkVmFsdWVGb3JTaW5nbGVTZWxlY3QoZmllbGQsIGNvbnRyb2wsIGZvcm1ncm91cCwgJGV2ZW50KTtcIj5cbiAgICAgICAgICA8L21pcy1kcm9wZG93bj5cbiAgICAgICAgICA8aW1nICpuZ0lmPVwiZmllbGQuaXNSZW1vdmVhYmxlICYmIHJlbW92ZUljb25VcmxcIiBjbGFzcz1cInJlbW92ZS1pY29uXCIgW3NyY109XCJyZW1vdmVJY29uVXJsXCIgKGNsaWNrKT1cImZpZWxkUmVtb3ZlZC5lbWl0KGZpZWxkKVwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2wudG91Y2hlZCAmJiBjb250cm9sLmVycm9yc1wiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImR5bmFtaWNGaWVsZEVycm9yc1wiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBjb250cm9sLmVycm9ycyB9XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXIgPlxuICBcblxuICA8IS0tIGZpZWxkVHlwZTogJ3NpbmdsZVNlbGVjdCcgZmllbGRJbnB1dFR5cGU6ICdyYWRpbycgLS0+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWVsZC5maWVsZFR5cGUgPT09ICdzaW5nbGVTZWxlY3QnICYmIGZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSAncmFkaW8nXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbVNpbmdsZVNlbGVjdFJhZGlvOyBlbHNlIGRlZmF1bHRTaW5nbGVTZWxlY3RSYWRpb1wiPlxuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbVNpbmdsZVNlbGVjdFJhZGlvXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZmllbGQ6IGZpZWxkLCBjb250cm9sOiBjb250cm9sLCBmb3JtZ3JvdXA6IGZvcm1ncm91cCB9XCJcbiAgICAgID48L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFNpbmdsZVNlbGVjdFJhZGlvPlxuICAgICAgPGRpdiBjbGFzcz1cImR5bmFtaWMtZmllbGQgbXVsdGktbGluZS1maWVsZC1jb250YWluZXJcIlxuICAgICAgW25nU3R5bGVdPVwieydib3JkZXItYm90dG9tJzogKGZvcm1ncm91cD8uY29udHJvbHM/LnN1YkZpZWxkcz8uY29udHJvbHM/Lmxlbmd0aCAmJiByZW1vdmVTZXByYXRvckZvclN1YkZpZWxkcykgPyAgJ25vbmUnOicnfVwiPlxuICAgICAgICA8cCBjbGFzcz1cImg3IGZpZWxkLXRpdGxlLXNtXCI+XG4gICAgICAgICAge3sgZmllbGQudGl0bGUgfX08c3BhbiAqbmdJZj1cImZpZWxkLnZhbGlkYXRvcnMgJiYgZmllbGQudmFsaWRhdG9ycy5sZW5ndGggPiAwXCI+ICo8L3NwYW4+XG4gICAgICAgIDwvcD5cbiAgICAgICAgPGRpdiBzdHlsZT1cImZsZXgtYmFzaXM6IDEwMCVcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBpZD1cImNoZWNrYm94ZXMtY29udGFpbmVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJhZGlvLWNoZWNrYm94LWNvbW1vblwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpZWxkLml0ZW1zTGlzdFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdjaGVja2JveC1hY3RpdmUnOiBpdGVtLmxhYmVsID09PSBjb250cm9sLnZhbHVlPy5sYWJlbCB9XCJcbiAgICAgICAgICAgIChjbGljayk9XCJ1cGRhdGVTZWxlY3RlZFZhbHVlRm9yU2luZ2xlU2VsZWN0KGZpZWxkLCBjb250cm9sLCBmb3JtZ3JvdXAsIGl0ZW0pO1wiPlxuICAgICAgICAgICAgPGltZyAqbmdJZj1cIihpdGVtLmxhYmVsID09PSBjb250cm9sLnZhbHVlPy5sYWJlbCkgJiYgYWN0aXZlQnRuSWNvblVybFwiIFtzcmNdPVwiYWN0aXZlQnRuSWNvblVybFwiIGFsdD1cIlwiIC8+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImg2XCI+e3sgaXRlbS5sYWJlbCB9fTwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250cm9sLnRvdWNoZWQgJiYgY29udHJvbC5lcnJvcnNcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJkeW5hbWljRmllbGRFcnJvcnNcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogY29udHJvbC5lcnJvcnMgfVwiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuICBcblxuICA8IS0tIGZpZWxkVHlwZTogJ211bHRpU2VsZWN0JyBmaWVsZElucHV0VHlwZTogJ2NoZWNrYm94JyAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkLmZpZWxkVHlwZSA9PT0gJ211bHRpU2VsZWN0JyAmJiBmaWVsZC5maWVsZElucHV0VHlwZSA9PT0gJ2NoZWNrYm94J1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXN0b21NdWx0aVNlbGVjdENoZWNrYm94OyBlbHNlIGRlZmF1bHRNdWx0aVNlbGVjdENoZWNrYm94XCI+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tTXVsdGlTZWxlY3RDaGVja2JveFwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGZpZWxkOiBmaWVsZCwgY29udHJvbDogY29udHJvbCwgZm9ybWdyb3VwOiBmb3JtZ3JvdXAgfVwiXG4gICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRNdWx0aVNlbGVjdENoZWNrYm94PlxuICAgICAgPGRpdiBjbGFzcz1cImR5bmFtaWMtZmllbGQgbXVsdGktbGluZS1maWVsZC1jb250YWluZXJcIlxuICAgICAgW25nU3R5bGVdPVwieydib3JkZXItYm90dG9tJzogKGZvcm1ncm91cD8uY29udHJvbHM/LnN1YkZpZWxkcz8uY29udHJvbHM/Lmxlbmd0aCAmJiByZW1vdmVTZXByYXRvckZvclN1YkZpZWxkcykgPyAgJ25vbmUnOicnfVwiPlxuICAgICAgICA8cCBjbGFzcz1cImg3IGZpZWxkLXRpdGxlLXNtXCI+XG4gICAgICAgICAge3sgZmllbGQudGl0bGUgfX08c3BhbiAqbmdJZj1cImZpZWxkLnZhbGlkYXRvcnMgJiYgZmllbGQudmFsaWRhdG9ycy5sZW5ndGggPiAwXCI+ICo8L3NwYW4+XG4gICAgICAgIDwvcD5cbiAgICAgICAgPGRpdiBzdHlsZT1cImZsZXgtYmFzaXM6IDEwMCVcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBpZD1cImNoZWNrYm94ZXMtY29udGFpbmVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJhZGlvLWNoZWNrYm94LWNvbW1vblwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpZWxkLml0ZW1zTGlzdFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdjaGVja2JveC1hY3RpdmUnOiBpc0NoZWNrQm94U2VsZWN0ZWQoaXRlbS5sYWJlbCwgY29udHJvbC52YWx1ZSkgfVwiXG4gICAgICAgICAgICAoY2xpY2spPVwidXBkYXRlU2VsZWN0ZWRWYWx1ZUZvck11bHRpU2VsZWN0KGZpZWxkLCBjb250cm9sLCBmb3JtZ3JvdXAsIFtpdGVtXSlcIj5cbiAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJpc0NoZWNrQm94U2VsZWN0ZWQoaXRlbS5sYWJlbCwgY29udHJvbC52YWx1ZSkgJiYgYWN0aXZlQnRuSWNvblVybFwiIFtzcmNdPVwiYWN0aXZlQnRuSWNvblVybFwiXG4gICAgICAgICAgICAgIGFsdD1cIlwiIC8+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImg2XCI+e3sgaXRlbS5sYWJlbCB9fTwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250cm9sLnRvdWNoZWQgJiYgY29udHJvbC5lcnJvcnNcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJkeW5hbWljRmllbGRFcnJvcnNcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogY29udHJvbC5lcnJvcnMgfVwiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuXG5cbiAgPCEtLSBmaWVsZFR5cGU6ICdtdWx0aVNlbGVjdCcgZmllbGRJbnB1dFR5cGU6ICdkcm9wZG93bicgLS0+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWVsZC5maWVsZFR5cGUgPT09ICdtdWx0aVNlbGVjdCcgJiYgZmllbGQuZmllbGRJbnB1dFR5cGUgPT09ICdkcm9wZG93bidcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VzdG9tTXVsdGlTZWxlY3REcm9wZG93bjsgZWxzZSBkZWZhdWx0TXVsdGlTZWxlY3REcm9wZG93blwiPlxuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbU11bHRpU2VsZWN0RHJvcGRvd25cIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBmaWVsZDogZmllbGQsIGNvbnRyb2w6IGNvbnRyb2wsIGZvcm1ncm91cDogZm9ybWdyb3VwIH1cIlxuICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0TXVsdGlTZWxlY3REcm9wZG93bj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkeW5hbWljLWZpZWxkIHNpbmdsZS1saW5lLWZpZWxkLWNvbnRhaW5lclwiXG4gICAgICBbbmdTdHlsZV09XCJ7J2JvcmRlci1ib3R0b20nOiAoZm9ybWdyb3VwPy5jb250cm9scz8uc3ViRmllbGRzPy5jb250cm9scz8ubGVuZ3RoICYmIHJlbW92ZVNlcHJhdG9yRm9yU3ViRmllbGRzKSA/ICAnbm9uZSc6Jyd9XCI+XG4gICAgICAgIDxwIGNsYXNzPVwiaDZcIj5cbiAgICAgICAgICB7eyBmaWVsZC50aXRsZSB9fTxzcGFuICpuZ0lmPVwiZmllbGQudmFsaWRhdG9ycyAmJiBmaWVsZC52YWxpZGF0b3JzLmxlbmd0aCA+IDBcIj4gKjwvc3Bhbj5cbiAgICAgICAgPC9wPlxuICAgICAgICA8bWlzLW11bHRpLXNlbGVjdC1kcm9wZG93biBbd2lkdGhdPVwiJzE0MHB4J1wiIFtzaG93U2VsZWN0ZWRDb3VudF09XCJ0cnVlXCIgW2Ryb3Bkb3duTGlzdFdpZHRoXT1cIicyNTZweCdcIlxuICAgICAgICAgIFtzZWFyY2hFbmFibGVkXT1cImZhbHNlXCIgW2hpZGVBcHBseUJ1dHRvbl09XCJ0cnVlXCIgW2RhdGFdPVwiZmllbGQuaXRlbXNMaXN0XCJcbiAgICAgICAgICBbc2VsZWN0ZWRJdGVtc109XCJjb250cm9sLnZhbHVlXCIgKG9uQ2hhbmdlKT1cInVwZGF0ZVNlbGVjdGVkVmFsdWVGb3JNdWx0aVNlbGVjdChmaWVsZCwgY29udHJvbCwgZm9ybWdyb3VwLCAkZXZlbnQpO1wiPjwvbWlzLW11bHRpLXNlbGVjdC1kcm9wZG93bj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2wudG91Y2hlZCAmJiBjb250cm9sLmVycm9yc1wiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImR5bmFtaWNGaWVsZEVycm9yc1wiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBjb250cm9sLmVycm9ycyB9XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZHluYW1pY0ZpZWxkRXJyb3JzIGxldC1lcnJvcnM+XG4gIDxkaXYgaWQ9XCJlcnJvci1tZXNzYWdlcy1jb250YWluZXJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlcnJvciBvZiBlcnJvcnMgfCBrZXl2YWx1ZVwiPlxuICAgICAgPHAgY2xhc3M9XCJoOFwiPlxuICAgICAgICB7e1wiIOKAoiAmbmJzcDtcIiArIGVycm9yLnZhbHVlfX1cbiAgICAgIDwvcD5cbiAgICAgIDxkaXYgW25nU3R5bGVdPVwieyAnZmxleC1iYXNpcyc6ICcxMDAlJywgJ2hlaWdodCc6ICcwJyB9XCI+PC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
1093
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL2R5bmFtaWMtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQWdCLEtBQUssRUFBcUIsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBRW5JLE9BQU8sRUFBbUIsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQWlDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBKLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLFFBQVEsTUFBTSx1QkFBdUIsQ0FBQztBQUM3QyxPQUFPLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQztBQUNuQyxPQUFPLGlCQUFpQixNQUFNLGdDQUFnQyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ010RCw2QkFBc0c7SUFDcEcsNEJBTWU7Ozs7Ozs7Ozs7SUFMYixjQUFpQztJQUNqQyxBQURBLGtEQUFpQyw0T0FJL0I7OztJQVBSLCtCQUF5TjtJQUN2Tiw2R0FBc0c7SUFTeEcsaUJBQU07OztJQVRzQyxjQUE2QztJQUE3QyxxRUFBNkM7OztJQVgzRixpQ0FBa0g7SUFDOUcsNEJBUWE7SUFDZixxRkFBeU47Ozs7Ozs7SUFWN00sb0NBQW1CO0lBRTdCLGNBQWlDO0lBQ2pDLEFBREEsa0RBQWlDLGlJQUsvQjtJQUcyQixjQUF3TDtJQUF4TCxrYUFBd0w7Ozs7SUFvQnpOLDZCQUF5RTtJQUN2RSxrSUFHQzs7Ozs7Ozs7SUFGQyxjQUEwQztJQUMxQyxBQURBLCtEQUEwQyw4RkFD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LElBQUcsS0FBSzt3QkFBRSxLQUFLLEdBQUcsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFDLENBQUE7b0JBQ2xDLE1BQU07Z0JBQ1IsS0FBSyxRQUFRO29CQUNYLEtBQUssR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUE7b0JBQ3pELElBQUcsS0FBSzt3QkFBRSxLQUFLLEdBQUcsRUFBQyxNQUFNLEVBQUUsT0FBTyxFQUFDLENBQUE7b0JBQ25DLE1BQU07Z0JBQ1I7b0JBQ0UsTUFBTTtZQUNWLENBQUM7WUFDRCxJQUFJLEtBQUs7Z0JBQUUsTUFBTSxHQUFHLEVBQUUsR0FBRyxNQUFNLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQTtRQUM3QyxDQUFDLENBQUMsQ0FBQTtRQUNGLE9BQU8sTUFBTSxDQUFBO0lBQ2YsQ0FBQyxDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTnNEeW5hbWljRm9ybSB9IGZyb20gXCIuL2R5bmFtaWMtZm9ybS5uYW1lc3BhY2VcIjtcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVW50eXBlZEZvcm1BcnJheSwgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0IHRpbWV6b25lIGZyb20gJ2RheWpzL3BsdWdpbi90aW1lem9uZSc7XG5pbXBvcnQgdXRjIGZyb20gJ2RheWpzL3BsdWdpbi91dGMnO1xuaW1wb3J0IGN1c3RvbVBhcnNlRm9ybWF0IGZyb20gJ2RheWpzL3BsdWdpbi9jdXN0b21QYXJzZUZvcm1hdCdcblxuZGF5anMuZXh0ZW5kKHV0Yyk7XG5kYXlqcy5leHRlbmQodGltZXpvbmUpO1xuZGF5anMuZXh0ZW5kKGN1c3RvbVBhcnNlRm9ybWF0KTtcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtaXMtZHluYW1pYy1mb3JtXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZHluYW1pYy1mb3JtLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9keW5hbWljLWZvcm0uY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBmb3JtRmllbGRzOiAgRHluYW1pYyBmaWVsZHMgcmVjaWV2ZWQgZnJvbSB0aGUgQVBJIG1ldGFkYXRhIHRvIGJ1aWxkIGEgZHluYW1pYyBmb3JtXG4gICAqIGZvcm1WYWx1ZXM6ICBIb2xkcyB0aGUgdmFsdWUgb2YgdGhlIGR5bmFtaWMgZm9ybSB3aXRoIFwia2V5XCIgYmVpbmcgZHluYW1pYyBmaWVsZCBcInRpdGxlXCJcbiAgICogICAgICAgICAgICAgIGFuZCB2YWx1ZSBiZWluZyB0aGUgdXNlciBpbnB1dC5cbiAgICovXG4gIEBJbnB1dCgpIGZvcm1GaWVsZHM6IEFycmF5PE5zRHluYW1pY0Zvcm0uSUR5bmFtaWNGaWVsZD4gPSBbXTtcbiAgQElucHV0KCkgZm9ybVZhbHVlczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAvLyBOZWVkIHRvIGRlcHJlY2F0ZSB0aGVzZSBpbnB1dHMgYW5kIHVzZSBjb25zdGFudHMuXG4gIEBJbnB1dCgpIGFjdGl2ZUJ0bkljb25VcmwgPSBcIlwiO1xuICBASW5wdXQoKSBjYWxlbmRhckljb25VcmwgPSBcIlwiO1xuICBASW5wdXQoKSByZW1vdmVJY29uVXJsID0gXCJcIjtcbiAgQElucHV0KCkgcmVtb3ZlU2VwcmF0b3JGb3JTdWJGaWVsZHMgPSBmYWxzZTtcbiAgLyoqXG4gICAqIGR5bmFtaWNGb3JtOiBDb25zdHJ1Y3RlZCB1c2luZyBmb3JtRmllbGRzIGFuZCBmb3JtVmFsdWVzKGluIGNhc2Ugb2YgZWRpdClcbiAgICovXG4gIGR5bmFtaWNGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gIC8qKlxuICAgKiBmb3JtVXBkYXRlZDogRW1pdHMgZm9ybVZhbHVlcyBPYmplY3Qgd2hlbmV2ZXIgdGhlcmUgaXMgYSBjaGFuZ2UgaW4gdGhlIGR5bmFtaWMgZm9ybS5cbiAgICovXG4gIEBPdXRwdXQoKSBmb3JtVXBkYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBba2V5OiBzdHJpbmddOiBhbnkgfT4oKTtcbiAgLyoqXG4gICAqIGZvcm1WYWxpZDogRW1pdHMgYm9vbGVhbiBkZXBlbmRpbmcgb24gdmFsaWRpdHkgb2YgdGhlIGZvcm1cbiAgICovXG4gIEBPdXRwdXQoKSBmb3JtVmFsaWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIC8qKlxuICAgKiBmb3JtSW5pdGlhbGl6ZWQ6IEVtaXRzIGR5bmFtaWMgZm9ybSBBUEkgb24gZm9ybSBpbml0aWxpemF0aW9uXG4gICAqL1xuICBAT3V0cHV0KCkgZm9ybUluaXRpYWxpemVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBmaWVsZFJlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE5zRHluYW1pY0Zvcm0uSUR5bmFtaWNGaWVsZD4oKTtcblxuICBAQ29udGVudENoaWxkKFwiY3VzdG9tSW5wdXRUZXh0TnVtYmVyXCIsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBjdXN0b21JbnB1dFRleHROdW1iZXI6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuICBcbiAgQENvbnRlbnRDaGlsZChcImN1c3RvbUlucHV0VGV4dGFyZWFcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIGN1c3RvbUlucHV0VGV4dGFyZWE6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGQoXCJjdXN0b21JbnB1dERhdGVcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIGN1c3RvbUlucHV0RGF0ZTogVGVtcGxhdGVSZWY8RWxlbWVudD47XG5cbiAgQENvbnRlbnRDaGlsZChcImN1c3RvbUJvb2xlYW5Ub2dnbGVcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIGN1c3RvbUJvb2xlYW5Ub2dnbGU6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGQoXCJjdXN0b21TaW5nbGVTZWxlY3REcm9wZG93blwiLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgY3VzdG9tU2luZ2xlU2VsZWN0RHJvcGRvd246IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGQoXCJjdXN0b21TaW5nbGVTZWxlY3RSYWRpb1wiLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgY3VzdG9tU2luZ2xlU2VsZWN0UmFkaW86IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGQoXCJjdXN0b21NdWx0aVNlbGVjdENoZWNrYm94XCIsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBjdXN0b21NdWx0aVNlbGVjdENoZWNrYm94OiBUZW1wbGF0ZVJlZjxFbGVtZW50PjtcblxuICBAQ29udGVudENoaWxkKFwiY3VzdG9tTXVsdGlTZWxlY3REcm9wZG93blwiLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgY3VzdG9tTXVsdGlTZWxlY3REcm9wZG93bjogVGVtcGxhdGVSZWY8RWxlbWVudD47XG5cbiAgZHluYW1pY0Zvcm1BUEk6IE5zRHluYW1pY0Zvcm0uSUR5bmFtaWNGb3JtQVBJO1xuICB2YWx1ZUNoYW5nZXNTdWJzY3JpcHRpb24kOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIEJ1aWxkaW5nIHRoZSBmb3JtXG4gICAgdGhpcy5keW5hbWljRm9ybSA9IHRoaXMuZ2VuZXJhdGVEeW5hbWljRm9ybSh0aGlzLmZvcm1GaWVsZHMsIHRoaXMuZm9ybVZhbHVlcyk7XG5cbiAgICAvLyBTdWJzY3JpYmluZyB0byBmb3JtIGNoYW5nZXMgYW5kIGVtaXRpbmcgdmFsdWVzLlxuICAgIHRoaXMudmFsdWVDaGFuZ2VzU3Vic2NyaXB0aW9uJCA9IHRoaXMuZHluYW1pY0Zvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZShmb3JtVmFsdWUgPT4ge1xuICAgICAgdGhpcy5vbkZvcm1WYWx1ZUNoYW5nZXMoKTtcbiAgICB9KTtcblxuICAgIC8vYXBpIHRvIGV4cG9zZSBmdW5jdGlvbnNcbiAgICB0aGlzLmR5bmFtaWNGb3JtQVBJID0ge1xuICAgICAgZGVmYXVsdEZvcm1WYWx1ZXM6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2VuZXJhdGVEeW5hbWljRmllbGRzVmFsdWVPYmplY3QodGhpcy5keW5hbWljRm9ybS52YWx1ZS5keW5hbWljRmllbGRzKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHRoaXMuZm9ybUluaXRpYWxpemVkLmVtaXQodGhpcy5keW5hbWljRm9ybUFQSSk7XG4gICAgdGhpcy5mb3JtVmFsaWQuZW1pdCh0aGlzLmR5bmFtaWNGb3JtLnZhbGlkKTtcbiAgfVxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlc1N1YnNjcmlwdGlvbiQ/LnVuc3Vic2NyaWJlKCk7XG4gIH1cbiAgb25Gb3JtVmFsdWVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIGxldCBmb3JtVmFsdWVzID0gdGhpcy5nZW5lcmF0ZUR5bmFtaWNGaWVsZHNWYWx1ZU9iamVjdCh0aGlzLmR5bmFtaWNGb3JtLnZhbHVlLmR5bmFtaWNGaWVsZHMpO1xuICAgIHRoaXMuZm9ybVZhbGlkLmVtaXQodGhpcy5keW5hbWljRm9ybS52YWxpZCk7XG4gICAgdGhpcy5mb3JtVXBkYXRlZC5lbWl0KGZvcm1WYWx1ZXMpO1xuICAgIGNvbnNvbGUubG9nKGZvcm1WYWx1ZXMpXG4gIH1cbiAgZ2VuZXJhdGVEeW5hbWljRmllbGRzVmFsdWVPYmplY3QoZm9ybVZhbHVlczogQXJyYXk8YW55Pik6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIGxldCBkeW5hbWljRmllbGRzVmFsdWUgPSB7fTtcbiAgICBmb3JtVmFsdWVzLmZvckVhY2goKGZpZWxkVmFsdWUsIGluZGV4KSA9PiB7XG4gICAgICBpZih0eXBlb2YgZmllbGRWYWx1ZT8udmFsdWUgPT09ICdzdHJpbmcnKSBmaWVsZFZhbHVlLnZhbHVlID0gZmllbGRWYWx1ZT8udmFsdWU/LnRyaW0oKVxuICAgICAgbGV0IGZvcm1hdHRlZFZhbHVlID0gdGhpcy5tYXBGb3JtRmllbGRUb0Zvcm1WYWx1ZSh0aGlzLmZvcm1GaWVsZHNbaW5kZXhdLCBmaWVsZFZhbHVlLnZhbHVlKTtcbiAgICAgIGlmIChmaWVsZFZhbHVlLnN1YkZpZWxkcz8ubGVuZ3RoID4gMCkge1xuICAgICAgICBsZXQgZm9ybWF0dGVkU3ViRmllbGRzVmFsdWVzID0ge31cbiAgICAgICAgbGV0IHN1YkZpZWxkID0gdGhpcy5mb3JtRmllbGRzW2luZGV4XS5zdWJGaWVsZHNcbiAgICAgICAgaWYodGhpcy5mb3JtRmllbGRzW2luZGV4XS5maWVsZFR5cGUgPT09ICdzaW5nbGVTZWxlY3QnIHx8IHRoaXMuZm9ybUZpZWxkc1tpbmRleF0uZmllbGRUeXBlID09PSAnbXVsdGlTZWxlY3QnKSB7XG4gICAgICAgICAgc3ViRmllbGQgPSBzdWJGaWVsZC5maWx0ZXIoKHN1YkZpZWxkKSA9PiBzdWJGaWVsZC5wYXJlbnRDb25maWdWYWx1ZSA9PT0gZmllbGRWYWx1ZS52YWx1ZS52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZmllbGRWYWx1ZS5zdWJGaWVsZHMuZm9yRWFjaCgoc3ViRmllbGRWYWx1ZSwgc3ViSW5kZXgpID0+IHtcbiAgICAgICAgICBsZXQgc3ViRm9ybUZpZWxkID0gc3ViRmllbGRbc3ViSW5kZXhdXG4gICAgICAgICAgaWYodHlwZW9mIHN1YkZpZWxkVmFsdWU/LnZhbHVlID09PSAnc3RyaW5nJykgc3ViRmllbGRWYWx1ZS52YWx1ZSA9IHN1YkZpZWxkVmFsdWU/LnZhbHVlPy50cmltKClcbiAgICAgICAgICBmb3JtYXR0ZWRTdWJGaWVsZHNWYWx1ZXNbc3ViRm9ybUZpZWxkLmNvbmZpZ05hbWVdID0gdGhpcy5tYXBGb3JtRmllbGRUb0Zvcm1WYWx1ZShzdWJGb3JtRmllbGQsIHN1YkZpZWxkVmFsdWUpXG4gICAgICAgIH0pXG4gICAgICAgIGR5bmFtaWNGaWVsZHNWYWx1ZVt0aGlzLmZvcm1GaWVsZHNbaW5kZXhdLmNvbmZpZ05hbWVdID0ge1xuICAgICAgICAgIHZhbHVlOiBmb3JtYXR0ZWRWYWx1ZSxcbiAgICAgICAgICBzdWJGaWVsZHM6IGZvcm1hdHRlZFN1YkZpZWxkc1ZhbHVlc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgZHluYW1pY0ZpZWxkc1ZhbHVlW3RoaXMuZm9ybUZpZWxkc1tpbmRleF0uY29uZmlnTmFtZV0gPSBmb3JtYXR0ZWRWYWx1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gZHluYW1pY0ZpZWxkc1ZhbHVlO1xuICB9XG4gIGdlbmVyYXRlRHluYW1pY0Zvcm0oXG4gICAgZm9ybUZpZWxkczogQXJyYXk8TnNEeW5hbWljRm9ybS5JRHluYW1pY0ZpZWxkPixcbiAgICBmb3JtVmFsdWVzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9XG4gICk6IFVudHlwZWRGb3JtR3JvdXAge1xuICAgIGxldCBmb3JtQXJyYXkgPSBuZXcgVW50eXBlZEZvcm1BcnJheShbXSlcblxuICAgIGZvciAobGV0IGZpZWxkIG9mIGZvcm1GaWVsZHMpIHtcbiAgICAgIGxldCBmaWVsZFZhbHVlID0gZm9ybVZhbHVlc1tmaWVsZC5jb25maWdOYW1lXT8udmFsdWUgPyBmb3JtVmFsdWVzW2ZpZWxkLmNvbmZpZ05hbWVdLnZhbHVlIDogZm9ybVZhbHVlc1tmaWVsZC5jb25maWdOYW1lXVxuICAgICAgbGV0IGZpZWxkQ29udHJvbCA9IHRoaXMubWFwRm9ybVZhbHVlVG9Gb3JtRmllbGQoZmllbGQsIGZpZWxkVmFsdWUpO1xuICAgICAgbGV0IHN1YkZpZWxkc0NvbnRyb2xzID0gdGhpcy5nZW5lcmF0ZVN1YkR5bmFtaWNGaWVsZHMoZm9ybVZhbHVlcywgZmllbGQsIGZpZWxkQ29udHJvbC52YWx1ZSk7XG4gICAgICBmb3JtQXJyYXkucHVzaChuZXcgVW50eXBlZEZvcm1Hcm91cCh7XG4gICAgICAgIHZhbHVlOiBmaWVsZENvbnRyb2wsXG4gICAgICAgIHN1YkZpZWxkczogc3ViRmllbGRzQ29udHJvbHNcbiAgICAgIH0pKVxuICAgIH0gIFxuICAgIHJldHVybiBuZXcgVW50eXBlZEZvcm1Hcm91cCh7XG4gICAgICBkeW5hbWljRmllbGRzOiBmb3JtQXJyYXlcbiAgICB9KVxuICB9XG4gIFxuICBnZXREeW5hbWljRmllbGRzQ29udHJvbHMoKTogVW50eXBlZEZvcm1BcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuZHluYW1pY0Zvcm0uZ2V0KFwiZHluYW1pY0ZpZWxkc1wiKSBhcyBVbnR5cGVkRm9ybUFycmF5O1xuICB9XG4gIHVwZGF0ZVN1YkR5bmFtaWNGaWVsZHMoXG4gICAgZmllbGQ6IE5zRHluYW1pY0Zvcm0uSUR5bmFtaWNGaWVsZCxcbiAgICBmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXAsXG4gICAgdmFsdWU6IGFueVxuICApOiB2b2lkIHtcbiAgICBpZiAoZmllbGQuc3ViRmllbGRzPy5sZW5ndGggPiAwKSB7XG4gICAgICBsZXQgc3ViRmllbGRzQ29udHJvbHMgPSB0aGlzLmdlbmVyYXRlU3ViRHluYW1pY0ZpZWxkcyh0aGlzLmZvcm1WYWx1ZXMsIGZpZWxkLCB2YWx1ZSk7XG4gICAgICBmb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnc3ViRmllbGRzJylcbiAgICAgIGZvcm1Hcm91cC5hZGRDb250cm9sKCdzdWJGaWVsZHMnLCBzdWJGaWVsZHNDb250cm9scylcbiAgICB9XG4gIH1cbiAgdXBkYXRlU2VsZWN0ZWRWYWx1ZUZvclNpbmdsZVNlbGVjdChcbiAgICBmaWVsZDogTnNEeW5hbWljRm9ybS5JRHluYW1pY0ZpZWxkLFxuICAgIGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCxcbiAgICBmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXAsXG4gICAgdmFsdWU6IGFueVxuICApOiB2b2lkIHtcbiAgICBpZiAoY29udHJvbC52YWx1ZT8udmFsdWUgIT09IHZhbHVlLnZhbHVlKSB7XG4gICAgICBjb250cm9sLnNldFZhbHVlKHZhbHVlKTtcbiAgICB9XG4gICAgZWxzZSBjb250cm9sLnNldFZhbHVlKCcnKTtcbiAgICB0aGlzLnVwZGF0ZVN1YkR5bmFtaWNGaWVsZHMoZmllbGQsIGZvcm1Hcm91cCwgdmFsdWUpO1xuICAgIGNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICB9XG4gIHVwZGF0ZVNlbGVjdGVkVmFsdWVGb3JNdWx0aVNlbGVjdChcbiAgICBmaWVsZDogTnNEeW5hbWljRm9ybS5JRHluYW1pY0ZpZWxkLFxuICAgIGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCxcbiAgICBmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXAsXG4gICAgdmFsdWVzOiBBcnJheTxhbnk+XG4gICk6IHZvaWQge1xuICAgIGxldCBzZWxlY3RlZFZhbHVlczogQXJyYXk8eyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogYW55IH0+ID0gY29udHJvbC52YWx1ZTtcbiAgICBmb3IgKGxldCB2YWx1ZSBvZiB2YWx1ZXMpIHtcbiAgICAgIGxldCBpdGVtSW5kZXggPSBzZWxlY3RlZFZhbHVlcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmxhYmVsID09PSB2YWx1ZS5sYWJlbCk7XG4gICAgICBpZiAoaXRlbUluZGV4ID4gLTEpIHtcbiAgICAgICAgc2VsZWN0ZWRWYWx1ZXMuc3BsaWNlKGl0ZW1JbmRleCwgMSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZWxlY3RlZFZhbHVlcy5wdXNoKHsgLi4udmFsdWUgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnRyb2wuc2V0VmFsdWUoc2VsZWN0ZWRWYWx1ZXMpO1xuICAgIHRoaXMudXBkYXRlU3ViRHluYW1pY0ZpZWxkcyhmaWVsZCwgZm9ybUdyb3VwLCB2YWx1ZXMpO1xuICAgIGNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICB9XG4gIGlzQ2hlY2tCb3hTZWxlY3RlZCh2YWx1ZTogc3RyaW5nLCBzZWxlY3RlZFZhbHVlczogQXJyYXk8eyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHNlbGVjdGVkVmFsdWVzLmZpbmRJbmRleChpdGVtID0+IGl0ZW0ubGFiZWwgPT09IHZhbHVlKSA+IC0xO1xuICB9XG5cbiAgZmluZFNlbGVjdGVkU3ViRmllbGRDb25maWcoc3ViZmllbGRzLCB2YWx1ZSwgc3ViRmllbGRJbmRleCkge1xuICAgIHRyeXtcbiAgICAgIGNvbnN0IHNlbGVjdGVkU3ViRmllbGRDb25maWcgPSBzdWJmaWVsZHMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5wYXJlbnRDb25maWdWYWx1ZSA9PT0gdmFsdWUpW3N1YkZpZWxkSW5kZXhdO1xuICAgICAgcmV0dXJuIHNlbGVjdGVkU3ViRmllbGRDb25maWc7XG4gICAgfVxuICAgIGNhdGNoKGUpe1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTdWJmaWVsZCBpbmRleCBub3QgZm91bmQnKTtcbiAgICB9XG4gIH1cblxuICBtYXRjaFBhcmVudENvbmZpZyhzdWJmaWVsZHMsIHZhbHVlKSB7XG4gICAgaWYgKCFzdWJmaWVsZHMgfHwgc3ViZmllbGRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gc3ViZmllbGRzLnNvbWUoaXRlbSA9PiBpdGVtLnBhcmVudENvbmZpZ1ZhbHVlID09PSB2YWx1ZSk7XG4gIH1cblxuICBnZW5lcmF0ZVN1YkR5bmFtaWNGaWVsZHMoXG4gICAgZm9ybVZhbHVlczogYW55LFxuICAgIHBhcmVudEZpZWxkOiBOc0R5bmFtaWNGb3JtLklEeW5hbWljRmllbGQsXG4gICAgcGFyZW50VmFsdWU6IEFycmF5PHsgbGFiZWw6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IG51bWJlciB9PiB8IHtsYWJlbDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH0gfCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuXG4gICk6IFVudHlwZWRGb3JtQXJyYXkge1xuICAgIGxldCBjb250cm9scyA9IG5ldyBVbnR5cGVkRm9ybUFycmF5KFtdKVxuICAgIGxldCBzdWJGaWVsZHMgPSBwYXJlbnRGaWVsZC5zdWJGaWVsZHNcbiAgICBsZXQgc3ViRmllbGRzVmFsdWVzID0gZm9ybVZhbHVlc1twYXJlbnRGaWVsZC5jb25maWdOYW1lXT8uc3ViRmllbGRzID8gZm9ybVZhbHVlc1twYXJlbnRGaWVsZC5jb25maWdOYW1lXS5zdWJGaWVsZHMgOiB7fVxuICAgIGlmKCFzdWJGaWVsZHMpIHJldHVybiBjb250cm9scztcbiAgICBpZiAocGFyZW50RmllbGQuZmllbGRUeXBlID09PSAnc2luZ2xlU2VsZWN0Jykge1xuICAgICAgc3ViRmllbGRzID0gc3ViRmllbGRzLmZpbHRlcigoc3ViRmllbGQpID0+IHN1YkZpZWxkLnBhcmVudENvbmZpZ1ZhbHVlID09PSAoPHtsYWJlbDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH0+cGFyZW50VmFsdWUpPy52YWx1ZSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHBhcmVudEZpZWxkLmZpZWxkVHlwZSA9PT0gJ211bHRpU2VsZWN0Jykge1xuICAgICAgbGV0IHBhcmVudFZhbHVlcyA9IG5ldyBTZXQoKDxBcnJheTx7IGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfT4+cGFyZW50VmFsdWUpLm1hcCgodmFsdWUpID0+IHZhbHVlLnZhbHVlKSk7XG4gICAgICBzdWJGaWVsZHMgPSBzdWJGaWVsZHMuZmlsdGVyKChzdWJGaWVsZCkgPT4gcGFyZW50VmFsdWVzLmhhcyhzdWJGaWVsZC5wYXJlbnRDb25maWdWYWx1ZSkpO1xuICAgIH1cblxuICAgIGlmIChzdWJGaWVsZHM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgZm9yIChsZXQgc3ViRmllbGQgb2Ygc3ViRmllbGRzKSB7XG4gICAgICAgICAgY29udHJvbHMucHVzaCh0aGlzLm1hcEZvcm1WYWx1ZVRvRm9ybUZpZWxkKHN1YkZpZWxkLCBzdWJGaWVsZHNWYWx1ZXNbc3ViRmllbGQuY29uZmlnTmFtZV0pKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgcmV0dXJuIGNvbnRyb2xzO1xuICB9XG4gIG1hcEZvcm1WYWx1ZVRvRm9ybUZpZWxkKGZvcm1GaWVsZDogTnNEeW5hbWljRm9ybS5JRHluYW1pY0ZpZWxkLCBmb3JtVmFsdWU6IGFueSk6IGFueSB7XG4gICAgbGV0IHZhbGlkYXRvcnMgPSBmb3JtRmllbGQudmFsaWRhdG9ycyA/IFtkeW5hbWljRmllbGRWYWxpZGF0b3IoZm9ybUZpZWxkLnZhbGlkYXRvcnMpXTogW11cbiAgICBsZXQgY29udHJvbCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCwgdmFsaWRhdG9ycyk7XG5cbiAgICBpZiAoZm9ybUZpZWxkLmZpZWxkVHlwZSA9PT0gXCJpbnB1dFwiKSB7XG4gICAgICBpZiAoZm9ybUZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSBcInRleHRcIiB8fCBmb3JtRmllbGQuZmllbGRJbnB1dFR5cGUgPT09IFwidGV4dGFyZWFcIikgY29udHJvbC5zZXRWYWx1ZShmb3JtVmFsdWUgPyBmb3JtVmFsdWUgOiBcIlwiKTtcbiAgICAgIGVsc2UgaWYgKGZvcm1GaWVsZC5maWVsZElucHV0VHlwZSA9PT0gXCJudW1iZXJcIikgY29udHJvbC5zZXRWYWx1ZShmb3JtVmFsdWUgPyBmb3JtVmFsdWUgOiAwKTtcbiAgICAgIGVsc2UgaWYgKGZvcm1GaWVsZC5maWVsZElucHV0VHlwZSA9PT0gXCJkYXRlXCIpIHtcbiAgICAgICAgaWYgKGZvcm1WYWx1ZSAmJiB0eXBlb2YgZm9ybVZhbHVlID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgY29udHJvbC5zZXRWYWx1ZShkYXlqcyhmb3JtVmFsdWUpLnR6KGZvcm1GaWVsZC5maWVsZENvbmZpZy50aW1lem9uZSkuZm9ybWF0KGZvcm1GaWVsZC5maWVsZENvbmZpZy5mb3JtYXQpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb250cm9sLnNldFZhbHVlKGRheWpzKCkudHooZm9ybUZpZWxkLmZpZWxkQ29uZmlnLnRpbWV6b25lKS5mb3JtYXQoZm9ybUZpZWxkLmZpZWxkQ29uZmlnLmZvcm1hdCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChmb3JtRmllbGQuZmllbGRUeXBlID09PSBcInNpbmdsZVNlbGVjdFwiKSB7XG4gICAgICBjb25zdCBmaW5kU2VsZWN0ZWRWYWx1ZSA9ICgpID0+IHtcbiAgICAgICAgbGV0IGluZGV4ID0gZm9ybUZpZWxkLml0ZW1zTGlzdC5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLnZhbHVlID09PSBmb3JtVmFsdWUpXG4gICAgICAgIHJldHVybiBpbmRleCA+PSAwID8gZm9ybUZpZWxkLml0ZW1zTGlzdFtpbmRleF06IFwiXCI7XG4gICAgICB9XG4gICAgICBpZiAoZm9ybUZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSBcImRyb3Bkb3duXCIpIHtcbiAgICAgICAgaWYgKCFmb3JtVmFsdWUpIGNvbnRyb2wuc2V0VmFsdWUoZm9ybUZpZWxkLml0ZW1zTGlzdFswXSk7XG4gICAgICAgIGVsc2UgY29udHJvbC5zZXRWYWx1ZShmaW5kU2VsZWN0ZWRWYWx1ZSgpKVxuICAgICAgfVxuICAgICAgZWxzZSBpZiAoZm9ybUZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSBcInJhZGlvXCIpIHtcbiAgICAgICAgY29udHJvbC5zZXRWYWx1ZShmaW5kU2VsZWN0ZWRWYWx1ZSgpKVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZm9ybUZpZWxkLmZpZWxkVHlwZSA9PT0gXCJtdWx0aVNlbGVjdFwiKSB7XG4gICAgICBpZiAoZm9ybVZhbHVlICYmIEFycmF5LmlzQXJyYXkoZm9ybVZhbHVlKSkge1xuICAgICAgICBsZXQgc2VsZWN0ZWRWYWx1ZXMgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgdmFsdWUgb2YgZm9ybVZhbHVlKSB7XG4gICAgICAgICAgbGV0IGluZGV4ID0gZm9ybUZpZWxkLml0ZW1zTGlzdC5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLnZhbHVlID09PSB2YWx1ZSk7XG4gICAgICAgICAgaWYgKGluZGV4ID4gLTEpIHNlbGVjdGVkVmFsdWVzLnB1c2goeyAuLi5mb3JtRmllbGQuaXRlbXNMaXN0W2luZGV4XSB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb250cm9sLnNldFZhbHVlKHNlbGVjdGVkVmFsdWVzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnRyb2wuc2V0VmFsdWUoW10pO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZm9ybUZpZWxkLmZpZWxkVHlwZSA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgIGNvbnRyb2wuc2V0VmFsdWUoISFmb3JtVmFsdWUpO1xuICAgIH0gZWxzZSBjb250cm9sLnNldFZhbHVlKG51bGwpO1xuICAgIHJldHVybiBjb250cm9sO1xuICB9XG4gIG1hcEZvcm1GaWVsZFRvRm9ybVZhbHVlKGZvcm1GaWVsZDogTnNEeW5hbWljRm9ybS5JRHluYW1pY0ZpZWxkLCBmb3JtVmFsdWU6IGFueSk6IGFueSB7XG4gICAgaWYgKGZvcm1GaWVsZC5maWVsZFR5cGUgPT09IFwiaW5wdXRcIikge1xuICAgICAgaWYgKGZvcm1GaWVsZC5maWVsZElucHV0VHlwZSA9PT0gXCJ0ZXh0XCIgfHwgZm9ybUZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSBcInRleHRhcmVhXCIpIHJldHVybiBmb3JtVmFsdWU7XG4gICAgICBlbHNlIGlmIChmb3JtRmllbGQuZmllbGRJbnB1dFR5cGUgPT09IFwibnVtYmVyXCIpIHJldHVybiArZm9ybVZhbHVlO1xuICAgICAgZWxzZSBpZiAoZm9ybUZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSBcImRhdGVcIikge1xuICAgICAgICByZXR1cm4gZGF5anMudHooZm9ybVZhbHVlLCBmb3JtRmllbGQuZmllbGRDb25maWcuZm9ybWF0LCBmb3JtRmllbGQuZmllbGRDb25maWcudGltZXpvbmUpLnZhbHVlT2YoKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGZvcm1GaWVsZC5maWVsZFR5cGUgPT09IFwic2luZ2xlU2VsZWN0XCIpIHtcbiAgICAgIHJldHVybiBmb3JtVmFsdWU/LnZhbHVlID8/ICcnO1xuICAgIH0gZWxzZSBpZiAoZm9ybUZpZWxkLmZpZWxkVHlwZSA9PT0gXCJtdWx0aVNlbGVjdFwiKSB7XG4gICAgICByZXR1cm4gZm9ybVZhbHVlPy5tYXAoaXRlbSA9PiBpdGVtLnZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKGZvcm1GaWVsZC5maWVsZFR5cGUgPT09IFwiYm9vbGVhblwiKSB7XG4gICAgICByZXR1cm4gZm9ybVZhbHVlO1xuICAgIH0gZWxzZSByZXR1cm4gZm9ybVZhbHVlO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBkeW5hbWljRmllbGRWYWxpZGF0b3IgPSAodmFsaWRhdG9yczogQXJyYXk8TnNEeW5hbWljRm9ybS5JRHluYW1pY0ZpZWxkVmFsaWRhdG9yPik6IFZhbGlkYXRvckZuID0+IHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgbGV0IHZhbHVlID0gY29udHJvbC52YWx1ZVxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHZhbHVlID0gdmFsdWU/LnZhbHVlID8gdmFsdWUudmFsdWUgOiAnJ1xuICAgIH1cbiAgICBsZXQgZXJyb3JzID0gbnVsbFxuXG4gICAgdmFsaWRhdG9ycy5mb3JFYWNoKCh2YWxpZGF0b3IpID0+IHtcbiAgICAgIGxldCBlcnJvciA9IG51bGxcbiAgICAgIGxldCBtZXNzYWdlID0gdmFsaWRhdG9yLm1lc3NhZ2VcbiAgICAgIHN3aXRjaCAodmFsaWRhdG9yLnR5cGUpIHtcbiAgICAgICAgY2FzZSBcIlJlcXVpcmVkXCI6XG4gICAgICAgICAgZXJyb3IgPSBWYWxpZGF0b3JzLnJlcXVpcmVkKGNvbnRyb2wpO1xuICAgICAgICAgIGlmICghZXJyb3IgJiYgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS50cmltKCkgPT09ICcnKSB7XG4gICAgICAgICAgICBlcnJvciA9IHsgUmVxdWlyZWQ6IG1lc3NhZ2UgfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYoZXJyb3IpIGVycm9yID0ge1JlcXVpcmVkOiBtZXNzYWdlfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiTWluTGVuZ3RoXCI6XG4gICAgICAgICAgZXJyb3IgPSBWYWxpZGF0b3JzLm1pbkxlbmd0aCgrdmFsaWRhdG9yLnZhbHVlKShjb250cm9sKVxuICAgICAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoJyR7MH0nLCBlcnJvcj8ubWlubGVuZ3RoLnJlcXVpcmVkTGVuZ3RoKVxuICAgICAgICAgIGlmKGVycm9yKSBlcnJvciA9IHsgTWluTGVuZ3RoOiBtZXNzYWdlIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIk1heExlbmd0aFwiOlxuICAgICAgICAgIGVycm9yID0gVmFsaWRhdG9ycy5tYXhMZW5ndGgoK3ZhbGlkYXRvci52YWx1ZSkoY29udHJvbClcbiAgICAgICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKCckezB9JywgZXJyb3I/LmFjdHVhbExlbmd0aClcbiAgICAgICAgICBpZihlcnJvcikgZXJyb3IgPSB7IE1heExlbmd0aDogbWVzc2FnZSB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJFbWFpbFwiOlxuICAgICAgICAgIGVycm9yID0gVmFsaWRhdG9ycy5lbWFpbChjb250cm9sKVxuICAgICAgICAgIGlmKGVycm9yKSBlcnJvciA9IHtFbWFpbDogbWVzc2FnZX1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIkN1c3RvbVwiOlxuICAgICAgICAgIGVycm9yID0gVmFsaWRhdG9ycy5wYXR0ZXJuKGAke3ZhbGlkYXRvci52YWx1ZX1gKShjb250cm9sKVxuICAgICAgICAgIGlmKGVycm9yKSBlcnJvciA9IHtDdXN0b206IG1lc3NhZ2V9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBpZiAoZXJyb3IpIGVycm9ycyA9IHsgLi4uZXJyb3JzLCAuLi5lcnJvciB9XG4gICAgfSlcbiAgICByZXR1cm4gZXJyb3JzXG4gIH1cbn0iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImR5bmFtaWNGb3JtXCI+XG4gIDxuZy1jb250YWluZXIgZm9ybUFycmF5TmFtZT1cImR5bmFtaWNGaWVsZHNcIj5cbiAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBOYW1lXT1cImlcIiAqbmdGb3I9XCJsZXQgZmllbGRDb250cm9sIG9mIGdldER5bmFtaWNGaWVsZHNDb250cm9scygpLmNvbnRyb2xzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHluYW1pY0ZpZWxkXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAkaW1wbGljaXQ6IGZvcm1GaWVsZHNbaV0sXG4gICAgICAgICAgZm9ybUdyb3VwOiBmaWVsZENvbnRyb2wsXG4gICAgICAgICAgY29udHJvbDogZmllbGRDb250cm9sLmNvbnRyb2xzLnZhbHVlXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwic3ViLWR5bmFtaWMtZm9ybVwiICpuZ0lmPVwiZmllbGRDb250cm9sLnZhbHVlICYmICghIWZvcm1GaWVsZHNbaV0/LnN1YkZpZWxkcyAmJiBmb3JtRmllbGRzW2ldPy5zdWJGaWVsZHM/Lmxlbmd0aCA+IDAgJiYgbWF0Y2hQYXJlbnRDb25maWcoZm9ybUZpZWxkc1tpXT8uc3ViRmllbGRzLCBmaWVsZENvbnRyb2wuY29udHJvbHMudmFsdWUudmFsdWUudmFsdWUpKVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzdWJGaWVsZENvbnRyb2wgb2YgZmllbGRDb250cm9sLmNvbnRyb2xzLnN1YkZpZWxkcy5jb250cm9sczsgbGV0IGogPSBpbmRleFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImR5bmFtaWNGaWVsZFwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICAgICAkaW1wbGljaXQ6IGZpbmRTZWxlY3RlZFN1YkZpZWxkQ29uZmlnKGZvcm1GaWVsZHNbaV0/LnN1YkZpZWxkcywgZmllbGRDb250cm9sLmNvbnRyb2xzLnZhbHVlLnZhbHVlLnZhbHVlLGopLFxuICAgICAgICAgICAgICBjb250cm9sOiBzdWJGaWVsZENvbnRyb2xcbiAgICAgICAgICAgIH1cIj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Zvcm0+XG5cblxuPG5nLXRlbXBsYXRlICNkeW5hbWljRmllbGQgbGV0LWZpZWxkIGxldC1jb250cm9sPVwiY29udHJvbFwiIGxldC1mb3JtZ3JvdXA9XCJmb3JtR3JvdXBcIj5cblxuICA8IS0tIGZpZWxkVHlwZTogJ2lucHV0JyBmaWVsZElucHV0VHlwZTogJ3RleHQnIHwgJ251bWJlcicgLS0+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWVsZC5maWVsZFR5cGUgPT09ICdpbnB1dCcgJiYgKGZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSAndGV4dCcgfHwgZmllbGQuZmllbGRJbnB1dFR5cGUgPT09ICdudW1iZXInKVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXN0b21JbnB1dFRleHROdW1iZXI7IGVsc2UgZGVmYXVsdElucHV0VGV4dE51bWJlclwiPlxuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbUlucHV0VGV4dE51bWJlclwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGZpZWxkOiBmaWVsZCwgY29udHJvbDogY29udHJvbCwgZm9ybWdyb3VwOiBmb3JtZ3JvdXAgfVwiXG4gICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRJbnB1dFRleHROdW1iZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZHluYW1pYy1maWVsZCBtdWx0aS1saW5lLWZpZWxkLWNvbnRhaW5lclwiXG4gICAgICAgIFtuZ1N0eWxlXT1cInsnYm9yZGVyLWJvdHRvbSc6IChmb3JtZ3JvdXA/LmNvbnRyb2xzPy5zdWJGaWVsZHM/LmNvbnRyb2xzPy5sZW5ndGggJiYgcmVtb3ZlU2VwcmF0b3JGb3JTdWJGaWVsZHMpID8gICdub25lJzonJ31cIj5cbiAgICAgICAgPHAgY2xhc3M9XCJoNyBmaWVsZC10aXRsZS1zbVwiPlxuICAgICAgICAgIHt7IGZpZWxkPy50aXRsZSB9fSA8c3BhbiAqbmdJZj1cImZpZWxkLnZhbGlkYXRvcnMgJiYgZmllbGQudmFsaWRhdG9ycy5sZW5ndGggPiAwXCI+ICo8L3NwYW4+XG4gICAgICAgIDwvcD5cbiAgICAgICAgPGRpdiBzdHlsZT1cImZsZXgtYmFzaXM6IDEwMCVcIj48L2Rpdj5cbiAgICAgICAgPGlucHV0IGNsYXNzPVwiaW5wdXQtZmllbGQgaXAtdGV4dFwiIFt0eXBlXT1cImZpZWxkLmZpZWxkSW5wdXRUeXBlXCIgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZVN1YkR5bmFtaWNGaWVsZHMoZmllbGQsIGZvcm1ncm91cCwgJGV2ZW50KVwiIFxuICAgICAgICAgIFtuZ1N0eWxlXT1cInsnYm9yZGVyJzogY29udHJvbC50b3VjaGVkICYmIGNvbnRyb2wuZXJyb3JzID8gJzFweCBzb2xpZCAjQjAwMDIwJzogJyd9XCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJUZXh0ID8gZmllbGQucGxhY2Vob2xkZXJUZXh0IDogJ0lucHV0IFRleHQnXCIgXG4gICAgICAgICAgW21pbl09XCJmaWVsZC5maWVsZElucHV0VHlwZSA9PT0gJ251bWJlcicgPyAwIDogJycgXCIvPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbC50b3VjaGVkICYmIGNvbnRyb2wuZXJyb3JzXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkeW5hbWljRmllbGRFcnJvcnNcIiBcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNvbnRyb2wuZXJyb3JzIH1cIlxuICAgICAgICA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG4gIFxuICA8IS0tIGZpZWxkVHlwZTogJ2lucHV0JyBmaWVsZElucHV0VHlwZTogJ3RleHRhcmVhJyAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkLmZpZWxkVHlwZSA9PT0gJ2lucHV0JyAmJiBmaWVsZC5maWVsZElucHV0VHlwZSA9PT0gJ3RleHRhcmVhJ1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXN0b21JbnB1dFRleHRhcmVhOyBlbHNlIGRlZmF1bHRJbnB1dFRleHRhcmVhXCI+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbUlucHV0VGV4dGFyZWFcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZmllbGQ6IGZpZWxkLCBjb250cm9sOiBjb250cm9sLCBmb3JtZ3JvdXA6IGZvcm1ncm91cCB9XCJcbiAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRJbnB1dFRleHRhcmVhPlxuICAgICAgPGRpdiBjbGFzcz1cImR5bmFtaWMtZmllbGQgbXVsdGktbGluZS1maWVsZC1jb250YWluZXJcIlxuICAgICAgW25nU3R5bGVdPVwieydib3JkZXItYm90dG9tJzogKGZvcm1ncm91cD8uY29udHJvbHM/LnN1YkZpZWxkcz8uY29udHJvbHM/Lmxlbmd0aCAmJiByZW1vdmVTZXByYXRvckZvclN1YkZpZWxkcykgPyAgJ25vbmUnOicnfVwiPlxuICAgICAgICA8cCBjbGFzcz1cImg3IGZpZWxkLXRpdGxlLXNtXCI+XG4gICAgICAgICAge3sgZmllbGQudGl0bGUgfX08c3BhbiAqbmdJZj1cImZpZWxkLnZhbGlkYXRvcnMgJiYgZmllbGQudmFsaWRhdG9ycy5sZW5ndGggPiAwXCI+ICo8L3NwYW4+XG4gICAgICAgIDwvcD5cbiAgICAgICAgPGRpdiBzdHlsZT1cImZsZXgtYmFzaXM6IDEwMCVcIj48L2Rpdj5cbiAgICAgICAgPHRleHRhcmVhIGNsYXNzPVwiaW5wdXQtZmllbGQgaXAtdGV4dGFyZWFcIiB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgW25nU3R5bGVdPVwieydib3JkZXInOiBjb250cm9sLnRvdWNoZWQgJiYgY29udHJvbC5lcnJvcnMgPyAnMXB4IHNvbGlkICNCMDAwMjAnOiAnJ31cIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclRleHQgPyBmaWVsZC5wbGFjZWhvbGRlclRleHQgOiAnSW5wdXQgVGV4dCdcIiBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZVN1YkR5bmFtaWNGaWVsZHMoZmllbGQsIGZvcm1ncm91cCwgJGV2ZW50KVwiPjwvdGV4dGFyZWE+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2wudG91Y2hlZCAmJiBjb250cm9sLmVycm9yc1wiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImR5bmFtaWNGaWVsZEVycm9yc1wiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNvbnRyb2wuZXJyb3JzIH1cIj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuICBcbiAgPCEtLSBmaWVsZFR5cGU6ICdpbnB1dCcgZmllbGRJbnB1dFR5cGU6ICdkYXRlJyAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkLmZpZWxkVHlwZSA9PT0gJ2lucHV0JyAmJiBmaWVsZC5maWVsZElucHV0VHlwZSA9PT0gJ2RhdGUnXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbUlucHV0RGF0ZTsgZWxzZSBkZWZhdWx0SW5wdXREYXRlXCI+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tSW5wdXREYXRlXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZmllbGQ6IGZpZWxkLCBjb250cm9sOiBjb250cm9sLCBmb3JtZ3JvdXA6IGZvcm1ncm91cCB9XCJcbiAgICAgID48L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdElucHV0RGF0ZT5cbiAgICAgIDxkaXYgY2xhc3M9XCJkeW5hbWljLWZpZWxkIHNpbmdsZS1saW5lLWZpZWxkLWNvbnRhaW5lclwiXG4gICAgICBbbmdTdHlsZV09XCJ7J2JvcmRlci1ib3R0b20nOiAoZm9ybWdyb3VwPy5jb250cm9scz8uc3ViRmllbGRzPy5jb250cm9scz8ubGVuZ3RoICYmIHJlbW92ZVNlcHJhdG9yRm9yU3ViRmllbGRzKSA/ICAnbm9uZSc6Jyd9XCJcbiAgICAgICAgKm5nSWY9XCJmaWVsZC5maWVsZFR5cGUgPT09ICdpbnB1dCcgJiYgZmllbGQuZmllbGRJbnB1dFR5cGUgPT09ICdkYXRlJ1wiPlxuICAgICAgICA8cCBjbGFzcz1cImg2XCI+XG4gICAgICAgICAge3sgZmllbGQudGl0bGUgfX0gPHNwYW4gKm5nSWY9XCJmaWVsZC52YWxpZGF0b3JzICYmIGZpZWxkLnZhbGlkYXRvcnMubGVuZ3RoID4gMFwiPiAqPC9zcGFuPlxuICAgICAgICA8L3A+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLXBpY2tlci1jb250YWluZXJcIj5cbiAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJkYXRlLXBpY2tlclwiIHJlYWRvbmx5IG1pc1R6RHAgW2RwQ29uZmlnXT1cImZpZWxkLmZpZWxkQ29uZmlnXCJcbiAgICAgICAgICAgIChkYXRlQ2hhbmdlKT1cImNvbnRyb2wuc2V0VmFsdWUoJGV2ZW50KVwiIFtzZWxlY3RlZERhdGVdPVwiY29udHJvbC52YWx1ZVwiIFtvZmZzZXRZXT1cIjBcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cImNvbnRyb2wudmFsdWVcIiAjZHAgLz5cbiAgICAgICAgICA8aW1nIGFsdD1cImRhdGEtcGlja2VyXCIgKm5nSWY9XCJjYWxlbmRhckljb25VcmxcIiBjbGFzcz1cImRhdGUtcGlja2VyLWljb25cIiBbc3JjXT1cImNhbGVuZGFySWNvblVybFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZHAuY2xpY2soKVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbC50b3VjaGVkICYmIGNvbnRyb2wuZXJyb3JzXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHluYW1pY0ZpZWxkRXJyb3JzXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNvbnRyb2wuZXJyb3JzIH1cIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tIGZpZWxkVHlwZTogJ2Jvb2xlYW4nIGZpZWxkSW5wdXRUeXBlOiAndG9nZ2xlJyAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkLmZpZWxkVHlwZSA9PT0gJ2Jvb2xlYW4nICYmIGZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSAndG9nZ2xlJ1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXN0b21Cb29sZWFuVG9nZ2xlOyBlbHNlIGRlZmF1bHRCb29sZWFuVG9nZ2xlXCI+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tQm9vbGVhblRvZ2dsZVwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGZpZWxkOiBmaWVsZCwgY29udHJvbDogY29udHJvbCwgZm9ybWdyb3VwOiBmb3JtZ3JvdXAgfVwiXG4gICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRCb29sZWFuVG9nZ2xlPlxuICAgICAgPGRpdiBjbGFzcz1cImR5bmFtaWMtZmllbGQgc2luZ2xlLWxpbmUtZmllbGQtY29udGFpbmVyXCJcbiAgICAgIFtuZ1N0eWxlXT1cInsnYm9yZGVyLWJvdHRvbSc6IChmb3JtZ3JvdXA/LmNvbnRyb2xzPy5zdWJGaWVsZHM/LmNvbnRyb2xzPy5sZW5ndGggJiYgcmVtb3ZlU2VwcmF0b3JGb3JTdWJGaWVsZHMpID8gICdub25lJzonJ31cIj5cbiAgICAgICAgPHAgY2xhc3M9XCJoNlwiPlxuICAgICAgICAgIHt7IGZpZWxkLnRpdGxlIH19PHNwYW4gKm5nSWY9XCJmaWVsZC52YWxpZGF0b3JzICYmIGZpZWxkLnZhbGlkYXRvcnMubGVuZ3RoID4gMFwiPiAqPC9zcGFuPlxuICAgICAgICA8L3A+XG4gICAgICAgIDxtaXMtc3dpdGNoIFtjb250cm9sXT1cImNvbnRyb2xcIiAodmFsdWVDaGFuZ2VkKT1cInVwZGF0ZVN1YkR5bmFtaWNGaWVsZHMoZmllbGQsIGZvcm1ncm91cCwgJGV2ZW50KVwiPjwvbWlzLXN3aXRjaD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2wudG91Y2hlZCAmJiBjb250cm9sLmVycm9yc1wiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImR5bmFtaWNGaWVsZEVycm9yc1wiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBjb250cm9sLmVycm9ycyB9XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+ICAgIFxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gZmllbGRUeXBlOiAnc2luZ2xlU2VsZWN0JyBmaWVsZElucHV0VHlwZTogJ2Ryb3Bkb3duJyAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkLmZpZWxkVHlwZSA9PT0gJ3NpbmdsZVNlbGVjdCcgJiYgZmllbGQuZmllbGRJbnB1dFR5cGUgPT09ICdkcm9wZG93bidcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VzdG9tU2luZ2xlU2VsZWN0RHJvcGRvd247IGVsc2UgZGVmYXVsdFNpbmdsZVNlbGVjdERyb3Bkb3duXCI+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tU2luZ2xlU2VsZWN0RHJvcGRvd25cIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBmaWVsZDogZmllbGQsIGNvbnRyb2w6IGNvbnRyb2wsIGZvcm1ncm91cDogZm9ybWdyb3VwIH1cIlxuICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0U2luZ2xlU2VsZWN0RHJvcGRvd24+XG4gICAgICA8ZGl2IGNsYXNzPVwiZHluYW1pYy1maWVsZCBzaW5nbGUtbGluZS1maWVsZC1jb250YWluZXJcIlxuICAgICAgICBbbmdTdHlsZV09XCJ7J2JvcmRlci1ib3R0b20nOiAoZm9ybWdyb3VwPy5jb250cm9scz8uc3ViRmllbGRzPy5jb250cm9scz8ubGVuZ3RoICYmIHJlbW92ZVNlcHJhdG9yRm9yU3ViRmllbGRzKSA/ICAnbm9uZSc6Jyd9XCI+XG4gICAgICAgIDxwIGNsYXNzPVwiaDZcIj5cbiAgICAgICAgICB7eyBmaWVsZC50aXRsZSB9fTxzcGFuICpuZ0lmPVwiZmllbGQudmFsaWRhdG9ycyAmJiBmaWVsZC52YWxpZGF0b3JzLmxlbmd0aCA+IDBcIj4gKjwvc3Bhbj5cbiAgICAgICAgPC9wPlxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsncmVtb3ZlYWJsZS1jb250YWluZXInIDogZmllbGQ/LmlzUmVtb3ZlYWJsZX1cIj5cbiAgICAgICAgICA8bWlzLWRyb3Bkb3duIFtzZWFyY2hFbmFibGVkXT1cImZhbHNlXCIgW3dpZHRoXT1cIicxNDBweCdcIiBbZGF0YV09XCJmaWVsZC5pdGVtc0xpc3RcIiBbc2VsZWN0ZWRJdGVtXT1cImNvbnRyb2wudmFsdWVcIlxuICAgICAgICAgIChvbkNoYW5nZSk9XCJ1cGRhdGVTZWxlY3RlZFZhbHVlRm9yU2luZ2xlU2VsZWN0KGZpZWxkLCBjb250cm9sLCBmb3JtZ3JvdXAsICRldmVudCk7XCI+XG4gICAgICAgICAgPC9taXMtZHJvcGRvd24+XG4gICAgICAgICAgPGltZyAqbmdJZj1cImZpZWxkLmlzUmVtb3ZlYWJsZSAmJiByZW1vdmVJY29uVXJsXCIgY2xhc3M9XCJyZW1vdmUtaWNvblwiIFtzcmNdPVwicmVtb3ZlSWNvblVybFwiIChjbGljayk9XCJmaWVsZFJlbW92ZWQuZW1pdChmaWVsZClcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250cm9sLnRvdWNoZWQgJiYgY29udHJvbC5lcnJvcnNcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJkeW5hbWljRmllbGRFcnJvcnNcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogY29udHJvbC5lcnJvcnMgfVwiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyID5cbiAgXG5cbiAgPCEtLSBmaWVsZFR5cGU6ICdzaW5nbGVTZWxlY3QnIGZpZWxkSW5wdXRUeXBlOiAncmFkaW8nIC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmllbGQuZmllbGRUeXBlID09PSAnc2luZ2xlU2VsZWN0JyAmJiBmaWVsZC5maWVsZElucHV0VHlwZSA9PT0gJ3JhZGlvJ1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXN0b21TaW5nbGVTZWxlY3RSYWRpbzsgZWxzZSBkZWZhdWx0U2luZ2xlU2VsZWN0UmFkaW9cIj5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21TaW5nbGVTZWxlY3RSYWRpb1wiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGZpZWxkOiBmaWVsZCwgY29udHJvbDogY29udHJvbCwgZm9ybWdyb3VwOiBmb3JtZ3JvdXAgfVwiXG4gICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRTaW5nbGVTZWxlY3RSYWRpbz5cbiAgICAgIDxkaXYgY2xhc3M9XCJkeW5hbWljLWZpZWxkIG11bHRpLWxpbmUtZmllbGQtY29udGFpbmVyXCJcbiAgICAgIFtuZ1N0eWxlXT1cInsnYm9yZGVyLWJvdHRvbSc6IChmb3JtZ3JvdXA/LmNvbnRyb2xzPy5zdWJGaWVsZHM/LmNvbnRyb2xzPy5sZW5ndGggJiYgcmVtb3ZlU2VwcmF0b3JGb3JTdWJGaWVsZHMpID8gICdub25lJzonJ31cIj5cbiAgICAgICAgPHAgY2xhc3M9XCJoNyBmaWVsZC10aXRsZS1zbVwiPlxuICAgICAgICAgIHt7IGZpZWxkLnRpdGxlIH19PHNwYW4gKm5nSWY9XCJmaWVsZC52YWxpZGF0b3JzICYmIGZpZWxkLnZhbGlkYXRvcnMubGVuZ3RoID4gMFwiPiAqPC9zcGFuPlxuICAgICAgICA8L3A+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJmbGV4LWJhc2lzOiAxMDAlXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgaWQ9XCJjaGVja2JveGVzLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyYWRpby1jaGVja2JveC1jb21tb25cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWVsZC5pdGVtc0xpc3RcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnY2hlY2tib3gtYWN0aXZlJzogaXRlbS5sYWJlbCA9PT0gY29udHJvbC52YWx1ZT8ubGFiZWwgfVwiXG4gICAgICAgICAgICAoY2xpY2spPVwidXBkYXRlU2VsZWN0ZWRWYWx1ZUZvclNpbmdsZVNlbGVjdChmaWVsZCwgY29udHJvbCwgZm9ybWdyb3VwLCBpdGVtKTtcIj5cbiAgICAgICAgICAgIDxpbWcgKm5nSWY9XCIoaXRlbS5sYWJlbCA9PT0gY29udHJvbC52YWx1ZT8ubGFiZWwpICYmIGFjdGl2ZUJ0bkljb25VcmxcIiBbc3JjXT1cImFjdGl2ZUJ0bkljb25VcmxcIiBhbHQ9XCJcIiAvPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJoNlwiPnt7IGl0ZW0ubGFiZWwgfX08L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbC50b3VjaGVkICYmIGNvbnRyb2wuZXJyb3JzXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHluYW1pY0ZpZWxkRXJyb3JzXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNvbnRyb2wuZXJyb3JzIH1cIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgXG5cbiAgPCEtLSBmaWVsZFR5cGU6ICdtdWx0aVNlbGVjdCcgZmllbGRJbnB1dFR5cGU6ICdjaGVja2JveCcgLS0+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWVsZC5maWVsZFR5cGUgPT09ICdtdWx0aVNlbGVjdCcgJiYgZmllbGQuZmllbGRJbnB1dFR5cGUgPT09ICdjaGVja2JveCdcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VzdG9tTXVsdGlTZWxlY3RDaGVja2JveDsgZWxzZSBkZWZhdWx0TXVsdGlTZWxlY3RDaGVja2JveFwiPlxuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbU11bHRpU2VsZWN0Q2hlY2tib3hcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBmaWVsZDogZmllbGQsIGNvbnRyb2w6IGNvbnRyb2wsIGZvcm1ncm91cDogZm9ybWdyb3VwIH1cIlxuICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0TXVsdGlTZWxlY3RDaGVja2JveD5cbiAgICAgIDxkaXYgY2xhc3M9XCJkeW5hbWljLWZpZWxkIG11bHRpLWxpbmUtZmllbGQtY29udGFpbmVyXCJcbiAgICAgIFtuZ1N0eWxlXT1cInsnYm9yZGVyLWJvdHRvbSc6IChmb3JtZ3JvdXA/LmNvbnRyb2xzPy5zdWJGaWVsZHM/LmNvbnRyb2xzPy5sZW5ndGggJiYgcmVtb3ZlU2VwcmF0b3JGb3JTdWJGaWVsZHMpID8gICdub25lJzonJ31cIj5cbiAgICAgICAgPHAgY2xhc3M9XCJoNyBmaWVsZC10aXRsZS1zbVwiPlxuICAgICAgICAgIHt7IGZpZWxkLnRpdGxlIH19PHNwYW4gKm5nSWY9XCJmaWVsZC52YWxpZGF0b3JzICYmIGZpZWxkLnZhbGlkYXRvcnMubGVuZ3RoID4gMFwiPiAqPC9zcGFuPlxuICAgICAgICA8L3A+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJmbGV4LWJhc2lzOiAxMDAlXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgaWQ9XCJjaGVja2JveGVzLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyYWRpby1jaGVja2JveC1jb21tb25cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWVsZC5pdGVtc0xpc3RcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnY2hlY2tib3gtYWN0aXZlJzogaXNDaGVja0JveFNlbGVjdGVkKGl0ZW0ubGFiZWwsIGNvbnRyb2wudmFsdWUpIH1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cInVwZGF0ZVNlbGVjdGVkVmFsdWVGb3JNdWx0aVNlbGVjdChmaWVsZCwgY29udHJvbCwgZm9ybWdyb3VwLCBbaXRlbV0pXCI+XG4gICAgICAgICAgICA8aW1nICpuZ0lmPVwiaXNDaGVja0JveFNlbGVjdGVkKGl0ZW0ubGFiZWwsIGNvbnRyb2wudmFsdWUpICYmIGFjdGl2ZUJ0bkljb25VcmxcIiBbc3JjXT1cImFjdGl2ZUJ0bkljb25VcmxcIlxuICAgICAgICAgICAgICBhbHQ9XCJcIiAvPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJoNlwiPnt7IGl0ZW0ubGFiZWwgfX08L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbC50b3VjaGVkICYmIGNvbnRyb2wuZXJyb3JzXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHluYW1pY0ZpZWxkRXJyb3JzXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNvbnRyb2wuZXJyb3JzIH1cIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cblxuXG4gIDwhLS0gZmllbGRUeXBlOiAnbXVsdGlTZWxlY3QnIGZpZWxkSW5wdXRUeXBlOiAnZHJvcGRvd24nIC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmllbGQuZmllbGRUeXBlID09PSAnbXVsdGlTZWxlY3QnICYmIGZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSAnZHJvcGRvd24nXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbU11bHRpU2VsZWN0RHJvcGRvd247IGVsc2UgZGVmYXVsdE11bHRpU2VsZWN0RHJvcGRvd25cIj5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21NdWx0aVNlbGVjdERyb3Bkb3duXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZmllbGQ6IGZpZWxkLCBjb250cm9sOiBjb250cm9sLCBmb3JtZ3JvdXA6IGZvcm1ncm91cCB9XCJcbiAgICAgID48L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdE11bHRpU2VsZWN0RHJvcGRvd24+XG4gICAgICA8ZGl2IGNsYXNzPVwiZHluYW1pYy1maWVsZCBzaW5nbGUtbGluZS1maWVsZC1jb250YWluZXJcIlxuICAgICAgW25nU3R5bGVdPVwieydib3JkZXItYm90dG9tJzogKGZvcm1ncm91cD8uY29udHJvbHM/LnN1YkZpZWxkcz8uY29udHJvbHM/Lmxlbmd0aCAmJiByZW1vdmVTZXByYXRvckZvclN1YkZpZWxkcykgPyAgJ25vbmUnOicnfVwiPlxuICAgICAgICA8cCBjbGFzcz1cImg2XCI+XG4gICAgICAgICAge3sgZmllbGQudGl0bGUgfX08c3BhbiAqbmdJZj1cImZpZWxkLnZhbGlkYXRvcnMgJiYgZmllbGQudmFsaWRhdG9ycy5sZW5ndGggPiAwXCI+ICo8L3NwYW4+XG4gICAgICAgIDwvcD5cbiAgICAgICAgPG1pcy1tdWx0aS1zZWxlY3QtZHJvcGRvd24gW3dpZHRoXT1cIicxNDBweCdcIiBbc2hvd1NlbGVjdGVkQ291bnRdPVwidHJ1ZVwiIFtkcm9wZG93bkxpc3RXaWR0aF09XCInMjU2cHgnXCJcbiAgICAgICAgICBbc2VhcmNoRW5hYmxlZF09XCJmYWxzZVwiIFtoaWRlQXBwbHlCdXR0b25dPVwidHJ1ZVwiIFtkYXRhXT1cImZpZWxkLml0ZW1zTGlzdFwiXG4gICAgICAgICAgW3NlbGVjdGVkSXRlbXNdPVwiY29udHJvbC52YWx1ZVwiIChvbkNoYW5nZSk9XCJ1cGRhdGVTZWxlY3RlZFZhbHVlRm9yTXVsdGlTZWxlY3QoZmllbGQsIGNvbnRyb2wsIGZvcm1ncm91cCwgJGV2ZW50KTtcIj48L21pcy1tdWx0aS1zZWxlY3QtZHJvcGRvd24+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250cm9sLnRvdWNoZWQgJiYgY29udHJvbC5lcnJvcnNcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJkeW5hbWljRmllbGRFcnJvcnNcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogY29udHJvbC5lcnJvcnMgfVwiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuXG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2R5bmFtaWNGaWVsZEVycm9ycyBsZXQtZXJyb3JzPlxuICA8ZGl2IGlkPVwiZXJyb3ItbWVzc2FnZXMtY29udGFpbmVyXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZXJyb3Igb2YgZXJyb3JzIHwga2V5dmFsdWVcIj5cbiAgICAgIDxwIGNsYXNzPVwiaDhcIj5cbiAgICAgICAge3tcIiDigKIgJm5ic3A7XCIgKyBlcnJvci52YWx1ZX19XG4gICAgICA8L3A+XG4gICAgICA8ZGl2IFtuZ1N0eWxlXT1cInsgJ2ZsZXgtYmFzaXMnOiAnMTAwJScsICdoZWlnaHQnOiAnMCcgfVwiPjwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
|
|
@@ -14,7 +14,7 @@ export class DynamicFormModule {
|
|
|
14
14
|
static forRoot() {
|
|
15
15
|
return { ngModule: DynamicFormModule, providers: [] };
|
|
16
16
|
}
|
|
17
|
-
static { this.ɵfac = function DynamicFormModule_Factory(
|
|
17
|
+
static { this.ɵfac = function DynamicFormModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DynamicFormModule)(); }; }
|
|
18
18
|
static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: DynamicFormModule }); }
|
|
19
19
|
static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
|
|
20
20
|
ReactiveFormsModule,
|
|
@@ -53,4 +53,4 @@ export class DynamicFormModule {
|
|
|
53
53
|
SwitchModule,
|
|
54
54
|
MultiSelectDropdownModule,
|
|
55
55
|
DatepickerModuleV2], exports: [DynamicFormComponent] }); })();
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOztBQWlCN0UsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ3hELENBQUM7a0hBSFUsaUJBQWlCO21FQUFqQixpQkFBaUI7dUVBWjFCLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsV0FBVztZQUNYLGFBQWE7WUFDYixlQUFlO1lBQ2YsY0FBYztZQUNkLFlBQVk7WUFDWix5QkFBeUI7WUFDekIsa0JBQWtCOztpRkFJVCxpQkFBaUI7Y0FmN0IsUUFBUTtlQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLG9CQUFvQixDQUFDO2dCQUNwQyxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixtQkFBbUI7b0JBQ25CLFdBQVc7b0JBQ1gsYUFBYTtvQkFDYixlQUFlO29CQUNmLGNBQWM7b0JBQ2QsWUFBWTtvQkFDWix5QkFBeUI7b0JBQ3pCLGtCQUFrQjtpQkFDbkI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUM7YUFDaEM7O3dGQUNZLGlCQUFpQixtQkFkYixvQkFBb0IsYUFFakMsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixXQUFXO1FBQ1gsYUFBYTtRQUNiLGVBQWU7UUFDZixjQUFjO1FBQ2QsWUFBWTtRQUNaLHlCQUF5QjtRQUN6QixrQkFBa0IsYUFFVixvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay1leHBlcmltZW50YWwvc2Nyb2xsaW5nXCI7XG5pbXBvcnQgeyBEcm9wZG93bk1vZHVsZSB9IGZyb20gXCJtaXMtY3J5c3RhbC1kZXNpZ24tc3lzdGVtL2Ryb3Bkb3duXCI7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUNvbXBvbmVudCB9IGZyb20gXCIuL2R5bmFtaWMtZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7IFN3aXRjaE1vZHVsZSB9IGZyb20gXCJtaXMtY3J5c3RhbC1kZXNpZ24tc3lzdGVtL3N3aXRjaFwiO1xuaW1wb3J0IHsgTXVsdGlTZWxlY3REcm9wZG93bk1vZHVsZSB9IGZyb20gXCJtaXMtY3J5c3RhbC1kZXNpZ24tc3lzdGVtL211bHRpLXNlbGVjdC1kcm9wZG93blwiO1xuaW1wb3J0IHsgRGF0ZXBpY2tlck1vZHVsZVYyIH0gZnJvbSBcIm1pcy1jcnlzdGFsLWRlc2lnbi1zeXN0ZW0vZGF0ZXBpY2tlcl92MlwiO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtEeW5hbWljRm9ybUNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBPdmVybGF5TW9kdWxlLFxuICAgIFNjcm9sbGluZ01vZHVsZSxcbiAgICBEcm9wZG93bk1vZHVsZSxcbiAgICBTd2l0Y2hNb2R1bGUsXG4gICAgTXVsdGlTZWxlY3REcm9wZG93bk1vZHVsZSxcbiAgICBEYXRlcGlja2VyTW9kdWxlVjJcbiAgXSxcbiAgZXhwb3J0czogW0R5bmFtaWNGb3JtQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybU1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RHluYW1pY0Zvcm1Nb2R1bGU+IHtcbiAgICByZXR1cm4geyBuZ01vZHVsZTogRHluYW1pY0Zvcm1Nb2R1bGUsIHByb3ZpZGVyczogW10gfTtcbiAgfVxufVxuIl19
|
|
@@ -91,7 +91,7 @@ export class FabComponent {
|
|
|
91
91
|
toogleFab() {
|
|
92
92
|
this.isOpen = !this.isOpen;
|
|
93
93
|
}
|
|
94
|
-
static { this.ɵfac = function FabComponent_Factory(
|
|
94
|
+
static { this.ɵfac = function FabComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FabComponent)(i0.ɵɵdirectiveInject(i0.ElementRef)); }; }
|
|
95
95
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FabComponent, selectors: [["mis-fab"]], hostBindings: function FabComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
96
96
|
i0.ɵɵlistener("click", function FabComponent_click_HostBindingHandler($event) { return ctx.clickout($event); }, false, i0.ɵɵresolveDocument);
|
|
97
97
|
} }, inputs: { show: "show", options: "options", items: "items" }, decls: 1, vars: 1, consts: [["class", "fab-wrapper", 4, "ngIf"], [1, "fab-wrapper"], ["class", "fab-items", 4, "ngIf"], [1, "fab-container", 3, "click", "ngStyle"], ["width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "add-img"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M13.1424 5.15607C13.1424 4.51759 12.6313 4 12.0009 4C11.3704 4 10.8594 4.51759 10.8594 5.15607V10.8421H5.14149C4.51106 10.8421 4 11.3597 4 11.9982C4 12.6367 4.51106 13.1543 5.14149 13.1543H10.8594V18.8439C10.8594 19.4824 11.3704 20 12.0009 20C12.6313 20 13.1424 19.4824 13.1424 18.8439V13.1543H18.8585C19.4889 13.1543 20 12.6367 20 11.9982C20 11.3597 19.4889 10.8421 18.8585 10.8421H13.1424V5.15607Z", "fill", "white"], [1, "fab-items"], ["class", "fab-item", 3, "click", 4, "ngFor", "ngForOf"], [1, "fab-item", 3, "click"], ["class", "fab-tooltip", 4, "ngIf"], [1, "fab-button", 3, "ngStyle"], [1, "add-img", 3, "src"], [1, "fab-tooltip"]], template: function FabComponent_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -142,4 +142,4 @@ export class FabComponent {
|
|
|
142
142
|
args: ["document:click", ["$event"]]
|
|
143
143
|
}] }); })();
|
|
144
144
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FabComponent, { className: "FabComponent" }); })();
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2ZhYi9mYWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZmFiL2ZhYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjO0FBRWQsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7OztJQ0EzRSwrQkFBNEM7SUFDMUMsWUFDRjtJQUFBLGlCQUFNOzs7SUFESixjQUNGO0lBREUsOENBQ0Y7Ozs7SUFIRiw4QkFBb0c7SUFBMUIsNE1BQVMseUJBQWUsS0FBQztJQUNqRywrRUFBNEM7SUFHNUMsK0JBS0M7SUFDQywwQkFBeUM7SUFFN0MsQUFERSxpQkFBTSxFQUNGOzs7SUFYRSxjQUFnQjtJQUFoQixvQ0FBZ0I7SUFLcEIsY0FFRTtJQUZGLDBGQUVFO0lBRUcsY0FBaUI7SUFBakIsb0RBQWlCOzs7SUFYNUIsOEJBQWtEO0lBQ2hELHlFQUFvRztJQWF0RyxpQkFBTTs7O0lBZGdDLHVDQUFXO0lBQ1IsY0FBb0I7SUFBcEIsZ0RBQW9COzs7O0lBRi9ELDhCQUFzQztJQUNwQyxtRUFBa0Q7SUFlbEQsOEJBTUM7SUFEQyxxS0FBUyxrQkFBVyxLQUFDOztJQUVyQiw4QkFRQztJQUNDLDBCQUtFO0lBR1IsQUFERSxBQURFLGlCQUFNLEVBQ0YsRUFDRjs7O0lBdkNvQixjQUFZO0lBQVosb0NBQVk7SUFpQmxDLGNBRUU7SUFGRixpSkFFRTtJQUlBLGNBQWdEO0lBQWhELHFFQUFnRDs7QURpQnRELE1BQU0sT0FBTyxZQUFZO0lBT3ZCLFlBQW9CLElB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LE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDeEcsQ0FBQztvQkFDRixPQUFPLENBQUMsY0FBYyxFQUFFO3dCQUN0QixLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO3dCQUNuRCxLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO3dCQUN2RCxVQUFVLENBQUMsb0JBQW9CLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7d0JBQzNELFVBQVUsQ0FBQyxvQkFBb0IsRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7cUJBQzNELENBQUM7aUJBQ0g7MkNBR1EsSUFBSTtrQkFBWixLQUFLO1lBQ0csT0FBTztrQkFBZixLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLO1lBT04sUUFBUTtrQkFEUCxZQUFZO21CQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDOztrRkFUL0IsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAZm9ybWF0ICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgdHJpZ2dlciwgdHJhbnNpdGlvbiwgc3R5bGUsIGFuaW1hdGUsIHN0YXRlIH0gZnJvbSBcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIjtcblxuZXhwb3J0IHR5cGUgRmFiT3B0aW9ucyA9IHtcbiAgYmFja2dyb3VuZENvbG9yQ2xvc2VkPzogc3RyaW5nO1xuICBiYWNrZ3JvdW5kQ29sb3JPcGVuZWQ/OiBzdHJpbmc7XG4gIHNpemU/OiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBGYWJJdGVtID0ge1xuICBsYWJlbD86IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBjbGljaz86ICgpID0+IGFueTtcbn07XG5cbmV4cG9ydCB0eXBlIEZhYkl0ZW1zID0gRmFiSXRlbVtdO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWlzLWZhYlwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2ZhYi5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vZmFiLmNvbXBvbmVudC5zY3NzXCJdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcihcInNsaWRlVXBGYWJcIiwgW1xuICAgICAgdHJhbnNpdGlvbihcIjplbnRlclwiLCBbXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVkoNTBweClcIiwgb3BhY2l0eTogMCB9KSxcbiAgICAgICAgYW5pbWF0ZShcIjMwMG1zIGVhc2Utb3V0XCIsIHN0eWxlKHsgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVkoMHB4KVwiLCBvcGFjaXR5OiAxIH0pKVxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKFwiOmxlYXZlXCIsIFthbmltYXRlKFwiMjAwbXMgZWFzZS1vdXRcIiwgc3R5bGUoeyB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWSg3MHB4KVwiLCBvcGFjaXR5OiAwIH0pKV0pXG4gICAgXSksXG4gICAgdHJpZ2dlcihcInJvdGF0ZUJ1dHRvblwiLCBbXG4gICAgICBzdGF0ZShcImRlZmF1bHRcIiwgc3R5bGUoeyB0cmFuc2Zvcm06IFwicm90YXRlKDApXCIgfSkpLFxuICAgICAgc3RhdGUoXCJyb3RhdGVkXCIsIHN0eWxlKHsgdHJhbnNmb3JtOiBcInJvdGF0ZSg0NWRlZylcIiB9KSksXG4gICAgICB0cmFuc2l0aW9uKFwicm90YXRlZCA9PiBkZWZhdWx0XCIsIGFuaW1hdGUoXCIzMDBtcyBlYXNlLW91dFwiKSksXG4gICAgICB0cmFuc2l0aW9uKFwiZGVmYXVsdCA9PiByb3RhdGVkXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluXCIpKVxuICAgIF0pXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRmFiQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBzaG93OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIG9wdGlvbnM6IEZhYk9wdGlvbnMgPSB7fTtcbiAgQElucHV0KCkgaXRlbXM6IEZhYkl0ZW1zID0gW107XG5cbiAgaXNPcGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlUmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoXCJkb2N1bWVudDpjbGlja1wiLCBbXCIkZXZlbnRcIl0pXG4gIGNsaWNrb3V0KGV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmVSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XG4gICAgICB0aGlzLmNsb3NlRmFiKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgc2l6ZTogNTYsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3JDbG9zZWQ6IFwiIzA5MzdCMlwiLFxuICAgICAgYmFja2dyb3VuZENvbG9yT3BlbmVkOiBcIiMzYTVmYzFcIixcbiAgICAgIC4uLnRoaXMub3B0aW9uc1xuICAgIH07XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHt9XG5cbiAgY2xpY2tJdGVtKGl0ZW06IEZhYkl0ZW0pIHtcbiAgICB0aGlzLmNsb3NlRmFiKCk7XG4gICAgaXRlbS5jbGljaygpO1xuICB9XG5cbiAgY2xvc2VGYWIoKSB7XG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIHRvb2dsZUZhYigpIHtcbiAgICB0aGlzLmlzT3BlbiA9ICF0aGlzLmlzT3BlbjtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZhYi13cmFwcGVyXCIgKm5nSWY9XCJzaG93XCI+XG4gIDxkaXYgY2xhc3M9XCJmYWItaXRlbXNcIiAqbmdJZj1cImlzT3BlblwiIEBzbGlkZVVwRmFiPlxuICAgIDxkaXYgY2xhc3M9XCJmYWItaXRlbVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zLnJldmVyc2UoKTsgbGV0IGkgPSBpbmRleFwiIChjbGljayk9XCJjbGlja0l0ZW0oaXRlbSlcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLmxhYmVsXCIgY2xhc3M9XCJmYWItdG9vbHRpcFwiPlxuICAgICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmYWItYnV0dG9uXCJcbiAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogaXRlbS5iYWNrZ3JvdW5kQ29sb3IgfHwgJyMwOTM3QjInXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgICA8aW1nIFtzcmNdPVwiaXRlbS5pY29uXCIgY2xhc3M9XCJhZGQtaW1nXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZmFiLWNvbnRhaW5lclwiXG4gICAgW25nU3R5bGVdPVwie1xuICAgICAgYmFja2dyb3VuZENvbG9yOiBpc09wZW4gPyBvcHRpb25zLmJhY2tncm91bmRDb2xvck9wZW5lZCA6IG9wdGlvbnMuYmFja2dyb3VuZENvbG9yQ2xvc2VkXG4gICAgfVwiXG4gICAgKGNsaWNrKT1cInRvb2dsZUZhYigpXCJcbiAgPlxuICAgIDxzdmdcbiAgICAgIFtAcm90YXRlQnV0dG9uXT1cImlzT3BlbiA/ICdyb3RhdGVkJyA6ICdkZWZhdWx0J1wiXG4gICAgICBjbGFzcz1cImFkZC1pbWdcIlxuICAgICAgd2lkdGg9XCIyNFwiXG4gICAgICBoZWlnaHQ9XCIyNFwiXG4gICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgID5cbiAgICAgIDxwYXRoXG4gICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgZD1cIk0xMy4xNDI0IDUuMTU2MDdDMTMuMTQyNCA0LjUxNzU5IDEyLjYzMTMgNCAxMi4wMDA5IDRDMTEuMzcwNCA0IDEwLjg1OTQgNC41MTc1OSAxMC44NTk0IDUuMTU2MDdWMTAuODQyMUg1LjE0MTQ5QzQuNTExMDYgMTAuODQyMSA0IDExLjM1OTcgNCAxMS45OTgyQzQgMTIuNjM2NyA0LjUxMTA2IDEzLjE1NDMgNS4xNDE0OSAxMy4xNTQzSDEwLjg1OTRWMTguODQzOUMxMC44NTk0IDE5LjQ4MjQgMTEuMzcwNCAyMCAxMi4wMDA5IDIwQzEyLjYzMTMgMjAgMTMuMTQyNCAxOS40ODI0IDEzLjE0MjQgMTguODQzOVYxMy4xNTQzSDE4Ljg1ODVDMTkuNDg4OSAxMy4xNTQzIDIwIDEyLjYzNjcgMjAgMTEuOTk4MkMyMCAxMS4zNTk3IDE5LjQ4ODkgMTAuODQyMSAxOC44NTg1IDEwLjg0MjFIMTMuMTQyNFY1LjE1NjA3WlwiXG4gICAgICAgIGZpbGw9XCJ3aGl0ZVwiXG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -6,7 +6,7 @@ export class FabModule {
|
|
|
6
6
|
static forRoot() {
|
|
7
7
|
return { ngModule: FabModule, providers: [] };
|
|
8
8
|
}
|
|
9
|
-
static { this.ɵfac = function FabModule_Factory(
|
|
9
|
+
static { this.ɵfac = function FabModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FabModule)(); }; }
|
|
10
10
|
static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: FabModule }); }
|
|
11
11
|
static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule] }); }
|
|
12
12
|
}
|
|
@@ -19,4 +19,4 @@ export class FabModule {
|
|
|
19
19
|
}]
|
|
20
20
|
}], null, null); })();
|
|
21
21
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(FabModule, { declarations: [FabComponent], imports: [CommonModule], exports: [FabComponent] }); })();
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2ZhYi9mYWIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBTy9DLE1BQU0sT0FBTyxTQUFTO0lBQ3BCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ2hELENBQUM7MEdBSFUsU0FBUzttRUFBVCxTQUFTO3VFQUhWLFlBQVk7O2lGQUdYLFNBQVM7Y0FMckIsUUFBUTtlQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLFlBQVksQ0FBQztnQkFDNUIsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2dCQUN2QixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDeEI7O3dGQUNZLFNBQVMsbUJBSkwsWUFBWSxhQUNqQixZQUFZLGFBQ1osWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IEZhYkNvbXBvbmVudCB9IGZyb20gXCIuL2ZhYi5jb21wb25lbnRcIjtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbRmFiQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtGYWJDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEZhYk1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RmFiTW9kdWxlPiB7XG4gICAgcmV0dXJuIHsgbmdNb2R1bGU6IEZhYk1vZHVsZSwgcHJvdmlkZXJzOiBbXSB9O1xuICB9XG59XG4iXX0=
|