@wavemaker/app-ng-runtime 11.8.0-next.24904 → 11.8.0-next.27301
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.
- app-ng-runtime/build-task/bundles/index.umd.js +5 -5
- app-ng-runtime/build-task/esm2022/basic/progress/progress-bar/progress-bar.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/page/page.build.mjs +3 -2
- app-ng-runtime/build-task/fesm2022/index.mjs +2 -1
- app-ng-runtime/build-task/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/carousel/bundles/index.umd.js +5 -5
- app-ng-runtime/components/advanced/carousel/esm2022/carousel.animator.mjs +3 -2
- app-ng-runtime/components/advanced/carousel/esm2022/carousel.directive.mjs +1 -1
- app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs +2 -1
- app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/login/bundles/index.umd.js +6 -6
- app-ng-runtime/components/advanced/login/esm2022/login.component.mjs +4 -3
- app-ng-runtime/components/advanced/login/fesm2022/index.mjs +3 -2
- app-ng-runtime/components/advanced/login/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/base/bundles/index.umd.js +203 -171
- app-ng-runtime/components/base/esm2022/directives/show-in-device.directive.mjs +1 -1
- app-ng-runtime/components/base/esm2022/pipes/custom-pipes.mjs +12 -11
- app-ng-runtime/components/base/esm2022/pipes/wm-pipe.mjs +3 -2
- app-ng-runtime/components/base/esm2022/utils/data-utils.mjs +30 -29
- app-ng-runtime/components/base/esm2022/utils/form-utils.mjs +47 -41
- app-ng-runtime/components/base/esm2022/utils/live-utils.mjs +8 -7
- app-ng-runtime/components/base/esm2022/utils/widget-utils.mjs +28 -27
- app-ng-runtime/components/base/esm2022/widgets/common/base/base-container.component.mjs +4 -3
- app-ng-runtime/components/base/esm2022/widgets/common/base/base-field-validations.mjs +24 -21
- app-ng-runtime/components/base/esm2022/widgets/common/base/base.component.mjs +12 -11
- app-ng-runtime/components/base/esm2022/widgets/common/base/dataset-aware-nav.component.mjs +40 -14
- app-ng-runtime/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +3 -2
- app-ng-runtime/components/base/esm2022/widgets/common/dialog/dialog.service.mjs +3 -2
- app-ng-runtime/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +1 -1
- app-ng-runtime/components/base/esm2022/widgets/common/partial/partial.directive.mjs +3 -2
- app-ng-runtime/components/base/esm2022/widgets/common/partial-param/partial-param.directive.mjs +3 -2
- app-ng-runtime/components/base/esm2022/widgets/common/smooth-scroll/smooth-scroll.directive.mjs +6 -5
- app-ng-runtime/components/base/esm2022/widgets/framework/deviceview.mjs +1 -1
- app-ng-runtime/components/base/esm2022/widgets/framework/property-change-handler.mjs +3 -2
- app-ng-runtime/components/base/esm2022/widgets/framework/widget-proxy-provider.mjs +4 -3
- app-ng-runtime/components/base/fesm2022/index.mjs +206 -173
- app-ng-runtime/components/base/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/base/pipes/custom-pipes.d.ts +1 -1
- app-ng-runtime/components/base/utils/data-utils.d.ts +0 -1
- app-ng-runtime/components/base/utils/widget-utils.d.ts +2 -2
- app-ng-runtime/components/base/widgets/common/base/base-field-validations.d.ts +1 -1
- app-ng-runtime/components/base/widgets/common/base/partial-container.directive.d.ts +1 -1
- app-ng-runtime/components/basic/default/bundles/index.umd.js +10 -10
- app-ng-runtime/components/basic/default/esm2022/label/label.directive.mjs +4 -3
- app-ng-runtime/components/basic/default/esm2022/spinner/spinner.component.mjs +6 -5
- app-ng-runtime/components/basic/default/fesm2022/index.mjs +7 -6
- app-ng-runtime/components/basic/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/progress/bundles/index.umd.js +13 -13
- app-ng-runtime/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +5 -4
- app-ng-runtime/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +6 -5
- app-ng-runtime/components/basic/progress/esm2022/utils.mjs +3 -3
- app-ng-runtime/components/basic/progress/fesm2022/index.mjs +10 -9
- app-ng-runtime/components/basic/progress/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/rich-text-editor/bundles/index.umd.js +15 -10
- app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +14 -8
- app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs +13 -7
- app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/rich-text-editor/rich-text-editor.component.d.ts +2 -2
- app-ng-runtime/components/basic/search/bundles/index.umd.js +67 -65
- app-ng-runtime/components/basic/search/esm2022/data-provider/data-provider.mjs +1 -1
- app-ng-runtime/components/basic/search/esm2022/data-provider/local-data-provider.mjs +26 -23
- app-ng-runtime/components/basic/search/esm2022/data-provider/remote-data-provider.mjs +12 -11
- app-ng-runtime/components/basic/search/esm2022/search.component.mjs +31 -30
- app-ng-runtime/components/basic/search/fesm2022/index.mjs +66 -63
- app-ng-runtime/components/basic/search/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/tree/bundles/index.umd.js +9 -9
- app-ng-runtime/components/basic/tree/esm2022/tree.component.mjs +7 -6
- app-ng-runtime/components/basic/tree/fesm2022/index.mjs +6 -5
- app-ng-runtime/components/basic/tree/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/chart/bundles/index.umd.js +72 -63
- app-ng-runtime/components/chart/chart.component.d.ts +1 -1
- app-ng-runtime/components/chart/chart.utils.d.ts +3 -3
- app-ng-runtime/components/chart/esm2022/chart.component.mjs +58 -48
- app-ng-runtime/components/chart/esm2022/chart.utils.mjs +14 -13
- app-ng-runtime/components/chart/fesm2022/index.mjs +69 -59
- app-ng-runtime/components/chart/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/accordion/bundles/index.umd.js +16 -16
- app-ng-runtime/components/containers/accordion/esm2022/accordion.directive.mjs +14 -13
- app-ng-runtime/components/containers/accordion/fesm2022/index.mjs +13 -12
- app-ng-runtime/components/containers/accordion/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/panel/bundles/index.umd.js +5 -5
- app-ng-runtime/components/containers/panel/esm2022/panel.component.mjs +3 -2
- app-ng-runtime/components/containers/panel/fesm2022/index.mjs +2 -1
- app-ng-runtime/components/containers/panel/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/panel/panel.component.d.ts +1 -1
- app-ng-runtime/components/containers/tabs/bundles/index.umd.js +17 -17
- app-ng-runtime/components/containers/tabs/esm2022/tabs.component.mjs +15 -14
- app-ng-runtime/components/containers/tabs/fesm2022/index.mjs +14 -13
- app-ng-runtime/components/containers/tabs/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/form/bundles/index.umd.js +75 -75
- app-ng-runtime/components/data/form/esm2022/form-action/form-action.directive.mjs +3 -2
- app-ng-runtime/components/data/form/esm2022/form-field/form-field.directive.mjs +10 -9
- app-ng-runtime/components/data/form/esm2022/form.component.mjs +54 -53
- app-ng-runtime/components/data/form/esm2022/live-filter/live-filter.directive.mjs +3 -2
- app-ng-runtime/components/data/form/esm2022/live-form/live-form.directive.mjs +11 -10
- app-ng-runtime/components/data/form/fesm2022/index.mjs +77 -76
- app-ng-runtime/components/data/form/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/form/form.component.d.ts +2 -2
- app-ng-runtime/components/data/form/live-form/live-form.directive.d.ts +1 -1
- app-ng-runtime/components/data/list/bundles/index.umd.js +692 -687
- app-ng-runtime/components/data/list/esm2022/list-item.directive.mjs +1 -1
- app-ng-runtime/components/data/list/esm2022/list.animator.mjs +5 -3
- app-ng-runtime/components/data/list/esm2022/list.component.mjs +687 -682
- app-ng-runtime/components/data/list/fesm2022/index.mjs +690 -684
- app-ng-runtime/components/data/list/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/list/list.component.d.ts +53 -53
- app-ng-runtime/components/data/live-table/bundles/index.umd.js +1 -1
- app-ng-runtime/components/data/live-table/esm2022/live-table.component.mjs +2 -2
- app-ng-runtime/components/data/live-table/fesm2022/index.mjs +1 -1
- app-ng-runtime/components/data/live-table/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/pagination/bundles/index.umd.js +14 -14
- app-ng-runtime/components/data/pagination/esm2022/pagination.component.mjs +12 -11
- app-ng-runtime/components/data/pagination/fesm2022/index.mjs +11 -10
- app-ng-runtime/components/data/pagination/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/table/bundles/index.umd.js +175 -172
- app-ng-runtime/components/data/table/esm2022/table-action/table-action.directive.mjs +3 -2
- app-ng-runtime/components/data/table/esm2022/table-column/table-column.directive.mjs +19 -18
- app-ng-runtime/components/data/table/esm2022/table-cud.directive.mjs +7 -6
- app-ng-runtime/components/data/table/esm2022/table-filter.directive.mjs +53 -55
- app-ng-runtime/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +3 -2
- app-ng-runtime/components/data/table/esm2022/table.component.mjs +98 -91
- app-ng-runtime/components/data/table/fesm2022/index.mjs +172 -168
- app-ng-runtime/components/data/table/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/table/table-column/table-column.directive.d.ts +6 -6
- app-ng-runtime/components/data/table/table.component.d.ts +2 -2
- app-ng-runtime/components/dialogs/default/bundles/index.umd.js +2 -2
- app-ng-runtime/components/dialogs/default/esm2022/base-dialog.mjs +3 -3
- app-ng-runtime/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +1 -1
- app-ng-runtime/components/dialogs/default/fesm2022/index.mjs +1 -1
- app-ng-runtime/components/dialogs/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/calendar/bundles/index.umd.js +33 -31
- app-ng-runtime/components/input/calendar/esm2022/calendar.component.mjs +31 -28
- app-ng-runtime/components/input/calendar/fesm2022/index.mjs +30 -27
- app-ng-runtime/components/input/calendar/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/chips/bundles/index.umd.js +29 -28
- app-ng-runtime/components/input/chips/chips.component.d.ts +1 -1
- app-ng-runtime/components/input/chips/esm2022/chips.component.mjs +27 -25
- app-ng-runtime/components/input/chips/fesm2022/index.mjs +26 -24
- app-ng-runtime/components/input/chips/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/base-form.component.d.ts +3 -3
- app-ng-runtime/components/input/default/bundles/index.umd.js +75 -62
- app-ng-runtime/components/input/default/checkbox/checkbox.component.d.ts +1 -0
- app-ng-runtime/components/input/default/dataset-aware-form.component.d.ts +4 -4
- app-ng-runtime/components/input/default/esm2022/base-form.component.mjs +14 -8
- app-ng-runtime/components/input/default/esm2022/caption-position.directive.mjs +3 -2
- app-ng-runtime/components/input/default/esm2022/checkbox/checkbox.component.mjs +2 -2
- app-ng-runtime/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +6 -4
- app-ng-runtime/components/input/default/esm2022/dataset-aware-form.component.mjs +29 -23
- app-ng-runtime/components/input/default/esm2022/radioset/radioset.component.mjs +4 -3
- app-ng-runtime/components/input/default/esm2022/select/select.component.mjs +4 -3
- app-ng-runtime/components/input/default/esm2022/switch/switch.component.mjs +6 -5
- app-ng-runtime/components/input/default/esm2022/text/base/base-input.mjs +4 -3
- app-ng-runtime/components/input/default/esm2022/text/locale/number-locale.mjs +20 -18
- app-ng-runtime/components/input/default/esm2022/text/text/input-text.component.mjs +2 -2
- app-ng-runtime/components/input/default/fesm2022/index.mjs +75 -62
- app-ng-runtime/components/input/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +1 -1
- app-ng-runtime/components/input/epoch/bundles/index.umd.js +53 -51
- app-ng-runtime/components/input/epoch/esm2022/base-date-time.component.mjs +34 -31
- app-ng-runtime/components/input/epoch/esm2022/date/date.component.mjs +5 -4
- app-ng-runtime/components/input/epoch/esm2022/date-time/date-time-picker.component.mjs +5 -4
- app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.component.mjs +7 -6
- app-ng-runtime/components/input/epoch/esm2022/picker/picker.component.mjs +1 -1
- app-ng-runtime/components/input/epoch/esm2022/time/time.component.mjs +6 -5
- app-ng-runtime/components/input/epoch/fesm2022/index.mjs +48 -45
- app-ng-runtime/components/input/epoch/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/file-upload/bundles/index.umd.js +15 -15
- app-ng-runtime/components/input/file-upload/esm2022/file-upload.component.mjs +13 -12
- app-ng-runtime/components/input/file-upload/fesm2022/index.mjs +12 -11
- app-ng-runtime/components/input/file-upload/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/rating/bundles/index.umd.js +12 -12
- app-ng-runtime/components/input/rating/esm2022/rating.component.mjs +10 -9
- app-ng-runtime/components/input/rating/fesm2022/index.mjs +9 -8
- app-ng-runtime/components/input/rating/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/breadcrumb/bundles/index.umd.js +1 -1
- app-ng-runtime/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +2 -2
- app-ng-runtime/components/navigation/breadcrumb/fesm2022/index.mjs +1 -1
- app-ng-runtime/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/menu/bundles/index.umd.js +23 -22
- app-ng-runtime/components/navigation/menu/esm2022/menu-adapator.component.mjs +3 -2
- app-ng-runtime/components/navigation/menu/esm2022/menu-dropdown-item/menu-dropdown-item.component.mjs +6 -5
- app-ng-runtime/components/navigation/menu/esm2022/menu.component.mjs +8 -7
- app-ng-runtime/components/navigation/menu/esm2022/nav/nav.component.mjs +10 -8
- app-ng-runtime/components/navigation/menu/fesm2022/index.mjs +20 -18
- app-ng-runtime/components/navigation/menu/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/menu/menu-dropdown-item/menu-dropdown-item.component.d.ts +12 -1
- app-ng-runtime/components/navigation/popover/esm2022/popover.component.mjs +1 -1
- app-ng-runtime/components/navigation/popover/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/prefab/bundles/index.umd.js +6 -6
- app-ng-runtime/components/prefab/esm2022/prefab-container/prefab-container.directive.mjs +3 -2
- app-ng-runtime/components/prefab/esm2022/prefab.directive.mjs +3 -2
- app-ng-runtime/components/prefab/fesm2022/index.mjs +3 -2
- app-ng-runtime/components/prefab/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/core/bundles/index.umd.js +119 -130
- app-ng-runtime/core/esm2022/public_api.mjs +2 -2
- app-ng-runtime/core/esm2022/services/field-type.service.mjs +3 -2
- app-ng-runtime/core/esm2022/services/field-widget.service.mjs +3 -2
- app-ng-runtime/core/esm2022/services/pagination.service.mjs +7 -6
- app-ng-runtime/core/esm2022/services/state-persistence.service.mjs +17 -16
- app-ng-runtime/core/esm2022/services/utils.service.mjs +3 -2
- app-ng-runtime/core/esm2022/services/viewport.service.mjs +3 -2
- app-ng-runtime/core/esm2022/utils/build-utils.mjs +5 -4
- app-ng-runtime/core/esm2022/utils/expression-parser.mjs +5 -4
- app-ng-runtime/core/esm2022/utils/lru-cache.mjs +3 -2
- app-ng-runtime/core/esm2022/utils/utils.mjs +79 -82
- app-ng-runtime/core/esm2022/utils/watcher.mjs +9 -7
- app-ng-runtime/core/fesm2022/index.mjs +117 -123
- app-ng-runtime/core/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/core/public_api.d.ts +1 -1
- app-ng-runtime/core/services/pagination.service.d.ts +1 -1
- app-ng-runtime/core/utils/utils.d.ts +5 -9
- app-ng-runtime/http/bundles/index.umd.js +7 -7
- app-ng-runtime/http/esm2022/http.service.mjs +5 -4
- app-ng-runtime/http/esm2022/wm-http-request.mjs +1 -1
- app-ng-runtime/http/esm2022/wm-http-response.mjs +1 -1
- app-ng-runtime/http/fesm2022/index.mjs +4 -3
- app-ng-runtime/http/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/basic/default/bundles/index.umd.js +24 -20
- app-ng-runtime/mobile/components/basic/default/esm2022/anchor/anchor.directive.mjs +5 -4
- app-ng-runtime/mobile/components/basic/default/esm2022/file-browser/file-browser.component.mjs +12 -8
- app-ng-runtime/mobile/components/basic/default/esm2022/file-browser/file-selector.service.mjs +5 -3
- app-ng-runtime/mobile/components/basic/default/esm2022/image-cache/image-cache.directive.mjs +3 -2
- app-ng-runtime/mobile/components/basic/default/esm2022/process-manager/process-manager.component.mjs +5 -4
- app-ng-runtime/mobile/components/basic/default/fesm2022/index.mjs +21 -16
- app-ng-runtime/mobile/components/basic/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/containers/segmented-control/bundles/index.umd.js +7 -7
- app-ng-runtime/mobile/components/containers/segmented-control/esm2022/segment-content/segment-content.component.mjs +2 -2
- app-ng-runtime/mobile/components/containers/segmented-control/esm2022/segmented-control.component.mjs +4 -3
- app-ng-runtime/mobile/components/containers/segmented-control/fesm2022/index.mjs +4 -3
- app-ng-runtime/mobile/components/containers/segmented-control/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/data/media-list/bundles/index.umd.js +8 -8
- app-ng-runtime/mobile/components/data/media-list/esm2022/media-list.component.mjs +4 -3
- app-ng-runtime/mobile/components/data/media-list/fesm2022/index.mjs +3 -2
- app-ng-runtime/mobile/components/data/media-list/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/default/bundles/index.umd.js +5 -5
- app-ng-runtime/mobile/components/page/default/esm2022/page.directive.mjs +3 -2
- app-ng-runtime/mobile/components/page/default/fesm2022/index.mjs +2 -1
- app-ng-runtime/mobile/components/page/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/tab-bar/bundles/index.umd.js +9 -9
- app-ng-runtime/mobile/components/page/tab-bar/esm2022/tabbar.component.mjs +7 -6
- app-ng-runtime/mobile/components/page/tab-bar/fesm2022/index.mjs +6 -5
- app-ng-runtime/mobile/components/page/tab-bar/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/core/bundles/index.umd.js +25 -25
- app-ng-runtime/mobile/core/esm2022/services/device-file-download.service.mjs +5 -4
- app-ng-runtime/mobile/core/esm2022/services/device-file-opener.service.mjs +3 -2
- app-ng-runtime/mobile/core/esm2022/services/device-file-upload.service.mjs +4 -3
- app-ng-runtime/mobile/core/esm2022/services/device-file.service.mjs +6 -5
- app-ng-runtime/mobile/core/esm2022/services/device.service.mjs +3 -2
- app-ng-runtime/mobile/core/esm2022/services/ext-app-message.service.mjs +5 -4
- app-ng-runtime/mobile/core/esm2022/services/network.service.mjs +9 -8
- app-ng-runtime/mobile/core/fesm2022/index.mjs +22 -21
- app-ng-runtime/mobile/core/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/core/services/ext-app-message.service.d.ts +1 -1
- app-ng-runtime/mobile/core/services/network.service.d.ts +7 -1
- app-ng-runtime/mobile/offline/bundles/index.umd.js +161 -144
- app-ng-runtime/mobile/offline/esm2022/models/local-db-store.mjs +23 -21
- app-ng-runtime/mobile/offline/esm2022/services/change-log.service.mjs +7 -6
- app-ng-runtime/mobile/offline/esm2022/services/local-db-data-pull.service.mjs +37 -35
- app-ng-runtime/mobile/offline/esm2022/services/local-db-management.service.mjs +54 -45
- app-ng-runtime/mobile/offline/esm2022/services/local-db.service.mjs +5 -4
- app-ng-runtime/mobile/offline/esm2022/services/workers/error-blocker.mjs +4 -3
- app-ng-runtime/mobile/offline/esm2022/services/workers/file-handler.mjs +18 -13
- app-ng-runtime/mobile/offline/esm2022/services/workers/multi-part-param-transformer.mjs +9 -5
- app-ng-runtime/mobile/offline/esm2022/utils/live-variable.utils.mjs +12 -11
- app-ng-runtime/mobile/offline/esm2022/utils/query-executor.utils.mjs +5 -4
- app-ng-runtime/mobile/offline/esm2022/utils/security.utils.mjs +3 -2
- app-ng-runtime/mobile/offline/fesm2022/index.mjs +156 -138
- app-ng-runtime/mobile/offline/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/runtime/bundles/index.umd.js +11 -8
- app-ng-runtime/mobile/runtime/esm2022/mobile-runtime.module.mjs +3 -2
- app-ng-runtime/mobile/runtime/esm2022/services/cookie.service.mjs +6 -2
- app-ng-runtime/mobile/runtime/esm2022/services/http-interceptor.service.mjs +4 -3
- app-ng-runtime/mobile/runtime/fesm2022/index.mjs +8 -4
- app-ng-runtime/mobile/runtime/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/runtime-dynamic/bundles/index.umd.js +2 -2
- app-ng-runtime/mobile/runtime-dynamic/esm2022/services/live-sync.service.mjs +3 -3
- app-ng-runtime/mobile/runtime-dynamic/fesm2022/index.mjs +2 -2
- app-ng-runtime/mobile/runtime-dynamic/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/variables/bundles/index.umd.js +23 -16
- app-ng-runtime/mobile/variables/esm2022/services/camera-service.mjs +2 -2
- app-ng-runtime/mobile/variables/esm2022/services/datasync-service.mjs +10 -9
- app-ng-runtime/mobile/variables/esm2022/services/file-service.mjs +11 -3
- app-ng-runtime/mobile/variables/fesm2022/index.mjs +19 -11
- app-ng-runtime/mobile/variables/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/oAuth/bundles/index.umd.js +12 -12
- app-ng-runtime/oAuth/esm2022/oAuth.service.mjs +4 -3
- app-ng-runtime/oAuth/esm2022/oAuth.utils.mjs +8 -7
- app-ng-runtime/oAuth/fesm2022/index.mjs +9 -8
- app-ng-runtime/oAuth/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/package.json +1 -1
- app-ng-runtime/runtime/base/bundles/index.umd.js +121 -120
- app-ng-runtime/runtime/base/esm2022/components/base-layout.component.mjs +4 -3
- app-ng-runtime/runtime/base/esm2022/components/base-page.component.mjs +14 -13
- app-ng-runtime/runtime/base/esm2022/components/base-partial.component.mjs +13 -12
- app-ng-runtime/runtime/base/esm2022/components/base-prefab.component.mjs +15 -14
- app-ng-runtime/runtime/base/esm2022/components/base-spa-page.component.mjs +14 -13
- app-ng-runtime/runtime/base/esm2022/components/custom-toaster.component.mjs +6 -5
- app-ng-runtime/runtime/base/esm2022/directives/accessroles.directive.mjs +11 -10
- app-ng-runtime/runtime/base/esm2022/guards/page-not-found.guard.mjs +1 -1
- app-ng-runtime/runtime/base/esm2022/guards/role.guard.mjs +3 -2
- app-ng-runtime/runtime/base/esm2022/services/app-defaults.service.mjs +1 -1
- app-ng-runtime/runtime/base/esm2022/services/app.manager.service.mjs +17 -14
- app-ng-runtime/runtime/base/esm2022/services/app.service.mjs +7 -6
- app-ng-runtime/runtime/base/esm2022/services/dynamic-component-ref-provider.service.mjs +3 -2
- app-ng-runtime/runtime/base/esm2022/services/http-interceptor.services.mjs +4 -3
- app-ng-runtime/runtime/base/esm2022/services/i18n.service.mjs +12 -10
- app-ng-runtime/runtime/base/esm2022/services/navigation.service.mjs +8 -7
- app-ng-runtime/runtime/base/esm2022/services/prefab-manager.service.mjs +3 -2
- app-ng-runtime/runtime/base/esm2022/services/spinner.service.mjs +7 -6
- app-ng-runtime/runtime/base/esm2022/services/toaster.service.mjs +6 -5
- app-ng-runtime/runtime/base/esm2022/util/wm-route-reuse-strategy.mjs +6 -7
- app-ng-runtime/runtime/base/fesm2022/index.mjs +119 -117
- app-ng-runtime/runtime/base/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/runtime/base/services/i18n.service.d.ts +1 -1
- app-ng-runtime/runtime/dynamic/bundles/index.umd.js +7 -7
- app-ng-runtime/runtime/dynamic/esm2022/app/services/component-ref-provider.service.mjs +4 -3
- app-ng-runtime/runtime/dynamic/esm2022/main.mjs +3 -2
- app-ng-runtime/runtime/dynamic/fesm2022/index.mjs +4 -3
- app-ng-runtime/runtime/dynamic/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/scripts/jquery-ui/ui/widgets/droppable.js +7 -7
- app-ng-runtime/scripts/jquery-ui/ui/widgets/resizable.js +13 -10
- app-ng-runtime/scripts/jquery-ui/ui/widgets/sortable.js +7 -7
- app-ng-runtime/security/bundles/index.umd.js +14 -14
- app-ng-runtime/security/esm2022/security.service.mjs +12 -11
- app-ng-runtime/security/fesm2022/index.mjs +11 -10
- app-ng-runtime/security/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/security/security.service.d.ts +1 -1
- app-ng-runtime/swipey/esm2022/swipe.animation.mjs +1 -1
- app-ng-runtime/swipey/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/transpiler/bundles/index.umd.js +10 -9
- app-ng-runtime/transpiler/esm2022/build.mjs +8 -6
- app-ng-runtime/transpiler/fesm2022/index.mjs +7 -5
- app-ng-runtime/transpiler/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/variables/bundles/index.umd.js +155 -145
- app-ng-runtime/variables/esm2022/manager/action/login-action.manager.mjs +15 -14
- app-ng-runtime/variables/esm2022/manager/action/notification-action.manager.mjs +9 -8
- app-ng-runtime/variables/esm2022/manager/variable/base-variable.manager.mjs +3 -2
- app-ng-runtime/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +11 -10
- app-ng-runtime/variables/esm2022/service/variables.service.mjs +7 -6
- app-ng-runtime/variables/esm2022/util/action/navigation-action.utils.mjs +4 -4
- app-ng-runtime/variables/esm2022/util/variable/pagination.utils.mjs +30 -23
- app-ng-runtime/variables/esm2022/util/variable/service-variable.utils.mjs +29 -28
- app-ng-runtime/variables/esm2022/util/variable/variables.utils.mjs +75 -70
- app-ng-runtime/variables/fesm2022/index.mjs +169 -158
- app-ng-runtime/variables/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/variables/util/variable/service-variable.utils.d.ts +1 -1
|
@@ -2,6 +2,7 @@ import { Injectable, NgZone } from '@angular/core';
|
|
|
2
2
|
import { NavigationStart, Router } from '@angular/router';
|
|
3
3
|
import { App } from '@wm/core';
|
|
4
4
|
import { CONSTANTS } from '@wm/variables';
|
|
5
|
+
import { filter, isEmpty, isEqual } from "lodash-es";
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "@wm/core";
|
|
7
8
|
import * as i2 from "@angular/router";
|
|
@@ -52,7 +53,7 @@ export class NavigationServiceImpl {
|
|
|
52
53
|
});
|
|
53
54
|
}
|
|
54
55
|
getPageTransition() {
|
|
55
|
-
if (
|
|
56
|
+
if (isEmpty(this.transition) || isEqual('none', this.transition)) {
|
|
56
57
|
return null;
|
|
57
58
|
}
|
|
58
59
|
return this.transition;
|
|
@@ -85,7 +86,7 @@ export class NavigationServiceImpl {
|
|
|
85
86
|
goToPrevious() {
|
|
86
87
|
if (this.history.getPagesCount()) {
|
|
87
88
|
this.transition = this.history.getCurrentPage().transition;
|
|
88
|
-
if (!
|
|
89
|
+
if (!isEmpty(this.transition)) {
|
|
89
90
|
this.transition += '-exit';
|
|
90
91
|
}
|
|
91
92
|
this.history.pop();
|
|
@@ -192,8 +193,8 @@ export class NavigationServiceImpl {
|
|
|
192
193
|
getViewElementInActivePage($el) {
|
|
193
194
|
let selector;
|
|
194
195
|
if ($el.length > 1) {
|
|
195
|
-
selector =
|
|
196
|
-
if (
|
|
196
|
+
selector = filter($el, (childSelector) => {
|
|
197
|
+
if (isEmpty($(childSelector).closest('[data-role = "partial"]')) && isEmpty($(childSelector).closest('[wmprefabcontainer]'))) {
|
|
197
198
|
return childSelector;
|
|
198
199
|
}
|
|
199
200
|
});
|
|
@@ -270,10 +271,10 @@ class PageInfo {
|
|
|
270
271
|
this.name = name;
|
|
271
272
|
this.urlParams = urlParams;
|
|
272
273
|
this.transition = transition;
|
|
273
|
-
this.transition =
|
|
274
|
+
this.transition = isEmpty(this.transition) ? null : this.transition;
|
|
274
275
|
}
|
|
275
276
|
isEqual(page1) {
|
|
276
|
-
return page1 && page1.name === this.name &&
|
|
277
|
+
return page1 && page1.name === this.name && isEqual(page1.urlParams, this.urlParams);
|
|
277
278
|
}
|
|
278
279
|
}
|
|
279
280
|
class History {
|
|
@@ -303,4 +304,4 @@ class History {
|
|
|
303
304
|
return this.stack.length > 0 ? this.stack[this.stack.length - 1] : undefined;
|
|
304
305
|
}
|
|
305
306
|
}
|
|
306
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1iYXNlL3NyYy9zZXJ2aWNlcy9uYXZpZ2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsR0FBRyxFQUFnRCxNQUFNLFVBQVUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBSTFDLE1BQU0sY0FBYyxHQUFHLGdCQUFnQixDQUFDO0FBR3hDLE1BQU0sT0FBTyxxQkFBcUI7SUFLOUIsWUFBb0IsR0FBUSxFQUFVLE1BQWMsRUFBUyxJQUFZO1FBQXJELFFBQUcsR0FBSCxHQUFHLENBQUs7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVMsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUpqRSxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV4Qix5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFHakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pDLElBQUksS0FBSyxZQUFZLGVBQWUsRUFBRSxDQUFDO2dCQUNuQyxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO2dCQUN0QixNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7Z0JBQ3JCLElBQUksUUFBUSxDQUFDO2dCQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztvQkFDN0IsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztvQkFDbEMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEdB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WSxVQUFLLEdBQW9CLEVBQUUsQ0FBQztJQThCeEMsQ0FBQztJQTNCVSxjQUFjO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRU0sYUFBYTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQzdCLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxJQUFjO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU0sSUFBSSxDQUFDLFFBQWtCO1FBQzFCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUM7SUFDaEMsQ0FBQztJQUVNLEdBQUc7UUFDTixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFFTSxXQUFXO1FBQ2QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNqRixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgQXBwLCBOYXZpZ2F0aW9uT3B0aW9ucywgQWJzdHJhY3ROYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7IENPTlNUQU5UUyB9IGZyb20gJ0B3bS92YXJpYWJsZXMnO1xuXG5kZWNsYXJlIGNvbnN0IF8sICQ7XG5cbmNvbnN0IHBhcmVudFNlbGVjdG9yID0gJ2JvZHkgPmFwcC1yb290JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25TZXJ2aWNlSW1wbCBpbXBsZW1lbnRzIEFic3RyYWN0TmF2aWdhdGlvblNlcnZpY2Uge1xuICAgIHByaXZhdGUgaGlzdG9yeSA9IG5ldyBIaXN0b3J5KCk7XG4gICAgcHJpdmF0ZSB0cmFuc2l0aW9uOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBpc1BhZ2VBZGRlZFRvSGlzdG9yeSA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhcHA6IEFwcCwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHVibGljIHpvbmU6IE5nWm9uZSkge1xuICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHVybCA9IGV2ZW50LnVybDtcbiAgICAgICAgICAgICAgICBjb25zdCB1cmxQYXJhbXMgPSB7fTtcbiAgICAgICAgICAgICAgICBsZXQgcGFnZU5hbWU7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzUGFnZUFkZGVkVG9IaXN0b3J5KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNQYWdlQWRkZWRUb0hpc3RvcnkgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHVybC5pbmRleE9mKCc/JykgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB1cmwuc3Vic3RyKHVybC5pbmRleE9mKCc/JykgKyAxKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zcGxpdCgnJicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZvckVhY2gocyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNwbGl0cyA9IHMuc3BsaXQoJz0nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsUGFyYW1zW3NwbGl0c1swXV0gPSBzcGxpdHNbMV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWdlTmFtZSA9IHVybC5zdWJzdHIoMCwgdXJsLmluZGV4T2YoJz8nKSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWdlTmFtZSA9IHVybDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAocGFnZU5hbWVbMF0gPT09ICcvJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFnZU5hbWUgPSBwYWdlTmFtZS5zdWJzdHIoMSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHBhZ2VOYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgICAgICAgICAgICogQ29tbWVudGluZyB0aGlzIGNvZGUsIG9uZSBjbGllbnQgcHJvamVjdCBoYXMgSG9tZV9QYWdlIGNvbmZpZ3VyZWQgYXMgTG9naW4gUGFnZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAqIFNvIHJlZGlyZWN0aW9uIHRvIEhvbWVfUGFnZSBwb3N0IGxvZ2luIGlzIGZhaWxpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiBsb2dpbiBwYWdlIGlzIGJlaW5nIGxvYWRlZCBhbmQgdXNlciBpcyBsb2dnZWQgaW4sIGNhbmNlbCB0aGF0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkcnMuaXNBcHBsaWNhdGlvblR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcExvZ2luUGFnZVBvc3RMb2dpbigkcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgdXJsUGFyYW1zWyduYW1lJ107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGlzdG9yeS5wdXNoKG5ldyBQYWdlSW5mbyhwYWdlTmFtZSwgdXJsUGFyYW1zLCB0aGlzLnRyYW5zaXRpb24pKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFBhZ2VUcmFuc2l0aW9uKCkge1xuICAgICAgICBpZiAoXy5pc0VtcHR5KHRoaXMudHJhbnNpdGlvbikgfHwgXy5pc0VxdWFsKCdub25lJywgdGhpcy50cmFuc2l0aW9uKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBOYXZpZ2F0ZXMgdG8gcGFydGljdWxhciBwYWdlXG4gICAgICogQHBhcmFtIHBhZ2VOYW1lXG4gICAgICogQHBhcmFtIG9wdGlvbnNcbiAgICAgKi9cbiAgICBwdWJsaWMgZ29Ub1BhZ2UocGFnZU5hbWU6IHN0cmluZywgb3B0aW9uczogTmF2aWdhdGlvbk9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy50cmFuc2l0aW9uID0gb3B0aW9ucy50cmFuc2l0aW9uIHx8ICcnO1xuICAgICAgICAvLyBwYWdlIGlzIGFkZGVkIHRvIHN0YWNrIG9ubHkgd2hlbiBjdXJyZW50UGFnZSBpcyBhdmFpbGFibGUuXG4gICAgICAgIGlmICh0aGlzLmhpc3RvcnkuZ2V0Q3VycmVudFBhZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5pc1BhZ2VBZGRlZFRvSGlzdG9yeSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5oaXN0b3J5LnB1c2goIG5ldyBQYWdlSW5mbyhwYWdlTmFtZSwgb3B0aW9ucy51cmxQYXJhbXMsIHRoaXMudHJhbnNpdGlvbikpO1xuICAgICAgLyoqXG4gICAgICAgKiAgQnJvd3NlckFuaW1jYXRpb24gbW9kdWxlIGhhcyBpc3N1ZSB3aXRoIFJvdXRlck91dGxldFxuICAgICAgICAgIEluIHRoZSByZXN1bHQgZXZlcnkgcm91dGUgYXBwZW5kaW5nIHRvIHByZXZpb3VzIHJvdXRlIGluc3RlYWQgb2YgcmVwbGFjZS5cbiAgICAgICAgICBUbyBmaXggdGhlIGlzc3VlIHdlIGFyZSBuYXZpZ2F0aW5nIGluc2lkZSB0aGUgbmdab25lc1xuICAgICAgICogXG4gICAgICAgKiAgKi8gIFxuICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYC8ke3BhZ2VOYW1lfWBdLCB7IHF1ZXJ5UGFyYW1zOiBvcHRpb25zLnVybFBhcmFtc30pO1xuICAgICAgICB9KTtcblxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE5hdmlnYXRlcyB0byBsYXN0IHZpc2l0ZWQgcGFnZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ29Ub1ByZXZpb3VzKCkge1xuICAgICAgICBpZiAodGhpcy5oaXN0b3J5LmdldFBhZ2VzQ291bnQoKSkge1xuICAgICAgICAgICAgdGhpcy50cmFuc2l0aW9uID0gdGhpcy5oaXN0b3J5LmdldEN1cnJlbnRQYWdlKCkudHJhbnNpdGlvbjtcbiAgICAgICAgICAgIGlmICghXy5pc0VtcHR5KHRoaXMudHJhbnNpdGlvbikpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zaXRpb24gKz0gJy1leGl0JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaGlzdG9yeS5wb3AoKTtcbiAgICAgICAgICAgIHRoaXMuaXNQYWdlQWRkZWRUb0hpc3RvcnkgPSB0cnVlO1xuICAgICAgICAgICAgd2luZG93Lmhpc3RvcnkuYmFjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFRvZG9bU2h1YmhhbV0gTmVlZCB0byBoYW5kbGUgZ290b0VsZW1lbnQgaW4gb3RoZXIgcGFydGlhbHNcbiAgICAgKiBOYXZpZ2F0ZXMgdG8gcGFydGljdWxhciB2aWV3XG4gICAgICogQHBhcmFtIHZpZXdOYW1lXG4gICAgICogQHBhcmFtIG9wdGlvbnNcbiAgICAgKiBAcGFyYW0gdmFyaWFibGVcbiAgICAgKi9cbiAgICBwdWJsaWMgZ29Ub1ZpZXcodmlld05hbWU6IHN0cmluZywgb3B0aW9uczogTmF2aWdhdGlvbk9wdGlvbnMsIHZhcmlhYmxlOiBhbnkpIHtcbiAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgICAgIGNvbnN0IHBhZ2VOYW1lID0gb3B0aW9ucy5wYWdlTmFtZTtcbiAgICAgICAgY29uc3QgdHJhbnNpdGlvbiA9IG9wdGlvbnMudHJhbnNpdGlvbiB8fCAnJztcbiAgICAgICAgY29uc3QgJGV2ZW50ID0gb3B0aW9ucy4kZXZlbnQ7XG4gICAgICAgIGNvbnN0IGFjdGl2ZVBhZ2UgPSB0aGlzLmFwcC5hY3RpdmVQYWdlO1xuICAgICAgICBjb25zdCBwcmVmYWJOYW1lID0gdmFyaWFibGUgJiYgdmFyaWFibGUuX2NvbnRleHQgJiYgdmFyaWFibGUuX2NvbnRleHQucHJlZmFiTmFtZTtcblxuICAgICAgICAvLyBDaGVjayBpZiBhcHAgaXMgUHJlZmFiXG4gICAgICAgIGlmICh0aGlzLmFwcC5pc1ByZWZhYlR5cGUpIHtcbiAgICAgICAgICAgIHRoaXMuZ29Ub0VsZW1lbnRWaWV3KCQocGFyZW50U2VsZWN0b3IpLmZpbmQoJ1tuYW1lPVwiJyArIHZpZXdOYW1lICsgJ1wiXScpLCB2aWV3TmFtZSwgcGFnZU5hbWUsIHZhcmlhYmxlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIGNoZWNraW5nIGlmIHRoZSBlbGVtZW50IGlzIHByZXNlbnQgaW4gdGhlIHBhZ2Ugb3Igbm90LCBpZiBubyBzaG93IGFuIGVycm9yIHRvYXN0ZXJcbiAgICAgICAgICAgIC8vIGlmIHllcyBjaGVjayBpZiBpdCBpcyBpbnNpZGUgYSBwYXJ0aWFsL3ByZWZhYiBpbiB0aGUgcGFnZSBhbmQgdGhlbiBoaWdobGlnaHQgdGhlIHJlc3BlY3RpdmUgZWxlbWVudFxuICAgICAgICAgICAgLy8gZWxzZSBnb3RvIHRoZSBwYWdlIGluIHdoaWNoIHRoZSBlbGVtZW50IGV4aXN0cyBhbmQgaGlnaGxpZ2h0IHRoZSBlbGVtZW50XG4gICAgICAgICAgICBpZiAocGFnZU5hbWUgIT09IGFjdGl2ZVBhZ2UuYWN0aXZlUGFnZU5hbWUgJiYgIXByZWZhYk5hbWUpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1BhcnRpYWxXaXRoTmFtZUV4aXN0cyhwYWdlTmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nb1RvRWxlbWVudFZpZXcoJCgnW3BhcnRpYWxjb250YWluZXJdW2NvbnRlbnQ9XCInICsgcGFnZU5hbWUgKyAnXCJdJykuZmluZCgnW25hbWU9XCInICsgdmlld05hbWUgKyAnXCJdJyksIHZpZXdOYW1lLCBwYWdlTmFtZSwgdmFyaWFibGUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRvZG9bU2h1YmhhbV06IE1ha2UgYW4gQVBJIGNhbGwgdG8gZ2V0IGFsbCBwYWdlcyBhbmQgY2hlY2sgaWYgdGhlIHBhZ2UgbmFtZVxuICAgICAgICAgICAgICAgICAgICAvLyAgaXMgYSBwYWdlIGFuZCB0aGVuIGRvIHRoaXMgY2FsbCBlbHNlIHNob3cgYW4gZXJyb3IgYXM6XG4gICAgICAgICAgICAgICAgICAgIC8vICB0aGlzLmFwcC5ub3RpZnlBcHAoQ09OU1RBTlRTLldJREdFVF9ET0VTTlRfRVhJU1QsICdlcnJvcicpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdvVG9QYWdlKHBhZ2VOYW1lLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3TmFtZTogdmlld05hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQ6ICRldmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmxQYXJhbXM6IG9wdGlvbnMudXJsUGFyYW1zXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAvLyBzdWJzY3JpYmUgdG8gYW4gZXZlbnQgbmFtZWQgcGFnZVJlYWR5IHdoaWNoIG5vdGlmaWVzIHRoaXMgc3Vic2NyaWJlclxuICAgICAgICAgICAgICAgICAgICAvLyB3aGVuIGFsbCB3aWRnZXRzIGluIHBhZ2UgYXJlIGxvYWRlZCBpLmUgd2hlbiBwYWdlIGlzIHJlYWR5XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2VSZWFkeVN1YnNjcmliZXIgPSB0aGlzLmFwcC5zdWJzY3JpYmUoJ3BhZ2VSZWFkeScsIChwYWdlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdvVG9FbGVtZW50VmlldygkKHBhcmVudFNlbGVjdG9yKS5maW5kKCdbbmFtZT1cIicgKyB2aWV3TmFtZSArICdcIl0nKSwgdmlld05hbWUsIHBhZ2VOYW1lLCB2YXJpYWJsZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWdlUmVhZHlTdWJzY3JpYmVyKCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAocHJlZmFiTmFtZSAmJiB0aGlzLmlzUHJlZmFiV2l0aE5hbWVFeGlzdHMocHJlZmFiTmFtZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdvVG9FbGVtZW50VmlldygkKCdbcHJlZmFiTmFtZT1cIicgKyBwcmVmYWJOYW1lICsgJ1wiXScpLmZpbmQoJ1tuYW1lPVwiJyArIHZpZXdOYW1lICsgJ1wiXScpLCB2aWV3TmFtZSwgcGFnZU5hbWUsIHZhcmlhYmxlKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIXBhZ2VOYW1lIHx8IHBhZ2VOYW1lID09PSBhY3RpdmVQYWdlLmFjdGl2ZVBhZ2VOYW1lKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nb1RvRWxlbWVudFZpZXcoJChwYXJlbnRTZWxlY3RvcikuZmluZCgnW25hbWU9XCInICsgdmlld05hbWUgKyAnXCJdJyksIHZpZXdOYW1lLCBwYWdlTmFtZSwgdmFyaWFibGUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcC5ub3RpZnlBcHAoQ09OU1RBTlRTLldJREdFVF9ET0VTTlRfRVhJU1QsICdlcnJvcicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBuYXZpZ2F0ZXMgdGhlIHVzZXIgdG8gYSB2aWV3IGVsZW1lbnQgd2l0aCBnaXZlbiBuYW1lXG4gICAgICogaWYgdGhlIGVsZW1lbnQgbm90IGZvdW5kIGluIHRoZSBjb21waWxlZCBtYXJrdXAsIHRoZSBzYW1lIGlzIHNlYXJjaGVkIGluIHRoZSBhdmFpbGFibGUgZGlhbG9ncyBpbiB0aGUgcGFnZVxuICAgICAqL1xuICAgIHByaXZhdGUgZ29Ub0VsZW1lbnRWaWV3KHZpZXdFbGVtZW50LCB2aWV3TmFtZTogc3RyaW5nLCBwYWdlTmFtZTogc3RyaW5nLCB2YXJpYWJsZTogYW55KSB7XG4gICAgICAgIGxldCAkZWwsIHBhcmVudERpYWxvZztcbiAgICAgICAgY29uc3QgYWN0aXZlUGFnZSA9IHRoaXMuYXBwLmFjdGl2ZVBhZ2U7XG4gICAgICAgIGlmICh2aWV3RWxlbWVudC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5hcHAuaXNQcmVmYWJUeXBlICYmIHBhZ2VOYW1lID09PSBhY3RpdmVQYWdlLmFjdGl2ZVBhZ2VOYW1lKSB7XG4gICAgICAgICAgICAgICAgdmlld0VsZW1lbnQgPSB0aGlzLmdldFZpZXdFbGVtZW50SW5BY3RpdmVQYWdlKHZpZXdFbGVtZW50KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJGVsID0gdmlld0VsZW1lbnRbMF0ud2lkZ2V0O1xuICAgICAgICAgICAgc3dpdGNoICgkZWwud2lkZ2V0VHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ3dtLWFjY29yZGlvbnBhbmUnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dBbmNlc3RvcnModmlld0VsZW1lbnQsIHZhcmlhYmxlKTtcbiAgICAgICAgICAgICAgICAgICAgJGVsLmV4cGFuZCgpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICd3bS10YWJwYW5lJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93QW5jZXN0b3JzKHZpZXdFbGVtZW50LCB2YXJpYWJsZSk7XG4gICAgICAgICAgICAgICAgICAgICRlbC5zZWxlY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnd20tc2VnbWVudC1jb250ZW50JzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93QW5jZXN0b3JzKHZpZXdFbGVtZW50LCB2YXJpYWJsZSk7XG4gICAgICAgICAgICAgICAgICAgICRlbC5uYXZpZ2F0ZSgpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICd3bS1wYW5lbCc6XG4gICAgICAgICAgICAgICAgICAgIC8qIGZsaXAgdGhlIGFjdGl2ZSBmbGFnICovXG4gICAgICAgICAgICAgICAgICAgICRlbC5leHBhbmRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyZW50RGlhbG9nID0gdGhpcy5zaG93QW5jZXN0b3JEaWFsb2codmlld05hbWUpO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcmVudERpYWxvZykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdvVG9FbGVtZW50VmlldygkKCdbbmFtZT1cIicgKyB2aWV3TmFtZSArICdcIl0nKSwgdmlld05hbWUsIHBhZ2VOYW1lLCB2YXJpYWJsZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBJZiBwYWdlIG5hbWUgaXMgZXF1YWwgdG8gYWN0aXZlIHBhZ2VOYW1lLCB0aGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGVsZW1lbnQgaW4gdGhlIHBhZ2UuXG4gICAgIFRoZSBlbGVtZW50IGluIHRoZSBwYXJ0aWFsIHBhZ2UgaXMgbm90IHNlbGVjdGVkLiovXG4gICAgcHJpdmF0ZSBnZXRWaWV3RWxlbWVudEluQWN0aXZlUGFnZSgkZWwpIHtcbiAgICAgICAgbGV0IHNlbGVjdG9yO1xuICAgICAgICBpZiAoJGVsLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHNlbGVjdG9yID0gXy5maWx0ZXIoJGVsLCAoY2hpbGRTZWxlY3RvcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChfLmlzRW1wdHkoJChjaGlsZFNlbGVjdG9yKS5jbG9zZXN0KCdbZGF0YS1yb2xlID0gXCJwYXJ0aWFsXCJdJykpICYmIF8uaXNFbXB0eSgkKGNoaWxkU2VsZWN0b3IpLmNsb3Nlc3QoJ1t3bXByZWZhYmNvbnRhaW5lcl0nKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNoaWxkU2VsZWN0b3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0b3IpIHtcbiAgICAgICAgICAgICAgICAkZWwgPSAkKHNlbGVjdG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJGVsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNoZWNrcyBpZiB0aGUgcGFnZWNvbnRhaW5lciBoYXMgdGhlIHBhZ2VOYW1lLlxuICAgICAqL1xuICAgIHByaXZhdGUgaXNQYXJ0aWFsV2l0aE5hbWVFeGlzdHMobmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiAkKCdbcGFydGlhbGNvbnRhaW5lcl1bY29udGVudD1cIicgKyBuYW1lICsgJ1wiXScpLmxlbmd0aDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjaGVja3MgaWYgdGhlIHBhZ2Vjb250YWluZXIgaGFzIHRoZSBwcmVmYWIuXG4gICAgICovXG4gICAgcHJpdmF0ZSBpc1ByZWZhYldpdGhOYW1lRXhpc3RzKHByZWZhYk5hbWU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gJCgnW3ByZWZhYk5hbWU9XCInICsgcHJlZmFiTmFtZSArICdcIl0nKS5sZW5ndGg7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBzaG93cyBhbGwgdGhlIHBhcmVudCBjb250YWluZXIgdmlldyBlbGVtZW50cyBmb3IgYSBnaXZlbiB2aWV3IGVsZW1lbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIHNob3dBbmNlc3RvcnMoZWxlbWVudCwgdmFyaWFibGUpIHtcbiAgICAgICAgY29uc3QgYW5jZXN0b3JTZWFyY2hRdWVyeSA9ICdbd20tbmF2aWdhYmxlLWVsZW1lbnQ9XCJ0cnVlXCJdJztcblxuICAgICAgICBlbGVtZW50XG4gICAgICAgICAgICAucGFyZW50cyhhbmNlc3RvclNlYXJjaFF1ZXJ5KVxuICAgICAgICAgICAgLnRvQXJyYXkoKVxuICAgICAgICAgICAgLnJldmVyc2UoKVxuICAgICAgICAgICAgLmZvckVhY2goKHBhcmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0ICRlbCA9IHBhcmVudC53aWRnZXQ7XG4gICAgICAgICAgICAgICAgc3dpdGNoICgkZWwud2lkZ2V0VHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlICd3bS1hY2NvcmRpb25wYW5lJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICRlbC5leHBhbmQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICd3bS10YWJwYW5lJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICRlbC5zZWxlY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICd3bS1zZWdtZW50LWNvbnRlbnQnOlxuICAgICAgICAgICAgICAgICAgICAgICAgJGVsLm5hdmlnYXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnd20tcGFuZWwnOlxuICAgICAgICAgICAgICAgICAgICAgICAgLyogZmxpcCB0aGUgYWN0aXZlIGZsYWcgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICRlbC5leHBhbmRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cblxuXG4gICAgLypcbiAgICAgKiBzZWFyY2hlcyBmb3IgYSBnaXZlbiB2aWV3IGVsZW1lbnQgaW5zaWRlIHRoZSBhdmFpbGFibGUgZGlhbG9ncyBpbiBjdXJyZW50IHBhZ2VcbiAgICAgKiBpZiBmb3VuZCwgdGhlIGRpYWxvZyBpcyBkaXNwbGF5ZWQsIHRoZSBkaWFsb2cgaWQgaXMgcmV0dXJuZWQuXG4gICAgICovXG4gICAgcHJpdmF0ZSBzaG93QW5jZXN0b3JEaWFsb2codmlld05hbWU6IHN0cmluZykge1xuICAgICAgICBsZXQgZGlhbG9nSWQ7XG4gICAgICAgICQoJ2FwcC1yb290IFtkaWFsb2d0eXBlXScpXG4gICAgICAgICAgICAuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGlhbG9nID0gJCh0aGlzKTtcbiAgICAgICAgICAgICAgICBpZiAoJChkaWFsb2cuaHRtbCgpKS5maW5kKCdbbmFtZT1cIicgKyB2aWV3TmFtZSArICdcIl0nKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlhbG9nSWQgPSBkaWFsb2cuYXR0cignbmFtZScpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBkaWFsb2dJZDtcbiAgICB9XG59XG5cbmNsYXNzIFBhZ2VJbmZvIHtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBuYW1lLCBwdWJsaWMgdXJsUGFyYW1zPywgcHVibGljIHRyYW5zaXRpb24/KSB7XG4gICAgICAgIHRoaXMudHJhbnNpdGlvbiA9IF8uaXNFbXB0eSh0aGlzLnRyYW5zaXRpb24pID8gbnVsbCA6IHRoaXMudHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNFcXVhbChwYWdlMTogUGFnZUluZm8pIHtcbiAgICAgICAgcmV0dXJuIHBhZ2UxICYmIHBhZ2UxLm5hbWUgPT09IHRoaXMubmFtZSAmJiBfLmlzRXF1YWwocGFnZTEudXJsUGFyYW1zLCB0aGlzLnVybFBhcmFtcyk7XG4gICAgfVxufVxuXG5jbGFzcyBIaXN0b3J5IHtcbiAgICBwcml2YXRlIHN0YWNrOiBBcnJheTxQYWdlSW5mbz4gPSBbXTtcbiAgICBwcml2YXRlIGN1cnJlbnRQYWdlOiBQYWdlSW5mbztcblxuICAgIHB1YmxpYyBnZXRDdXJyZW50UGFnZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFBhZ2U7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFBhZ2VzQ291bnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YWNrLmxlbmd0aDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNMYXN0VmlzaXRlZFBhZ2UocGFnZTogUGFnZUluZm8pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TGFzdFBhZ2UoKS5pc0VxdWFsKHBhZ2UpO1xuICAgIH1cblxuICAgIHB1YmxpYyBwdXNoKHBhZ2VJbmZvOiBQYWdlSW5mbykge1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50UGFnZSkge1xuICAgICAgICAgICAgdGhpcy5zdGFjay5wdXNoKHRoaXMuY3VycmVudFBhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSBwYWdlSW5mbztcbiAgICB9XG5cbiAgICBwdWJsaWMgcG9wKCkge1xuICAgICAgICB0aGlzLmN1cnJlbnRQYWdlID0gdGhpcy5zdGFjay5wb3AoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFBhZ2U7XG4gICAgfVxuXG4gICAgcHVibGljIGdldExhc3RQYWdlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGFjay5sZW5ndGggPiAwID8gdGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aCAtIDFdIDogdW5kZWZpbmVkO1xuICAgIH1cbn1cbiJdfQ==
|
|
307
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1iYXNlL3NyYy9zZXJ2aWNlcy9uYXZpZ2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsR0FBRyxFQUFnRCxNQUFNLFVBQVUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBQyxNQUFNLFdBQVcsQ0FBQzs7OztBQUluRCxNQUFNLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQztBQUd4QyxNQUFNLE9BQU8scUJBQXFCO0lBSzlCLFlBQW9CLEdBQVEsRUFBVSxNQUFjLEVBQVMsSUFBWTtRQUFyRCxRQUFHLEdBQUgsR0FBRyxDQUFLO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFTLFNBQUksR0FBSixJQUFJLENBQVE7UUFKakUsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFFeEIseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBR2pDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQyxJQUFJLEtBQUssWUFBWSxlQUFlLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztnQkFDdEIsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO2dCQUNyQixJQUFJLFFBQVEsQ0FBQztnQkFDYixJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7b0JBQzdCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7b0JBQ2xDLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQzt3QkFDdkIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQzs2QkFDM0IsS0FBSyxDQUFDLEdBQUcsQ0FBQzs2QkFDVixPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7NEJBQ1QsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDNUIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDckMsQ0FBQyxDQUFDLENBQUM7d0JBQ1AsUUFBUSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDL0MsQ0FBQzt5QkFBTSxDQUFDO3dCQUNKLFFBQVEsR0FBRyxHQUFHLENBQUM7b0JBQ25CLENBQUM7b0JBQ0QsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7d0JBQ3RCLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNsQyxDQUFDO29CQUNELElBQUksUUFBUSxFQUFFLENBQUM7d0JBQ1g7Ozs7Ozs7MkJBT0c7d0JBQ0gsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBRXpCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7b0JBQzFFLENBQUM7Z0JBQ0wsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxpQkFBaUI7UUFDcEIsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDL0QsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFFBQVEsQ0FBQyxRQUFnQixFQUFFLE9BQTBCO1FBQ3hELElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7UUFDM0MsNkRBQTZEO1FBQzdELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7UUFDckMsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFFLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ2pGOzs7OztjQUtNO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQztRQUNyRixDQUFDLENBQUMsQ0FBQztJQUVQLENBQUM7SUFFRDs7T0FFRztJQUNJLFlBQVk7UUFDZixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsVUFBVSxDQUFDO1lBQzNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDO1lBQy9CLENBQUM7WUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7WUFDakMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksUUFBUSxDQUFDLFFBQWdCLEVBQUUsT0FBMEIsRUFBRSxRQUFhO1FBQ3ZFLE9BQU8sR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ3hCLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDbEMsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7UUFDNUMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUM5QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQztRQUN2QyxNQUFNLFVBQVUsR0FBRyxRQUFRLElBQUksUUFBUSxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztRQUVqRix5QkFBeUI7UUFDekIsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDNUcsQ0FBQzthQUFNLENBQUM7WUFDSixxRkFBcUY7WUFDckYsc0dBQXNHO1lBQ3RHLDJFQUEyRTtZQUMzRSxJQUFJLFFBQVEsS0FBSyxVQUFVLENBQUMsY0FBYyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3hELElBQUksSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7b0JBQ3pDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLDhCQUE4QixHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUM5SSxDQUFDO3FCQUFNLENBQUM7b0JBQ0osOEVBQThFO29CQUM5RSwwREFBMEQ7b0JBQzFELCtEQUErRDtvQkFDL0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUU7d0JBQ3BCLFFBQVEsRUFBRSxRQUFRO3dCQUNsQixNQUFNLEVBQUUsTUFBTTt3QkFDZCxVQUFVLEVBQUUsVUFBVTt3QkFDdEIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTO3FCQUMvQixDQUFDLENBQUM7b0JBQ0gsdUVBQXVFO29CQUN2RSw2REFBNkQ7b0JBQzdELE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7d0JBQ2pFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7d0JBQ3hHLG1CQUFtQixFQUFFLENBQUM7b0JBQzFCLENBQUMsQ0FBQyxDQUFDO2dCQUNQLENBQUM7WUFDTCxDQUFDO2lCQUFNLElBQUksVUFBVSxJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUMvRCxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxlQUFlLEdBQUcsVUFBVSxHQUFHLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDakksQ0FBQztpQkFBTSxJQUFJLENBQUMsUUFBUSxJQUFJLFFBQVEsS0FBSyxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQzdELElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDNUcsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUMvRCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSyxlQUFlLENBQUMsV0FBVyxFQUFFLFFBQWdCLEVBQUUsUUFBZ0IsRUFBRSxRQUFhO1FBQ2xGLElBQUksR0FBRyxFQUFFLFlBQVksQ0FBQztRQUN0QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQztRQUN2QyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksUUFBUSxLQUFLLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDbkUsV0FBVyxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMvRCxDQUFDO1lBRUQsR0FBRyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDNUIsUUFBUSxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3JCLEtBQUssa0JBQWtCO29CQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztvQkFDMUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNiLE1BQU07Z0JBQ1YsS0FBSyxZQUFZO29CQUNiLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO29CQUMxQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ2IsTUFBTTtnQkFDVixLQUFLLG9CQUFvQjtvQkFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7b0JBQzFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDZixNQUFNO2dCQUNWLEtBQUssVUFBVTtvQkFDWCwwQkFBMEI7b0JBQzFCLEdBQUcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO29CQUNwQixNQUFNO1lBQ2QsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ0osWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNqRCxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksWUFBWSxFQUFFLENBQUM7b0JBQ2YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUN2RixDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQztJQUVEO3VEQUNtRDtJQUMzQywwQkFBMEIsQ0FBQyxHQUFHO1FBQ2xDLElBQUksUUFBUSxDQUFDO1FBQ2IsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2pCLFFBQVEsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxFQUFFLEVBQUU7Z0JBQ3JDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUMsRUFBRSxDQUFDO29CQUMzSCxPQUFPLGFBQWEsQ0FBQztnQkFDekIsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDWCxHQUFHLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3RCLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRUQ7O09BRUc7SUFDSyx1QkFBdUIsQ0FBQyxJQUFZO1FBQ3hDLE9BQU8sQ0FBQyxDQUFDLDhCQUE4QixHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDbEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ssc0JBQXNCLENBQUMsVUFBa0I7UUFDN0MsT0FBTyxDQUFDLENBQUMsZUFBZSxHQUFHLFVBQVUsR0FBRyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDekQsQ0FBQztJQUVEOztPQUVHO0lBQ0ssYUFBYSxDQUFDLE9BQU8sRUFBRSxRQUFRO1FBQ25DLE1BQU0sbUJBQW1CLEdBQUcsK0JBQStCLENBQUM7UUFFNUQsT0FBTzthQUNGLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQzthQUM1QixPQUFPLEVBQUU7YUFDVCxPQUFPLEVBQUU7YUFDVCxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNoQixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQzFCLFFBQVEsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNyQixLQUFLLGtCQUFrQjtvQkFDbkIsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNiLE1BQU07Z0JBQ1YsS0FBSyxZQUFZO29CQUNiLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDYixNQUFNO2dCQUNWLEtBQUssb0JBQW9CO29CQUNyQixHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ2YsTUFBTTtnQkFDVixLQUFLLFVBQVU7b0JBQ1gsMEJBQTBCO29CQUMxQixHQUFHLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztvQkFDcEIsTUFBTTtZQUNkLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFJRDs7O09BR0c7SUFDSyxrQkFBa0IsQ0FBQyxRQUFnQjtRQUN2QyxJQUFJLFFBQVEsQ0FBQztRQUNiLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQzthQUNyQixJQUFJLENBQUM7WUFDRixNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkIsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLEdBQUcsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzVELFFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMvQixPQUFPLEtBQUssQ0FBQztZQUNqQixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO3NGQXJRUSxxQkFBcUI7dUVBQXJCLHFCQUFxQixXQUFyQixxQkFBcUI7O2lGQUFyQixxQkFBcUI7Y0FEakMsVUFBVTs7QUF5UVgsTUFBTSxRQUFRO0lBRVYsWUFBbUIsSUFBSSxFQUFTLFNBQVUsRUFBUyxVQUFXO1FBQTNDLFNBQUksR0FBSixJQUFJLENBQUE7UUFBUyxjQUFTLEdBQVQsU0FBUyxDQUFDO1FBQVMsZUFBVSxHQUFWLFVBQVUsQ0FBQztRQUMxRCxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN4RSxDQUFDO0lBRU0sT0FBTyxDQUFDLEtBQWU7UUFDMUIsT0FBTyxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6RixDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU87SUFBYjtRQUNZLFVBQUssR0FBb0IsRUFBRSxDQUFDO0lBOEJ4QyxDQUFDO0lBM0JVLGNBQWM7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFFTSxhQUFhO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQztJQUVNLGlCQUFpQixDQUFDLElBQWM7UUFDbkMsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxJQUFJLENBQUMsUUFBa0I7UUFDMUIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztJQUNoQyxDQUFDO0lBRU0sR0FBRztRQUNOLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVNLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2pGLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBBcHAsIE5hdmlnYXRpb25PcHRpb25zLCBBYnN0cmFjdE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgQ09OU1RBTlRTIH0gZnJvbSAnQHdtL3ZhcmlhYmxlcyc7XG5pbXBvcnQge2ZpbHRlciwgaXNFbXB0eSwgaXNFcXVhbH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5kZWNsYXJlIGNvbnN0ICQ7XG5cbmNvbnN0IHBhcmVudFNlbGVjdG9yID0gJ2JvZHkgPmFwcC1yb290JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25TZXJ2aWNlSW1wbCBpbXBsZW1lbnRzIEFic3RyYWN0TmF2aWdhdGlvblNlcnZpY2Uge1xuICAgIHByaXZhdGUgaGlzdG9yeSA9IG5ldyBIaXN0b3J5KCk7XG4gICAgcHJpdmF0ZSB0cmFuc2l0aW9uOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBpc1BhZ2VBZGRlZFRvSGlzdG9yeSA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhcHA6IEFwcCwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHVibGljIHpvbmU6IE5nWm9uZSkge1xuICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHVybCA9IGV2ZW50LnVybDtcbiAgICAgICAgICAgICAgICBjb25zdCB1cmxQYXJhbXMgPSB7fTtcbiAgICAgICAgICAgICAgICBsZXQgcGFnZU5hbWU7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzUGFnZUFkZGVkVG9IaXN0b3J5KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNQYWdlQWRkZWRUb0hpc3RvcnkgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHVybC5pbmRleE9mKCc/JykgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB1cmwuc3Vic3RyKHVybC5pbmRleE9mKCc/JykgKyAxKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zcGxpdCgnJicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZvckVhY2gocyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNwbGl0cyA9IHMuc3BsaXQoJz0nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsUGFyYW1zW3NwbGl0c1swXV0gPSBzcGxpdHNbMV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWdlTmFtZSA9IHVybC5zdWJzdHIoMCwgdXJsLmluZGV4T2YoJz8nKSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWdlTmFtZSA9IHVybDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAocGFnZU5hbWVbMF0gPT09ICcvJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFnZU5hbWUgPSBwYWdlTmFtZS5zdWJzdHIoMSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHBhZ2VOYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgICAgICAgICAgICogQ29tbWVudGluZyB0aGlzIGNvZGUsIG9uZSBjbGllbnQgcHJvamVjdCBoYXMgSG9tZV9QYWdlIGNvbmZpZ3VyZWQgYXMgTG9naW4gUGFnZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAqIFNvIHJlZGlyZWN0aW9uIHRvIEhvbWVfUGFnZSBwb3N0IGxvZ2luIGlzIGZhaWxpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiBsb2dpbiBwYWdlIGlzIGJlaW5nIGxvYWRlZCBhbmQgdXNlciBpcyBsb2dnZWQgaW4sIGNhbmNlbCB0aGF0LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkcnMuaXNBcHBsaWNhdGlvblR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcExvZ2luUGFnZVBvc3RMb2dpbigkcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgdXJsUGFyYW1zWyduYW1lJ107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGlzdG9yeS5wdXNoKG5ldyBQYWdlSW5mbyhwYWdlTmFtZSwgdXJsUGFyYW1zLCB0aGlzLnRyYW5zaXRpb24pKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFBhZ2VUcmFuc2l0aW9uKCkge1xuICAgICAgICBpZiAoaXNFbXB0eSh0aGlzLnRyYW5zaXRpb24pIHx8IGlzRXF1YWwoJ25vbmUnLCB0aGlzLnRyYW5zaXRpb24pKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE5hdmlnYXRlcyB0byBwYXJ0aWN1bGFyIHBhZ2VcbiAgICAgKiBAcGFyYW0gcGFnZU5hbWVcbiAgICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgICAqL1xuICAgIHB1YmxpYyBnb1RvUGFnZShwYWdlTmFtZTogc3RyaW5nLCBvcHRpb25zOiBOYXZpZ2F0aW9uT3B0aW9ucykge1xuICAgICAgICB0aGlzLnRyYW5zaXRpb24gPSBvcHRpb25zLnRyYW5zaXRpb24gfHwgJyc7XG4gICAgICAgIC8vIHBhZ2UgaXMgYWRkZWQgdG8gc3RhY2sgb25seSB3aGVuIGN1cnJlbnRQYWdlIGlzIGF2YWlsYWJsZS5cbiAgICAgICAgaWYgKHRoaXMuaGlzdG9yeS5nZXRDdXJyZW50UGFnZSgpKSB7XG4gICAgICAgICAgICB0aGlzLmlzUGFnZUFkZGVkVG9IaXN0b3J5ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhpc3RvcnkucHVzaCggbmV3IFBhZ2VJbmZvKHBhZ2VOYW1lLCBvcHRpb25zLnVybFBhcmFtcywgdGhpcy50cmFuc2l0aW9uKSk7XG4gICAgICAvKipcbiAgICAgICAqICBCcm93c2VyQW5pbWNhdGlvbiBtb2R1bGUgaGFzIGlzc3VlIHdpdGggUm91dGVyT3V0bGV0XG4gICAgICAgICAgSW4gdGhlIHJlc3VsdCBldmVyeSByb3V0ZSBhcHBlbmRpbmcgdG8gcHJldmlvdXMgcm91dGUgaW5zdGVhZCBvZiByZXBsYWNlLlxuICAgICAgICAgIFRvIGZpeCB0aGUgaXNzdWUgd2UgYXJlIG5hdmlnYXRpbmcgaW5zaWRlIHRoZSBuZ1pvbmVzXG4gICAgICAgKlxuICAgICAgICogICovXG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgLyR7cGFnZU5hbWV9YF0sIHsgcXVlcnlQYXJhbXM6IG9wdGlvbnMudXJsUGFyYW1zfSk7XG4gICAgICAgIH0pO1xuXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTmF2aWdhdGVzIHRvIGxhc3QgdmlzaXRlZCBwYWdlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnb1RvUHJldmlvdXMoKSB7XG4gICAgICAgIGlmICh0aGlzLmhpc3RvcnkuZ2V0UGFnZXNDb3VudCgpKSB7XG4gICAgICAgICAgICB0aGlzLnRyYW5zaXRpb24gPSB0aGlzLmhpc3RvcnkuZ2V0Q3VycmVudFBhZ2UoKS50cmFuc2l0aW9uO1xuICAgICAgICAgICAgaWYgKCFpc0VtcHR5KHRoaXMudHJhbnNpdGlvbikpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zaXRpb24gKz0gJy1leGl0JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaGlzdG9yeS5wb3AoKTtcbiAgICAgICAgICAgIHRoaXMuaXNQYWdlQWRkZWRUb0hpc3RvcnkgPSB0cnVlO1xuICAgICAgICAgICAgd2luZG93Lmhpc3RvcnkuYmFjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFRvZG9bU2h1YmhhbV0gTmVlZCB0byBoYW5kbGUgZ290b0VsZW1lbnQgaW4gb3RoZXIgcGFydGlhbHNcbiAgICAgKiBOYXZpZ2F0ZXMgdG8gcGFydGljdWxhciB2aWV3XG4gICAgICogQHBhcmFtIHZpZXdOYW1lXG4gICAgICogQHBhcmFtIG9wdGlvbnNcbiAgICAgKiBAcGFyYW0gdmFyaWFibGVcbiAgICAgKi9cbiAgICBwdWJsaWMgZ29Ub1ZpZXcodmlld05hbWU6IHN0cmluZywgb3B0aW9uczogTmF2aWdhdGlvbk9wdGlvbnMsIHZhcmlhYmxlOiBhbnkpIHtcbiAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgICAgIGNvbnN0IHBhZ2VOYW1lID0gb3B0aW9ucy5wYWdlTmFtZTtcbiAgICAgICAgY29uc3QgdHJhbnNpdGlvbiA9IG9wdGlvbnMudHJhbnNpdGlvbiB8fCAnJztcbiAgICAgICAgY29uc3QgJGV2ZW50ID0gb3B0aW9ucy4kZXZlbnQ7XG4gICAgICAgIGNvbnN0IGFjdGl2ZVBhZ2UgPSB0aGlzLmFwcC5hY3RpdmVQYWdlO1xuICAgICAgICBjb25zdCBwcmVmYWJOYW1lID0gdmFyaWFibGUgJiYgdmFyaWFibGUuX2NvbnRleHQgJiYgdmFyaWFibGUuX2NvbnRleHQucHJlZmFiTmFtZTtcblxuICAgICAgICAvLyBDaGVjayBpZiBhcHAgaXMgUHJlZmFiXG4gICAgICAgIGlmICh0aGlzLmFwcC5pc1ByZWZhYlR5cGUpIHtcbiAgICAgICAgICAgIHRoaXMuZ29Ub0VsZW1lbnRWaWV3KCQocGFyZW50U2VsZWN0b3IpLmZpbmQoJ1tuYW1lPVwiJyArIHZpZXdOYW1lICsgJ1wiXScpLCB2aWV3TmFtZSwgcGFnZU5hbWUsIHZhcmlhYmxlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIGNoZWNraW5nIGlmIHRoZSBlbGVtZW50IGlzIHByZXNlbnQgaW4gdGhlIHBhZ2Ugb3Igbm90LCBpZiBubyBzaG93IGFuIGVycm9yIHRvYXN0ZXJcbiAgICAgICAgICAgIC8vIGlmIHllcyBjaGVjayBpZiBpdCBpcyBpbnNpZGUgYSBwYXJ0aWFsL3ByZWZhYiBpbiB0aGUgcGFnZSBhbmQgdGhlbiBoaWdobGlnaHQgdGhlIHJlc3BlY3RpdmUgZWxlbWVudFxuICAgICAgICAgICAgLy8gZWxzZSBnb3RvIHRoZSBwYWdlIGluIHdoaWNoIHRoZSBlbGVtZW50IGV4aXN0cyBhbmQgaGlnaGxpZ2h0IHRoZSBlbGVtZW50XG4gICAgICAgICAgICBpZiAocGFnZU5hbWUgIT09IGFjdGl2ZVBhZ2UuYWN0aXZlUGFnZU5hbWUgJiYgIXByZWZhYk5hbWUpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1BhcnRpYWxXaXRoTmFtZUV4aXN0cyhwYWdlTmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nb1RvRWxlbWVudFZpZXcoJCgnW3BhcnRpYWxjb250YWluZXJdW2NvbnRlbnQ9XCInICsgcGFnZU5hbWUgKyAnXCJdJykuZmluZCgnW25hbWU9XCInICsgdmlld05hbWUgKyAnXCJdJyksIHZpZXdOYW1lLCBwYWdlTmFtZSwgdmFyaWFibGUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRvZG9bU2h1YmhhbV06IE1ha2UgYW4gQVBJIGNhbGwgdG8gZ2V0IGFsbCBwYWdlcyBhbmQgY2hlY2sgaWYgdGhlIHBhZ2UgbmFtZVxuICAgICAgICAgICAgICAgICAgICAvLyAgaXMgYSBwYWdlIGFuZCB0aGVuIGRvIHRoaXMgY2FsbCBlbHNlIHNob3cgYW4gZXJyb3IgYXM6XG4gICAgICAgICAgICAgICAgICAgIC8vICB0aGlzLmFwcC5ub3RpZnlBcHAoQ09OU1RBTlRTLldJREdFVF9ET0VTTlRfRVhJU1QsICdlcnJvcicpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdvVG9QYWdlKHBhZ2VOYW1lLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3TmFtZTogdmlld05hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQ6ICRldmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmxQYXJhbXM6IG9wdGlvbnMudXJsUGFyYW1zXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAvLyBzdWJzY3JpYmUgdG8gYW4gZXZlbnQgbmFtZWQgcGFnZVJlYWR5IHdoaWNoIG5vdGlmaWVzIHRoaXMgc3Vic2NyaWJlclxuICAgICAgICAgICAgICAgICAgICAvLyB3aGVuIGFsbCB3aWRnZXRzIGluIHBhZ2UgYXJlIGxvYWRlZCBpLmUgd2hlbiBwYWdlIGlzIHJlYWR5XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2VSZWFkeVN1YnNjcmliZXIgPSB0aGlzLmFwcC5zdWJzY3JpYmUoJ3BhZ2VSZWFkeScsIChwYWdlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdvVG9FbGVtZW50VmlldygkKHBhcmVudFNlbGVjdG9yKS5maW5kKCdbbmFtZT1cIicgKyB2aWV3TmFtZSArICdcIl0nKSwgdmlld05hbWUsIHBhZ2VOYW1lLCB2YXJpYWJsZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWdlUmVhZHlTdWJzY3JpYmVyKCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAocHJlZmFiTmFtZSAmJiB0aGlzLmlzUHJlZmFiV2l0aE5hbWVFeGlzdHMocHJlZmFiTmFtZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdvVG9FbGVtZW50VmlldygkKCdbcHJlZmFiTmFtZT1cIicgKyBwcmVmYWJOYW1lICsgJ1wiXScpLmZpbmQoJ1tuYW1lPVwiJyArIHZpZXdOYW1lICsgJ1wiXScpLCB2aWV3TmFtZSwgcGFnZU5hbWUsIHZhcmlhYmxlKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIXBhZ2VOYW1lIHx8IHBhZ2VOYW1lID09PSBhY3RpdmVQYWdlLmFjdGl2ZVBhZ2VOYW1lKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nb1RvRWxlbWVudFZpZXcoJChwYXJlbnRTZWxlY3RvcikuZmluZCgnW25hbWU9XCInICsgdmlld05hbWUgKyAnXCJdJyksIHZpZXdOYW1lLCBwYWdlTmFtZSwgdmFyaWFibGUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcC5ub3RpZnlBcHAoQ09OU1RBTlRTLldJREdFVF9ET0VTTlRfRVhJU1QsICdlcnJvcicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBuYXZpZ2F0ZXMgdGhlIHVzZXIgdG8gYSB2aWV3IGVsZW1lbnQgd2l0aCBnaXZlbiBuYW1lXG4gICAgICogaWYgdGhlIGVsZW1lbnQgbm90IGZvdW5kIGluIHRoZSBjb21waWxlZCBtYXJrdXAsIHRoZSBzYW1lIGlzIHNlYXJjaGVkIGluIHRoZSBhdmFpbGFibGUgZGlhbG9ncyBpbiB0aGUgcGFnZVxuICAgICAqL1xuICAgIHByaXZhdGUgZ29Ub0VsZW1lbnRWaWV3KHZpZXdFbGVtZW50LCB2aWV3TmFtZTogc3RyaW5nLCBwYWdlTmFtZTogc3RyaW5nLCB2YXJpYWJsZTogYW55KSB7XG4gICAgICAgIGxldCAkZWwsIHBhcmVudERpYWxvZztcbiAgICAgICAgY29uc3QgYWN0aXZlUGFnZSA9IHRoaXMuYXBwLmFjdGl2ZVBhZ2U7XG4gICAgICAgIGlmICh2aWV3RWxlbWVudC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5hcHAuaXNQcmVmYWJUeXBlICYmIHBhZ2VOYW1lID09PSBhY3RpdmVQYWdlLmFjdGl2ZVBhZ2VOYW1lKSB7XG4gICAgICAgICAgICAgICAgdmlld0VsZW1lbnQgPSB0aGlzLmdldFZpZXdFbGVtZW50SW5BY3RpdmVQYWdlKHZpZXdFbGVtZW50KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJGVsID0gdmlld0VsZW1lbnRbMF0ud2lkZ2V0O1xuICAgICAgICAgICAgc3dpdGNoICgkZWwud2lkZ2V0VHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ3dtLWFjY29yZGlvbnBhbmUnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dBbmNlc3RvcnModmlld0VsZW1lbnQsIHZhcmlhYmxlKTtcbiAgICAgICAgICAgICAgICAgICAgJGVsLmV4cGFuZCgpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICd3bS10YWJwYW5lJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93QW5jZXN0b3JzKHZpZXdFbGVtZW50LCB2YXJpYWJsZSk7XG4gICAgICAgICAgICAgICAgICAgICRlbC5zZWxlY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnd20tc2VnbWVudC1jb250ZW50JzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93QW5jZXN0b3JzKHZpZXdFbGVtZW50LCB2YXJpYWJsZSk7XG4gICAgICAgICAgICAgICAgICAgICRlbC5uYXZpZ2F0ZSgpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICd3bS1wYW5lbCc6XG4gICAgICAgICAgICAgICAgICAgIC8qIGZsaXAgdGhlIGFjdGl2ZSBmbGFnICovXG4gICAgICAgICAgICAgICAgICAgICRlbC5leHBhbmRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyZW50RGlhbG9nID0gdGhpcy5zaG93QW5jZXN0b3JEaWFsb2codmlld05hbWUpO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcmVudERpYWxvZykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdvVG9FbGVtZW50VmlldygkKCdbbmFtZT1cIicgKyB2aWV3TmFtZSArICdcIl0nKSwgdmlld05hbWUsIHBhZ2VOYW1lLCB2YXJpYWJsZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBJZiBwYWdlIG5hbWUgaXMgZXF1YWwgdG8gYWN0aXZlIHBhZ2VOYW1lLCB0aGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGVsZW1lbnQgaW4gdGhlIHBhZ2UuXG4gICAgIFRoZSBlbGVtZW50IGluIHRoZSBwYXJ0aWFsIHBhZ2UgaXMgbm90IHNlbGVjdGVkLiovXG4gICAgcHJpdmF0ZSBnZXRWaWV3RWxlbWVudEluQWN0aXZlUGFnZSgkZWwpIHtcbiAgICAgICAgbGV0IHNlbGVjdG9yO1xuICAgICAgICBpZiAoJGVsLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHNlbGVjdG9yID0gZmlsdGVyKCRlbCwgKGNoaWxkU2VsZWN0b3IpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXNFbXB0eSgkKGNoaWxkU2VsZWN0b3IpLmNsb3Nlc3QoJ1tkYXRhLXJvbGUgPSBcInBhcnRpYWxcIl0nKSkgJiYgaXNFbXB0eSgkKGNoaWxkU2VsZWN0b3IpLmNsb3Nlc3QoJ1t3bXByZWZhYmNvbnRhaW5lcl0nKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNoaWxkU2VsZWN0b3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0b3IpIHtcbiAgICAgICAgICAgICAgICAkZWwgPSAkKHNlbGVjdG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJGVsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNoZWNrcyBpZiB0aGUgcGFnZWNvbnRhaW5lciBoYXMgdGhlIHBhZ2VOYW1lLlxuICAgICAqL1xuICAgIHByaXZhdGUgaXNQYXJ0aWFsV2l0aE5hbWVFeGlzdHMobmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiAkKCdbcGFydGlhbGNvbnRhaW5lcl1bY29udGVudD1cIicgKyBuYW1lICsgJ1wiXScpLmxlbmd0aDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjaGVja3MgaWYgdGhlIHBhZ2Vjb250YWluZXIgaGFzIHRoZSBwcmVmYWIuXG4gICAgICovXG4gICAgcHJpdmF0ZSBpc1ByZWZhYldpdGhOYW1lRXhpc3RzKHByZWZhYk5hbWU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gJCgnW3ByZWZhYk5hbWU9XCInICsgcHJlZmFiTmFtZSArICdcIl0nKS5sZW5ndGg7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBzaG93cyBhbGwgdGhlIHBhcmVudCBjb250YWluZXIgdmlldyBlbGVtZW50cyBmb3IgYSBnaXZlbiB2aWV3IGVsZW1lbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIHNob3dBbmNlc3RvcnMoZWxlbWVudCwgdmFyaWFibGUpIHtcbiAgICAgICAgY29uc3QgYW5jZXN0b3JTZWFyY2hRdWVyeSA9ICdbd20tbmF2aWdhYmxlLWVsZW1lbnQ9XCJ0cnVlXCJdJztcblxuICAgICAgICBlbGVtZW50XG4gICAgICAgICAgICAucGFyZW50cyhhbmNlc3RvclNlYXJjaFF1ZXJ5KVxuICAgICAgICAgICAgLnRvQXJyYXkoKVxuICAgICAgICAgICAgLnJldmVyc2UoKVxuICAgICAgICAgICAgLmZvckVhY2goKHBhcmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0ICRlbCA9IHBhcmVudC53aWRnZXQ7XG4gICAgICAgICAgICAgICAgc3dpdGNoICgkZWwud2lkZ2V0VHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlICd3bS1hY2NvcmRpb25wYW5lJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICRlbC5leHBhbmQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICd3bS10YWJwYW5lJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICRlbC5zZWxlY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICd3bS1zZWdtZW50LWNvbnRlbnQnOlxuICAgICAgICAgICAgICAgICAgICAgICAgJGVsLm5hdmlnYXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnd20tcGFuZWwnOlxuICAgICAgICAgICAgICAgICAgICAgICAgLyogZmxpcCB0aGUgYWN0aXZlIGZsYWcgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICRlbC5leHBhbmRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cblxuXG4gICAgLypcbiAgICAgKiBzZWFyY2hlcyBmb3IgYSBnaXZlbiB2aWV3IGVsZW1lbnQgaW5zaWRlIHRoZSBhdmFpbGFibGUgZGlhbG9ncyBpbiBjdXJyZW50IHBhZ2VcbiAgICAgKiBpZiBmb3VuZCwgdGhlIGRpYWxvZyBpcyBkaXNwbGF5ZWQsIHRoZSBkaWFsb2cgaWQgaXMgcmV0dXJuZWQuXG4gICAgICovXG4gICAgcHJpdmF0ZSBzaG93QW5jZXN0b3JEaWFsb2codmlld05hbWU6IHN0cmluZykge1xuICAgICAgICBsZXQgZGlhbG9nSWQ7XG4gICAgICAgICQoJ2FwcC1yb290IFtkaWFsb2d0eXBlXScpXG4gICAgICAgICAgICAuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGlhbG9nID0gJCh0aGlzKTtcbiAgICAgICAgICAgICAgICBpZiAoJChkaWFsb2cuaHRtbCgpKS5maW5kKCdbbmFtZT1cIicgKyB2aWV3TmFtZSArICdcIl0nKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlhbG9nSWQgPSBkaWFsb2cuYXR0cignbmFtZScpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBkaWFsb2dJZDtcbiAgICB9XG59XG5cbmNsYXNzIFBhZ2VJbmZvIHtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBuYW1lLCBwdWJsaWMgdXJsUGFyYW1zPywgcHVibGljIHRyYW5zaXRpb24/KSB7XG4gICAgICAgIHRoaXMudHJhbnNpdGlvbiA9IGlzRW1wdHkodGhpcy50cmFuc2l0aW9uKSA/IG51bGwgOiB0aGlzLnRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgcHVibGljIGlzRXF1YWwocGFnZTE6IFBhZ2VJbmZvKSB7XG4gICAgICAgIHJldHVybiBwYWdlMSAmJiBwYWdlMS5uYW1lID09PSB0aGlzLm5hbWUgJiYgaXNFcXVhbChwYWdlMS51cmxQYXJhbXMsIHRoaXMudXJsUGFyYW1zKTtcbiAgICB9XG59XG5cbmNsYXNzIEhpc3Rvcnkge1xuICAgIHByaXZhdGUgc3RhY2s6IEFycmF5PFBhZ2VJbmZvPiA9IFtdO1xuICAgIHByaXZhdGUgY3VycmVudFBhZ2U6IFBhZ2VJbmZvO1xuXG4gICAgcHVibGljIGdldEN1cnJlbnRQYWdlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50UGFnZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UGFnZXNDb3VudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhY2subGVuZ3RoO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0xhc3RWaXNpdGVkUGFnZShwYWdlOiBQYWdlSW5mbykge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRMYXN0UGFnZSgpLmlzRXF1YWwocGFnZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHB1c2gocGFnZUluZm86IFBhZ2VJbmZvKSB7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRQYWdlKSB7XG4gICAgICAgICAgICB0aGlzLnN0YWNrLnB1c2godGhpcy5jdXJyZW50UGFnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IHBhZ2VJbmZvO1xuICAgIH1cblxuICAgIHB1YmxpYyBwb3AoKSB7XG4gICAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSB0aGlzLnN0YWNrLnBvcCgpO1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50UGFnZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TGFzdFBhZ2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YWNrLmxlbmd0aCA+IDAgPyB0aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoIC0gMV0gOiB1bmRlZmluZWQ7XG4gICAgfVxufVxuIl19
|
|
@@ -3,6 +3,7 @@ import { loadScripts, loadStyleSheets, stringStartsWith } from '@wm/core';
|
|
|
3
3
|
import { MetadataService } from '@wm/variables';
|
|
4
4
|
import { PrefabConfigProvider } from '../types/types';
|
|
5
5
|
import { getPrefabBaseUrl, isPrefabInPreview } from '../util/utils';
|
|
6
|
+
import { endsWith } from "lodash-es";
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "@wm/variables";
|
|
8
9
|
import * as i2 from "../types/types";
|
|
@@ -30,7 +31,7 @@ export class PrefabManagerService {
|
|
|
30
31
|
loadStyles(prefabName, { resources: { styles } } = { resources: { styles: [] } }) {
|
|
31
32
|
const baseUrl = getPrefabBaseUrl(prefabName);
|
|
32
33
|
const _styles = styles.map(url => {
|
|
33
|
-
if (!
|
|
34
|
+
if (!endsWith(url, '/pages/Main/Main.css')) {
|
|
34
35
|
return getPrefabResourceUrl(url, baseUrl);
|
|
35
36
|
}
|
|
36
37
|
return undefined;
|
|
@@ -91,4 +92,4 @@ export class PrefabManagerService {
|
|
|
91
92
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrefabManagerService, [{
|
|
92
93
|
type: Injectable
|
|
93
94
|
}], () => [{ type: i1.MetadataService }, { type: i2.PrefabConfigProvider }], null); })();
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmFiLW1hbmFnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3J1bnRpbWUtYmFzZS9zcmMvc2VydmljZXMvcHJlZmFiLW1hbmFnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxXQUFXLENBQUM7Ozs7QUFFbkMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0FBQzNDLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxFQUF3QixDQUFDO0FBQ25ELE1BQU0sZUFBZSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7QUFFMUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxFQUFFO0lBQzVELElBQUksSUFBSSxHQUFHLFlBQVksQ0FBQztJQUN4QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLHFCQUFxQixDQUFDLEVBQUUsQ0FBQztRQUN6RCxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDLENBQUM7QUFHRixNQUFNLE9BQU8sb0JBQW9CO0lBRTdCLFlBQ1ks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ci9jb3JlJztcblxuaW1wb3J0IHsgbG9hZFNjcmlwdHMsIGxvYWRTdHlsZVNoZWV0cywgc3RyaW5nU3RhcnRzV2l0aCB9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7IE1ldGFkYXRhU2VydmljZSB9IGZyb20gJ0B3bS92YXJpYWJsZXMnO1xuXG5pbXBvcnQgeyBQcmVmYWJDb25maWdQcm92aWRlciB9IGZyb20gJy4uL3R5cGVzL3R5cGVzJztcbmltcG9ydCB7IGdldFByZWZhYkJhc2VVcmwsIGlzUHJlZmFiSW5QcmV2aWV3IH0gZnJvbSAnLi4vdXRpbC91dGlscyc7XG5pbXBvcnQge2VuZHNXaXRofSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbmNvbnN0IHByZWZhYnNXaXRoRXJyb3IgPSBuZXcgU2V0PHN0cmluZz4oKTtcbmNvbnN0IGluUHJvZ3Jlc3MgPSBuZXcgTWFwPHN0cmluZywgUHJvbWlzZTxhbnk+PigpO1xuY29uc3QgcmVzb2x2ZWRQcmVmYWJzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbmNvbnN0IGdldFByZWZhYlJlc291cmNlVXJsID0gKHJlc291cmNlUGF0aCwgcmVzb3VyY2VCYXNlUGF0aCkgPT4ge1xuICAgIGxldCBfdXJsID0gcmVzb3VyY2VQYXRoO1xuICAgIGlmICghc3RyaW5nU3RhcnRzV2l0aChyZXNvdXJjZVBhdGgsICdodHRwOi8vfGh0dHBzOi8vfC8vJykpIHtcbiAgICAgICAgX3VybCA9IChyZXNvdXJjZUJhc2VQYXRoICsgX3VybCkucmVwbGFjZSgnLy8nLCAnLycpO1xuICAgIH1cbiAgICByZXR1cm4gX3VybDtcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQcmVmYWJNYW5hZ2VyU2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSAkbWV0YWRhdGE6IE1ldGFkYXRhU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBwcmVmYWJDb25maWdQcm92aWRlcjogUHJlZmFiQ29uZmlnUHJvdmlkZXJcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgZ2V0Q29uZmlnKHByZWZhYk5hbWUpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wcmVmYWJDb25maWdQcm92aWRlci5nZXRDb25maWcocHJlZmFiTmFtZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGxvYWRTZXJ2aWNlRGVmcyhwcmVmYWJOYW1lKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGlzUHJlZmFiSW5QcmV2aWV3KHByZWZhYk5hbWUpID8gUHJvbWlzZS5yZXNvbHZlKCkgOiB0aGlzLiRtZXRhZGF0YS5sb2FkKHByZWZhYk5hbWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBsb2FkU3R5bGVzKHByZWZhYk5hbWUsIHtyZXNvdXJjZXM6IHtzdHlsZXN9fSA9IHtyZXNvdXJjZXM6IHtzdHlsZXM6IFtdfX0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgYmFzZVVybCA9IGdldFByZWZhYkJhc2VVcmwocHJlZmFiTmFtZSk7XG4gICAgICAgIGNvbnN0IF9zdHlsZXMgPSBzdHlsZXMubWFwKHVybCA9PiB7XG4gICAgICAgICAgICBpZiAoIWVuZHNXaXRoKHVybCwgJy9wYWdlcy9NYWluL01haW4uY3NzJykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0UHJlZmFiUmVzb3VyY2VVcmwodXJsLCBiYXNlVXJsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH0pLmZpbHRlcih1cmwgPT4gISF1cmwpO1xuXG4gICAgICAgIGxvYWRTdHlsZVNoZWV0cyhfc3R5bGVzKTtcblxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuXG4gICAgLy8gVE9ETyBbVmluYXldIC0gaW1wbGVtZW50IG9uUHJlZmFiUmVzb3VyY2VMb2FkXG4gICAgcHJvdGVjdGVkIGxvYWRTY3JpcHRzKHByZWZhYk5hbWUsIHtyZXNvdXJjZXM6IHtzY3JpcHRzfX0gPSB7cmVzb3VyY2VzOiB7c2NyaXB0czogW119fSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IGJhc2VVcmwgPSBnZXRQcmVmYWJCYXNlVXJsKHByZWZhYk5hbWUpO1xuICAgICAgICBzY3JpcHRzID0gc2NyaXB0cy5maWx0ZXIoc2NyaXB0ID0+ICFzY3JpcHQuc3RhcnRzV2l0aCgnbnBtOi8vJykpO1xuICAgICAgICBjb25zdCBfc2NyaXB0cyA9IHNjcmlwdHMubWFwKHVybCA9PiBnZXRQcmVmYWJSZXNvdXJjZVVybCh1cmwsIGJhc2VVcmwpKTtcblxuICAgICAgICByZXR1cm4gbG9hZFNjcmlwdHMoX3NjcmlwdHMsIHRydWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SW5Qcm9ncmVzcyhwcmVmYWJOYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgbGV0IF9yZXM7XG4gICAgICAgIGxldCBfcmVqO1xuICAgICAgICBjb25zdCBfcHJvbWlzZTogYW55ID0gbmV3IFByb21pc2UoKHJlcywgcmVqKSA9PiB7XG4gICAgICAgICAgICBfcmVzID0gcmVzO1xuICAgICAgICAgICAgX3JlaiA9IHJlajtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgX3Byb21pc2UucmVzb2x2ZSA9IF9yZXM7XG4gICAgICAgIF9wcm9taXNlLnJlamVjdCA9IF9yZWo7XG5cbiAgICAgICAgaW5Qcm9ncmVzcy5zZXQocHJlZmFiTmFtZSwgX3Byb21pc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzb2x2ZUluUHJvZ3Jlc3MocHJlZmFiTmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGlmIChpblByb2dyZXNzLmdldChwcmVmYWJOYW1lKSkge1xuICAgICAgICAgICAgKGluUHJvZ3Jlc3MuZ2V0KHByZWZhYk5hbWUpIGFzIGFueSkucmVzb2x2ZSgpO1xuICAgICAgICAgICAgaW5Qcm9ncmVzcy5kZWxldGUocHJlZmFiTmFtZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbG9hZERlcGVuZGVuY2llcyhwcmVmYWJOYW1lKTogUHJvbWlzZTx2b2lkPiB7XG5cbiAgICAgICAgaWYgKHJlc29sdmVkUHJlZmFicy5oYXMocHJlZmFiTmFtZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcmVmYWJzV2l0aEVycm9yLmhhcyhwcmVmYWJOYW1lKSkge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpblByb2dyZXNzLmdldChwcmVmYWJOYW1lKSkge1xuICAgICAgICAgICAgcmV0dXJuIGluUHJvZ3Jlc3MuZ2V0KHByZWZhYk5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXRJblByb2dyZXNzKHByZWZhYk5hbWUpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmdldENvbmZpZyhwcmVmYWJOYW1lKVxuICAgICAgICAgICAgLnRoZW4oY29uZmlnID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoW1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRTdHlsZXMocHJlZmFiTmFtZSwgY29uZmlnKSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkU2NyaXB0cyhwcmVmYWJOYW1lLCBjb25maWcpLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRTZXJ2aWNlRGVmcyhwcmVmYWJOYW1lKVxuICAgICAgICAgICAgICAgIF0pLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc29sdmVJblByb2dyZXNzKHByZWZhYk5hbWUpO1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlZFByZWZhYnMuYWRkKHByZWZhYk5hbWUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { Subject } from 'rxjs';
|
|
3
3
|
import { AbstractSpinnerService } from '@wm/core';
|
|
4
|
+
import { findKey, includes, keys, values } from "lodash-es";
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
const spinnerTemplate = `<div class="app-spinner">
|
|
6
7
|
<div class="spinner-message" aria-label="loading gif">
|
|
@@ -59,7 +60,7 @@ export class SpinnerServiceImpl extends AbstractSpinnerService {
|
|
|
59
60
|
this.messageSource.next({
|
|
60
61
|
show: true,
|
|
61
62
|
message: msg,
|
|
62
|
-
messages:
|
|
63
|
+
messages: values(this.messagesByContext[ctx])
|
|
63
64
|
});
|
|
64
65
|
}
|
|
65
66
|
/**
|
|
@@ -100,8 +101,8 @@ export class SpinnerServiceImpl extends AbstractSpinnerService {
|
|
|
100
101
|
*/
|
|
101
102
|
hide(id) {
|
|
102
103
|
// find the spinner context of the id from the messagesByContext
|
|
103
|
-
const ctx =
|
|
104
|
-
return
|
|
104
|
+
const ctx = findKey(this.messagesByContext, function (obj) {
|
|
105
|
+
return includes(keys(obj), id);
|
|
105
106
|
}) || 'page';
|
|
106
107
|
// if spinnerContext exists just remove the spinner from the reference and destroy the scope associated.
|
|
107
108
|
if (ctx !== 'page') {
|
|
@@ -110,10 +111,10 @@ export class SpinnerServiceImpl extends AbstractSpinnerService {
|
|
|
110
111
|
}
|
|
111
112
|
if (id) {
|
|
112
113
|
delete this.messagesByContext[ctx][id];
|
|
113
|
-
const messages =
|
|
114
|
+
const messages = values(this.messagesByContext[ctx]);
|
|
114
115
|
this.messageSource.next({
|
|
115
116
|
show: messages.length ? true : false,
|
|
116
|
-
messages:
|
|
117
|
+
messages: values(this.messagesByContext[ctx])
|
|
117
118
|
});
|
|
118
119
|
}
|
|
119
120
|
else {
|
|
@@ -126,4 +127,4 @@ export class SpinnerServiceImpl extends AbstractSpinnerService {
|
|
|
126
127
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SpinnerServiceImpl, [{
|
|
127
128
|
type: Injectable
|
|
128
129
|
}], () => [], null); })();
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1iYXNlL3NyYy9zZXJ2aWNlcy9zcGlubmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFJbEQsTUFBTSxlQUFlLEdBQUc7Ozs7Ozs7Z0NBT1EsQ0FBQztBQUdqQyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsc0JBQXNCO0lBSzFEO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFMWixjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2Qsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzlCLHNCQUFpQixHQUFHLEVBQUUsQ0FBQztJQUl2QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsZ0JBQWdCO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNILGtCQUFrQixDQUFDLEdBQVcsRUFBRSxPQUFlLEVBQUUsRUFBVTtRQUN2RCxNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsU0FBUyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoRSwrQ0FBK0M7UUFDL0MsK0RBQStEO1FBQy9ELHlCQUF5QjtRQUN6QixJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRyxDQUFDO1lB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QUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDckMsQ0FBQztJQUNMLENBQUM7bUZBdEhRLGtCQUFrQjt1RUFBbEIsa0JBQWtCLFdBQWxCLGtCQUFrQjs7aUZBQWxCLGtCQUFrQjtjQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFic3RyYWN0U3Bpbm5lclNlcnZpY2UgfSBmcm9tICdAd20vY29yZSc7XG5cbmRlY2xhcmUgY29uc3QgXywgJDtcblxuY29uc3Qgc3Bpbm5lclRlbXBsYXRlID0gYDxkaXYgY2xhc3M9XCJhcHAtc3Bpbm5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyLW1lc3NhZ2VcIiBhcmlhLWxhYmVsPVwibG9hZGluZyBnaWZcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJzcGlubmVyLWltYWdlIGFuaW1hdGVkIGluZmluaXRlIGZhIGZhLWNpcmNsZS1vLW5vdGNoIGZhLXNwaW5cIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyLW1lc3NhZ2VzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInNwaW5uZXItbWVzc2FnZXMtY29udGFpbmVyXCI+PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PmA7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTcGlubmVyU2VydmljZUltcGwgZXh0ZW5kcyBBYnN0cmFjdFNwaW5uZXJTZXJ2aWNlIHtcbiAgICBzcGlubmVySWQgPSAwO1xuICAgIG1lc3NhZ2VTb3VyY2UgPSBuZXcgU3ViamVjdCgpO1xuICAgIG1lc3NhZ2VzQnlDb250ZXh0ID0ge307XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZXR1cm5zIHRoZSBtZXNzYWdlIHNvdXJjZSBzdWJqZWN0XG4gICAgICogQHJldHVybnMge1N1YmplY3Q8YW55Pn1cbiAgICAgKi9cbiAgICBnZXRNZXNzYWdlU291cmNlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5tZXNzYWdlU291cmNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHNob3cgc3Bpbm5lciBvbiBhIGNvbnRhaW5lciBlbGVtZW50XG4gICAgICovXG4gICAgc2hvd0NvbnRleHRTcGlubmVyKGN0eDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcsIGlkOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgY3R4TWFya3VwID0gJCgnW25hbWU9XCInICsgY3R4ICsgJ1wiXScpO1xuICAgICAgICB0aGlzLm1lc3NhZ2VzQnlDb250ZXh0W2N0eF0gPSB0aGlzLm1lc3NhZ2VzQnlDb250ZXh0W2N0eF0gfHwge307XG4gICAgICAgIC8vIElmIHRoZSBzcGlubmVyIGFscmVhZHkgZXhpc3RzIG9uIHRoZSBjb250ZXh0XG4gICAgICAgIC8vIHRoZW4ganVzdCBhcHBlbmQgdGhlIG1lc3NhZ2UgdG8gdGhlIGV4aXN0aW5nIHNwaW5uZXIgbWVzc2FnZVxuICAgICAgICAvLyBlbHNlIGFkZCBhIG5ldyBzcGlubmVyXG4gICAgICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLm1lc3NhZ2VzQnlDb250ZXh0W2N0eF0pLmxlbmd0aCAhPT0gMCApIHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZXNCeUNvbnRleHRbY3R4XVtpZF0gPSBtZXNzYWdlO1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlc0J5Q29udGV4dFtjdHhdWydmaW5hbE1lc3NhZ2UnXSA9IHRoaXMubWVzc2FnZXNCeUNvbnRleHRbY3R4XVsnZmluYWxNZXNzYWdlJ10gKyAnICcgKyB0aGlzLm1lc3NhZ2VzQnlDb250ZXh0W2N0eF1baWRdO1xuICAgICAgICAgICAgY3R4TWFya3VwLmZpbmQoJy5zcGlubmVyLW1lc3NhZ2VzLWNvbnRhaW5lcicpLmh0bWwodGhpcy5tZXNzYWdlc0J5Q29udGV4dFtjdHhdWydmaW5hbE1lc3NhZ2UnXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBjdHhTcGlubmVyVGVtcCA9ICQoc3Bpbm5lclRlbXBsYXRlKTtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZXNCeUNvbnRleHRbY3R4XVtpZF0gPSBtZXNzYWdlO1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlc0J5Q29udGV4dFtjdHhdWydmaW5hbE1lc3NhZ2UnXSA9IHRoaXMubWVzc2FnZXNCeUNvbnRleHRbY3R4XVtpZF07XG4gICAgICAgICAgICBjdHhTcGlubmVyVGVtcC5maW5kKCcuc3Bpbm5lci1tZXNzYWdlcy1jb250YWluZXInKS5odG1sKHRoaXMubWVzc2FnZXNCeUNvbnRleHRbY3R4XVsnZmluYWxNZXNzYWdlJ10pO1xuICAgICAgICAgICAgY3R4TWFya3VwLnByZXBlbmQoY3R4U3Bpbm5lclRlbXApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBzaG93IHRoZSBhcHAgc3Bpbm5lciB3aXRoIHByb3ZpZGVkIG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gbXNnXG4gICAgICogQHJldHVybnMge3N0cmluZ31cbiAgICAgKi9cbiAgICBzaG93QXBwU3Bpbm5lcihtc2csIGlkKSB7XG4gICAgICAgIGNvbnN0IGN0eCA9ICdwYWdlJztcbiAgICAgICAgdGhpcy5tZXNzYWdlc0J5Q29udGV4dFtjdHhdID0gdGhpcy5tZXNzYWdlc0J5Q29udGV4dFtjdHhdIHx8IHt9O1xuICAgICAgICB0aGlzLm1lc3NhZ2VzQnlDb250ZXh0W2N0eF1baWRdID0gbXNnO1xuXG4gICAgICAgIHRoaXMubWVzc2FnZVNvdXJjZS5uZXh0KHtcbiAgICAgICAgICAgIHNob3c6IHRydWUsXG4gICAgICAgICAgICBtZXNzYWdlOiBtc2csXG4gICAgICAgICAgICBtZXNzYWdlczogXy52YWx1ZXModGhpcy5tZXNzYWdlc0J5Q29udGV4dFtjdHhdKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBoaWRlcyB0aGUgc3Bpbm5lciBvbiBhIHBhcnRpY3VsYXIgY29udGFpbmVyKGNvbnRleHQpXG4gICAgICogQHBhcmFtIGN0eFxuICAgICAqIEBwYXJhbSBpZFxuICAgICAqL1xuICAgIGhpZGVDb250ZXh0U3Bpbm5lcihjdHgsIGlkKSB7XG4gICAgICAgIGRlbGV0ZSB0aGlzLm1lc3NhZ2VzQnlDb250ZXh0W2N0eF1baWRdO1xuICAgICAgICBpZiAoT2JqZWN0LmtleXModGhpcy5tZXNzYWdlc0J5Q29udGV4dFtjdHhdKS5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZXNCeUNvbnRleHRbY3R4XSA9IHt9O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGN0eE1hcmt1cCA9ICQoJ1tuYW1lPVwiJyArIGN0eCArICdcIl0nKTtcbiAgICAgICAgY3R4TWFya3VwLmZpbmQoJy5hcHAtc3Bpbm5lcicpLnJlbW92ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHNob3cgc3Bpbm5lclxuICAgICAqIEBwYXJhbSBtZXNzYWdlXG4gICAgICogQHBhcmFtIGlkXG4gICAgICogQHBhcmFtIHNwaW5uZXJDbGFzc1xuICAgICAqIEBwYXJhbSBzcGlubmVyQ29udGV4dFxuICAgICAqIEBwYXJhbSB2YXJpYWJsZVNjb3BlSWRcbiAgICAgKiBAcmV0dXJucyB7YW55fVxuICAgICAqL1xuICAgIHNob3cobWVzc2FnZSwgaWQ/LCBzcGlubmVyQ2xhc3M/LCBzcGlubmVyQ29udGV4dD8sIHZhcmlhYmxlU2NvcGVJZD8pIHtcbiAgICAgICAgaWQgICAgICA9IGlkIHx8ICsrdGhpcy5zcGlubmVySWQ7XG4gICAgICAgIC8vIGlmIHNwaW5uZXJDb250ZXh0IGlzIHBhc3NlZCwgdGhlbiBhcHBlbmQgdGhlIHNwaW5uZXIgdG8gdGhlIGVsZW1lbnQoZGVmYXVsdCBtZXRob2QgZm9yIHZhcmlhYmxlIGNhbGxzKS5cbiAgICAgICAgaWYgKHNwaW5uZXJDb250ZXh0ICYmIHNwaW5uZXJDb250ZXh0ICE9PSAncGFnZScpIHtcbiAgICAgICAgICAgIC8vIHJldHVybiBhZnRlciB0aGUgY29tcGlsZWQgc3Bpbm5lciBpcyBhcHBlbmRlZCB0byB0aGUgZWxlbWVudCByZWZlcmVuY2VcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNob3dDb250ZXh0U3Bpbm5lcihzcGlubmVyQ29udGV4dCwgbWVzc2FnZSwgaWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zaG93QXBwU3Bpbm5lcihtZXNzYWdlLCBpZCk7XG4gICAgICAgIHJldHVybiBpZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBoaWRlIHRoZSBzcGlubmVyXG4gICAgICogQHBhcmFtIHNwaW5uZXJJZFxuICAgICAqL1xuICAgIGhpZGUoaWQpIHtcbiAgICAgICAgLy8gZmluZCB0aGUgc3Bpbm5lciBjb250ZXh0IG9mIHRoZSBpZCBmcm9tIHRoZSBtZXNzYWdlc0J5Q29udGV4dFxuICAgICAgICBjb25zdCBjdHggPSBfLmZpbmRLZXkodGhpcy5tZXNzYWdlc0J5Q29udGV4dCwgZnVuY3Rpb24gKG9iaikge1xuICAgICAgICAgICAgcmV0dXJuIF8uaW5jbHVkZXMoXy5rZXlzKG9iaiksIGlkKTtcbiAgICAgICAgfSkgfHwgJ3BhZ2UnO1xuXG4gICAgICAgIC8vIGlmIHNwaW5uZXJDb250ZXh0IGV4aXN0cyBqdXN0IHJlbW92ZSB0aGUgc3Bpbm5lciBmcm9tIHRoZSByZWZlcmVuY2UgYW5kIGRlc3Ryb3kgdGhlIHNjb3BlIGFzc29jaWF0ZWQuXG4gICAgICAgIGlmIChjdHggIT09ICdwYWdlJykge1xuICAgICAgICAgICAgdGhpcy5oaWRlQ29udGV4dFNwaW5uZXIoY3R4LCBpZCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaWQpIHtcbiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLm1lc3NhZ2VzQnlDb250ZXh0W2N0eF1baWRdO1xuICAgICAgICAgICAgY29uc3QgbWVzc2FnZXMgPSBfLnZhbHVlcyh0aGlzLm1lc3NhZ2VzQnlDb250ZXh0W2N0eF0pO1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlU291cmNlLm5leHQoe1xuICAgICAgICAgICAgICAgIHNob3c6IG1lc3NhZ2VzLmxlbmd0aCA/IHRydWUgOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBtZXNzYWdlczogXy52YWx1ZXModGhpcy5tZXNzYWdlc0J5Q29udGV4dFtjdHhdKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VzQnlDb250ZXh0W2N0eF0gPSB7fTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1iYXNlL3NyYy9zZXJ2aWNlcy9zcGlubmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsRCxPQUFPLEVBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFDLE1BQU0sV0FBVyxDQUFDOztBQUkxRCxNQUFNLGVBQWUsR0FBRzs7Ozs7OztnQ0FPUSxDQUFDO0FBR2pDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxzQkFBc0I7SUFLMUQ7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQUxaLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDOUIsc0JBQWlCLEdBQUcsRUFBRSxDQUFDO0lBSXZCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxnQkFBZ0I7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCLENBQUMsR0FBVyxFQUFFLE9BQWUsRUFBRSxFQUFVO1FBQ3ZELE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxTQUFTLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hFLCtDQUErQztRQUMvQywrREFBK0Q7UUFDL0QseUJBQXlCO1FBQ3pCLElBQUksTUFBTSxDQUFDLElBQUksQ0FB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QUFDO1lBQ0osSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNyQyxDQUFDO0lBQ0wsQ0FBQzttRkF0SFEsa0JBQWtCO3VFQUFsQixrQkFBa0IsV0FBbEIsa0JBQWtCOztpRkFBbEIsa0JBQWtCO2NBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQWJzdHJhY3RTcGlubmVyU2VydmljZSB9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7ZmluZEtleSwgaW5jbHVkZXMsIGtleXMsIHZhbHVlc30gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5kZWNsYXJlIGNvbnN0ICQ7XG5cbmNvbnN0IHNwaW5uZXJUZW1wbGF0ZSA9IGA8ZGl2IGNsYXNzPVwiYXBwLXNwaW5uZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Bpbm5lci1tZXNzYWdlXCIgYXJpYS1sYWJlbD1cImxvYWRpbmcgZ2lmXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwic3Bpbm5lci1pbWFnZSBhbmltYXRlZCBpbmZpbml0ZSBmYSBmYS1jaXJjbGUtby1ub3RjaCBmYS1zcGluXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Bpbm5lci1tZXNzYWdlc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJzcGlubmVyLW1lc3NhZ2VzLWNvbnRhaW5lclwiPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5gO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU3Bpbm5lclNlcnZpY2VJbXBsIGV4dGVuZHMgQWJzdHJhY3RTcGlubmVyU2VydmljZSB7XG4gICAgc3Bpbm5lcklkID0gMDtcbiAgICBtZXNzYWdlU291cmNlID0gbmV3IFN1YmplY3QoKTtcbiAgICBtZXNzYWdlc0J5Q29udGV4dCA9IHt9O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmV0dXJucyB0aGUgbWVzc2FnZSBzb3VyY2Ugc3ViamVjdFxuICAgICAqIEByZXR1cm5zIHtTdWJqZWN0PGFueT59XG4gICAgICovXG4gICAgZ2V0TWVzc2FnZVNvdXJjZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZVNvdXJjZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBzaG93IHNwaW5uZXIgb24gYSBjb250YWluZXIgZWxlbWVudFxuICAgICAqL1xuICAgIHNob3dDb250ZXh0U3Bpbm5lcihjdHg6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nLCBpZDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGN0eE1hcmt1cCA9ICQoJ1tuYW1lPVwiJyArIGN0eCArICdcIl0nKTtcbiAgICAgICAgdGhpcy5tZXNzYWdlc0J5Q29udGV4dFtjdHhdID0gdGhpcy5tZXNzYWdlc0J5Q29udGV4dFtjdHhdIHx8IHt9O1xuICAgICAgICAvLyBJZiB0aGUgc3Bpbm5lciBhbHJlYWR5IGV4aXN0cyBvbiB0aGUgY29udGV4dFxuICAgICAgICAvLyB0aGVuIGp1c3QgYXBwZW5kIHRoZSBtZXNzYWdlIHRvIHRoZSBleGlzdGluZyBzcGlubmVyIG1lc3NhZ2VcbiAgICAgICAgLy8gZWxzZSBhZGQgYSBuZXcgc3Bpbm5lclxuICAgICAgICBpZiAoT2JqZWN0LmtleXModGhpcy5tZXNzYWdlc0J5Q29udGV4dFtjdHhdKS5sZW5ndGggIT09IDAgKSB7XG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VzQnlDb250ZXh0W2N0eF1baWRdID0gbWVzc2FnZTtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZXNCeUNvbnRleHRbY3R4XVsnZmluYWxNZXNzYWdlJ10gPSB0aGlzLm1lc3NhZ2VzQnlDb250ZXh0W2N0eF1bJ2ZpbmFsTWVzc2FnZSddICsgJyAnICsgdGhpcy5tZXNzYWdlc0J5Q29udGV4dFtjdHhdW2lkXTtcbiAgICAgICAgICAgIGN0eE1hcmt1cC5maW5kKCcuc3Bpbm5lci1tZXNzYWdlcy1jb250YWluZXInKS5odG1sKHRoaXMubWVzc2FnZXNCeUNvbnRleHRbY3R4XVsnZmluYWxNZXNzYWdlJ10pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgY3R4U3Bpbm5lclRlbXAgPSAkKHNwaW5uZXJUZW1wbGF0ZSk7XG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VzQnlDb250ZXh0W2N0eF1baWRdID0gbWVzc2FnZTtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZXNCeUNvbnRleHRbY3R4XVsnZmluYWxNZXNzYWdlJ10gPSB0aGlzLm1lc3NhZ2VzQnlDb250ZXh0W2N0eF1baWRdO1xuICAgICAgICAgICAgY3R4U3Bpbm5lclRlbXAuZmluZCgnLnNwaW5uZXItbWVzc2FnZXMtY29udGFpbmVyJykuaHRtbCh0aGlzLm1lc3NhZ2VzQnlDb250ZXh0W2N0eF1bJ2ZpbmFsTWVzc2FnZSddKTtcbiAgICAgICAgICAgIGN0eE1hcmt1cC5wcmVwZW5kKGN0eFNwaW5uZXJUZW1wKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogc2hvdyB0aGUgYXBwIHNwaW5uZXIgd2l0aCBwcm92aWRlZCBtZXNzYWdlXG4gICAgICogQHBhcmFtIG1zZ1xuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAgICovXG4gICAgc2hvd0FwcFNwaW5uZXIobXNnLCBpZCkge1xuICAgICAgICBjb25zdCBjdHggPSAncGFnZSc7XG4gICAgICAgIHRoaXMubWVzc2FnZXNCeUNvbnRleHRbY3R4XSA9IHRoaXMubWVzc2FnZXNCeUNvbnRleHRbY3R4XSB8fCB7fTtcbiAgICAgICAgdGhpcy5tZXNzYWdlc0J5Q29udGV4dFtjdHhdW2lkXSA9IG1zZztcblxuICAgICAgICB0aGlzLm1lc3NhZ2VTb3VyY2UubmV4dCh7XG4gICAgICAgICAgICBzaG93OiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogbXNnLFxuICAgICAgICAgICAgbWVzc2FnZXM6IHZhbHVlcyh0aGlzLm1lc3NhZ2VzQnlDb250ZXh0W2N0eF0pXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGhpZGVzIHRoZSBzcGlubmVyIG9uIGEgcGFydGljdWxhciBjb250YWluZXIoY29udGV4dClcbiAgICAgKiBAcGFyYW0gY3R4XG4gICAgICogQHBhcmFtIGlkXG4gICAgICovXG4gICAgaGlkZUNvbnRleHRTcGlubmVyKGN0eCwgaWQpIHtcbiAgICAgICAgZGVsZXRlIHRoaXMubWVzc2FnZXNCeUNvbnRleHRbY3R4XVtpZF07XG4gICAgICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLm1lc3NhZ2VzQnlDb250ZXh0W2N0eF0pLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlc0J5Q29udGV4dFtjdHhdID0ge307XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY3R4TWFya3VwID0gJCgnW25hbWU9XCInICsgY3R4ICsgJ1wiXScpO1xuICAgICAgICBjdHhNYXJrdXAuZmluZCgnLmFwcC1zcGlubmVyJykucmVtb3ZlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogc2hvdyBzcGlubmVyXG4gICAgICogQHBhcmFtIG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gaWRcbiAgICAgKiBAcGFyYW0gc3Bpbm5lckNsYXNzXG4gICAgICogQHBhcmFtIHNwaW5uZXJDb250ZXh0XG4gICAgICogQHBhcmFtIHZhcmlhYmxlU2NvcGVJZFxuICAgICAqIEByZXR1cm5zIHthbnl9XG4gICAgICovXG4gICAgc2hvdyhtZXNzYWdlLCBpZD8sIHNwaW5uZXJDbGFzcz8sIHNwaW5uZXJDb250ZXh0PywgdmFyaWFibGVTY29wZUlkPykge1xuICAgICAgICBpZCAgICAgID0gaWQgfHwgKyt0aGlzLnNwaW5uZXJJZDtcbiAgICAgICAgLy8gaWYgc3Bpbm5lckNvbnRleHQgaXMgcGFzc2VkLCB0aGVuIGFwcGVuZCB0aGUgc3Bpbm5lciB0byB0aGUgZWxlbWVudChkZWZhdWx0IG1ldGhvZCBmb3IgdmFyaWFibGUgY2FsbHMpLlxuICAgICAgICBpZiAoc3Bpbm5lckNvbnRleHQgJiYgc3Bpbm5lckNvbnRleHQgIT09ICdwYWdlJykge1xuICAgICAgICAgICAgLy8gcmV0dXJuIGFmdGVyIHRoZSBjb21waWxlZCBzcGlubmVyIGlzIGFwcGVuZGVkIHRvIHRoZSBlbGVtZW50IHJlZmVyZW5jZVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2hvd0NvbnRleHRTcGlubmVyKHNwaW5uZXJDb250ZXh0LCBtZXNzYWdlLCBpZCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNob3dBcHBTcGlubmVyKG1lc3NhZ2UsIGlkKTtcbiAgICAgICAgcmV0dXJuIGlkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGhpZGUgdGhlIHNwaW5uZXJcbiAgICAgKiBAcGFyYW0gc3Bpbm5lcklkXG4gICAgICovXG4gICAgaGlkZShpZCkge1xuICAgICAgICAvLyBmaW5kIHRoZSBzcGlubmVyIGNvbnRleHQgb2YgdGhlIGlkIGZyb20gdGhlIG1lc3NhZ2VzQnlDb250ZXh0XG4gICAgICAgIGNvbnN0IGN0eCA9IGZpbmRLZXkodGhpcy5tZXNzYWdlc0J5Q29udGV4dCwgZnVuY3Rpb24gKG9iaikge1xuICAgICAgICAgICAgcmV0dXJuIGluY2x1ZGVzKGtleXMob2JqKSwgaWQpO1xuICAgICAgICB9KSB8fCAncGFnZSc7XG5cbiAgICAgICAgLy8gaWYgc3Bpbm5lckNvbnRleHQgZXhpc3RzIGp1c3QgcmVtb3ZlIHRoZSBzcGlubmVyIGZyb20gdGhlIHJlZmVyZW5jZSBhbmQgZGVzdHJveSB0aGUgc2NvcGUgYXNzb2NpYXRlZC5cbiAgICAgICAgaWYgKGN0eCAhPT0gJ3BhZ2UnKSB7XG4gICAgICAgICAgICB0aGlzLmhpZGVDb250ZXh0U3Bpbm5lcihjdHgsIGlkKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpZCkge1xuICAgICAgICAgICAgZGVsZXRlIHRoaXMubWVzc2FnZXNCeUNvbnRleHRbY3R4XVtpZF07XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlcyA9IHZhbHVlcyh0aGlzLm1lc3NhZ2VzQnlDb250ZXh0W2N0eF0pO1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlU291cmNlLm5leHQoe1xuICAgICAgICAgICAgICAgIHNob3c6IG1lc3NhZ2VzLmxlbmd0aCA/IHRydWUgOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBtZXNzYWdlczogdmFsdWVzKHRoaXMubWVzc2FnZXNCeUNvbnRleHRbY3R4XSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlc0J5Q29udGV4dFtjdHhdID0ge307XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -2,6 +2,7 @@ import { Injectable } from '@angular/core';
|
|
|
2
2
|
import { ToastrService } from 'ngx-toastr';
|
|
3
3
|
import { AbstractToasterService, isDefined } from '@wm/core';
|
|
4
4
|
import { CustomToasterComponent } from '../components/custom-toaster.component';
|
|
5
|
+
import { isNumber, isObject, merge } from "lodash-es";
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "ngx-toastr";
|
|
7
8
|
export class ToasterServiceImpl extends AbstractToasterService {
|
|
@@ -11,7 +12,7 @@ export class ToasterServiceImpl extends AbstractToasterService {
|
|
|
11
12
|
}
|
|
12
13
|
_showToaster(type, title, desc, options) {
|
|
13
14
|
// backward compatibility (in 9.x, 4th param is timeout value).
|
|
14
|
-
if (
|
|
15
|
+
if (isNumber(options)) {
|
|
15
16
|
options = { timeOut: options };
|
|
16
17
|
}
|
|
17
18
|
options = options || {};
|
|
@@ -22,7 +23,7 @@ export class ToasterServiceImpl extends AbstractToasterService {
|
|
|
22
23
|
// pop the toaster only if either title or description are defined
|
|
23
24
|
if (title || desc) {
|
|
24
25
|
// if the desc is an object, stringify it.
|
|
25
|
-
if (!options.bodyOutputType &&
|
|
26
|
+
if (!options.bodyOutputType && isObject(desc)) {
|
|
26
27
|
desc = JSON.stringify(desc);
|
|
27
28
|
}
|
|
28
29
|
const fn = this.toaster[type];
|
|
@@ -73,8 +74,8 @@ export class ToasterServiceImpl extends AbstractToasterService {
|
|
|
73
74
|
* @param {options} Object
|
|
74
75
|
*/
|
|
75
76
|
setToasterConfig(options) {
|
|
76
|
-
if (
|
|
77
|
-
|
|
77
|
+
if (isObject(options)) {
|
|
78
|
+
merge(this.toaster.toastrConfig, options);
|
|
78
79
|
}
|
|
79
80
|
else {
|
|
80
81
|
console.warn('Please pass a valid options object, For Example : {maxOpened: 1, autoDismiss: true}');
|
|
@@ -86,4 +87,4 @@ export class ToasterServiceImpl extends AbstractToasterService {
|
|
|
86
87
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToasterServiceImpl, [{
|
|
87
88
|
type: Injectable
|
|
88
89
|
}], () => [{ type: i1.ToastrService }], null); })();
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1iYXNlL3NyYy9zZXJ2aWNlcy90b2FzdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFN0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFDLE1BQU0sV0FBVyxDQUFDOzs7QUFHcEQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHNCQUFzQjtJQUUxRCxZQUFvQixPQUFzQjtRQUN0QyxLQUFLLEVBQUUsQ0FBQztRQURRLFlBQU8sR0FBUCxPQUFPLENBQWU7SUFFMUMsQ0FBQztJQUVPLFlBQVksQ0FBRSxJQUFZLEVBQUUsS0FBYSxFQUFFLElBQVksRUFBRSxPQUFhO1FBQzFFLCtEQUErRDtRQUMvRCxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sR0FBRyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUMsQ0FBQztRQUNqQyxDQUFDO1FBRUQsT0FBTyxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDeEIsT0FBTyxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkUsT0FBTyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25ELE9BQU8sQ0FBQyxh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Q0FBQztRQUM3QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxnQkFBZ0IsQ0FBQyxPQUFPO1FBQzNCLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDcEIsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxDQUFDLElBQUksQ0FBQyxxRkFBcUYsQ0FBQyxDQUFDO1FBQ3hHLENBQUM7SUFDTCxDQUFDO21GQXBGUSxrQkFBa0I7dUVBQWxCLGtCQUFrQixXQUFsQixrQkFBa0I7O2lGQUFsQixrQkFBa0I7Y0FEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xuXG5pbXBvcnQgeyBBYnN0cmFjdFRvYXN0ZXJTZXJ2aWNlLCBpc0RlZmluZWQgfSBmcm9tICdAd20vY29yZSc7XG5cbmltcG9ydCB7IEN1c3RvbVRvYXN0ZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2N1c3RvbS10b2FzdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge2lzTnVtYmVyLCBpc09iamVjdCwgbWVyZ2V9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRvYXN0ZXJTZXJ2aWNlSW1wbCBleHRlbmRzIEFic3RyYWN0VG9hc3RlclNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0b2FzdGVyOiBUb2FzdHJTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2hvd1RvYXN0ZXIgKHR5cGU6IHN0cmluZywgdGl0bGU6IHN0cmluZywgZGVzYzogc3RyaW5nLCBvcHRpb25zPzogYW55KSB7XG4gICAgICAgIC8vIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgKGluIDkueCwgNHRoIHBhcmFtIGlzIHRpbWVvdXQgdmFsdWUpLlxuICAgICAgICBpZiAoaXNOdW1iZXIob3B0aW9ucykpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSB7dGltZU91dDogb3B0aW9uc307XG4gICAgICAgIH1cblxuICAgICAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICAgICAgb3B0aW9ucy50aW1lT3V0ID0gaXNEZWZpbmVkKG9wdGlvbnMudGltZU91dCkgPyBvcHRpb25zLnRpbWVPdXQgOiAwO1xuICAgICAgICBvcHRpb25zLmVuYWJsZUh0bWwgPSBpc0RlZmluZWQob3B0aW9ucy5lbmFibGVIdG1sKTtcbiAgICAgICAgb3B0aW9ucy5wb3NpdGlvbkNsYXNzID0gb3B0aW9ucy5wb3NpdGlvbkNsYXNzIHx8ICd0b2FzdC1ib3R0b20tcmlnaHQnO1xuICAgICAgICBvcHRpb25zLnRvYXN0Q2xhc3MgPSAndG9hc3QnO1xuICAgICAgICAvLyBwb3AgdGhlIHRvYXN0ZXIgb25seSBpZiBlaXRoZXIgdGl0bGUgb3IgZGVzY3JpcHRpb24gYXJlIGRlZmluZWRcbiAgICAgICAgaWYgKHRpdGxlIHx8IGRlc2MpIHtcbiAgICAgICAgICAgIC8vIGlmIHRoZSBkZXNjIGlzIGFuIG9iamVjdCwgc3RyaW5naWZ5IGl0LlxuICAgICAgICAgICAgaWYgKCFvcHRpb25zLmJvZHlPdXRwdXRUeXBlICYmIGlzT2JqZWN0KGRlc2MpKSB7XG4gICAgICAgICAgICAgICAgZGVzYyA9IEpTT04uc3RyaW5naWZ5KGRlc2MpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZm4gPSB0aGlzLnRvYXN0ZXJbdHlwZV07XG4gICAgICAgICAgICBpZiAoZm4pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZm4uY2FsbCh0aGlzLnRvYXN0ZXIsIGRlc2MsIHRpdGxlLCBvcHRpb25zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzdWNjZXNzICh0aXRsZSwgZGVzYykge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd1RvYXN0ZXIoJ3N1Y2Nlc3MnLCB0aXRsZSwgZGVzYywge3RpbWVPdXQ6IDUwMDB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZXJyb3IgKHRpdGxlLCBkZXNjKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93VG9hc3RlcignZXJyb3InLCB0aXRsZSwgZGVzYywge3RpbWVPdXQ6IDB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaW5mbyAodGl0bGUsIGRlc2MpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dUb2FzdGVyKCdpbmZvJywgdGl0bGUsIGRlc2MsIHt0aW1lT3V0OiAwfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHdhcm4gKHRpdGxlLCBkZXNjKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93VG9hc3Rlcignd2FybmluZycsIHRpdGxlLCBkZXNjLCB7dGltZU91dDogMH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzaG93ICh0eXBlLCB0aXRsZSwgZGVzYywgb3B0aW9ucykge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd1RvYXN0ZXIodHlwZSwgdGl0bGUsIGRlc2MsIG9wdGlvbnMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBoaWRlICh0b2FzdGVyT2JqKSB7XG4gICAgICAgIC8vIGluIHN0dWRpbyBqdXN0IGlnbm9yZSB0aGUgdG9hc3Rlck9iaiBhbmQgaGlkZSBhbGwgdGhlIHRvYXN0ZXJzXG4gICAgICAgIGlmICghdG9hc3Rlck9iaikge1xuICAgICAgICAgICAgdGhpcy50b2FzdGVyLmNsZWFyKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50b2FzdGVyLmNsZWFyKHRvYXN0ZXJPYmoudG9hc3RJZCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNob3dDdXN0b20ocGFnZSwgb3B0aW9ucykge1xuICAgICAgICBpZiAoIXBhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICAgICAgb3B0aW9ucy50b2FzdENvbXBvbmVudCA9IEN1c3RvbVRvYXN0ZXJDb21wb25lbnQ7XG4gICAgICAgIG9wdGlvbnMudG9hc3RDbGFzcyA9ICdjdXN0b20tdG9hc3Rlcic7XG4gICAgICAgIG9wdGlvbnMudGltZU91dCA9IGlzRGVmaW5lZChvcHRpb25zLnRpbWVPdXQpID8gb3B0aW9ucy50aW1lT3V0IDogMDtcbiAgICAgICAgb3B0aW9ucy5lbmFibGVIdG1sID0gaXNEZWZpbmVkKG9wdGlvbnMuZW5hYmxlSHRtbCk7XG4gICAgICAgIG9wdGlvbnMucG9zaXRpb25DbGFzcyA9IG9wdGlvbnMucG9zaXRpb25DbGFzcyB8fCAndG9hc3QtYm90dG9tLXJpZ2h0JztcbiAgICAgICAgb3B0aW9ucy50b2FzdENsYXNzID0gJ3RvYXN0JztcbiAgICAgICAgcmV0dXJuIHRoaXMudG9hc3Rlci5zaG93KHBhZ2UsICcnLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIHRoZSBHbG9iYWwgVG9hc3RlciBvcHRpb25zIGJhc2VkIG9uIHRoZSBwYXNzZWQgb2JqZWN0LiBVc2VmdWwgaW4gY2FzZXMgd2hlcmVcbiAgICAgKiBhIHVzZXIgd2FudHMgdG8gZGlzcGxheSBtdWx0aXBsZSB0b2FzdHMgYXQgdGhlIHNhbWUgdGltZSwgbmV3ZXN0IG9uIGJvdHRvbSBldGNcbiAgICAgKiBAcGFyYW0ge29wdGlvbnN9IE9iamVjdFxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRUb2FzdGVyQ29uZmlnKG9wdGlvbnMpIHtcbiAgICAgICAgaWYgKGlzT2JqZWN0KG9wdGlvbnMpKSB7XG4gICAgICAgICAgICBtZXJnZSh0aGlzLnRvYXN0ZXIudG9hc3RyQ29uZmlnLCBvcHRpb25zKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignUGxlYXNlIHBhc3MgYSB2YWxpZCBvcHRpb25zIG9iamVjdCwgRm9yIEV4YW1wbGUgOiB7bWF4T3BlbmVkOiAxLCBhdXRvRGlzbWlzczogdHJ1ZX0nKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { __decorate, __metadata, __param } from "tslib";
|
|
2
2
|
import { Inject } from '@angular/core';
|
|
3
3
|
import { LRUCache } from '@wm/core';
|
|
4
|
+
import { isNil } from "lodash-es";
|
|
4
5
|
export const CACHE_PAGE = '_cache_page';
|
|
5
6
|
export const MAX_CACHE_SIZE = 'REUSE_ROUTE_STRATEGY.MAX_CACHE_SIZE';
|
|
6
7
|
export const MAX_CACHE_AGE = 'REUSE_ROUTE_STRATEGY.MAX_CACHE_AGE';
|
|
@@ -22,12 +23,10 @@ let WmDefaultRouteReuseStrategy = class WmDefaultRouteReuseStrategy {
|
|
|
22
23
|
});
|
|
23
24
|
}
|
|
24
25
|
getKey(route) {
|
|
25
|
-
const queryParams =
|
|
26
|
-
.
|
|
27
|
-
.filter(k => !_.includes(this.paramsToIgnore, k))
|
|
28
|
-
.orderBy()
|
|
26
|
+
const queryParams = Object.keys(route.queryParams)
|
|
27
|
+
.filter(k => !this.paramsToIgnore.includes(k))
|
|
29
28
|
.map(k => k + '=' + route.queryParams[k])
|
|
30
|
-
.
|
|
29
|
+
.sort().join('&');
|
|
31
30
|
let pageName = route.params.pageName;
|
|
32
31
|
if (route.data.pageName && route.routeConfig.path === '') {
|
|
33
32
|
pageName = route.data.pageName;
|
|
@@ -54,7 +53,7 @@ let WmDefaultRouteReuseStrategy = class WmDefaultRouteReuseStrategy {
|
|
|
54
53
|
}
|
|
55
54
|
isCacheEnabled(route, defaultValue) {
|
|
56
55
|
const canReuse = route.queryParams[CACHE_PAGE];
|
|
57
|
-
if (!
|
|
56
|
+
if (!isNil(canReuse)) {
|
|
58
57
|
return (canReuse === 'true' || canReuse === true);
|
|
59
58
|
}
|
|
60
59
|
return defaultValue;
|
|
@@ -174,4 +173,4 @@ export class WmNgRouteReuseStrategy extends WmDefaultRouteReuseStrategy {
|
|
|
174
173
|
return this.isSameRoute(future, current);
|
|
175
174
|
}
|
|
176
175
|
}
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid20tcm91dGUtcmV1c2Utc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ydW50aW1lLWJhc2Uvc3JjL3V0aWwvd20tcm91dGUtcmV1c2Utc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFvQnZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFJcEMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQztBQUN4QyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcscUNBQXFDLENBQUM7QUFDcEUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLG9DQUFvQyxDQUFDO0FBRWxFLGdEQUFnRDtBQUNoRCxJQUFhLDJCQUEyQixHQUF4QyxNQUFhLDJCQUEyQjtJQVFwQyxZQUFvQyxZQUFxQixFQUN0QixXQUFvQjtRQU4vQyxtQkFBYyxHQUFHO1lBQ3JCLFVBQVUsRUFBRSxxQkFBcUI7WUFDakMsVUFBVSxDQUFDLG9CQUFvQjtTQUNsQyxDQUFDO1FBMkJRLFlBQU8sR0FBRyxDQUFDLEdBQWtCLEVBQVUsRUFBRSxDQUMvQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUF4QmxDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxRQUFRLENBQXNCLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDdEYsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUMvQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDaEMsQ0FBQztpQkFBTSxDQUFDO2dCQUNILE1BQWMs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QUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDN0MsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLFdBQVcsS0FBSyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDN0Msd0RBQXdEO1lBQ3hELElBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUcsQ0FBQztnQkFDcEQsT0FBUSxJQUFJLENBQUM7WUFDakIsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELGdCQUFnQixDQUNaLE1BQThCLEVBQzlCLE9BQStCO1FBRS9CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vKlxuQ3VzdG9tIFJvdXRlIFJldXNlIFN0cmF0ZWdpZXM6XG4qIFdtRGVmYXVsdFJvdXRlUmV1c2VTdHJhdGVneTogQmFzZSBGdW5jdGlvbiAmIFV0aWxzXG4qIFdtUm91dGVSZXNlU3RyYXRlZ3kgOiBGb3IgUHJldmlldyAmIFdhdmVNYWtlciBEZXBsb3ltZW50c1xuKiBXbU5nUm91dGVSZXVzZVN0cmF0ZWd5IDogRm9yIEFuZ3VsYXIgRGVwbG95bWVudHNcblxuV2hlbiBhIHVzZXIgaW52b2tlcyBuYXZpZ2F0aW9uIGFjdGlvbiBmcm9tICdQYWdlMScgdG8gJ1BhZ2UyJ1xuUmV1c2UgUm91dGUgOiBUcnVlLFxuICAgICAgICAgICAgICAgICAgICBpZiB0aGUgUGFnZTEgJiBQYWdlMiBhcmUgc2FtZSB3aXRoIFNhbWUgUXVlcnkgUGFyYW1zXG5SZXVzZSBSb3V0ZSA6IEZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBpZiB0aGUgUGFnZTEgJiBQYWdlIDIgYXJlIGRpZmZlcmVudCxcbiAgICAgICAgICAgICAgICAgICAgaWYgdGhlIFBhZ2UxICYgUGFnZSAyIGFyZSBzYW1lLCBidXQgdGhlIHF1ZXJ5IHBhcmFtcyBhcmUgZGlmZmVyZW50XG4qL1xuaW1wb3J0IHtcbiAgICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICAgIERldGFjaGVkUm91dGVIYW5kbGUsXG4gICAgUm91dGVSZXVzZVN0cmF0ZWd5LFxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBMUlVDYWNoZSB9IGZyb20gJ0B3bS9jb3JlJztcblxuZGVjbGFyZSBjb25zdCBfO1xuXG5leHBvcnQgY29uc3QgQ0FDSEVfUEFHRSA9ICdfY2FjaGVfcGFnZSc7XG5leHBvcnQgY29uc3QgTUFYX0NBQ0hFX1NJWkUgPSAnUkVVU0VfUk9VVEVfU1RSQVRFR1kuTUFYX0NBQ0hFX1NJWkUnO1xuZXhwb3J0IGNvbnN0IE1BWF9DQUNIRV9BR0UgPSAnUkVVU0VfUk9VVEVfU1RSQVRFR1kuTUFYX0NBQ0hFX0FHRSc7XG5cbi8qIEJhc2UgU3RyYXRlZ3kgd2l0aCBEZWZhdWx0IGltcGxlbWVudGF0aW9ucyAqL1xuZXhwb3J0IGNsYXNzIFdtRGVmYXVsdFJvdXRlUmV1c2VTdHJhdGVneSB7XG4gICAgcHJpdmF0ZSBjYWNoZTogTFJVQ2FjaGU8RGV0YWNoZWRSb3V0ZUhhbmRsZT47XG4gICAgcHJpdmF0ZSBjdXJyZW50Um91dGVLZXk6IHN0cmluZztcbiAgICBwcml2YXRlIHBhcmFtc1RvSWdub3JlID0gW1xuICAgICAgICAnd21fc3RhdGUnLCAvLyBzdGF0ZSBwZXJzaXN0ZW5jZSxcbiAgICAgICAgQ0FDSEVfUEFHRSAvLyB0byB1c2UgcGFnZSBjYWNoZVxuICAgIF07XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KE1BWF9DQUNIRV9TSVpFKSBtYXhDYWNoZVNpemU/OiBudW1iZXIsXG4gICAgICAgICAgICAgICAgQEluamVjdChNQVhfQ0FDSEVfQUdFKSBtYXhDYWNoZUFnZT86IG51bWJlcikge1xuICAgICAgICB0aGlzLmNhY2hlID0gbmV3IExSVUNhY2hlPERldGFjaGVkUm91dGVIYW5kbGU+KG1heENhY2hlU2l6ZSwgbWF4Q2FjaGVBZ2UsIChrZXksIGhhbmRsZSkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudFJvdXRlS2V5ID09PSBrZXkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhY2hlLnNldChrZXksIGhhbmRsZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIChoYW5kbGUgYXMgYW55KS5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEtleShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCkge1xuICAgICAgICBjb25zdCBxdWVyeVBhcmFtcyA9IF8uY2hhaW4ocm91dGUucXVlcnlQYXJhbXMpXG4gICAgICAgICAgICAua2V5cygpXG4gICAgICAgICAgICAuZmlsdGVyKGsgPT4gIV8uaW5jbHVkZXModGhpcy5wYXJhbXNUb0lnbm9yZSwgaykpXG4gICAgICAgICAgICAub3JkZXJCeSgpXG4gICAgICAgICAgICAubWFwKGsgPT4gayArICc9JyArIHJvdXRlLnF1ZXJ5UGFyYW1zW2tdKVxuICAgICAgICAgICAgLnZhbHVlKCkuam9pbignJicpO1xuICAgICAgICBsZXQgcGFnZU5hbWUgPSByb3V0ZS5wYXJhbXMucGFnZU5hbWU7XG4gICAgICAgIGlmIChyb3V0ZS5kYXRhLnBhZ2VOYW1lICYmIHJvdXRlLnJvdXRlQ29uZmlnLnBhdGggPT09ICcnKSB7XG4gICAgICAgICAgICBwYWdlTmFtZSA9IHJvdXRlLmRhdGEucGFnZU5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBhZ2VOYW1lICYmIChwYWdlTmFtZSArIChxdWVyeVBhcmFtcyA/IGA/JHtxdWVyeVBhcmFtc31gOiAnJykpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRTaXplID0gKG9iajogb2JqZWN0IHwgbnVsbCk6IG51bWJlciA9PlxuICAgICAgICBvYmogPyBPYmplY3Qua2V5cyhvYmopLmxlbmd0aCA6IDA7XG5cbiAgICBwcm90ZWN0ZWQgaXNTYW1lUXVlcnlQYXJhbXMoZnV0dXJlLCBjdXJyZW50KTogYm9vbGVhbiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBmcVBhcmFtcyA9IGZ1dHVyZS5xdWVyeVBhcmFtcztcbiAgICAgICAgICAgIGNvbnN0IGNxUGFyYW1zID0gY3VycmVudC5xdWVyeVBhcmFtcztcbiAgICAgICAgICAgIGNvbnN0IGZxUGFyYW1zQ291bnQgPSBmcVBhcmFtcyA/IHRoaXMuZ2V0U2l6ZShmcVBhcmFtcykgOiAwO1xuICAgICAgICAgICAgY29uc3QgY3FQYXJhbXNDb3VudCA9IGNxUGFyYW1zID8gdGhpcy5nZXRTaXplKGNxUGFyYW1zKSA6IDA7XG5cbiAgICAgICAgICAgIGlmIChmcVBhcmFtc0NvdW50ID09PSAwICYmIGNxUGFyYW1zQ291bnQgPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChmcVBhcmFtc0NvdW50ICE9PSBjcVBhcmFtc0NvdW50KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGZxUGFyYW1zKSA9PT0gSlNPTi5zdHJpbmdpZnkoY3FQYXJhbXMpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlzQ2FjaGVFbmFibGVkKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBkZWZhdWx0VmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgY29uc3QgY2FuUmV1c2UgPSByb3V0ZS5xdWVyeVBhcmFtc1tDQUNIRV9QQUdFXTtcbiAgICAgICAgaWYgKCFfLmlzTmlsKGNhblJldXNlKSkge1xuICAgICAgICAgICAgcmV0dXJuIChjYW5SZXVzZSA9PT0gJ3RydWUnIHx8IGNhblJldXNlID09PSB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIC8vIERlZmF1bHRSb3V0ZVJldXNlU3RyYXRlZ3kgOiBCZWdpblxuICAgIHNob3VsZERldGFjaChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLmdldEtleShyb3V0ZSk7XG4gICAgICAgIGlmICh0aGlzLmlzQ2FjaGVFbmFibGVkKHJvdXRlLCAhIXJvdXRlLmRhdGFbQ0FDSEVfUEFHRV0pKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNhY2hlLmRlbGV0ZShrZXkpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgc2hvdWxkQXR0YWNoKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGtleSA9IHRoaXMuZ2V0S2V5KHJvdXRlKTtcbiAgICAgICAgdGhpcy5jdXJyZW50Um91dGVLZXkgPSBrZXk7XG4gICAgICAgIGNvbnN0IGNhY2hlZEhhbmRsZSA9IHRoaXMuY2FjaGUuZ2V0KGtleSkgYXMgRGV0YWNoZWRSb3V0ZUhhbmRsZTtcbiAgICAgICAgaWYgKGNhY2hlZEhhbmRsZSAmJiB0aGlzLmlzQ2FjaGVFbmFibGVkKHJvdXRlLCAhIShjYWNoZWRIYW5kbGVbQ0FDSEVfUEFHRV0pKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jYWNoZS5kZWxldGUoa2V5KTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHN0b3JlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBoYW5kbGU6IERldGFjaGVkUm91dGVIYW5kbGUpOiB2b2lkIHtcbiAgICAgICAgaWYgKGhhbmRsZSkge1xuICAgICAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5nZXRLZXkocm91dGUpO1xuICAgICAgICAgICAgaGFuZGxlW0NBQ0hFX1BBR0VdID0gISFyb3V0ZS5kYXRhW0NBQ0hFX1BBR0VdO1xuICAgICAgICAgICAgdGhpcy5jYWNoZS5zZXQoa2V5LCBoYW5kbGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0cmlldmUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBEZXRhY2hlZFJvdXRlSGFuZGxlIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGtleSA9IHRoaXMuZ2V0S2V5KHJvdXRlKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FjaGUuZ2V0KGtleSk7XG4gICAgfVxuXG4gICAgcmVzZXQocGFnZU5hbWU/OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHBhZ2VOYW1lKSB7XG4gICAgICAgICAgICB0aGlzLmNhY2hlLmRlbGV0ZShwYWdlTmFtZSk7XG4gICAgICAgICAgICBjb25zdCBwYWdlV2l0aFBhcmFtcyA9IHBhZ2VOYW1lICs9ICc/JztcbiAgICAgICAgICAgIGNvbnN0IGVudHJpZXNUb0RlbGV0ZSA9IFtdO1xuICAgICAgICAgICAgZm9yKGxldCBrIG9mIHRoaXMuY2FjaGUua2V5cygpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGsuc3RhcnRzV2l0aChwYWdlV2l0aFBhcmFtcykpIHtcbiAgICAgICAgICAgICAgICAgICAgZW50cmllc1RvRGVsZXRlLnB1c2goayk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZW50cmllc1RvRGVsZXRlLmZvckVhY2goayA9PiB0aGlzLmNhY2hlLmRlbGV0ZShrKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jYWNoZS5jbGVhcigpO1xuICAgICAgICB9XG4gICAgfVxufVxuLyogQ3VzdG9tIFN0cmF0ZWd5IHNwZWNpZmljYWxseSBmb3IgcHJldmlldyAmIFdhdmVNYWtlciBEZXBsb3ltZW50cyAqL1xuZXhwb3J0IGNsYXNzIFdtUm91dGVSZXVzZVN0cmF0ZWd5IGV4dGVuZHMgV21EZWZhdWx0Um91dGVSZXVzZVN0cmF0ZWd5XG4gICAgaW1wbGVtZW50cyBSb3V0ZVJldXNlU3RyYXRlZ3kge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbiAgICBwcml2YXRlIGlzU2FtZVJvdXRlKGZ1dHVyZSwgY3VycmVudCk6IGJvb2xlYW4ge1xuICAgICAgICAvLyBJbmNhc2Ugb2YgcHJlZmFiIHByb2plY3Qgd2UgaGF2ZSBvbmx5IG9uZSByb3V0ZSBTbyByZWxvYWRpbmcgdGhlIHJvdXRlIGV2ZXJ5dGltZVxuICAgICAgICBpZiAoZnV0dXJlLnJvdXRlQ29uZmlnICYmIGZ1dHVyZS5yb3V0ZUNvbmZpZy5wYXRoID09PSAncHJlZmFiLXByZXZpZXcnKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgLypcbiAgICAgICAgSW4gV00gRGVwbG95bWVudCwgTmF2aWdhdGlvbiBpcyBoYW5kbGVkIGJ5IFBhZ2VXcmFwcGVyQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICYgUm91dGUgSW5mbyBpcyBwYXNzZWQgYXMgYSBwYXJhbWV0ZXJcbiAgICAgICAgKi9cbiAgICAgICAgY29uc3QgZlBhcmFtcyA9IGZ1dHVyZS5wYXJhbXM7XG4gICAgICAgIGNvbnN0IGNQYXJhbXMgPSBjdXJyZW50LnBhcmFtcztcbiAgICAgICAgY29uc3QgZlBhcmFtc0NvdW50ID0gdGhpcy5nZXRTaXplKGZQYXJhbXMpO1xuICAgICAgICBjb25zdCBjUGFyYW1zQ291bnQgPSB0aGlzLmdldFNpemUoY1BhcmFtcyk7XG4gICAgICAgIGlmIChmUGFyYW1zQ291bnQgPT09IDAgJiYgY1BhcmFtc0NvdW50ID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZlBhcmFtc0NvdW50ICE9PSBjUGFyYW1zQ291bnQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZlBhcmFtc1sncGFnZU5hbWUnXSA9PT0gY1BhcmFtc1sncGFnZU5hbWUnXSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNTYW1lUXVlcnlQYXJhbXMoZnV0dXJlLCBjdXJyZW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHNob3VsZFJldXNlUm91dGUoXG4gICAgICAgIGZ1dHVyZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgICAgICAgY3VycmVudDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdFxuICAgICk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1NhbWVSb3V0ZShmdXR1cmUsIGN1cnJlbnQpO1xuICAgIH1cbn1cbi8qIEN1c3RvbSBTdHJhdGVneSBzcGVjaWZpY2FsbHkgZm9yIEFuZ3VsYXIgRGVwbG95bWVudHMgKi9cbmV4cG9ydCBjbGFzcyBXbU5nUm91dGVSZXVzZVN0cmF0ZWd5IGV4dGVuZHMgV21EZWZhdWx0Um91dGVSZXVzZVN0cmF0ZWd5XG4gICAgaW1wbGVtZW50cyBSb3V0ZVJldXNlU3RyYXRlZ3kge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbiAgICBwcml2YXRlIGlzU2FtZVJvdXRlKGZ1dHVyZSwgY3VycmVudCk6IGJvb2xlYW4ge1xuICAgICAgICAvKlxuICAgICAgICBJbiBBbmd1bGFyIERlcGxveW1lbnQsIE5hdmlnYXRpb24gaXMgaGFuZGxlZCBieSBBbmd1bGFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiBSb3V0ZSBJbmZvIGlzIHBhc3NlZCBieSByb3V0ZUNvbmZpZ1xuICAgICAgICAqL1xuICAgICAgICBpZiAoIWZ1dHVyZS5yb3V0ZUNvbmZpZyAmJiAhY3VycmVudC5yb3V0ZUNvbmZpZykge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZ1dHVyZS5yb3V0ZUNvbmZpZyAhPT0gY3VycmVudC5yb3V0ZUNvbmZpZykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmdXR1cmUucm91dGVDb25maWcgPT09IGN1cnJlbnQucm91dGVDb25maWcpIHtcbiAgICAgICAgICAgIC8vTm8gbmVlZCB0byBjb21wYXJlIHF1ZXJ5IHBhcmFtcyBmb3IgbGF5b3V0IHJvdXRlQ29uZmlnXG4gICAgICAgICAgICBpZihmdXR1cmUuZGF0YS5sYXlvdXROYW1lICYmIGN1cnJlbnQuZGF0YS5sYXlvdXROYW1lKSAge1xuICAgICAgICAgICAgICAgIHJldHVybiAgdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmlzU2FtZVF1ZXJ5UGFyYW1zKGZ1dHVyZSwgY3VycmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHNob3VsZFJldXNlUm91dGUoXG4gICAgICAgIGZ1dHVyZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgICAgICAgY3VycmVudDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdFxuICAgICk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1NhbWVSb3V0ZShmdXR1cmUsIGN1cnJlbnQpO1xuICAgIH1cbn1cbiJdfQ==
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid20tcm91dGUtcmV1c2Utc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ydW50aW1lLWJhc2Uvc3JjL3V0aWwvd20tcm91dGUtcmV1c2Utc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFvQnZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUNoQyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxxQ0FBcUMsQ0FBQztBQUNwRSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsb0NBQW9DLENBQUM7QUFFbEUsZ0RBQWdEO0FBQ2hELElBQWEsMkJBQTJCLEdBQXhDLE1BQWEsMkJBQTJCO0lBUXBDLFlBQW9DLFlBQXFCLEVBQ3RCLFdBQW9CO1FBTi9DLG1CQUFjLEdBQUc7WUFDckIsVUFBVSxFQUFFLHFCQUFxQjtZQUNqQyxVQUFVLENBQUMsb0JBQW9CO1NBQ2xDLENBQUM7UUF5QlEsWUFBTyxHQUFHLENBQUMsR0FBa0IsRUFBVSxFQUFFLENBQy9DLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQXRCbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLFFBQVEsQ0FBc0IsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUN0RixJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENB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V0FBVyxFQUFFLENBQUM7WUFDN0MsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLFdBQVcsS0FBSyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDN0Msd0RBQXdEO1lBQ3hELElBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUcsQ0FBQztnQkFDcEQsT0FBUSxJQUFJLENBQUM7WUFDakIsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELGdCQUFnQixDQUNaLE1BQThCLEVBQzlCLE9BQStCO1FBRS9CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vKlxuQ3VzdG9tIFJvdXRlIFJldXNlIFN0cmF0ZWdpZXM6XG4qIFdtRGVmYXVsdFJvdXRlUmV1c2VTdHJhdGVneTogQmFzZSBGdW5jdGlvbiAmIFV0aWxzXG4qIFdtUm91dGVSZXNlU3RyYXRlZ3kgOiBGb3IgUHJldmlldyAmIFdhdmVNYWtlciBEZXBsb3ltZW50c1xuKiBXbU5nUm91dGVSZXVzZVN0cmF0ZWd5IDogRm9yIEFuZ3VsYXIgRGVwbG95bWVudHNcblxuV2hlbiBhIHVzZXIgaW52b2tlcyBuYXZpZ2F0aW9uIGFjdGlvbiBmcm9tICdQYWdlMScgdG8gJ1BhZ2UyJ1xuUmV1c2UgUm91dGUgOiBUcnVlLFxuICAgICAgICAgICAgICAgICAgICBpZiB0aGUgUGFnZTEgJiBQYWdlMiBhcmUgc2FtZSB3aXRoIFNhbWUgUXVlcnkgUGFyYW1zXG5SZXVzZSBSb3V0ZSA6IEZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBpZiB0aGUgUGFnZTEgJiBQYWdlIDIgYXJlIGRpZmZlcmVudCxcbiAgICAgICAgICAgICAgICAgICAgaWYgdGhlIFBhZ2UxICYgUGFnZSAyIGFyZSBzYW1lLCBidXQgdGhlIHF1ZXJ5IHBhcmFtcyBhcmUgZGlmZmVyZW50XG4qL1xuaW1wb3J0IHtcbiAgICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICAgIERldGFjaGVkUm91dGVIYW5kbGUsXG4gICAgUm91dGVSZXVzZVN0cmF0ZWd5LFxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBMUlVDYWNoZSB9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7aXNOaWx9IGZyb20gXCJsb2Rhc2gtZXNcIjtcbmV4cG9ydCBjb25zdCBDQUNIRV9QQUdFID0gJ19jYWNoZV9wYWdlJztcbmV4cG9ydCBjb25zdCBNQVhfQ0FDSEVfU0laRSA9ICdSRVVTRV9ST1VURV9TVFJBVEVHWS5NQVhfQ0FDSEVfU0laRSc7XG5leHBvcnQgY29uc3QgTUFYX0NBQ0hFX0FHRSA9ICdSRVVTRV9ST1VURV9TVFJBVEVHWS5NQVhfQ0FDSEVfQUdFJztcblxuLyogQmFzZSBTdHJhdGVneSB3aXRoIERlZmF1bHQgaW1wbGVtZW50YXRpb25zICovXG5leHBvcnQgY2xhc3MgV21EZWZhdWx0Um91dGVSZXVzZVN0cmF0ZWd5IHtcbiAgICBwcml2YXRlIGNhY2hlOiBMUlVDYWNoZTxEZXRhY2hlZFJvdXRlSGFuZGxlPjtcbiAgICBwcml2YXRlIGN1cnJlbnRSb3V0ZUtleTogc3RyaW5nO1xuICAgIHByaXZhdGUgcGFyYW1zVG9JZ25vcmUgPSBbXG4gICAgICAgICd3bV9zdGF0ZScsIC8vIHN0YXRlIHBlcnNpc3RlbmNlLFxuICAgICAgICBDQUNIRV9QQUdFIC8vIHRvIHVzZSBwYWdlIGNhY2hlXG4gICAgXTtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoTUFYX0NBQ0hFX1NJWkUpIG1heENhY2hlU2l6ZT86IG51bWJlcixcbiAgICAgICAgICAgICAgICBASW5qZWN0KE1BWF9DQUNIRV9BR0UpIG1heENhY2hlQWdlPzogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuY2FjaGUgPSBuZXcgTFJVQ2FjaGU8RGV0YWNoZWRSb3V0ZUhhbmRsZT4obWF4Q2FjaGVTaXplLCBtYXhDYWNoZUFnZSwgKGtleSwgaGFuZGxlKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50Um91dGVLZXkgPT09IGtleSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FjaGUuc2V0KGtleSwgaGFuZGxlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgKGhhbmRsZSBhcyBhbnkpLmNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0S2V5KHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KSB7XG4gICAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gT2JqZWN0LmtleXMocm91dGUucXVlcnlQYXJhbXMpXG4gICAgICAgICAgICAuZmlsdGVyKGsgPT4gIXRoaXMucGFyYW1zVG9JZ25vcmUuaW5jbHVkZXMoaykpXG4gICAgICAgICAgICAubWFwKGsgPT4gayArICc9JyArIHJvdXRlLnF1ZXJ5UGFyYW1zW2tdKVxuICAgICAgICAgICAgLnNvcnQoKS5qb2luKCcmJyk7XG4gICAgICAgIGxldCBwYWdlTmFtZSA9IHJvdXRlLnBhcmFtcy5wYWdlTmFtZTtcbiAgICAgICAgaWYgKHJvdXRlLmRhdGEucGFnZU5hbWUgJiYgcm91dGUucm91dGVDb25maWcucGF0aCA9PT0gJycpIHtcbiAgICAgICAgICAgIHBhZ2VOYW1lID0gcm91dGUuZGF0YS5wYWdlTmFtZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcGFnZU5hbWUgJiYgKHBhZ2VOYW1lICsgKHF1ZXJ5UGFyYW1zID8gYD8ke3F1ZXJ5UGFyYW1zfWA6ICcnKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldFNpemUgPSAob2JqOiBvYmplY3QgfCBudWxsKTogbnVtYmVyID0+XG4gICAgICAgIG9iaiA/IE9iamVjdC5rZXlzKG9iaikubGVuZ3RoIDogMDtcblxuICAgIHByb3RlY3RlZCBpc1NhbWVRdWVyeVBhcmFtcyhmdXR1cmUsIGN1cnJlbnQpOiBib29sZWFuIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGZxUGFyYW1zID0gZnV0dXJlLnF1ZXJ5UGFyYW1zO1xuICAgICAgICAgICAgY29uc3QgY3FQYXJhbXMgPSBjdXJyZW50LnF1ZXJ5UGFyYW1zO1xuICAgICAgICAgICAgY29uc3QgZnFQYXJhbXNDb3VudCA9IGZxUGFyYW1zID8gdGhpcy5nZXRTaXplKGZxUGFyYW1zKSA6IDA7XG4gICAgICAgICAgICBjb25zdCBjcVBhcmFtc0NvdW50ID0gY3FQYXJhbXMgPyB0aGlzLmdldFNpemUoY3FQYXJhbXMpIDogMDtcblxuICAgICAgICAgICAgaWYgKGZxUGFyYW1zQ291bnQgPT09IDAgJiYgY3FQYXJhbXNDb3VudCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGZxUGFyYW1zQ291bnQgIT09IGNxUGFyYW1zQ291bnQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoZnFQYXJhbXMpID09PSBKU09OLnN0cmluZ2lmeShjcVBhcmFtcyk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaXNDYWNoZUVuYWJsZWQocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGRlZmF1bHRWYWx1ZTogYm9vbGVhbikge1xuICAgICAgICBjb25zdCBjYW5SZXVzZSA9IHJvdXRlLnF1ZXJ5UGFyYW1zW0NBQ0hFX1BBR0VdO1xuICAgICAgICBpZiAoIWlzTmlsKGNhblJldXNlKSkge1xuICAgICAgICAgICAgcmV0dXJuIChjYW5SZXVzZSA9PT0gJ3RydWUnIHx8IGNhblJldXNlID09PSB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIC8vIERlZmF1bHRSb3V0ZVJldXNlU3RyYXRlZ3kgOiBCZWdpblxuICAgIHNob3VsZERldGFjaChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLmdldEtleShyb3V0ZSk7XG4gICAgICAgIGlmICh0aGlzLmlzQ2FjaGVFbmFibGVkKHJvdXRlLCAhIXJvdXRlLmRhdGFbQ0FDSEVfUEFHRV0pKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNhY2hlLmRlbGV0ZShrZXkpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgc2hvdWxkQXR0YWNoKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGtleSA9IHRoaXMuZ2V0S2V5KHJvdXRlKTtcbiAgICAgICAgdGhpcy5jdXJyZW50Um91dGVLZXkgPSBrZXk7XG4gICAgICAgIGNvbnN0IGNhY2hlZEhhbmRsZSA9IHRoaXMuY2FjaGUuZ2V0KGtleSkgYXMgRGV0YWNoZWRSb3V0ZUhhbmRsZTtcbiAgICAgICAgaWYgKGNhY2hlZEhhbmRsZSAmJiB0aGlzLmlzQ2FjaGVFbmFibGVkKHJvdXRlLCAhIShjYWNoZWRIYW5kbGVbQ0FDSEVfUEFHRV0pKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jYWNoZS5kZWxldGUoa2V5KTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHN0b3JlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBoYW5kbGU6IERldGFjaGVkUm91dGVIYW5kbGUpOiB2b2lkIHtcbiAgICAgICAgaWYgKGhhbmRsZSkge1xuICAgICAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5nZXRLZXkocm91dGUpO1xuICAgICAgICAgICAgaGFuZGxlW0NBQ0hFX1BBR0VdID0gISFyb3V0ZS5kYXRhW0NBQ0hFX1BBR0VdO1xuICAgICAgICAgICAgdGhpcy5jYWNoZS5zZXQoa2V5LCBoYW5kbGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0cmlldmUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBEZXRhY2hlZFJvdXRlSGFuZGxlIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGtleSA9IHRoaXMuZ2V0S2V5KHJvdXRlKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FjaGUuZ2V0KGtleSk7XG4gICAgfVxuXG4gICAgcmVzZXQocGFnZU5hbWU/OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHBhZ2VOYW1lKSB7XG4gICAgICAgICAgICB0aGlzLmNhY2hlLmRlbGV0ZShwYWdlTmFtZSk7XG4gICAgICAgICAgICBjb25zdCBwYWdlV2l0aFBhcmFtcyA9IHBhZ2VOYW1lICs9ICc/JztcbiAgICAgICAgICAgIGNvbnN0IGVudHJpZXNUb0RlbGV0ZSA9IFtdO1xuICAgICAgICAgICAgZm9yKGxldCBrIG9mIHRoaXMuY2FjaGUua2V5cygpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGsuc3RhcnRzV2l0aChwYWdlV2l0aFBhcmFtcykpIHtcbiAgICAgICAgICAgICAgICAgICAgZW50cmllc1RvRGVsZXRlLnB1c2goayk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZW50cmllc1RvRGVsZXRlLmZvckVhY2goayA9PiB0aGlzLmNhY2hlLmRlbGV0ZShrKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jYWNoZS5jbGVhcigpO1xuICAgICAgICB9XG4gICAgfVxufVxuLyogQ3VzdG9tIFN0cmF0ZWd5IHNwZWNpZmljYWxseSBmb3IgcHJldmlldyAmIFdhdmVNYWtlciBEZXBsb3ltZW50cyAqL1xuZXhwb3J0IGNsYXNzIFdtUm91dGVSZXVzZVN0cmF0ZWd5IGV4dGVuZHMgV21EZWZhdWx0Um91dGVSZXVzZVN0cmF0ZWd5XG4gICAgaW1wbGVtZW50cyBSb3V0ZVJldXNlU3RyYXRlZ3kge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbiAgICBwcml2YXRlIGlzU2FtZVJvdXRlKGZ1dHVyZSwgY3VycmVudCk6IGJvb2xlYW4ge1xuICAgICAgICAvLyBJbmNhc2Ugb2YgcHJlZmFiIHByb2plY3Qgd2UgaGF2ZSBvbmx5IG9uZSByb3V0ZSBTbyByZWxvYWRpbmcgdGhlIHJvdXRlIGV2ZXJ5dGltZVxuICAgICAgICBpZiAoZnV0dXJlLnJvdXRlQ29uZmlnICYmIGZ1dHVyZS5yb3V0ZUNvbmZpZy5wYXRoID09PSAncHJlZmFiLXByZXZpZXcnKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgLypcbiAgICAgICAgSW4gV00gRGVwbG95bWVudCwgTmF2aWdhdGlvbiBpcyBoYW5kbGVkIGJ5IFBhZ2VXcmFwcGVyQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICYgUm91dGUgSW5mbyBpcyBwYXNzZWQgYXMgYSBwYXJhbWV0ZXJcbiAgICAgICAgKi9cbiAgICAgICAgY29uc3QgZlBhcmFtcyA9IGZ1dHVyZS5wYXJhbXM7XG4gICAgICAgIGNvbnN0IGNQYXJhbXMgPSBjdXJyZW50LnBhcmFtcztcbiAgICAgICAgY29uc3QgZlBhcmFtc0NvdW50ID0gdGhpcy5nZXRTaXplKGZQYXJhbXMpO1xuICAgICAgICBjb25zdCBjUGFyYW1zQ291bnQgPSB0aGlzLmdldFNpemUoY1BhcmFtcyk7XG4gICAgICAgIGlmIChmUGFyYW1zQ291bnQgPT09IDAgJiYgY1BhcmFtc0NvdW50ID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZlBhcmFtc0NvdW50ICE9PSBjUGFyYW1zQ291bnQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZlBhcmFtc1sncGFnZU5hbWUnXSA9PT0gY1BhcmFtc1sncGFnZU5hbWUnXSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNTYW1lUXVlcnlQYXJhbXMoZnV0dXJlLCBjdXJyZW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHNob3VsZFJldXNlUm91dGUoXG4gICAgICAgIGZ1dHVyZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgICAgICAgY3VycmVudDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdFxuICAgICk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1NhbWVSb3V0ZShmdXR1cmUsIGN1cnJlbnQpO1xuICAgIH1cbn1cbi8qIEN1c3RvbSBTdHJhdGVneSBzcGVjaWZpY2FsbHkgZm9yIEFuZ3VsYXIgRGVwbG95bWVudHMgKi9cbmV4cG9ydCBjbGFzcyBXbU5nUm91dGVSZXVzZVN0cmF0ZWd5IGV4dGVuZHMgV21EZWZhdWx0Um91dGVSZXVzZVN0cmF0ZWd5XG4gICAgaW1wbGVtZW50cyBSb3V0ZVJldXNlU3RyYXRlZ3kge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbiAgICBwcml2YXRlIGlzU2FtZVJvdXRlKGZ1dHVyZSwgY3VycmVudCk6IGJvb2xlYW4ge1xuICAgICAgICAvKlxuICAgICAgICBJbiBBbmd1bGFyIERlcGxveW1lbnQsIE5hdmlnYXRpb24gaXMgaGFuZGxlZCBieSBBbmd1bGFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiBSb3V0ZSBJbmZvIGlzIHBhc3NlZCBieSByb3V0ZUNvbmZpZ1xuICAgICAgICAqL1xuICAgICAgICBpZiAoIWZ1dHVyZS5yb3V0ZUNvbmZpZyAmJiAhY3VycmVudC5yb3V0ZUNvbmZpZykge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZ1dHVyZS5yb3V0ZUNvbmZpZyAhPT0gY3VycmVudC5yb3V0ZUNvbmZpZykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmdXR1cmUucm91dGVDb25maWcgPT09IGN1cnJlbnQucm91dGVDb25maWcpIHtcbiAgICAgICAgICAgIC8vTm8gbmVlZCB0byBjb21wYXJlIHF1ZXJ5IHBhcmFtcyBmb3IgbGF5b3V0IHJvdXRlQ29uZmlnXG4gICAgICAgICAgICBpZihmdXR1cmUuZGF0YS5sYXlvdXROYW1lICYmIGN1cnJlbnQuZGF0YS5sYXlvdXROYW1lKSAge1xuICAgICAgICAgICAgICAgIHJldHVybiAgdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmlzU2FtZVF1ZXJ5UGFyYW1zKGZ1dHVyZSwgY3VycmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHNob3VsZFJldXNlUm91dGUoXG4gICAgICAgIGZ1dHVyZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgICAgICAgY3VycmVudDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdFxuICAgICk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1NhbWVSb3V0ZShmdXR1cmUsIGN1cnJlbnQpO1xuICAgIH1cbn1cbiJdfQ==
|