@wavemaker/app-ng-runtime 12.0.0-next.45104 → 12.0.0-next.45127
Sign up to get free protection for your applications and to get access to all the features.
- app-ng-runtime/build-task/bundles/index.umd.js +46 -38
- app-ng-runtime/build-task/esm2022/basic/default/anchor/anchor.build.mjs +2 -2
- app-ng-runtime/build-task/esm2022/basic/default/html/html.build.mjs +2 -2
- app-ng-runtime/build-task/esm2022/basic/default/icon/icon.build.mjs +2 -2
- app-ng-runtime/build-task/esm2022/basic/default/label/label.build.mjs +2 -2
- app-ng-runtime/build-task/esm2022/basic/default/picture/picture.build.mjs +2 -2
- app-ng-runtime/build-task/esm2022/basic/default/spinner/spinner.build.mjs +2 -2
- app-ng-runtime/build-task/esm2022/basic/progress/progress-circle/progress-circle.build.mjs +7 -2
- app-ng-runtime/build-task/esm2022/basic/rich-text-editor/rich-text-editor.build.mjs +2 -2
- app-ng-runtime/build-task/esm2022/containers/tile/tile.build.mjs +2 -2
- app-ng-runtime/build-task/esm2022/data/form/form-field/form-field.build.mjs +2 -2
- app-ng-runtime/build-task/esm2022/device/barcode-scanner/barcode-scanner.build.mjs +2 -2
- app-ng-runtime/build-task/esm2022/device/camera/camera.build.mjs +2 -2
- app-ng-runtime/build-task/esm2022/dialogs/alert-dialog/alert-dialog.build.mjs +2 -2
- app-ng-runtime/build-task/esm2022/input/calendar/calendar.build.mjs +2 -2
- app-ng-runtime/build-task/esm2022/input/color-picker/color-picker.build.mjs +3 -3
- app-ng-runtime/build-task/esm2022/input/currency/currency.build.mjs +3 -3
- app-ng-runtime/build-task/esm2022/input/default/button/button.build.mjs +2 -2
- app-ng-runtime/build-task/esm2022/input/default/button-group/button-group.build.mjs +2 -2
- app-ng-runtime/build-task/esm2022/input/default/switch/switch.build.mjs +2 -2
- app-ng-runtime/build-task/esm2022/input/file-upload/file-upload.build.mjs +5 -1
- app-ng-runtime/build-task/esm2022/page/footer/footer.build.mjs +2 -2
- app-ng-runtime/build-task/esm2022/page/header/header.build.mjs +2 -2
- app-ng-runtime/build-task/esm2022/page/layout.build.mjs +2 -2
- app-ng-runtime/build-task/esm2022/page/left-panel/left-panel.build.mjs +2 -2
- app-ng-runtime/build-task/esm2022/page/page.build.mjs +2 -2
- app-ng-runtime/build-task/esm2022/page/right-panel/right-panel.build.mjs +2 -2
- app-ng-runtime/build-task/esm2022/page/top-nav/top-nav.build.mjs +2 -2
- app-ng-runtime/build-task/fesm2022/index.mjs +46 -38
- app-ng-runtime/build-task/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/carousel/bundles/index.umd.js +1 -1
- app-ng-runtime/components/advanced/carousel/esm2022/carousel.animator.mjs +2 -2
- app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs +1 -1
- app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/base/bundles/index.umd.js +8 -2
- app-ng-runtime/components/base/esm2022/pipes/custom-pipes.mjs +3 -3
- app-ng-runtime/components/base/esm2022/utils/live-utils.mjs +8 -2
- app-ng-runtime/components/base/fesm2022/index.mjs +8 -2
- 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/widgets/common/base/base-field-validations.d.ts +1 -1
- app-ng-runtime/components/basic/default/anchor/anchor.component.d.ts +1 -0
- app-ng-runtime/components/basic/default/audio/audio.component.d.ts +1 -0
- app-ng-runtime/components/basic/default/bundles/index.umd.js +27 -18
- app-ng-runtime/components/basic/default/esm2022/anchor/anchor.component.mjs +4 -4
- app-ng-runtime/components/basic/default/esm2022/anchor/anchor.props.mjs +2 -1
- app-ng-runtime/components/basic/default/esm2022/audio/audio.component.mjs +5 -5
- app-ng-runtime/components/basic/default/esm2022/audio/audio.props.mjs +2 -1
- app-ng-runtime/components/basic/default/esm2022/html/html.props.mjs +2 -1
- app-ng-runtime/components/basic/default/esm2022/icon/icon.component.mjs +6 -7
- app-ng-runtime/components/basic/default/esm2022/icon/icon.props.mjs +2 -1
- app-ng-runtime/components/basic/default/esm2022/iframe/iframe.component.mjs +3 -3
- app-ng-runtime/components/basic/default/esm2022/iframe/iframe.props.mjs +3 -2
- app-ng-runtime/components/basic/default/esm2022/label/label.props.mjs +1 -1
- app-ng-runtime/components/basic/default/esm2022/picture/picture.directive.mjs +2 -2
- app-ng-runtime/components/basic/default/esm2022/picture/picture.props.mjs +3 -1
- app-ng-runtime/components/basic/default/esm2022/spinner/spinner.props.mjs +3 -2
- app-ng-runtime/components/basic/default/esm2022/video/video.component.mjs +5 -4
- app-ng-runtime/components/basic/default/esm2022/video/video.props.mjs +2 -1
- app-ng-runtime/components/basic/default/fesm2022/index.mjs +27 -18
- app-ng-runtime/components/basic/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/default/icon/icon.component.d.ts +1 -0
- app-ng-runtime/components/basic/default/iframe/iframe.component.d.ts +1 -0
- app-ng-runtime/components/basic/default/picture/picture.directive.d.ts +2 -1
- app-ng-runtime/components/basic/default/video/video.component.d.ts +1 -0
- app-ng-runtime/components/basic/progress/bundles/index.umd.js +12 -8
- app-ng-runtime/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +4 -4
- app-ng-runtime/components/basic/progress/esm2022/progress-bar/progress-bar.props.mjs +2 -1
- app-ng-runtime/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +8 -6
- app-ng-runtime/components/basic/progress/esm2022/progress-circle/progress-circle.props.mjs +2 -1
- app-ng-runtime/components/basic/progress/fesm2022/index.mjs +12 -8
- app-ng-runtime/components/basic/progress/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/progress/progress-bar/progress-bar.component.d.ts +1 -0
- app-ng-runtime/components/basic/progress/progress-circle/progress-circle.component.d.ts +3 -1
- app-ng-runtime/components/basic/rich-text-editor/bundles/index.umd.js +2 -0
- app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +2 -1
- app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.props.mjs +2 -1
- app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs +2 -0
- app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/search/bundles/index.umd.js +11 -9
- app-ng-runtime/components/basic/search/esm2022/search.component.mjs +14 -13
- app-ng-runtime/components/basic/search/esm2022/search.props.mjs +2 -1
- app-ng-runtime/components/basic/search/fesm2022/index.mjs +11 -9
- app-ng-runtime/components/basic/search/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/search/search.component.d.ts +1 -0
- app-ng-runtime/components/containers/accordion/bundles/index.umd.js +3 -3
- app-ng-runtime/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +4 -4
- app-ng-runtime/components/containers/accordion/fesm2022/index.mjs +3 -3
- app-ng-runtime/components/containers/accordion/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/panel/bundles/index.umd.js +14 -14
- app-ng-runtime/components/containers/panel/esm2022/panel.component.mjs +15 -15
- app-ng-runtime/components/containers/panel/fesm2022/index.mjs +14 -14
- app-ng-runtime/components/containers/panel/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/tabs/bundles/index.umd.js +2 -2
- app-ng-runtime/components/containers/tabs/esm2022/tabs.component.mjs +3 -3
- app-ng-runtime/components/containers/tabs/fesm2022/index.mjs +2 -2
- app-ng-runtime/components/containers/tabs/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/wizard/bundles/index.umd.js +17 -0
- app-ng-runtime/components/containers/wizard/esm2022/wizard.component.mjs +18 -1
- app-ng-runtime/components/containers/wizard/fesm2022/index.mjs +17 -0
- app-ng-runtime/components/containers/wizard/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/wizard/wizard.component.d.ts +1 -0
- app-ng-runtime/components/data/form/bundles/index.umd.js +4 -0
- app-ng-runtime/components/data/form/esm2022/form-field/form-field.directive.mjs +5 -3
- app-ng-runtime/components/data/form/fesm2022/index.mjs +4 -2
- app-ng-runtime/components/data/form/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/form/form-field/form-field.directive.d.ts +1 -0
- app-ng-runtime/components/data/live-table/bundles/index.umd.js +2 -2
- app-ng-runtime/components/data/live-table/esm2022/live-table.component.mjs +3 -3
- app-ng-runtime/components/data/live-table/fesm2022/index.mjs +2 -2
- app-ng-runtime/components/data/live-table/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/pagination/bundles/index.umd.js +2 -0
- app-ng-runtime/components/data/pagination/esm2022/pagination.component.mjs +3 -1
- app-ng-runtime/components/data/pagination/fesm2022/index.mjs +2 -0
- app-ng-runtime/components/data/pagination/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/table/bundles/index.umd.js +44 -10
- app-ng-runtime/components/data/table/esm2022/table-column/table-column.directive.mjs +14 -5
- app-ng-runtime/components/data/table/esm2022/table.component.mjs +30 -7
- app-ng-runtime/components/data/table/esm2022/table.props.mjs +3 -1
- app-ng-runtime/components/data/table/fesm2022/index.mjs +45 -11
- app-ng-runtime/components/data/table/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/table/table.component.d.ts +8 -1
- app-ng-runtime/components/dialogs/alert-dialog/bundles/index.umd.js +6 -4
- app-ng-runtime/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +7 -5
- app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs +6 -4
- app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/confirm-dialog/bundles/index.umd.js +8 -5
- app-ng-runtime/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +9 -6
- app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs +8 -5
- app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/default/bundles/index.umd.js +20 -3
- app-ng-runtime/components/dialogs/default/dialog-header/dialog-header.component.d.ts +2 -1
- app-ng-runtime/components/dialogs/default/esm2022/base-dialog.mjs +13 -1
- app-ng-runtime/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +9 -4
- app-ng-runtime/components/dialogs/default/fesm2022/index.mjs +20 -3
- app-ng-runtime/components/dialogs/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/design-dialog/bundles/index.umd.js +4 -4
- app-ng-runtime/components/dialogs/design-dialog/esm2022/dialog.component.mjs +5 -5
- app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs +4 -4
- app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/iframe-dialog/bundles/index.umd.js +9 -5
- app-ng-runtime/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +10 -6
- app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs +9 -5
- app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/partial-dialog/bundles/index.umd.js +9 -5
- app-ng-runtime/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +10 -6
- app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs +9 -5
- app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/calendar/bundles/index.umd.js +2 -4
- app-ng-runtime/components/input/calendar/esm2022/calendar.component.mjs +3 -5
- app-ng-runtime/components/input/calendar/fesm2022/index.mjs +2 -4
- app-ng-runtime/components/input/calendar/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/chips/bundles/index.umd.js +3 -2
- app-ng-runtime/components/input/chips/esm2022/chips.component.mjs +3 -3
- app-ng-runtime/components/input/chips/esm2022/chips.props.mjs +2 -1
- app-ng-runtime/components/input/chips/fesm2022/index.mjs +3 -2
- app-ng-runtime/components/input/chips/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/color-picker/bundles/index.umd.js +5 -3
- app-ng-runtime/components/input/color-picker/color-picker.component.d.ts +1 -0
- app-ng-runtime/components/input/color-picker/esm2022/color-picker.component.mjs +6 -5
- app-ng-runtime/components/input/color-picker/esm2022/color-picker.props.mjs +2 -1
- app-ng-runtime/components/input/color-picker/fesm2022/index.mjs +5 -3
- app-ng-runtime/components/input/color-picker/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/currency/bundles/index.umd.js +4 -3
- app-ng-runtime/components/input/currency/currency.component.d.ts +1 -0
- app-ng-runtime/components/input/currency/esm2022/currency.component.mjs +6 -6
- app-ng-runtime/components/input/currency/esm2022/currency.props.mjs +2 -1
- app-ng-runtime/components/input/currency/fesm2022/index.mjs +4 -3
- app-ng-runtime/components/input/currency/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/bundles/index.umd.js +206 -110
- app-ng-runtime/components/input/default/button/button.component.d.ts +1 -0
- app-ng-runtime/components/input/default/checkbox/checkbox.component.d.ts +1 -0
- app-ng-runtime/components/input/default/esm2022/button/button.component.mjs +1 -1
- app-ng-runtime/components/input/default/esm2022/button/button.props.mjs +2 -1
- app-ng-runtime/components/input/default/esm2022/caption-position.directive.mjs +8 -7
- app-ng-runtime/components/input/default/esm2022/checkbox/checkbox.component.mjs +7 -7
- app-ng-runtime/components/input/default/esm2022/checkbox/checkbox.props.mjs +2 -1
- app-ng-runtime/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +21 -16
- app-ng-runtime/components/input/default/esm2022/number/number.component.mjs +5 -5
- app-ng-runtime/components/input/default/esm2022/number/number.props.mjs +3 -1
- app-ng-runtime/components/input/default/esm2022/radioset/radioset.component.mjs +28 -23
- app-ng-runtime/components/input/default/esm2022/select/select.component.mjs +60 -30
- app-ng-runtime/components/input/default/esm2022/select/select.props.mjs +2 -1
- app-ng-runtime/components/input/default/esm2022/switch/switch.component.mjs +6 -5
- app-ng-runtime/components/input/default/esm2022/switch/switch.props.mjs +2 -1
- app-ng-runtime/components/input/default/esm2022/text/calendar/input-calendar.component.mjs +5 -5
- app-ng-runtime/components/input/default/esm2022/text/calendar/input-calendar.props.mjs +2 -1
- app-ng-runtime/components/input/default/esm2022/text/color/input-color.component.mjs +5 -5
- app-ng-runtime/components/input/default/esm2022/text/color/input-color.props.mjs +2 -1
- app-ng-runtime/components/input/default/esm2022/text/email/input-email.component.mjs +5 -5
- app-ng-runtime/components/input/default/esm2022/text/email/input-email.props.mjs +2 -1
- app-ng-runtime/components/input/default/esm2022/text/locale/number-locale.mjs +51 -14
- app-ng-runtime/components/input/default/esm2022/text/number/input-number.component.mjs +5 -5
- app-ng-runtime/components/input/default/esm2022/text/number/input-number.props.mjs +2 -1
- app-ng-runtime/components/input/default/esm2022/text/text/input-text.component.mjs +5 -5
- app-ng-runtime/components/input/default/esm2022/text/text/input-text.props.mjs +2 -1
- app-ng-runtime/components/input/default/esm2022/textarea/textarea.component.mjs +9 -6
- app-ng-runtime/components/input/default/esm2022/textarea/textarea.props.mjs +2 -1
- app-ng-runtime/components/input/default/fesm2022/index.mjs +206 -110
- app-ng-runtime/components/input/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/number/number.component.d.ts +1 -0
- app-ng-runtime/components/input/default/select/select.component.d.ts +4 -4
- app-ng-runtime/components/input/default/text/calendar/input-calendar.component.d.ts +1 -0
- app-ng-runtime/components/input/default/text/color/input-color.component.d.ts +1 -0
- app-ng-runtime/components/input/default/text/email/input-email.component.d.ts +1 -0
- app-ng-runtime/components/input/default/text/locale/number-locale.d.ts +1 -0
- app-ng-runtime/components/input/default/text/number/input-number.component.d.ts +1 -0
- app-ng-runtime/components/input/default/text/text/input-text.component.d.ts +1 -0
- app-ng-runtime/components/input/default/textarea/textarea.component.d.ts +4 -2
- app-ng-runtime/components/input/epoch/bundles/index.umd.js +15 -9
- app-ng-runtime/components/input/epoch/date/date.component.d.ts +1 -0
- app-ng-runtime/components/input/epoch/date-time/date-time.component.d.ts +2 -1
- app-ng-runtime/components/input/epoch/esm2022/date/date.component.mjs +6 -6
- app-ng-runtime/components/input/epoch/esm2022/date/date.props.mjs +2 -1
- app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.component.mjs +10 -7
- app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.props.mjs +2 -1
- app-ng-runtime/components/input/epoch/esm2022/time/time.component.mjs +7 -7
- app-ng-runtime/components/input/epoch/esm2022/time/time.props.mjs +2 -1
- app-ng-runtime/components/input/epoch/fesm2022/index.mjs +15 -9
- app-ng-runtime/components/input/epoch/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/epoch/time/time.component.d.ts +1 -0
- app-ng-runtime/components/input/file-upload/bundles/index.umd.js +208 -95
- app-ng-runtime/components/input/file-upload/esm2022/file-upload.component.mjs +206 -98
- app-ng-runtime/components/input/file-upload/esm2022/file-upload.props.mjs +6 -1
- app-ng-runtime/components/input/file-upload/fesm2022/index.mjs +209 -96
- app-ng-runtime/components/input/file-upload/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/file-upload/file-upload.component.d.ts +17 -11
- app-ng-runtime/components/input/slider/bundles/index.umd.js +5 -6
- app-ng-runtime/components/input/slider/esm2022/slider.component.mjs +6 -8
- app-ng-runtime/components/input/slider/esm2022/slider.props.mjs +2 -1
- app-ng-runtime/components/input/slider/fesm2022/index.mjs +5 -6
- app-ng-runtime/components/input/slider/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/slider/slider.component.d.ts +1 -0
- app-ng-runtime/components/navigation/menu/bundles/index.umd.js +10 -8
- app-ng-runtime/components/navigation/menu/esm2022/menu.component.mjs +9 -8
- app-ng-runtime/components/navigation/menu/esm2022/menu.props.mjs +2 -1
- app-ng-runtime/components/navigation/menu/esm2022/nav/nav.component.mjs +2 -2
- app-ng-runtime/components/navigation/menu/fesm2022/index.mjs +10 -8
- app-ng-runtime/components/navigation/menu/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/menu/menu.component.d.ts +1 -0
- app-ng-runtime/components/navigation/popover/bundles/index.umd.js +121 -13
- app-ng-runtime/components/navigation/popover/esm2022/popover.component.mjs +122 -15
- app-ng-runtime/components/navigation/popover/esm2022/popover.props.mjs +2 -1
- app-ng-runtime/components/navigation/popover/fesm2022/index.mjs +121 -13
- app-ng-runtime/components/navigation/popover/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/popover/popover.component.d.ts +15 -3
- app-ng-runtime/components/page/default/bundles/index.umd.js +2 -1
- app-ng-runtime/components/page/default/esm2022/page.props.mjs +4 -3
- app-ng-runtime/components/page/default/fesm2022/index.mjs +2 -1
- app-ng-runtime/components/page/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/page/footer/bundles/index.umd.js +2 -1
- app-ng-runtime/components/page/footer/esm2022/footer.props.mjs +3 -2
- app-ng-runtime/components/page/footer/fesm2022/index.mjs +2 -1
- app-ng-runtime/components/page/footer/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/page/header/bundles/index.umd.js +2 -1
- app-ng-runtime/components/page/header/esm2022/header.props.mjs +3 -2
- app-ng-runtime/components/page/header/fesm2022/index.mjs +2 -1
- app-ng-runtime/components/page/header/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/page/left-panel/bundles/index.umd.js +2 -1
- app-ng-runtime/components/page/left-panel/esm2022/left-panel.props.mjs +3 -2
- app-ng-runtime/components/page/left-panel/fesm2022/index.mjs +2 -1
- app-ng-runtime/components/page/left-panel/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/page/right-panel/bundles/index.umd.js +2 -1
- app-ng-runtime/components/page/right-panel/esm2022/right-panel.props.mjs +3 -2
- app-ng-runtime/components/page/right-panel/fesm2022/index.mjs +2 -1
- app-ng-runtime/components/page/right-panel/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/page/top-nav/bundles/index.umd.js +2 -1
- app-ng-runtime/components/page/top-nav/esm2022/top-nav.props.mjs +3 -2
- app-ng-runtime/components/page/top-nav/fesm2022/index.mjs +2 -1
- app-ng-runtime/components/page/top-nav/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/core/bundles/index.umd.js +12 -9
- app-ng-runtime/core/esm2022/public_api.mjs +2 -2
- app-ng-runtime/core/esm2022/utils/build-utils.mjs +7 -7
- app-ng-runtime/core/esm2022/utils/utils.mjs +5 -4
- app-ng-runtime/core/fesm2022/index.mjs +12 -10
- app-ng-runtime/core/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/core/public_api.d.ts +1 -1
- app-ng-runtime/core/utils/utils.d.ts +1 -0
- app-ng-runtime/locales/moment-timezone/moment-timezone-with-data.js +37 -37
- app-ng-runtime/mobile/components/device/barcode-scanner/bundles/index.umd.js +2 -1
- app-ng-runtime/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.props.mjs +3 -2
- app-ng-runtime/mobile/components/device/barcode-scanner/fesm2022/index.mjs +2 -1
- app-ng-runtime/mobile/components/device/barcode-scanner/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/device/camera/bundles/index.umd.js +2 -1
- app-ng-runtime/mobile/components/device/camera/esm2022/camera.props.mjs +3 -2
- app-ng-runtime/mobile/components/device/camera/fesm2022/index.mjs +2 -1
- app-ng-runtime/mobile/components/device/camera/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/core/bundles/index.umd.js +18 -2
- app-ng-runtime/mobile/core/esm2022/native.xhr.mjs +19 -3
- app-ng-runtime/mobile/core/fesm2022/index.mjs +18 -2
- app-ng-runtime/mobile/core/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/package.json +1 -1
- app-ng-runtime/runtime/base/bundles/index.umd.js +7 -5
- app-ng-runtime/runtime/base/components/app-component/app.component.d.ts +2 -3
- app-ng-runtime/runtime/base/esm2022/components/app-component/app.component.mjs +5 -5
- app-ng-runtime/runtime/base/esm2022/guards/can-deactivate-page.guard.mjs +5 -4
- app-ng-runtime/runtime/base/esm2022/services/i18n.service.mjs +2 -2
- app-ng-runtime/runtime/base/fesm2022/index.mjs +7 -5
- app-ng-runtime/runtime/base/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/runtime/base/guards/can-deactivate-page.guard.d.ts +2 -1
- app-ng-runtime/runtime/base/services/i18n.service.d.ts +1 -1
- app-ng-runtime/scripts/@wavemaker/nvd3/build/nv.d3.min.js +1 -1
- app-ng-runtime/scripts/datatable/datatable.js +29 -29
- app-ng-runtime/scripts/summernote/dist/summernote-lite.min.js +2 -3
@@ -8,7 +8,8 @@ export const registerProps = () => {
|
|
8
8
|
['iconsize', { value: '2em', ...PROP_STRING }],
|
9
9
|
['name', PROP_STRING],
|
10
10
|
['show', { value: true, ...PROP_BOOLEAN }],
|
11
|
-
['hint', PROP_STRING]
|
11
|
+
['hint', PROP_STRING],
|
12
|
+
['arialabel', PROP_STRING]
|
12
13
|
]));
|
13
14
|
};
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyY29kZS1zY2FubmVyLnByb3BzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9iaWxlL2NvbXBvbmVudHMvZGV2aWNlL2JhcmNvZGUtc2Nhbm5lci9zcmMvYmFyY29kZS1zY2FubmVyLnByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXhFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxHQUFHLEVBQUU7SUFDOUIsUUFBUSxDQUNKLG1CQUFtQixFQUNuQixJQUFJLEdBQUcsQ0FDSDtRQUNJLENBQUMsZUFBZSxFQUFFLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLFdBQVcsRUFBQyxDQUFDO1FBQ2pELENBQUMsU0FBUyxFQUFFLEVBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsRUFBQyxDQUFDO1FBQ3hDLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQztRQUN0QixDQUFDLFdBQVcsRUFBRSxFQUFDLEtBQUssRUFBRSw2QkFBNkIsRUFBRSxHQUFHLFdBQVcsRUFBQyxDQUFDO1FBQ3JFLENBQUMsVUFBVSxFQUFFLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLFdBQVcsRUFBQyxDQUFDO1FBQzVDLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQztRQUNyQixDQUFDLE1BQU0sRUFBRSxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxZQUFZLEVBQUMsQ0FBQztRQUN4QyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUM7UUFDckIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDO0tBQzdCLENBQ0osQ0FDSixDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQUk9QX0JPT0xFQU4sIFBST1BfU1RSSU5HLCByZWdpc3Rlcn0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5cbmV4cG9ydCBjb25zdCByZWdpc3RlclByb3BzID0gKCkgPT4ge1xuICAgIHJlZ2lzdGVyKFxuICAgICAgICAnd20tYmFyY29kZXNjYW5uZXInLFxuICAgICAgICBuZXcgTWFwKFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIFsnYmFyY29kZWZvcm1hdCcsIHt2YWx1ZTogJ0FMTCcsIC4uLlBST1BfU1RSSU5HfV0sXG4gICAgICAgICAgICAgICAgWydjYXB0aW9uJywge3ZhbHVlOiAnJywgLi4uUFJPUF9TVFJJTkd9XSxcbiAgICAgICAgICAgICAgICBbJ2NsYXNzJywgUFJPUF9TVFJJTkddLFxuICAgICAgICAgICAgICAgIFsnaWNvbmNsYXNzJywge3ZhbHVlOiAnZ2x5cGhpY29uIGdseXBoaWNvbi1iYXJjb2RlJywgLi4uUFJPUF9TVFJJTkd9XSxcbiAgICAgICAgICAgICAgICBbJ2ljb25zaXplJywge3ZhbHVlOiAnMmVtJywgLi4uUFJPUF9TVFJJTkd9XSxcbiAgICAgICAgICAgICAgICBbJ25hbWUnLCBQUk9QX1NUUklOR10sXG4gICAgICAgICAgICAgICAgWydzaG93Jywge3ZhbHVlOiB0cnVlLCAuLi5QUk9QX0JPT0xFQU59XSxcbiAgICAgICAgICAgICAgICBbJ2hpbnQnLCBQUk9QX1NUUklOR10sXG4gICAgICAgICAgICAgICAgWydhcmlhbGFiZWwnLCBQUk9QX1NUUklOR11cbiAgICAgICAgICAgIF1cbiAgICAgICAgKVxuICAgICk7XG59O1xuIl19
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../../projects/mobile/components/device/barcode-scanner/src/barcode-scanner.props.ts","../../../../../../projects/mobile/components/device/barcode-scanner/src/barcode-scanner.component.ts","../../../../../../projects/mobile/components/device/barcode-scanner/src/barcode-scanner.component.html","../../../../../../projects/mobile/components/device/barcode-scanner/src/barcode-scanner.module.ts","../../../../../../projects/mobile/components/device/barcode-scanner/src/index.ts"],"sourcesContent":["import {
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../../projects/mobile/components/device/barcode-scanner/src/barcode-scanner.props.ts","../../../../../../projects/mobile/components/device/barcode-scanner/src/barcode-scanner.component.ts","../../../../../../projects/mobile/components/device/barcode-scanner/src/barcode-scanner.component.html","../../../../../../projects/mobile/components/device/barcode-scanner/src/barcode-scanner.module.ts","../../../../../../projects/mobile/components/device/barcode-scanner/src/index.ts"],"sourcesContent":["import {PROP_BOOLEAN, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-barcodescanner',\n new Map(\n [\n ['barcodeformat', {value: 'ALL', ...PROP_STRING}],\n ['caption', {value: '', ...PROP_STRING}],\n ['class', PROP_STRING],\n ['iconclass', {value: 'glyphicon glyphicon-barcode', ...PROP_STRING}],\n ['iconsize', {value: '2em', ...PROP_STRING}],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['hint', PROP_STRING],\n ['arialabel', PROP_STRING]\n ]\n )\n );\n};\n","import {Component, HostListener, Inject, Injector, Optional} from '@angular/core';\n\nimport { BarcodeScanner } from '@awesome-cordova-plugins/barcode-scanner/ngx';\n\nimport { APPLY_STYLES_TYPE, IWidgetConfig, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport {hasCordova} from '@wm/core';\n\nimport { registerProps } from './barcode-scanner.props';\n\nconst DEFAULT_CLS = 'btn app-barcode';\nconst WIDGET_CONFIG: IWidgetConfig = {widgetType: 'wm-barcodescanner', hostClass: DEFAULT_CLS};\n\n@Component({\n selector: 'button[wmBarcodescanner]',\n templateUrl: './barcode-scanner.component.html',\n providers: [\n provideAsWidgetRef(BarcodeScannerComponent)\n ],\n exportAs: 'wmBarcodescanner'\n})\nexport class BarcodeScannerComponent extends StylableComponent {\n static initializeProps = registerProps();\n\n public barcodeformat: string;\n public datavalue: string;\n public iconclass: any;\n public iconsize: any;\n public caption: any;\n\n\n constructor(private scanner: BarcodeScanner, inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.SCROLLABLE_CONTAINER);\n }\n\n @HostListener('click', ['$event'])\n public openBarcodescanner($event) {\n this.scan().then(text => {\n this.datavalue = text;\n this.invokeEventCallback('success', {$event});\n });\n }\n\n private scan(): Promise<string> {\n let options = {\n showFlipCameraButton : true,\n showTorchButton : true\n } as any;\n if (hasCordova()) {\n if (this.barcodeformat && this.barcodeformat !== 'ALL') {\n options.formats = this.barcodeformat;\n }\n return this.scanner.scan(options)\n .then(data => data.text);\n }\n return Promise.resolve('BAR_CODE');\n }\n}\n","<i [ngClass]=\"iconclass\" [ngStyle]=\"{'font-size': iconsize}\"></i>\n<span class=\"btn-caption\" [textContent]=\"caption\"></span>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { WmComponentsModule } from '@wm/components/base';\n\nimport { BarcodeScannerComponent } from './barcode-scanner.component';\n\nconst components = [\n BarcodeScannerComponent\n];\n\n@NgModule({\n imports: [\n CommonModule,\n WmComponentsModule\n ],\n declarations: [...components],\n exports: [...components]\n})\nexport class BarcodeScannerModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
@@ -18,7 +18,8 @@ export const registerProps = () => {
|
|
18
18
|
['name', PROP_STRING],
|
19
19
|
['savetogallery', { value: false, ...PROP_BOOLEAN }],
|
20
20
|
['show', { value: true, ...PROP_BOOLEAN }],
|
21
|
-
['hint', PROP_STRING]
|
21
|
+
['hint', PROP_STRING],
|
22
|
+
['arialabel', PROP_STRING]
|
22
23
|
]));
|
23
24
|
};
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZXJhLnByb3BzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9iaWxlL2NvbXBvbmVudHMvZGV2aWNlL2NhbWVyYS9zcmMvY2FtZXJhLnByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsR0FBRyxFQUFFO0lBQzlCLFFBQVEsQ0FDSixXQUFXLEVBQ1gsSUFBSSxHQUFHLENBQ0g7UUFDSSxDQUFDLFdBQVcsRUFBRSxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxZQUFZLEVBQUMsQ0FBQztRQUM5QyxDQUFDLGFBQWEsRUFBRSxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxXQUFXLEVBQUMsQ0FBQztRQUNqRCxDQUFDLFNBQVMsRUFBRSxFQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsR0FBRyxXQUFXLEVBQUMsQ0FBQztRQUN4QyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUM7UUFDdEIsQ0FBQyxvQkFBb0IsRUFBRSxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxZQUFZLEVBQUMsQ0FBQztRQUN2RCxDQUFDLFdBQVcsRUFBRSxFQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsR0FBRyxXQUFXLEVBQUMsQ0FBQztRQUMxQyxDQUFDLFdBQVcsRUFBRSxFQUFDLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxHQUFHLFdBQVcsRUFBQyxDQUFDO1FBQzNELENBQUMsVUFBVSxFQUFFLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLFdBQVcsRUFBQyxDQUFDO1FBQzVDLENBQUMsY0FBYyxFQUFFLEVBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsRUFBQyxDQUFDO1FBQzdDLENBQUMsbUJBQW1CLEVBQUUsRUFBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsV0FBVyxFQUFDLENBQUM7UUFDdEQsQ0FBQyxrQkFBa0IsRUFBRSxXQUFXLENBQUM7UUFDakMsQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLENBQUM7UUFDbEMsQ0FBQyxXQUFXLEVBQUUsRUFBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxFQUFDLENBQUM7UUFDMUMsQ0FBQyxlQUFlLEVBQUUsRUFBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxFQUFDLENBQUM7UUFDOUMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDO1FBQ3JCLENBQUMsZUFBZSxFQUFFLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLFlBQVksRUFBQyxDQUFDO1FBQ2xELENBQUMsTUFBTSxFQUFFLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLFlBQVksRUFBQyxDQUFDO1FBQ3hDLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQztRQUNyQixDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7S0FDN0IsQ0FDSixDQUNKLENBQUM7QUFDTixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BST1BfQk9PTEVBTiwgUFJPUF9OVU1CRVIsIFBST1BfU1RSSU5HLCByZWdpc3Rlcn0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5cbmV4cG9ydCBjb25zdCByZWdpc3RlclByb3BzID0gKCkgPT4ge1xuICAgIHJlZ2lzdGVyKFxuICAgICAgICAnd20tY2FtZXJhJyxcbiAgICAgICAgbmV3IE1hcChcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICBbJ2FsbG93ZWRpdCcsIHt2YWx1ZTogZmFsc2UsIC4uLlBST1BfQk9PTEVBTn1dLFxuICAgICAgICAgICAgICAgIFsnY2FwdHVyZXR5cGUnLCB7dmFsdWU6ICdJTUFHRScsIC4uLlBST1BfU1RSSU5HfV0sXG4gICAgICAgICAgICAgICAgWydjYXB0aW9uJywge3ZhbHVlOiAnJywgLi4uUFJPUF9TVFJJTkd9XSxcbiAgICAgICAgICAgICAgICBbJ2NsYXNzJywgUFJPUF9TVFJJTkddLFxuICAgICAgICAgICAgICAgIFsnY29ycmVjdG9yaWVudGF0aW9uJywge3ZhbHVlOiBmYWxzZSwgLi4uUFJPUF9CT09MRUFOfV0sXG4gICAgICAgICAgICAgICAgWydkYXRhdmFsdWUnLCB7dmFsdWU6ICcnLCAuLi5QUk9QX1NUUklOR31dLFxuICAgICAgICAgICAgICAgIFsnaWNvbmNsYXNzJywge3ZhbHVlOiAnd20tc2wtbCBzbC1jYW1lcmEnLCAuLi5QUk9QX1NUUklOR31dLFxuICAgICAgICAgICAgICAgIFsnaWNvbnNpemUnLCB7dmFsdWU6ICcyZW0nLCAuLi5QUk9QX1NUUklOR31dLFxuICAgICAgICAgICAgICAgIFsnaW1hZ2VxdWFsaXR5Jywge3ZhbHVlOiA4MCwgLi4uUFJPUF9OVU1CRVJ9XSxcbiAgICAgICAgICAgICAgICBbJ2ltYWdlZW5jb2Rpbmd0eXBlJywge3ZhbHVlOiAnSlBFRycsIC4uLlBST1BfU1RSSU5HfV0sXG4gICAgICAgICAgICAgICAgWydpbWFnZXRhcmdldHdpZHRoJywgUFJPUF9OVU1CRVJdLFxuICAgICAgICAgICAgICAgIFsnaW1hZ2V0YXJnZXRoZWlnaHQnLCBQUk9QX05VTUJFUl0sXG4gICAgICAgICAgICAgICAgWydsb2NhbEZpbGUnLCB7dmFsdWU6ICcnLCAuLi5QUk9QX1NUUklOR31dLFxuICAgICAgICAgICAgICAgIFsnbG9jYWxGaWxlUGF0aCcsIHt2YWx1ZTogJycsIC4uLlBST1BfU1RSSU5HfV0sXG4gICAgICAgICAgICAgICAgWyduYW1lJywgUFJPUF9TVFJJTkddLFxuICAgICAgICAgICAgICAgIFsnc2F2ZXRvZ2FsbGVyeScsIHt2YWx1ZTogZmFsc2UsIC4uLlBST1BfQk9PTEVBTn1dLFxuICAgICAgICAgICAgICAgIFsnc2hvdycsIHt2YWx1ZTogdHJ1ZSwgLi4uUFJPUF9CT09MRUFOfV0sXG4gICAgICAgICAgICAgICAgWydoaW50JywgUFJPUF9TVFJJTkddLFxuICAgICAgICAgICAgICAgIFsnYXJpYWxhYmVsJywgUFJPUF9TVFJJTkddXG4gICAgICAgICAgICBdXG4gICAgICAgIClcbiAgICApO1xufTtcbiJdfQ==
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../../projects/mobile/components/device/camera/src/camera.props.ts","../../../../../../projects/mobile/components/device/camera/src/camera.component.ts","../../../../../../projects/mobile/components/device/camera/src/camera.component.html","../../../../../../projects/mobile/components/device/camera/src/camera.module.ts","../../../../../../projects/mobile/components/device/camera/src/index.ts"],"sourcesContent":["import { PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-camera',\n new Map(\n [\n ['allowedit', {value: false, ...PROP_BOOLEAN}],\n ['capturetype', {value: 'IMAGE', ...PROP_STRING}],\n ['caption', {value: '', ...PROP_STRING}],\n ['class', PROP_STRING],\n ['correctorientation', {value: false, ...PROP_BOOLEAN}],\n ['datavalue', {value: '', ...PROP_STRING}],\n ['iconclass', {value: 'wm-sl-l sl-camera', ...PROP_STRING}],\n ['iconsize', {value: '2em', ...PROP_STRING}],\n ['imagequality', {value: 80, ...PROP_NUMBER}],\n ['imageencodingtype', {value: 'JPEG', ...PROP_STRING}],\n ['imagetargetwidth', PROP_NUMBER],\n ['imagetargetheight', PROP_NUMBER],\n ['localFile', {value: '', ...PROP_STRING}],\n ['localFilePath', {value: '', ...PROP_STRING}],\n ['name', PROP_STRING],\n ['savetogallery', {value: false, ...PROP_BOOLEAN}],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['hint', PROP_STRING]\n ]\n )\n );\n};\n","import {ChangeDetectorRef, Component, ElementRef, HostListener, Inject, Injector, Optional} from '@angular/core';\n\nimport { Camera } from '@awesome-cordova-plugins/camera/ngx';\nimport { MediaCapture } from '@awesome-cordova-plugins/media-capture/ngx';\n\nimport { APPLY_STYLES_TYPE, IWidgetConfig, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport {convertToBlob, hasCordova} from '@wm/core';\n\nimport { registerProps } from './camera.props';\n\nconst DEFAULT_CLS = 'btn app-camera';\nconst WIDGET_CONFIG: IWidgetConfig = {widgetType: 'wm-camera', hostClass: DEFAULT_CLS};\n\nexport enum CAPTURE_TYPE {\n IMAGE = 'IMAGE',\n PNG = 'PNG'\n}\n\nexport enum ENCODING_TYPE {\n JPEG = 'JPEG',\n PNG = 'PNG'\n}\n\n@Component({\n selector: 'button[wmCamera]',\n templateUrl: './camera.component.html',\n providers: [\n provideAsWidgetRef(CameraComponent)\n ],\n exportAs: 'wmCamera'\n})\nexport class CameraComponent extends StylableComponent {\n static initializeProps = registerProps();\n public allowedit: boolean;\n public correctorientation: boolean;\n public capturetype: string;\n public datavalue: string;\n public imagequality: number;\n public imageencodingtype: string;\n public imagetargetwidth: number;\n public imagetargetheight: number;\n public localFile: any;\n public localFilePath: string;\n public savetogallery: boolean;\n public iconsize: any;\n public iconclass: any;\n\n private _cameraOptions: any;\n\n constructor(private camera: Camera, private mediaCapture: MediaCapture, inj: Injector, elRef: ElementRef, cdr: ChangeDetectorRef, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.SCROLLABLE_CONTAINER);\n }\n\n @HostListener('click', ['$event'])\n public openCamera($event) {\n if (hasCordova()) {\n if (this.capturetype === CAPTURE_TYPE.IMAGE) {\n this._cameraOptions = {\n quality : this.imagequality,\n destinationType : 1, // 0-data url,1- file url\n sourceType : 1, // only camera\n allowEdit : this.allowedit,\n correctOrientation: this.correctorientation,\n encodingType : this.imageencodingtype === ENCODING_TYPE.JPEG ? 0 : 1,\n saveToPhotoAlbum : this.savetogallery,\n targetWidth : this.imagetargetwidth,\n targetHeight : this.imagetargetheight\n };\n // start camera\n this.camera.getPicture(this._cameraOptions)\n .then(path => this.updateModel($event, path));\n } else {\n this._cameraOptions = {\n limit: 1\n };\n // start video capture\n this.mediaCapture.captureVideo(this._cameraOptions)\n .then(mediaFiles => this.updateModel($event, mediaFiles[0].fullPath));\n }\n } else {\n this.invokeEventCallback('success', {$event});\n }\n }\n\n private updateModel($event, value) {\n value = (value.startsWith('file://') ? '' : 'file://') + value;\n this.localFilePath = this.datavalue = value;\n convertToBlob(value)\n .then(result => {\n this.localFile = result.blob;\n this.invokeEventCallback('success', {$event, localFilePath: this.localFilePath, localFile: this.localFile});\n }, () => {\n this.localFile = undefined;\n });\n }\n}\n","<i [ngClass]=\"iconclass\" [ngStyle]=\"{'font-size': iconsize}\"></i>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { WmComponentsModule } from '@wm/components/base';\n\nimport { CameraComponent } from './camera.component';\n\nconst components = [\n CameraComponent\n];\n\n@NgModule({\n imports: [\n CommonModule,\n WmComponentsModule\n ],\n declarations: [...components],\n exports: [...components]\n})\nexport class CameraModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../../projects/mobile/components/device/camera/src/camera.props.ts","../../../../../../projects/mobile/components/device/camera/src/camera.component.ts","../../../../../../projects/mobile/components/device/camera/src/camera.component.html","../../../../../../projects/mobile/components/device/camera/src/camera.module.ts","../../../../../../projects/mobile/components/device/camera/src/index.ts"],"sourcesContent":["import {PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-camera',\n new Map(\n [\n ['allowedit', {value: false, ...PROP_BOOLEAN}],\n ['capturetype', {value: 'IMAGE', ...PROP_STRING}],\n ['caption', {value: '', ...PROP_STRING}],\n ['class', PROP_STRING],\n ['correctorientation', {value: false, ...PROP_BOOLEAN}],\n ['datavalue', {value: '', ...PROP_STRING}],\n ['iconclass', {value: 'wm-sl-l sl-camera', ...PROP_STRING}],\n ['iconsize', {value: '2em', ...PROP_STRING}],\n ['imagequality', {value: 80, ...PROP_NUMBER}],\n ['imageencodingtype', {value: 'JPEG', ...PROP_STRING}],\n ['imagetargetwidth', PROP_NUMBER],\n ['imagetargetheight', PROP_NUMBER],\n ['localFile', {value: '', ...PROP_STRING}],\n ['localFilePath', {value: '', ...PROP_STRING}],\n ['name', PROP_STRING],\n ['savetogallery', {value: false, ...PROP_BOOLEAN}],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['hint', PROP_STRING],\n ['arialabel', PROP_STRING]\n ]\n )\n );\n};\n","import {ChangeDetectorRef, Component, ElementRef, HostListener, Inject, Injector, Optional} from '@angular/core';\n\nimport { Camera } from '@awesome-cordova-plugins/camera/ngx';\nimport { MediaCapture } from '@awesome-cordova-plugins/media-capture/ngx';\n\nimport { APPLY_STYLES_TYPE, IWidgetConfig, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport {convertToBlob, hasCordova} from '@wm/core';\n\nimport { registerProps } from './camera.props';\n\nconst DEFAULT_CLS = 'btn app-camera';\nconst WIDGET_CONFIG: IWidgetConfig = {widgetType: 'wm-camera', hostClass: DEFAULT_CLS};\n\nexport enum CAPTURE_TYPE {\n IMAGE = 'IMAGE',\n PNG = 'PNG'\n}\n\nexport enum ENCODING_TYPE {\n JPEG = 'JPEG',\n PNG = 'PNG'\n}\n\n@Component({\n selector: 'button[wmCamera]',\n templateUrl: './camera.component.html',\n providers: [\n provideAsWidgetRef(CameraComponent)\n ],\n exportAs: 'wmCamera'\n})\nexport class CameraComponent extends StylableComponent {\n static initializeProps = registerProps();\n public allowedit: boolean;\n public correctorientation: boolean;\n public capturetype: string;\n public datavalue: string;\n public imagequality: number;\n public imageencodingtype: string;\n public imagetargetwidth: number;\n public imagetargetheight: number;\n public localFile: any;\n public localFilePath: string;\n public savetogallery: boolean;\n public iconsize: any;\n public iconclass: any;\n\n private _cameraOptions: any;\n\n constructor(private camera: Camera, private mediaCapture: MediaCapture, inj: Injector, elRef: ElementRef, cdr: ChangeDetectorRef, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.SCROLLABLE_CONTAINER);\n }\n\n @HostListener('click', ['$event'])\n public openCamera($event) {\n if (hasCordova()) {\n if (this.capturetype === CAPTURE_TYPE.IMAGE) {\n this._cameraOptions = {\n quality : this.imagequality,\n destinationType : 1, // 0-data url,1- file url\n sourceType : 1, // only camera\n allowEdit : this.allowedit,\n correctOrientation: this.correctorientation,\n encodingType : this.imageencodingtype === ENCODING_TYPE.JPEG ? 0 : 1,\n saveToPhotoAlbum : this.savetogallery,\n targetWidth : this.imagetargetwidth,\n targetHeight : this.imagetargetheight\n };\n // start camera\n this.camera.getPicture(this._cameraOptions)\n .then(path => this.updateModel($event, path));\n } else {\n this._cameraOptions = {\n limit: 1\n };\n // start video capture\n this.mediaCapture.captureVideo(this._cameraOptions)\n .then(mediaFiles => this.updateModel($event, mediaFiles[0].fullPath));\n }\n } else {\n this.invokeEventCallback('success', {$event});\n }\n }\n\n private updateModel($event, value) {\n value = (value.startsWith('file://') ? '' : 'file://') + value;\n this.localFilePath = this.datavalue = value;\n convertToBlob(value)\n .then(result => {\n this.localFile = result.blob;\n this.invokeEventCallback('success', {$event, localFilePath: this.localFilePath, localFile: this.localFile});\n }, () => {\n this.localFile = undefined;\n });\n }\n}\n","<i [ngClass]=\"iconclass\" [ngStyle]=\"{'font-size': iconsize}\"></i>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { WmComponentsModule } from '@wm/components/base';\n\nimport { CameraComponent } from './camera.component';\n\nconst components = [\n CameraComponent\n];\n\n@NgModule({\n imports: [\n CommonModule,\n WmComponentsModule\n ],\n declarations: [...components],\n exports: [...components]\n})\nexport class CameraModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
@@ -773,11 +773,15 @@
|
|
773
773
|
this.nXhr.responseXML = req.responseXML;
|
774
774
|
this.nXhr.responseText = req.responseText;
|
775
775
|
this.responseHeaderText = req.getAllResponseHeaders();
|
776
|
+
this.nXhr.readyState = req.readyState;
|
776
777
|
this.nXhr.getResponseHeader = header => req.getResponseHeader(header);
|
777
778
|
}
|
778
779
|
sendViaXhr(body) {
|
779
780
|
const self = this;
|
780
|
-
this.xhr.onreadystatechange =
|
781
|
+
this.xhr.onreadystatechange = () => {
|
782
|
+
self.copyXMLHttpResponse(self.xhr);
|
783
|
+
this.nXhr.onreadystatechange && this.nXhr.onreadystatechange();
|
784
|
+
};
|
781
785
|
this.xhr.onload = function () {
|
782
786
|
self.copyXMLHttpResponse(self.xhr);
|
783
787
|
if (self.nXhr.onload) {
|
@@ -972,6 +976,8 @@
|
|
972
976
|
this.onload && this.onload();
|
973
977
|
this.onloadend && this.onloadend();
|
974
978
|
clearTimeout(timerId);
|
979
|
+
this.readyState = 4;
|
980
|
+
this.onreadystatechange && this.onreadystatechange();
|
975
981
|
};
|
976
982
|
const onError = (response) => {
|
977
983
|
console.error('network call with request %O failed with response : %O', this, response);
|
@@ -980,10 +986,14 @@
|
|
980
986
|
this.onerror && this.onerror();
|
981
987
|
this.onloadend && this.onloadend();
|
982
988
|
clearTimeout(timerId);
|
989
|
+
this.readyState = 4;
|
990
|
+
this.onreadystatechange && this.onreadystatechange();
|
983
991
|
};
|
984
992
|
cordova$1.plugin.http.downloadFile(new URL(this._internal.url).href, {}, options.headers, tempfile, (entry, response) => {
|
985
993
|
entry.file(f => onSuccess(f, response), onError);
|
986
994
|
}, onError);
|
995
|
+
this.readyState = 1;
|
996
|
+
this.onreadystatechange && this.onreadystatechange();
|
987
997
|
}
|
988
998
|
sendViaNativePlugin(body) {
|
989
999
|
const options = this.prepareOptions(body);
|
@@ -998,6 +1008,8 @@
|
|
998
1008
|
}, this.timeout > 0 ? this.timeout : 1);
|
999
1009
|
new Promise((resolve, reject) => {
|
1000
1010
|
cordova$1.plugin.http.sendRequest(new URL(this._internal.url).href, options, resolve, reject);
|
1011
|
+
this.readyState = 1;
|
1012
|
+
this.onreadystatechange && this.onreadystatechange();
|
1001
1013
|
}).then(response => {
|
1002
1014
|
console.log('network call with request %O successed with response : %O', this, response);
|
1003
1015
|
this.progress.close(true);
|
@@ -1013,7 +1025,11 @@
|
|
1013
1025
|
this._internal.triggerListeners("error" /* EVENT.ERROR */, [response]);
|
1014
1026
|
this.onerror && this.onerror();
|
1015
1027
|
this.onloadend && this.onloadend();
|
1016
|
-
}).finally(() =>
|
1028
|
+
}).finally(() => {
|
1029
|
+
this.readyState = 4;
|
1030
|
+
this.onreadystatechange && this.onreadystatechange();
|
1031
|
+
clearTimeout(timerId);
|
1032
|
+
});
|
1017
1033
|
}
|
1018
1034
|
close() {
|
1019
1035
|
this.ontimeout = null;
|
@@ -71,11 +71,15 @@ class Internals {
|
|
71
71
|
this.nXhr.responseXML = req.responseXML;
|
72
72
|
this.nXhr.responseText = req.responseText;
|
73
73
|
this.responseHeaderText = req.getAllResponseHeaders();
|
74
|
+
this.nXhr.readyState = req.readyState;
|
74
75
|
this.nXhr.getResponseHeader = header => req.getResponseHeader(header);
|
75
76
|
}
|
76
77
|
sendViaXhr(body) {
|
77
78
|
const self = this;
|
78
|
-
this.xhr.onreadystatechange =
|
79
|
+
this.xhr.onreadystatechange = () => {
|
80
|
+
self.copyXMLHttpResponse(self.xhr);
|
81
|
+
this.nXhr.onreadystatechange && this.nXhr.onreadystatechange();
|
82
|
+
};
|
79
83
|
this.xhr.onload = function () {
|
80
84
|
self.copyXMLHttpResponse(self.xhr);
|
81
85
|
if (self.nXhr.onload) {
|
@@ -270,6 +274,8 @@ export class NativeXMLHttpRequest {
|
|
270
274
|
this.onload && this.onload();
|
271
275
|
this.onloadend && this.onloadend();
|
272
276
|
clearTimeout(timerId);
|
277
|
+
this.readyState = 4;
|
278
|
+
this.onreadystatechange && this.onreadystatechange();
|
273
279
|
};
|
274
280
|
const onError = (response) => {
|
275
281
|
console.error('network call with request %O failed with response : %O', this, response);
|
@@ -278,10 +284,14 @@ export class NativeXMLHttpRequest {
|
|
278
284
|
this.onerror && this.onerror();
|
279
285
|
this.onloadend && this.onloadend();
|
280
286
|
clearTimeout(timerId);
|
287
|
+
this.readyState = 4;
|
288
|
+
this.onreadystatechange && this.onreadystatechange();
|
281
289
|
};
|
282
290
|
cordova.plugin.http.downloadFile(new URL(this._internal.url).href, {}, options.headers, tempfile, (entry, response) => {
|
283
291
|
entry.file(f => onSuccess(f, response), onError);
|
284
292
|
}, onError);
|
293
|
+
this.readyState = 1;
|
294
|
+
this.onreadystatechange && this.onreadystatechange();
|
285
295
|
}
|
286
296
|
sendViaNativePlugin(body) {
|
287
297
|
const options = this.prepareOptions(body);
|
@@ -296,6 +306,8 @@ export class NativeXMLHttpRequest {
|
|
296
306
|
}, this.timeout > 0 ? this.timeout : 1);
|
297
307
|
new Promise((resolve, reject) => {
|
298
308
|
cordova.plugin.http.sendRequest(new URL(this._internal.url).href, options, resolve, reject);
|
309
|
+
this.readyState = 1;
|
310
|
+
this.onreadystatechange && this.onreadystatechange();
|
299
311
|
}).then(response => {
|
300
312
|
console.log('network call with request %O successed with response : %O', this, response);
|
301
313
|
this.progress.close(true);
|
@@ -311,7 +323,11 @@ export class NativeXMLHttpRequest {
|
|
311
323
|
this._internal.triggerListeners("error" /* EVENT.ERROR */, [response]);
|
312
324
|
this.onerror && this.onerror();
|
313
325
|
this.onloadend && this.onloadend();
|
314
|
-
}).finally(() =>
|
326
|
+
}).finally(() => {
|
327
|
+
this.readyState = 4;
|
328
|
+
this.onreadystatechange && this.onreadystatechange();
|
329
|
+
clearTimeout(timerId);
|
330
|
+
});
|
315
331
|
}
|
316
332
|
close() {
|
317
333
|
this.ontimeout = null;
|
@@ -321,4 +337,4 @@ export class NativeXMLHttpRequest {
|
|
321
337
|
this._internal.close();
|
322
338
|
}
|
323
339
|
}
|
324
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLnhoci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21vYmlsZS9jb3JlL3NyYy9uYXRpdmUueGhyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFakMsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDakQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBWWxDLE1BQU0sV0FBVyxHQUFHO0lBQ2hCLEtBQUssRUFBRSxjQUFjO0lBQ3JCLEtBQUssRUFBRSx3QkFBd0I7SUFDL0IsS0FBSyxFQUFFLHlCQUF5QjtJQUNoQyxLQUFLLEVBQUUsaUJBQWlCO0lBRXhCLEtBQUssRUFBRSxRQUFRO0lBQ2YsS0FBSyxFQUFFLGFBQWE7SUFDcEIsS0FBSyxFQUFFLGNBQWM7SUFDckIsS0FBSyxFQUFFLG1DQUFtQztJQUMxQyxLQUFLLEVBQUUsZ0JBQWdCO0lBQ3ZCLEtBQUssRUFBRSxtQkFBbUI7SUFDMUIsS0FBSyxFQUFFLHFCQUFxQjtJQUM1QixLQUFLLEVBQUUsMkJBQTJCO0lBQ2xDLEtBQUssRUFBRSwrQkFBK0I7SUFDdEMsS0FBSyxFQUFFLG1DQUFtQztJQUUxQyxLQUFLLEVBQUUscUJBQXFCO0lBQzVCLEtBQUssRUFBRSx1QkFBdUI7SUFDOUIsS0FBSyxFQUFFLFdBQVc7SUFDbEIsS0FBSyxFQUFFLGVBQWU7SUFDdEIsS0FBSyxFQUFFLGtCQUFrQjtJQUN6QixLQUFLLEVBQUUsZUFBZTtJQUN0QixLQUFLLEVBQUUsWUFBWTtJQUNuQixLQUFLLEVBQUUsd0JBQXdCO0lBQy9CLEtBQUssRUFBRSx3QkFBd0I7Q0FDbEMsQ0FBQztBQUVGLE1BQU0sU0FBUztJQVVYLFlBQW1CLElBQTBCO1FBQTFCLFNBQUksR0FBSixJQUFJLENBQXNCO1FBVDdDLFFBQUcsR0FBRyxJQUFJLGVB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QUMsUUFBUSxDQUFDLENBQUM7WUFDNUMsT0FBTyxDQUFDLEtBQUssQ0FBQyx3REFBd0QsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDeEYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsMEJBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLDRCQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUN6RCxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVPLEtBQUs7UUFDVCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNJb3MgfSBmcm9tICdAd20vY29yZSc7XG5cbmNvbnN0IF9YTUxIdHRwUmVxdWVzdCA9IHdpbmRvd1snWE1MSHR0cFJlcXVlc3QnXTtcbmNvbnN0IGNvcmRvdmEgPSB3aW5kb3dbJ2NvcmRvdmEnXTtcblxuXG5jb25zdCBlbnVtIEVWRU5UIHtcbiAgICBMT0FEX1NUQVJUID0gJ2xvYWRzdGFydCcsXG4gICAgTE9BRCA9ICdsb2FkJyxcbiAgICBMT0FEX0VORCA9ICdsb2FkZW5kJyxcbiAgICBQUk9HUkVTUyA9ICdwcm9ncmVzcycsXG4gICAgRVJST1IgPSAnZXJyb3InLFxuICAgIEFCT1JUID0gJ2Fib3J0J1xufVxuXG5jb25zdCBTVEFUVVNfVEVYVCA9IHtcbiAgICAnMTAwJzogJzEwMCBDb250aW51ZScsXG4gICAgJzEwMSc6ICcxMDEgU3dpdGNoaW5nIFByb3RvY29sJyxcbiAgICAnMTAyJzogJzEwMiBQcm9jZXNzaW5nIChXZWJEQVYpJyxcbiAgICAnMTAzJzogJzEwMyBFYXJseSBIaW50cycsXG5cbiAgICAnMjAwJzogJzIwMCBPSycsXG4gICAgJzIwMSc6ICcyMDEgQ3JlYXRlZCcsXG4gICAgJzIwMic6ICcyMDIgQWNjZXB0ZWQnLFxuICAgICcyMDMnOiAnMjAzIE5vbi1BdXRob3JpdGF0aXZlIEluZm9ybWF0aW9uJyxcbiAgICAnMjA0JzogJzIwNCBObyBDb250ZW50JyxcbiAgICAnMjA1JzogJzIwNSBSZXNldCBDb250ZW50JyxcbiAgICAnMjA2JzogJzIwNiBQYXJ0aWFsIENvbnRlbnQnLFxuICAgICcyMDcnOiAnMjA3IE11bHRpLVN0YXR1cyAoV2ViREFWKScsXG4gICAgJzIwOCc6ICcyMDggQWxyZWFkeSBSZXBvcnRlZCAoV2ViREFWKScsXG4gICAgJzIyNic6ICcyMjYgSU0gVXNlZCAoSFRUUCBEZWx0YSBlbmNvZGluZyknLFxuXG4gICAgJzMwMCc6ICczMDAgTXVsdGlwbGUgQ2hvaWNlJyxcbiAgICAnMzAxJzogJzMwMSBNb3ZlZCBQZXJtYW5lbnRseScsXG4gICAgJzMwMic6ICczMDIgRm91bmQnLFxuICAgICczMDMnOiAnMzAzIFNlZSBPdGhlcicsXG4gICAgJzMwNCc6ICczMDQgTm90IE1vZGlmaWVkJyxcbiAgICAnMzA1JzogJzMwNSBVc2UgUHJveHknLFxuICAgICczMDYnOiAnMzA2IHVudXNlZCcsXG4gICAgJzMwNyc6ICczMDcgVGVtcG9yYXJ5IFJlZGlyZWN0JyxcbiAgICAnMzA4JzogJzMwOCBQZXJtYW5lbnQgUmVkaXJlY3QnXG59O1xuXG5jbGFzcyBJbnRlcm5hbHMge1xuICAgIHhociA9IG5ldyBfWE1MSHR0cFJlcXVlc3QoKTtcbiAgICBtZXRob2QgPSAnR0VUJztcbiAgICByZXF1ZXN0SGVhZGVycyA9IHt9O1xuICAgIHJlc3BvbnNlSGVhZGVycyA9IHt9O1xuICAgIHJlc3BvbnNlSGVhZGVyVGV4dCA9ICcnO1xuICAgIHVybCA9ICcnO1xuICAgIGFzeW5jID0gdHJ1ZTtcbiAgICBsaXN0ZW5lcnMgPSB7fTtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBuWGhyOiBOYXRpdmVYTUxIdHRwUmVxdWVzdCkge31cblxuICAgIHB1YmxpYyB0cmlnZ2VyTGlzdGVuZXJzKGV2ZW50TmFtZTogc3RyaW5nLCBkYXRhPzogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGxpc3RlbmVycyA9IHRoaXMubGlzdGVuZXJzW2V2ZW50TmFtZV07XG4gICAgICAgIGlmIChsaXN0ZW5lcnMpIHtcbiAgICAgICAgICAgIGxpc3RlbmVycy5mb3JFYWNoKGZ1bmN0aW9uIChsKSB7XG4gICAgICAgICAgICAgICAgbC5hcHBseSh3aW5kb3csIGRhdGEpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY29weU5hdGl2ZVJlc3BvbnNlKHJlcyk6IHZvaWQge1xuICAgICAgICB0aGlzLm5YaHIuc3RhdHVzID0gcmVzLnN0YXR1cztcbiAgICAgICAgdGhpcy5uWGhyLnN0YXR1c1RleHQgPSByZXMuc3RhdHVzVGV4dCB8fCByZXMuc3RhdHVzO1xuICAgICAgICB0aGlzLm5YaHIucmVzcG9uc2UgPSByZXMuZGF0YTtcbiAgICAgICAgdGhpcy5uWGhyLnJlc3BvbnNlVHlwZSA9IChyZXMuaGVhZGVycyAmJiByZXMuaGVhZGVyc1snY29udGVudC10eXBlJ10pIHx8ICdwbGFpbi90ZXh0JztcbiAgICAgICAgdGhpcy5uWGhyLnJlc3BvbnNlVVJMID0gcmVzLnJlc3BvbnNlVVJMO1xuICAgICAgICB0aGlzLm5YaHIucmVzcG9uc2VYTUwgPSByZXMucmVzcG9uc2VYTUw7XG4gICAgICAgIHRoaXMublhoci5yZXNwb25zZVRleHQgPSAocmVzLmRhdGEgJiYgcmVzLmRhdGEudG9TdHJpbmcoKSkgfHwgcmVzLmVycm9yO1xuICAgICAgICB0aGlzLnJlc3BvbnNlSGVhZGVyVGV4dCA9ICgoKTogc3RyaW5nID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGhlYWRlcnMgPSBbXTtcbiAgICAgICAgICAgIGZvciAobGV0IGsgaW4gcmVzLmhlYWRlcnMpIHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzLnB1c2goayArICc6ICcgKyByZXMuaGVhZGVyc1trXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gaGVhZGVycy5qb2luKCdcXHJcXG4nKTtcbiAgICAgICAgfSkoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29weVhNTEh0dHBSZXNwb25zZShyZXE6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm5YaHIuc3RhdHVzID0gcmVxLnN0YXR1cztcbiAgICAgICAgdGhpcy5uWGhyLnN0YXR1c1RleHQgPSByZXEuc3RhdHVzVGV4dDtcbiAgICAgICAgdGhpcy5uWGhyLnJlc3BvbnNlID0gcmVxLnJlc3BvbnNlO1xuICAgICAgICB0aGlzLm5YaHIucmVzcG9uc2VUeXBlID0gcmVxLnJlc3BvbnNlVHlwZTtcbiAgICAgICAgdGhpcy5uWGhyLnJlc3BvbnNlVVJMID0gcmVxLnJlc3BvbnNlVVJMO1xuICAgICAgICB0aGlzLm5YaHIucmVzcG9uc2VYTUwgPSByZXEucmVzcG9uc2VYTUw7XG4gICAgICAgIHRoaXMublhoci5yZXNwb25zZVRleHQgPSByZXEucmVzcG9uc2VUZXh0O1xuICAgICAgICB0aGlzLnJlc3BvbnNlSGVhZGVyVGV4dCA9IHJlcS5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKTtcbiAgICAgICAgdGhpcy5uWGhyLmdldFJlc3BvbnNlSGVhZGVyID0gaGVhZGVyID0+IHJlcS5nZXRSZXNwb25zZUhlYWRlcihoZWFkZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZW5kVmlhWGhyKGJvZHkpIHtcbiAgICAgICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgICAgIHRoaXMueGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IHRoaXMublhoci5vbnJlYWR5c3RhdGVjaGFuZ2U7XG4gICAgICAgIHRoaXMueGhyLm9ubG9hZCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgc2VsZi5jb3B5WE1MSHR0cFJlc3BvbnNlKHNlbGYueGhyKTtcbiAgICAgICAgICAgIGlmIChzZWxmLm5YaHIub25sb2FkKSB7XG4gICAgICAgICAgICAgICAgc2VsZi5uWGhyLm9ubG9hZC5hcHBseShzZWxmLm5YaHIsIGFyZ3VtZW50cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMueGhyLm9uZXJyb3IgPSB0aGlzLm5YaHIub25lcnJvcjtcbiAgICAgICAgaWYgKCF0aGlzLmFzeW5jKSB7XG4gICAgICAgICAgICB0aGlzLnhoci5vbnRpbWVvdXQgPSB0aGlzLm5YaHIub250aW1lb3V0O1xuICAgICAgICAgICAgdGhpcy54aHIudGltZW91dCA9IHRoaXMublhoci50aW1lb3V0O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMueGhyLndpdGhDcmVkZW50aWFscyA9IHRoaXMublhoci53aXRoQ3JlZGVudGlhbHM7XG4gICAgICAgIGZvciAobGV0IGsgaW4gdGhpcy5saXN0ZW5lcnMpIHtcbiAgICAgICAgICAgIHRoaXMueGhyLmFkZEV2ZW50TGlzdGVuZXIoaywgZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb3B5WE1MSHR0cFJlc3BvbnNlKHRoaXMueGhyKTtcbiAgICAgICAgICAgICAgICB0aGlzLnRyaWdnZXJMaXN0ZW5lcnMoZS50eXBlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMueGhyLnNlbmQoYm9keSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsb3NlKCkge1xuICAgICAgICBmb3IgKGxldCBrIGluIHRoaXMubGlzdGVuZXJzKSB7XG4gICAgICAgICAgICB0aGlzLmxpc3RlbmVyc1trXS5sZW5ndGggPSAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTmF0aXZlWE1MSHR0cFJlcXVlc3Qge1xuICAgIHB1YmxpYyBvbnJlYWR5c3RhdGVjaGFuZ2UgPSBudWxsO1xuICAgIHB1YmxpYyByZWFkeVN0YXRlID0gMDtcbiAgICBwdWJsaWMgcmVzcG9uc2UgPSBudWxsO1xuICAgIHB1YmxpYyByZXNwb25zZVR5cGUgPSBudWxsO1xuICAgIHB1YmxpYyByZXNwb25zZVRleHQgPSBudWxsO1xuICAgIHB1YmxpYyByZXNwb25zZVVSTCA9IG51bGw7XG4gICAgcHVibGljIHJlc3BvbnNlWE1MID0gbnVsbDtcbiAgICBwdWJsaWMgc3RhdHVzID0gMDtcbiAgICBwdWJsaWMgc3RhdHVzVGV4dCA9ICcnO1xuICAgIHB1YmxpYyBvbnRpbWVvdXQgPSBudWxsO1xuICAgIHB1YmxpYyBvbmxvYWQgPSBudWxsO1xuICAgIHB1YmxpYyBvbmxvYWRlbmQgPSBudWxsO1xuICAgIHB1YmxpYyBvbmVycm9yID0gbnVsbDtcbiAgICBwdWJsaWMgdGltZW91dCA9IDA7XG4gICAgcHVibGljIHdpdGhDcmVkZW50aWFscyA9IGZhbHNlO1xuICAgIHByaXZhdGUgcHJvZ3Jlc3MgPSB7XG4gICAgICAgIGxlbmd0aENvbXB1dGFibGU6IGZhbHNlLFxuICAgICAgICBsb2FkZWQgOiAwLFxuICAgICAgICB0b3RhbDogMCxcbiAgICAgICAgY2xvc2U6IChzdWNjZXNzID0gZmFsc2UpOiB2b2lkID0+IHt9XG4gICAgfTtcbiAgICBwdWJsaWMgdXBsb2FkID0gIHtcbiAgICAgICAgYWRkRXZlbnRMaXN0ZW5lciA6IHRoaXMuYWRkRXZlbnRMaXN0ZW5lci5iaW5kKHRoaXMpXG4gICAgfTtcbiAgICBwcml2YXRlIF9pbnRlcm5hbCA9IG5ldyBJbnRlcm5hbHModGhpcyk7XG5cbiAgICBwdWJsaWMgYWJvcnQoKSB7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gLTE7XG4gICAgICAgIHRoaXMuX2ludGVybmFsLnRyaWdnZXJMaXN0ZW5lcnMoRVZFTlQuRVJST1IpO1xuICAgICAgICB0aGlzLm9uZXJyb3IgJiYgdGhpcy5vbmVycm9yKCk7XG4gICAgICAgIHRoaXMuX2ludGVybmFsLnhoci5hYm9ydCgpO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFJlc3BvbnNlSGVhZGVyKG5hbWU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXNwb25zZS5oZWFkZXJzW25hbWVdO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBbGxSZXNwb25zZUhlYWRlcnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbnRlcm5hbC5yZXNwb25zZUhlYWRlclRleHQ7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFJlcXVlc3RIZWFkZXIoaGVhZGVyOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5faW50ZXJuYWwucmVxdWVzdEhlYWRlcnNbaGVhZGVyXSA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9pbnRlcm5hbC54aHIuc2V0UmVxdWVzdEhlYWRlcihoZWFkZXIsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGVNaW1lVHlwZShtaW1lOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5faW50ZXJuYWwueGhyLm92ZXJyaWRlTWltZVR5cGUobWltZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9wZW4obWV0aG9kOiBzdHJpbmcsIHVybDogc3RyaW5nLCBhc3luYyA9IHRydWUsIHVzZXI/OiBzdHJpbmcsIHBhc3N3b3JkPzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2ludGVybmFsLm1ldGhvZCA9IG1ldGhvZDtcbiAgICAgICAgdGhpcy5faW50ZXJuYWwudXJsID0gdXJsO1xuICAgICAgICB0aGlzLl9pbnRlcm5hbC5hc3luYyA9IGFzeW5jO1xuICAgICAgICB0aGlzLl9pbnRlcm5hbC54aHIub3BlbihtZXRob2QsIHVybCwgYXN5bmMsIHVzZXIsIHBhc3N3b3JkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VuZChib2R5PzogYW55LCB1c2VCcm93c2VyWEhSID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKHVzZUJyb3dzZXJYSFJcbiAgICAgICAgICAgIHx8IHRoaXMuX2ludGVybmFsLnVybC5zdGFydHNXaXRoKCdodHRwOi8vbG9jYWxob3N0JylcbiAgICAgICAgICAgIHx8ICF0aGlzLl9pbnRlcm5hbC51cmwuc3RhcnRzV2l0aCgnaHR0cCcpKSB7XG4gICAgICAgICAgICB0aGlzLl9pbnRlcm5hbC5zZW5kVmlhWGhyKGJvZHkpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMucmVzcG9uc2VUeXBlID09PSAnYmxvYicpIHtcbiAgICAgICAgICAgIHRoaXMuc2VuZEJsb2JWaWFOYXRpdmVQbHVnaW4oYm9keSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlbmRWaWFOYXRpdmVQbHVnaW4oYm9keSk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcHVibGljIGFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lOiBzdHJpbmcsIGhhbmRsZXI6ICgpID0+IGFueSkge1xuICAgICAgICB0aGlzLl9pbnRlcm5hbC5saXN0ZW5lcnNbZXZlbnROYW1lXSA9IHRoaXMuX2ludGVybmFsLmxpc3RlbmVyc1tldmVudE5hbWVdIHx8IFtdO1xuICAgICAgICB0aGlzLl9pbnRlcm5hbC5saXN0ZW5lcnNbZXZlbnROYW1lXS5wdXNoKGhhbmRsZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50TmFtZTogc3RyaW5nLCBoYW5kbGVyOiAoKSA9PiBhbnkpIHtcbiAgICAgICAgaWYgKHRoaXMuX2ludGVybmFsLmxpc3RlbmVyc1tldmVudE5hbWVdKSB7XG4gICAgICAgICAgICBjb25zdCBpID0gdGhpcy5faW50ZXJuYWwubGlzdGVuZXJzW2V2ZW50TmFtZV0uaW5kZXhPZihoYW5kbGVyKTtcbiAgICAgICAgICAgIHRoaXMuX2ludGVybmFsLmxpc3RlbmVyc1tldmVudE5hbWVdLnNwbGljZShpLCAxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcHJlcGFyZU9wdGlvbnMoYm9keTogYW55KSB7XG4gICAgICAgIGJvZHkgPSBib2R5IHx8IHt9O1xuICAgICAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICAgICAgaGVhZGVyczoge30sXG4gICAgICAgICAgICBkYXRhOiBib2R5LFxuICAgICAgICAgICAgbWV0aG9kOiB0aGlzLl9pbnRlcm5hbC5tZXRob2QsXG4gICAgICAgICAgICBzZXJpYWxpemVyOiAncmF3J1xuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChib2R5ICE9IG51bGwgJiYgYm9keSAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGlmIChib2R5LmNvbnN0cnVjdG9yICYmIGJvZHkuY29uc3RydWN0b3IudG9TdHJpbmcoKS5pbmRleE9mKCdGb3JtRGF0YSgpJykgPj0gMCkge1xuICAgICAgICAgICAgICAgIG9wdGlvbnMuc2VyaWFsaXplciA9ICdtdWx0aXBhcnQnO1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRQcm9ncmVzcygpO1xuICAgICAgICAgICAgfSBlbHNlIGlmKHR5cGVvZiBib2R5ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIG9wdGlvbnMuc2VyaWFsaXplciA9ICd1dGY4JztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgb3B0aW9ucy5zZXJpYWxpemVyID0gJ3VybGVuY29kZWQnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZvciAobGV0IGtleSBpbiB0aGlzLl9pbnRlcm5hbC5yZXF1ZXN0SGVhZGVycykge1xuICAgICAgICAgICAgb3B0aW9ucy5oZWFkZXJzW2tleV0gPSB0aGlzLl9pbnRlcm5hbC5yZXF1ZXN0SGVhZGVyc1trZXldO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvcHRpb25zO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogTmF0aXZlIHBsdWdpbiBkaWRuJ3QgcHJvdmlkZSBhbnkgQVBJIHRvIHRyYWNrIHVwbG9hZCBwcm9ncmVzcy5cbiAgICAgKiBUaGlzIG1ldGhvZCBnZW5lcmF0ZXMgYSBzeW50aGV0aWMgZXZlbnQgd2hpY2ggZG9lcyBub3QgY28tcmVsYXRlcyB3aXRoIHRoZSBhY3R1YWwgdXBsb2FkIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHByaXZhdGUgc3RhcnRQcm9ncmVzcyh0b3RhbD8pIHtcbiAgICAgICAgY29uc3QgXzFtYiA9IDEwMjQgKiAxMDI0ICogODtcbiAgICAgICAgdG90YWwgPSB0b3RhbCB8fCBfMW1iO1xuICAgICAgICBjb25zdCBpbnRlcnZhbCA9IE1hdGguY2VpbCh0b3RhbCAvIF8xbWIpICogMjAwO1xuICAgICAgICBjb25zdCBzbGljZSA9IE1hdGguY2VpbCh0b3RhbCAvIF8xbWIpICogKF8xbWIgLyAxMCk7XG4gICAgICAgIHRoaXMucHJvZ3Jlc3MgPSB7XG4gICAgICAgICAgICBsZW5ndGhDb21wdXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgbG9hZGVkIDogMCxcbiAgICAgICAgICAgIHRvdGFsOiB0b3RhbCxcbiAgICAgICAgICAgIGNsb3NlOiBudWxsXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHRyaWdnZXJFdmVudCA9ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2ludGVybmFsLnRyaWdnZXJMaXN0ZW5lcnMoRVZFTlQuUFJPR1JFU1MsIFt7XG4gICAgICAgICAgICAgICAgbGVuZ3RoQ29tcHV0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICB0b3RhbDogdGhpcy5wcm9ncmVzcy50b3RhbCxcbiAgICAgICAgICAgICAgICBsb2FkZWQ6IHRoaXMucHJvZ3Jlc3MubG9hZGVkXG4gICAgICAgICAgICB9XSk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGludGVydmFsSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgICAgICBpZih0aGlzLnByb2dyZXNzLmxvYWRlZCArIHNsaWNlIDwgdG90YWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2dyZXNzLmxvYWRlZCArPSBzbGljZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRyaWdnZXJFdmVudCgpO1xuICAgICAgICB9LCBpbnRlcnZhbCk7XG4gICAgICAgIHRoaXMucHJvZ3Jlc3MuY2xvc2UgPSAoc3VjY2VzcyA9IGZhbHNlKSA9PiB7XG4gICAgICAgICAgICBpZiAoc3VjY2Vzcykge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvZ3Jlc3MubG9hZGVkID0gdGhpcy5wcm9ncmVzcy50b3RhbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRyaWdnZXJFdmVudCgpO1xuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbElkKTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlbmRCbG9iVmlhTmF0aXZlUGx1Z2luKGJvZHk6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5wcmVwYXJlT3B0aW9ucyhib2R5KTtcbiAgICAgICAgY29uc3QgdGVtcGZpbGUgPSAoaXNJb3MoKSA/IGNvcmRvdmEuZmlsZS50ZW1wRGlyZWN0b3J5IDogY29yZG92YS5maWxlLmNhY2hlRGlyZWN0b3J5KSArIERhdGUubm93KCk7XG4gICAgICAgIGNvbnN0IHRpbWVySWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmKHRoaXMudGltZW91dCA+IDApIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCduZXR3b3JrIGNhbGwgd2l0aCByZXF1ZXN0ICVPIGZhaWxlZCB3aXRoIHRpbWVvdXQnLCB0aGlzKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9pbnRlcm5hbC50cmlnZ2VyTGlzdGVuZXJzKEVWRU5ULkxPQUQpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2ludGVybmFsLnRyaWdnZXJMaXN0ZW5lcnMoRVZFTlQuRVJST1IpO1xuICAgICAgICAgICAgICAgIHRoaXMub25lcnJvciAmJiB0aGlzLm9uZXJyb3IoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9udGltZW91dCAmJiB0aGlzLm9udGltZW91dCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgdGhpcy50aW1lb3V0ID4gMCA/IHRoaXMudGltZW91dCA6IDEpO1xuICAgICAgICBjb25zdCBvblN1Y2Nlc3MgPSAoZmlsZSwgcmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlcyA9IHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiAocmVzcG9uc2UgJiYgcmVzcG9uc2UuaGVhZGVycykgfHwge30sXG4gICAgICAgICAgICAgICAgc3RhdHVzOiAyMDAsXG4gICAgICAgICAgICAgICAgZGF0YTogZmlsZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGxldCBjb250ZW50VHlwZSA9IChyZXNwb25zZSAmJiByZXNwb25zZS5oZWFkZXJzICYmIHJlc3BvbnNlLmhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddKTtcbiAgICAgICAgICAgIGlmIChjb250ZW50VHlwZSkge1xuICAgICAgICAgICAgICAgIHJlcy5kYXRhLnR5cGUgPSBjb250ZW50VHlwZS5zcGxpdCgnOycpWzBdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc29sZS5sb2coJ25ldHdvcmsgY2FsbCB3aXRoIHJlcXVlc3QgJU8gc3VjY2Vzc2VkIHdpdGggcmVzcG9uc2UgOiAlTycsIHRoaXMsIHJlcyk7XG4gICAgICAgICAgICB0aGlzLl9pbnRlcm5hbC5jb3B5TmF0aXZlUmVzcG9uc2UocmVzKTtcbiAgICAgICAgICAgIHRoaXMuX2ludGVybmFsLnRyaWdnZXJMaXN0ZW5lcnMoRVZFTlQuTE9BRCk7XG4gICAgICAgICAgICB0aGlzLm9ubG9hZCAmJiB0aGlzLm9ubG9hZCgpO1xuICAgICAgICAgICAgdGhpcy5vbmxvYWRlbmQgJiYgdGhpcy5vbmxvYWRlbmQoKTtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lcklkKTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgb25FcnJvciA9IChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignbmV0d29yayBjYWxsIHdpdGggcmVxdWVzdCAlTyBmYWlsZWQgd2l0aCByZXNwb25zZSA6ICVPJywgdGhpcywgcmVzcG9uc2UpO1xuICAgICAgICAgICAgdGhpcy5faW50ZXJuYWwudHJpZ2dlckxpc3RlbmVycyhFVkVOVC5MT0FELCBbcmVzcG9uc2VdKTtcbiAgICAgICAgICAgIHRoaXMuX2ludGVybmFsLnRyaWdnZXJMaXN0ZW5lcnMoRVZFTlQuRVJST1IsIFtyZXNwb25zZV0pO1xuICAgICAgICAgICAgdGhpcy5vbmVycm9yICYmIHRoaXMub25lcnJvcigpO1xuICAgICAgICAgICAgdGhpcy5vbmxvYWRlbmQgJiYgdGhpcy5vbmxvYWRlbmQoKTtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lcklkKTtcbiAgICAgICAgfTtcbiAgICAgICAgY29yZG92YS5wbHVnaW4uaHR0cC5kb3dubG9hZEZpbGUobmV3IFVSTCh0aGlzLl9pbnRlcm5hbC51cmwpLmhyZWYsIHt9LCBvcHRpb25zLmhlYWRlcnMsIHRlbXBmaWxlLFxuICAgICAgICAgICAgKGVudHJ5LCByZXNwb25zZSkgID0+IHtcbiAgICAgICAgICAgICAgICBlbnRyeS5maWxlKGYgPT4gb25TdWNjZXNzKGYsIHJlc3BvbnNlKSwgb25FcnJvcik7XG4gICAgICAgICAgICB9LCBvbkVycm9yKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlbmRWaWFOYXRpdmVQbHVnaW4oYm9keTogYW55KSB7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLnByZXBhcmVPcHRpb25zKGJvZHkpO1xuICAgICAgICBjb25zdCB0aW1lcklkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZih0aGlzLnRpbWVvdXQgPiAwKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignbmV0d29yayBjYWxsIHdpdGggcmVxdWVzdCAlTyBmYWlsZWQgd2l0aCB0aW1lb3V0JywgdGhpcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5faW50ZXJuYWwudHJpZ2dlckxpc3RlbmVycyhFVkVOVC5MT0FEKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9pbnRlcm5hbC50cmlnZ2VyTGlzdGVuZXJzKEVWRU5ULkVSUk9SKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9udGltZW91dCAmJiB0aGlzLm9udGltZW91dCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgdGhpcy50aW1lb3V0ID4gMCA/IHRoaXMudGltZW91dCA6IDEpO1xuICAgICAgICBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBjb3Jkb3ZhLnBsdWdpbi5odHRwLnNlbmRSZXF1ZXN0KG5ldyBVUkwodGhpcy5faW50ZXJuYWwudXJsKS5ocmVmLCBvcHRpb25zLCByZXNvbHZlLCByZWplY3QpO1xuICAgICAgICB9KS50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCduZXR3b3JrIGNhbGwgd2l0aCByZXF1ZXN0ICVPIHN1Y2Nlc3NlZCB3aXRoIHJlc3BvbnNlIDogJU8nLCB0aGlzLCByZXNwb25zZSk7XG4gICAgICAgICAgICB0aGlzLnByb2dyZXNzLmNsb3NlKHRydWUpO1xuICAgICAgICAgICAgdGhpcy5faW50ZXJuYWwuY29weU5hdGl2ZVJlc3BvbnNlKHJlc3BvbnNlKTtcbiAgICAgICAgICAgIHRoaXMuX2ludGVybmFsLnRyaWdnZXJMaXN0ZW5lcnMoRVZFTlQuTE9BRCk7XG4gICAgICAgICAgICB0aGlzLm9ubG9hZCAmJiB0aGlzLm9ubG9hZCgpO1xuICAgICAgICAgICAgdGhpcy5vbmxvYWRlbmQgJiYgdGhpcy5vbmxvYWRlbmQoKTtcbiAgICAgICAgfSwgcmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9ncmVzcy5jbG9zZSgpO1xuICAgICAgICAgICAgdGhpcy5faW50ZXJuYWwuY29weU5hdGl2ZVJlc3BvbnNlKHJlc3BvbnNlKTtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ25ldHdvcmsgY2FsbCB3aXRoIHJlcXVlc3QgJU8gZmFpbGVkIHdpdGggcmVzcG9uc2UgOiAlTycsIHRoaXMsIHJlc3BvbnNlKTtcbiAgICAgICAgICAgIHRoaXMuX2ludGVybmFsLnRyaWdnZXJMaXN0ZW5lcnMoRVZFTlQuTE9BRCwgW3Jlc3BvbnNlXSk7XG4gICAgICAgICAgICB0aGlzLl9pbnRlcm5hbC50cmlnZ2VyTGlzdGVuZXJzKEVWRU5ULkVSUk9SLCBbcmVzcG9uc2VdKTtcbiAgICAgICAgICAgIHRoaXMub25lcnJvciAmJiB0aGlzLm9uZXJyb3IoKTtcbiAgICAgICAgICAgIHRoaXMub25sb2FkZW5kICYmIHRoaXMub25sb2FkZW5kKCk7XG4gICAgICAgIH0pLmZpbmFsbHkoKCkgPT4gY2xlYXJUaW1lb3V0KHRpbWVySWQpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb3NlKCkge1xuICAgICAgICB0aGlzLm9udGltZW91dCA9IG51bGw7XG4gICAgICAgIHRoaXMub25sb2FkID0gbnVsbDtcbiAgICAgICAgdGhpcy5vbmVycm9yID0gbnVsbDtcbiAgICAgICAgdGhpcy5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBudWxsO1xuICAgICAgICB0aGlzLl9pbnRlcm5hbC5jbG9zZSgpO1xuICAgIH1cbn1cbiJdfQ==
|
340
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLnhoci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21vYmlsZS9jb3JlL3NyYy9uYXRpdmUueGhyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFakMsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDakQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBWWxDLE1BQU0sV0FBVyxHQUFHO0lBQ2hCLEtBQUssRUFBRSxjQUFjO0lBQ3JCLEtBQUssRUFBRSx3QkFBd0I7SUFDL0IsS0FBSyxFQUFFLHlCQUF5QjtJQUNoQyxLQUFLLEVBQUUsaUJBQWlCO0lBRXhCLEtBQUssRUFBRSxRQUFRO0lBQ2YsS0FBSyxFQUFFLGFBQWE7SUFDcEIsS0FBSyxFQUFFLGNBQWM7SUFDckIsS0FBSyxFQUFFLG1DQUFtQztJQUMxQyxLQUFLLEVBQUUsZ0JBQWdCO0lBQ3ZCLEtBQUssRUFBRSxtQkFBbUI7SUFDMUIsS0FBSyxFQUFFLHFCQUFxQjtJQUM1QixLQUFLLEVBQUUsMkJBQTJCO0lBQ2xDLEtBQUssRUFBRSwrQkFBK0I7SUFDdEMsS0FBSyxFQUFFLG1DQUFtQztJQUUxQyxLQUFLLEVBQUUscUJBQXFCO0lBQzVCLEtBQUssRUFBRSx1QkFBdUI7SUFDOUIsS0FBSyxFQUFFLFdBQVc7SUFDbEIsS0FBSyxFQUFFLGVBQWU7SUFDdEIsS0FBSyxFQUFFLGtCQUFrQjtJQUN6QixLQUFLLEVBQUUsZUFBZTtJQUN0QixLQUFLLEVBQUUsWUFBWTtJQUNuQixLQUFLLEVBQUUsd0JBQXdCO0lBQy9CLEtBQUssRUFBRSx3QkFBd0I7Q0FDbEMsQ0FBQztBQUVGLE1BQU0sU0FBUztJQVVYLFlBQW1CLElBQTBCO1FBQTFCLFNBQUksR0FBSixJQUFJLENBQXNCO1FBVDdDLFFBQUcsR0FBRyxJQUFJLGVB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QUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUNyRCxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sS0FBSztRQUNULElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0lvcyB9IGZyb20gJ0B3bS9jb3JlJztcblxuY29uc3QgX1hNTEh0dHBSZXF1ZXN0ID0gd2luZG93WydYTUxIdHRwUmVxdWVzdCddO1xuY29uc3QgY29yZG92YSA9IHdpbmRvd1snY29yZG92YSddO1xuXG5cbmNvbnN0IGVudW0gRVZFTlQge1xuICAgIExPQURfU1RBUlQgPSAnbG9hZHN0YXJ0JyxcbiAgICBMT0FEID0gJ2xvYWQnLFxuICAgIExPQURfRU5EID0gJ2xvYWRlbmQnLFxuICAgIFBST0dSRVNTID0gJ3Byb2dyZXNzJyxcbiAgICBFUlJPUiA9ICdlcnJvcicsXG4gICAgQUJPUlQgPSAnYWJvcnQnXG59XG5cbmNvbnN0IFNUQVRVU19URVhUID0ge1xuICAgICcxMDAnOiAnMTAwIENvbnRpbnVlJyxcbiAgICAnMTAxJzogJzEwMSBTd2l0Y2hpbmcgUHJvdG9jb2wnLFxuICAgICcxMDInOiAnMTAyIFByb2Nlc3NpbmcgKFdlYkRBViknLFxuICAgICcxMDMnOiAnMTAzIEVhcmx5IEhpbnRzJyxcblxuICAgICcyMDAnOiAnMjAwIE9LJyxcbiAgICAnMjAxJzogJzIwMSBDcmVhdGVkJyxcbiAgICAnMjAyJzogJzIwMiBBY2NlcHRlZCcsXG4gICAgJzIwMyc6ICcyMDMgTm9uLUF1dGhvcml0YXRpdmUgSW5mb3JtYXRpb24nLFxuICAgICcyMDQnOiAnMjA0IE5vIENvbnRlbnQnLFxuICAgICcyMDUnOiAnMjA1IFJlc2V0IENvbnRlbnQnLFxuICAgICcyMDYnOiAnMjA2IFBhcnRpYWwgQ29udGVudCcsXG4gICAgJzIwNyc6ICcyMDcgTXVsdGktU3RhdHVzIChXZWJEQVYpJyxcbiAgICAnMjA4JzogJzIwOCBBbHJlYWR5IFJlcG9ydGVkIChXZWJEQVYpJyxcbiAgICAnMjI2JzogJzIyNiBJTSBVc2VkIChIVFRQIERlbHRhIGVuY29kaW5nKScsXG5cbiAgICAnMzAwJzogJzMwMCBNdWx0aXBsZSBDaG9pY2UnLFxuICAgICczMDEnOiAnMzAxIE1vdmVkIFBlcm1hbmVudGx5JyxcbiAgICAnMzAyJzogJzMwMiBGb3VuZCcsXG4gICAgJzMwMyc6ICczMDMgU2VlIE90aGVyJyxcbiAgICAnMzA0JzogJzMwNCBOb3QgTW9kaWZpZWQnLFxuICAgICczMDUnOiAnMzA1IFVzZSBQcm94eScsXG4gICAgJzMwNic6ICczMDYgdW51c2VkJyxcbiAgICAnMzA3JzogJzMwNyBUZW1wb3JhcnkgUmVkaXJlY3QnLFxuICAgICczMDgnOiAnMzA4IFBlcm1hbmVudCBSZWRpcmVjdCdcbn07XG5cbmNsYXNzIEludGVybmFscyB7XG4gICAgeGhyID0gbmV3IF9YTUxIdHRwUmVxdWVzdCgpO1xuICAgIG1ldGhvZCA9ICdHRVQnO1xuICAgIHJlcXVlc3RIZWFkZXJzID0ge307XG4gICAgcmVzcG9uc2VIZWFkZXJzID0ge307XG4gICAgcmVzcG9uc2VIZWFkZXJUZXh0ID0gJyc7XG4gICAgdXJsID0gJyc7XG4gICAgYXN5bmMgPSB0cnVlO1xuICAgIGxpc3RlbmVycyA9IHt9O1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIG5YaHI6IE5hdGl2ZVhNTEh0dHBSZXF1ZXN0KSB7fVxuXG4gICAgcHVibGljIHRyaWdnZXJMaXN0ZW5lcnMoZXZlbnROYW1lOiBzdHJpbmcsIGRhdGE/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbGlzdGVuZXJzID0gdGhpcy5saXN0ZW5lcnNbZXZlbnROYW1lXTtcbiAgICAgICAgaWYgKGxpc3RlbmVycykge1xuICAgICAgICAgICAgbGlzdGVuZXJzLmZvckVhY2goZnVuY3Rpb24gKGwpIHtcbiAgICAgICAgICAgICAgICBsLmFwcGx5KHdpbmRvdywgZGF0YSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjb3B5TmF0aXZlUmVzcG9uc2UocmVzKTogdm9pZCB7XG4gICAgICAgIHRoaXMublhoci5zdGF0dXMgPSByZXMuc3RhdHVzO1xuICAgICAgICB0aGlzLm5YaHIuc3RhdHVzVGV4dCA9IHJlcy5zdGF0dXNUZXh0IHx8IHJlcy5zdGF0dXM7XG4gICAgICAgIHRoaXMublhoci5yZXNwb25zZSA9IHJlcy5kYXRhO1xuICAgICAgICB0aGlzLm5YaHIucmVzcG9uc2VUeXBlID0gKHJlcy5oZWFkZXJzICYmIHJlcy5oZWFkZXJzWydjb250ZW50LXR5cGUnXSkgfHwgJ3BsYWluL3RleHQnO1xuICAgICAgICB0aGlzLm5YaHIucmVzcG9uc2VVUkwgPSByZXMucmVzcG9uc2VVUkw7XG4gICAgICAgIHRoaXMublhoci5yZXNwb25zZVhNTCA9IHJlcy5yZXNwb25zZVhNTDtcbiAgICAgICAgdGhpcy5uWGhyLnJlc3BvbnNlVGV4dCA9IChyZXMuZGF0YSAmJiByZXMuZGF0YS50b1N0cmluZygpKSB8fCByZXMuZXJyb3I7XG4gICAgICAgIHRoaXMucmVzcG9uc2VIZWFkZXJUZXh0ID0gKCgpOiBzdHJpbmcgPT4ge1xuICAgICAgICAgICAgY29uc3QgaGVhZGVycyA9IFtdO1xuICAgICAgICAgICAgZm9yIChsZXQgayBpbiByZXMuaGVhZGVycykge1xuICAgICAgICAgICAgICAgIGhlYWRlcnMucHVzaChrICsgJzogJyArIHJlcy5oZWFkZXJzW2tdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBoZWFkZXJzLmpvaW4oJ1xcclxcbicpO1xuICAgICAgICB9KSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb3B5WE1MSHR0cFJlc3BvbnNlKHJlcTogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMublhoci5zdGF0dXMgPSByZXEuc3RhdHVzO1xuICAgICAgICB0aGlzLm5YaHIuc3RhdHVzVGV4dCA9IHJlcS5zdGF0dXNUZXh0O1xuICAgICAgICB0aGlzLm5YaHIucmVzcG9uc2UgPSByZXEucmVzcG9uc2U7XG4gICAgICAgIHRoaXMublhoci5yZXNwb25zZVR5cGUgPSByZXEucmVzcG9uc2VUeXBlO1xuICAgICAgICB0aGlzLm5YaHIucmVzcG9uc2VVUkwgPSByZXEucmVzcG9uc2VVUkw7XG4gICAgICAgIHRoaXMublhoci5yZXNwb25zZVhNTCA9IHJlcS5yZXNwb25zZVhNTDtcbiAgICAgICAgdGhpcy5uWGhyLnJlc3BvbnNlVGV4dCA9IHJlcS5yZXNwb25zZVRleHQ7XG4gICAgICAgIHRoaXMucmVzcG9uc2VIZWFkZXJUZXh0ID0gcmVxLmdldEFsbFJlc3BvbnNlSGVhZGVycygpO1xuICAgICAgICB0aGlzLm5YaHIucmVhZHlTdGF0ZSA9IHJlcS5yZWFkeVN0YXRlO1xuICAgICAgICB0aGlzLm5YaHIuZ2V0UmVzcG9uc2VIZWFkZXIgPSBoZWFkZXIgPT4gcmVxLmdldFJlc3BvbnNlSGVhZGVyKGhlYWRlcik7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbmRWaWFYaHIoYm9keSkge1xuICAgICAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICAgICAgdGhpcy54aHIub25yZWFkeXN0YXRlY2hhbmdlID0gKCkgPT4ge1xuICAgICAgICAgICBzZWxmLmNvcHlYTUxIdHRwUmVzcG9uc2Uoc2VsZi54aHIpO1xuICAgICAgICAgICB0aGlzLm5YaHIub25yZWFkeXN0YXRlY2hhbmdlICYmIHRoaXMublhoci5vbnJlYWR5c3RhdGVjaGFuZ2UoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnhoci5vbmxvYWQgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIHNlbGYuY29weVhNTEh0dHBSZXNwb25zZShzZWxmLnhocik7XG4gICAgICAgICAgICBpZiAoc2VsZi5uWGhyLm9ubG9hZCkge1xuICAgICAgICAgICAgICAgIHNlbGYublhoci5vbmxvYWQuYXBwbHkoc2VsZi5uWGhyLCBhcmd1bWVudHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnhoci5vbmVycm9yID0gdGhpcy5uWGhyLm9uZXJyb3I7XG4gICAgICAgIGlmICghdGhpcy5hc3luYykge1xuICAgICAgICAgICAgdGhpcy54aHIub250aW1lb3V0ID0gdGhpcy5uWGhyLm9udGltZW91dDtcbiAgICAgICAgICAgIHRoaXMueGhyLnRpbWVvdXQgPSB0aGlzLm5YaHIudGltZW91dDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnhoci53aXRoQ3JlZGVudGlhbHMgPSB0aGlzLm5YaHIud2l0aENyZWRlbnRpYWxzO1xuICAgICAgICBmb3IgKGxldCBrIGluIHRoaXMubGlzdGVuZXJzKSB7XG4gICAgICAgICAgICB0aGlzLnhoci5hZGRFdmVudExpc3RlbmVyKGssIGUgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY29weVhNTEh0dHBSZXNwb25zZSh0aGlzLnhocik7XG4gICAgICAgICAgICAgICAgdGhpcy50cmlnZ2VyTGlzdGVuZXJzKGUudHlwZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnhoci5zZW5kKGJvZHkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZSgpIHtcbiAgICAgICAgZm9yIChsZXQgayBpbiB0aGlzLmxpc3RlbmVycykge1xuICAgICAgICAgICAgdGhpcy5saXN0ZW5lcnNba10ubGVuZ3RoID0gMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE5hdGl2ZVhNTEh0dHBSZXF1ZXN0IHtcbiAgICBwdWJsaWMgb25yZWFkeXN0YXRlY2hhbmdlID0gbnVsbDtcbiAgICBwdWJsaWMgcmVhZHlTdGF0ZSA9IDA7XG4gICAgcHVibGljIHJlc3BvbnNlID0gbnVsbDtcbiAgICBwdWJsaWMgcmVzcG9uc2VUeXBlID0gbnVsbDtcbiAgICBwdWJsaWMgcmVzcG9uc2VUZXh0ID0gbnVsbDtcbiAgICBwdWJsaWMgcmVzcG9uc2VVUkwgPSBudWxsO1xuICAgIHB1YmxpYyByZXNwb25zZVhNTCA9IG51bGw7XG4gICAgcHVibGljIHN0YXR1cyA9IDA7XG4gICAgcHVibGljIHN0YXR1c1RleHQgPSAnJztcbiAgICBwdWJsaWMgb250aW1lb3V0ID0gbnVsbDtcbiAgICBwdWJsaWMgb25sb2FkID0gbnVsbDtcbiAgICBwdWJsaWMgb25sb2FkZW5kID0gbnVsbDtcbiAgICBwdWJsaWMgb25lcnJvciA9IG51bGw7XG4gICAgcHVibGljIHRpbWVvdXQgPSAwO1xuICAgIHB1YmxpYyB3aXRoQ3JlZGVudGlhbHMgPSBmYWxzZTtcbiAgICBwcml2YXRlIHByb2dyZXNzID0ge1xuICAgICAgICBsZW5ndGhDb21wdXRhYmxlOiBmYWxzZSxcbiAgICAgICAgbG9hZGVkIDogMCxcbiAgICAgICAgdG90YWw6IDAsXG4gICAgICAgIGNsb3NlOiAoc3VjY2VzcyA9IGZhbHNlKTogdm9pZCA9PiB7fVxuICAgIH07XG4gICAgcHVibGljIHVwbG9hZCA9ICB7XG4gICAgICAgIGFkZEV2ZW50TGlzdGVuZXIgOiB0aGlzLmFkZEV2ZW50TGlzdGVuZXIuYmluZCh0aGlzKVxuICAgIH07XG4gICAgcHJpdmF0ZSBfaW50ZXJuYWwgPSBuZXcgSW50ZXJuYWxzKHRoaXMpO1xuXG4gICAgcHVibGljIGFib3J0KCkge1xuICAgICAgICB0aGlzLnN0YXR1cyA9IC0xO1xuICAgICAgICB0aGlzLl9pbnRlcm5hbC50cmlnZ2VyTGlzdGVuZXJzKEVWRU5ULkVSUk9SKTtcbiAgICAgICAgdGhpcy5vbmVycm9yICYmIHRoaXMub25lcnJvcigpO1xuICAgICAgICB0aGlzLl9pbnRlcm5hbC54aHIuYWJvcnQoKTtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRSZXNwb25zZUhlYWRlcihuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVzcG9uc2UuaGVhZGVyc1tuYW1lXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faW50ZXJuYWwucmVzcG9uc2VIZWFkZXJUZXh0O1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRSZXF1ZXN0SGVhZGVyKGhlYWRlcjogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2ludGVybmFsLnJlcXVlc3RIZWFkZXJzW2hlYWRlcl0gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5faW50ZXJuYWwueGhyLnNldFJlcXVlc3RIZWFkZXIoaGVhZGVyLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlTWltZVR5cGUobWltZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2ludGVybmFsLnhoci5vdmVycmlkZU1pbWVUeXBlKG1pbWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvcGVuKG1ldGhvZDogc3RyaW5nLCB1cmw6IHN0cmluZywgYXN5bmMgPSB0cnVlLCB1c2VyPzogc3RyaW5nLCBwYXNzd29yZD86IHN0cmluZykge1xuICAgICAgICB0aGlzLl9pbnRlcm5hbC5tZXRob2QgPSBtZXRob2Q7XG4gICAgICAgIHRoaXMuX2ludGVybmFsLnVybCA9IHVybDtcbiAgICAgICAgdGhpcy5faW50ZXJuYWwuYXN5bmMgPSBhc3luYztcbiAgICAgICAgdGhpcy5faW50ZXJuYWwueGhyLm9wZW4obWV0aG9kLCB1cmwsIGFzeW5jLCB1c2VyLCBwYXNzd29yZCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbmQoYm9keT86IGFueSwgdXNlQnJvd3NlclhIUiA9IGZhbHNlKSB7XG4gICAgICAgIGlmICh1c2VCcm93c2VyWEhSXG4gICAgICAgICAgICB8fCB0aGlzLl9pbnRlcm5hbC51cmwuc3RhcnRzV2l0aCgnaHR0cDovL2xvY2FsaG9zdCcpXG4gICAgICAgICAgICB8fCAhdGhpcy5faW50ZXJuYWwudXJsLnN0YXJ0c1dpdGgoJ2h0dHAnKSkge1xuICAgICAgICAgICAgdGhpcy5faW50ZXJuYWwuc2VuZFZpYVhocihib2R5KTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnJlc3BvbnNlVHlwZSA9PT0gJ2Jsb2InKSB7XG4gICAgICAgICAgICB0aGlzLnNlbmRCbG9iVmlhTmF0aXZlUGx1Z2luKGJvZHkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZW5kVmlhTmF0aXZlUGx1Z2luKGJvZHkpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIHB1YmxpYyBhZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZTogc3RyaW5nLCBoYW5kbGVyOiAoKSA9PiBhbnkpIHtcbiAgICAgICAgdGhpcy5faW50ZXJuYWwubGlzdGVuZXJzW2V2ZW50TmFtZV0gPSB0aGlzLl9pbnRlcm5hbC5saXN0ZW5lcnNbZXZlbnROYW1lXSB8fCBbXTtcbiAgICAgICAgdGhpcy5faW50ZXJuYWwubGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaChoYW5kbGVyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE5hbWU6IHN0cmluZywgaGFuZGxlcjogKCkgPT4gYW55KSB7XG4gICAgICAgIGlmICh0aGlzLl9pbnRlcm5hbC5saXN0ZW5lcnNbZXZlbnROYW1lXSkge1xuICAgICAgICAgICAgY29uc3QgaSA9IHRoaXMuX2ludGVybmFsLmxpc3RlbmVyc1tldmVudE5hbWVdLmluZGV4T2YoaGFuZGxlcik7XG4gICAgICAgICAgICB0aGlzLl9pbnRlcm5hbC5saXN0ZW5lcnNbZXZlbnROYW1lXS5zcGxpY2UoaSwgMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHByZXBhcmVPcHRpb25zKGJvZHk6IGFueSkge1xuICAgICAgICBib2R5ID0gYm9keSB8fCB7fTtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHt9LFxuICAgICAgICAgICAgZGF0YTogYm9keSxcbiAgICAgICAgICAgIG1ldGhvZDogdGhpcy5faW50ZXJuYWwubWV0aG9kLFxuICAgICAgICAgICAgc2VyaWFsaXplcjogJ3JhdydcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoYm9keSAhPSBudWxsICYmIGJvZHkgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBpZiAoYm9keS5jb25zdHJ1Y3RvciAmJiBib2R5LmNvbnN0cnVjdG9yLnRvU3RyaW5nKCkuaW5kZXhPZignRm9ybURhdGEoKScpID49IDApIHtcbiAgICAgICAgICAgICAgICBvcHRpb25zLnNlcmlhbGl6ZXIgPSAnbXVsdGlwYXJ0JztcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0UHJvZ3Jlc3MoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZih0eXBlb2YgYm9keSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBvcHRpb25zLnNlcmlhbGl6ZXIgPSAndXRmOCc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG9wdGlvbnMuc2VyaWFsaXplciA9ICd1cmxlbmNvZGVkJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmb3IgKGxldCBrZXkgaW4gdGhpcy5faW50ZXJuYWwucmVxdWVzdEhlYWRlcnMpIHtcbiAgICAgICAgICAgIG9wdGlvbnMuaGVhZGVyc1trZXldID0gdGhpcy5faW50ZXJuYWwucmVxdWVzdEhlYWRlcnNba2V5XTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb3B0aW9ucztcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIE5hdGl2ZSBwbHVnaW4gZGlkbid0IHByb3ZpZGUgYW55IEFQSSB0byB0cmFjayB1cGxvYWQgcHJvZ3Jlc3MuXG4gICAgICogVGhpcyBtZXRob2QgZ2VuZXJhdGVzIGEgc3ludGhldGljIGV2ZW50IHdoaWNoIGRvZXMgbm90IGNvLXJlbGF0ZXMgd2l0aCB0aGUgYWN0dWFsIHVwbG9hZCBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHN0YXJ0UHJvZ3Jlc3ModG90YWw/KSB7XG4gICAgICAgIGNvbnN0IF8xbWIgPSAxMDI0ICogMTAyNCAqIDg7XG4gICAgICAgIHRvdGFsID0gdG90YWwgfHwgXzFtYjtcbiAgICAgICAgY29uc3QgaW50ZXJ2YWwgPSBNYXRoLmNlaWwodG90YWwgLyBfMW1iKSAqIDIwMDtcbiAgICAgICAgY29uc3Qgc2xpY2UgPSBNYXRoLmNlaWwodG90YWwgLyBfMW1iKSAqIChfMW1iIC8gMTApO1xuICAgICAgICB0aGlzLnByb2dyZXNzID0ge1xuICAgICAgICAgICAgbGVuZ3RoQ29tcHV0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGxvYWRlZCA6IDAsXG4gICAgICAgICAgICB0b3RhbDogdG90YWwsXG4gICAgICAgICAgICBjbG9zZTogbnVsbFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCB0cmlnZ2VyRXZlbnQgPSAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9pbnRlcm5hbC50cmlnZ2VyTGlzdGVuZXJzKEVWRU5ULlBST0dSRVNTLCBbe1xuICAgICAgICAgICAgICAgIGxlbmd0aENvbXB1dGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgdG90YWw6IHRoaXMucHJvZ3Jlc3MudG90YWwsXG4gICAgICAgICAgICAgICAgbG9hZGVkOiB0aGlzLnByb2dyZXNzLmxvYWRlZFxuICAgICAgICAgICAgfV0pO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBpbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICAgICAgaWYodGhpcy5wcm9ncmVzcy5sb2FkZWQgKyBzbGljZSA8IHRvdGFsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9ncmVzcy5sb2FkZWQgKz0gc2xpY2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0cmlnZ2VyRXZlbnQoKTtcbiAgICAgICAgfSwgaW50ZXJ2YWwpO1xuICAgICAgICB0aGlzLnByb2dyZXNzLmNsb3NlID0gKHN1Y2Nlc3MgPSBmYWxzZSkgPT4ge1xuICAgICAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2dyZXNzLmxvYWRlZCA9IHRoaXMucHJvZ3Jlc3MudG90YWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0cmlnZ2VyRXZlbnQoKTtcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWxJZCk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZW5kQmxvYlZpYU5hdGl2ZVBsdWdpbihib2R5OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMucHJlcGFyZU9wdGlvbnMoYm9keSk7XG4gICAgICAgIGNvbnN0IHRlbXBmaWxlID0gKGlzSW9zKCkgPyBjb3Jkb3ZhLmZpbGUudGVtcERpcmVjdG9yeSA6IGNvcmRvdmEuZmlsZS5jYWNoZURpcmVjdG9yeSkgKyBEYXRlLm5vdygpO1xuICAgICAgICBjb25zdCB0aW1lcklkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZih0aGlzLnRpbWVvdXQgPiAwKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignbmV0d29yayBjYWxsIHdpdGggcmVxdWVzdCAlTyBmYWlsZWQgd2l0aCB0aW1lb3V0JywgdGhpcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5faW50ZXJuYWwudHJpZ2dlckxpc3RlbmVycyhFVkVOVC5MT0FEKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9pbnRlcm5hbC50cmlnZ2VyTGlzdGVuZXJzKEVWRU5ULkVSUk9SKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uZXJyb3IgJiYgdGhpcy5vbmVycm9yKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vbnRpbWVvdXQgJiYgdGhpcy5vbnRpbWVvdXQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIHRoaXMudGltZW91dCA+IDAgPyB0aGlzLnRpbWVvdXQgOiAxKTtcbiAgICAgICAgY29uc3Qgb25TdWNjZXNzID0gKGZpbGUsIHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZXMgPSB7XG4gICAgICAgICAgICAgICAgaGVhZGVyczogKHJlc3BvbnNlICYmIHJlc3BvbnNlLmhlYWRlcnMpIHx8IHt9LFxuICAgICAgICAgICAgICAgIHN0YXR1czogMjAwLFxuICAgICAgICAgICAgICAgIGRhdGE6IGZpbGVcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBsZXQgY29udGVudFR5cGUgPSAocmVzcG9uc2UgJiYgcmVzcG9uc2UuaGVhZGVycyAmJiByZXNwb25zZS5oZWFkZXJzWydjb250ZW50LXR5cGUnXSk7XG4gICAgICAgICAgICBpZiAoY29udGVudFR5cGUpIHtcbiAgICAgICAgICAgICAgICByZXMuZGF0YS50eXBlID0gY29udGVudFR5cGUuc3BsaXQoJzsnKVswXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCduZXR3b3JrIGNhbGwgd2l0aCByZXF1ZXN0ICVPIHN1Y2Nlc3NlZCB3aXRoIHJlc3BvbnNlIDogJU8nLCB0aGlzLCByZXMpO1xuICAgICAgICAgICAgdGhpcy5faW50ZXJuYWwuY29weU5hdGl2ZVJlc3BvbnNlKHJlcyk7XG4gICAgICAgICAgICB0aGlzLl9pbnRlcm5hbC50cmlnZ2VyTGlzdGVuZXJzKEVWRU5ULkxPQUQpO1xuICAgICAgICAgICAgdGhpcy5vbmxvYWQgJiYgdGhpcy5vbmxvYWQoKTtcbiAgICAgICAgICAgIHRoaXMub25sb2FkZW5kICYmIHRoaXMub25sb2FkZW5kKCk7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZXJJZCk7XG4gICAgICAgICAgICB0aGlzLnJlYWR5U3RhdGUgPSA0O1xuICAgICAgICAgICAgdGhpcy5vbnJlYWR5c3RhdGVjaGFuZ2UgJiYgdGhpcy5vbnJlYWR5c3RhdGVjaGFuZ2UoKTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgb25FcnJvciA9IChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignbmV0d29yayBjYWxsIHdpdGggcmVxdWVzdCAlTyBmYWlsZWQgd2l0aCByZXNwb25zZSA6ICVPJywgdGhpcywgcmVzcG9uc2UpO1xuICAgICAgICAgICAgdGhpcy5faW50ZXJuYWwudHJpZ2dlckxpc3RlbmVycyhFVkVOVC5MT0FELCBbcmVzcG9uc2VdKTtcbiAgICAgICAgICAgIHRoaXMuX2ludGVybmFsLnRyaWdnZXJMaXN0ZW5lcnMoRVZFTlQuRVJST1IsIFtyZXNwb25zZV0pO1xuICAgICAgICAgICAgdGhpcy5vbmVycm9yICYmIHRoaXMub25lcnJvcigpO1xuICAgICAgICAgICAgdGhpcy5vbmxvYWRlbmQgJiYgdGhpcy5vbmxvYWRlbmQoKTtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lcklkKTtcbiAgICAgICAgICAgIHRoaXMucmVhZHlTdGF0ZSA9IDQ7XG4gICAgICAgICAgICB0aGlzLm9ucmVhZHlzdGF0ZWNoYW5nZSAmJiB0aGlzLm9ucmVhZHlzdGF0ZWNoYW5nZSgpO1xuICAgICAgICB9O1xuICAgICAgICBjb3Jkb3ZhLnBsdWdpbi5odHRwLmRvd25sb2FkRmlsZShuZXcgVVJMKHRoaXMuX2ludGVybmFsLnVybCkuaHJlZiwge30sIG9wdGlvbnMuaGVhZGVycywgdGVtcGZpbGUsXG4gICAgICAgICAgICAoZW50cnksIHJlc3BvbnNlKSAgPT4ge1xuICAgICAgICAgICAgICAgIGVudHJ5LmZpbGUoZiA9PiBvblN1Y2Nlc3MoZiwgcmVzcG9uc2UpLCBvbkVycm9yKTtcbiAgICAgICAgICAgIH0sIG9uRXJyb3IpO1xuICAgICAgICBcbiAgICAgICAgdGhpcy5yZWFkeVN0YXRlID0gMTtcbiAgICAgICAgdGhpcy5vbnJlYWR5c3RhdGVjaGFuZ2UgJiYgdGhpcy5vbnJlYWR5c3RhdGVjaGFuZ2UoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlbmRWaWFOYXRpdmVQbHVnaW4oYm9keTogYW55KSB7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLnByZXBhcmVPcHRpb25zKGJvZHkpO1xuICAgICAgICBjb25zdCB0aW1lcklkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZih0aGlzLnRpbWVvdXQgPiAwKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignbmV0d29yayBjYWxsIHdpdGggcmVxdWVzdCAlTyBmYWlsZWQgd2l0aCB0aW1lb3V0JywgdGhpcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5faW50ZXJuYWwudHJpZ2dlckxpc3RlbmVycyhFVkVOVC5MT0FEKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9pbnRlcm5hbC50cmlnZ2VyTGlzdGVuZXJzKEVWRU5ULkVSUk9SKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9udGltZW91dCAmJiB0aGlzLm9udGltZW91dCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgdGhpcy50aW1lb3V0ID4gMCA/IHRoaXMudGltZW91dCA6IDEpO1xuICAgICAgICBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBjb3Jkb3ZhLnBsdWdpbi5odHRwLnNlbmRSZXF1ZXN0KG5ldyBVUkwodGhpcy5faW50ZXJuYWwudXJsKS5ocmVmLCBvcHRpb25zLCByZXNvbHZlLCByZWplY3QpO1xuICAgICAgICAgICAgdGhpcy5yZWFkeVN0YXRlID0gMTtcbiAgICAgICAgICAgIHRoaXMub25yZWFkeXN0YXRlY2hhbmdlICYmIHRoaXMub25yZWFkeXN0YXRlY2hhbmdlKCk7XG4gICAgICAgIH0pLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ25ldHdvcmsgY2FsbCB3aXRoIHJlcXVlc3QgJU8gc3VjY2Vzc2VkIHdpdGggcmVzcG9uc2UgOiAlTycsIHRoaXMsIHJlc3BvbnNlKTtcbiAgICAgICAgICAgIHRoaXMucHJvZ3Jlc3MuY2xvc2UodHJ1ZSk7XG4gICAgICAgICAgICB0aGlzLl9pbnRlcm5hbC5jb3B5TmF0aXZlUmVzcG9uc2UocmVzcG9uc2UpO1xuICAgICAgICAgICAgdGhpcy5faW50ZXJuYWwudHJpZ2dlckxpc3RlbmVycyhFVkVOVC5MT0FEKTtcbiAgICAgICAgICAgIHRoaXMub25sb2FkICYmIHRoaXMub25sb2FkKCk7XG4gICAgICAgICAgICB0aGlzLm9ubG9hZGVuZCAmJiB0aGlzLm9ubG9hZGVuZCgpO1xuICAgICAgICB9LCByZXNwb25zZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnByb2dyZXNzLmNsb3NlKCk7XG4gICAgICAgICAgICB0aGlzLl9pbnRlcm5hbC5jb3B5TmF0aXZlUmVzcG9uc2UocmVzcG9uc2UpO1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignbmV0d29yayBjYWxsIHdpdGggcmVxdWVzdCAlTyBmYWlsZWQgd2l0aCByZXNwb25zZSA6ICVPJywgdGhpcywgcmVzcG9uc2UpO1xuICAgICAgICAgICAgdGhpcy5faW50ZXJuYWwudHJpZ2dlckxpc3RlbmVycyhFVkVOVC5MT0FELCBbcmVzcG9uc2VdKTtcbiAgICAgICAgICAgIHRoaXMuX2ludGVybmFsLnRyaWdnZXJMaXN0ZW5lcnMoRVZFTlQuRVJST1IsIFtyZXNwb25zZV0pO1xuICAgICAgICAgICAgdGhpcy5vbmVycm9yICYmIHRoaXMub25lcnJvcigpO1xuICAgICAgICAgICAgdGhpcy5vbmxvYWRlbmQgJiYgdGhpcy5vbmxvYWRlbmQoKTtcbiAgICAgICAgfSkuZmluYWxseSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlYWR5U3RhdGUgPSA0O1xuICAgICAgICAgICAgdGhpcy5vbnJlYWR5c3RhdGVjaGFuZ2UgJiYgdGhpcy5vbnJlYWR5c3RhdGVjaGFuZ2UoKTtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lcklkKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZSgpIHtcbiAgICAgICAgdGhpcy5vbnRpbWVvdXQgPSBudWxsO1xuICAgICAgICB0aGlzLm9ubG9hZCA9IG51bGw7XG4gICAgICAgIHRoaXMub25lcnJvciA9IG51bGw7XG4gICAgICAgIHRoaXMub25yZWFkeXN0YXRlY2hhbmdlID0gbnVsbDtcbiAgICAgICAgdGhpcy5faW50ZXJuYWwuY2xvc2UoKTtcbiAgICB9XG59XG4iXX0=
|
@@ -780,11 +780,15 @@ class Internals {
|
|
780
780
|
this.nXhr.responseXML = req.responseXML;
|
781
781
|
this.nXhr.responseText = req.responseText;
|
782
782
|
this.responseHeaderText = req.getAllResponseHeaders();
|
783
|
+
this.nXhr.readyState = req.readyState;
|
783
784
|
this.nXhr.getResponseHeader = header => req.getResponseHeader(header);
|
784
785
|
}
|
785
786
|
sendViaXhr(body) {
|
786
787
|
const self = this;
|
787
|
-
this.xhr.onreadystatechange =
|
788
|
+
this.xhr.onreadystatechange = () => {
|
789
|
+
self.copyXMLHttpResponse(self.xhr);
|
790
|
+
this.nXhr.onreadystatechange && this.nXhr.onreadystatechange();
|
791
|
+
};
|
788
792
|
this.xhr.onload = function () {
|
789
793
|
self.copyXMLHttpResponse(self.xhr);
|
790
794
|
if (self.nXhr.onload) {
|
@@ -979,6 +983,8 @@ class NativeXMLHttpRequest {
|
|
979
983
|
this.onload && this.onload();
|
980
984
|
this.onloadend && this.onloadend();
|
981
985
|
clearTimeout(timerId);
|
986
|
+
this.readyState = 4;
|
987
|
+
this.onreadystatechange && this.onreadystatechange();
|
982
988
|
};
|
983
989
|
const onError = (response) => {
|
984
990
|
console.error('network call with request %O failed with response : %O', this, response);
|
@@ -987,10 +993,14 @@ class NativeXMLHttpRequest {
|
|
987
993
|
this.onerror && this.onerror();
|
988
994
|
this.onloadend && this.onloadend();
|
989
995
|
clearTimeout(timerId);
|
996
|
+
this.readyState = 4;
|
997
|
+
this.onreadystatechange && this.onreadystatechange();
|
990
998
|
};
|
991
999
|
cordova$1.plugin.http.downloadFile(new URL(this._internal.url).href, {}, options.headers, tempfile, (entry, response) => {
|
992
1000
|
entry.file(f => onSuccess(f, response), onError);
|
993
1001
|
}, onError);
|
1002
|
+
this.readyState = 1;
|
1003
|
+
this.onreadystatechange && this.onreadystatechange();
|
994
1004
|
}
|
995
1005
|
sendViaNativePlugin(body) {
|
996
1006
|
const options = this.prepareOptions(body);
|
@@ -1005,6 +1015,8 @@ class NativeXMLHttpRequest {
|
|
1005
1015
|
}, this.timeout > 0 ? this.timeout : 1);
|
1006
1016
|
new Promise((resolve, reject) => {
|
1007
1017
|
cordova$1.plugin.http.sendRequest(new URL(this._internal.url).href, options, resolve, reject);
|
1018
|
+
this.readyState = 1;
|
1019
|
+
this.onreadystatechange && this.onreadystatechange();
|
1008
1020
|
}).then(response => {
|
1009
1021
|
console.log('network call with request %O successed with response : %O', this, response);
|
1010
1022
|
this.progress.close(true);
|
@@ -1020,7 +1032,11 @@ class NativeXMLHttpRequest {
|
|
1020
1032
|
this._internal.triggerListeners("error" /* EVENT.ERROR */, [response]);
|
1021
1033
|
this.onerror && this.onerror();
|
1022
1034
|
this.onloadend && this.onloadend();
|
1023
|
-
}).finally(() =>
|
1035
|
+
}).finally(() => {
|
1036
|
+
this.readyState = 4;
|
1037
|
+
this.onreadystatechange && this.onreadystatechange();
|
1038
|
+
clearTimeout(timerId);
|
1039
|
+
});
|
1024
1040
|
}
|
1025
1041
|
close() {
|
1026
1042
|
this.ontimeout = null;
|