@wavemaker/app-ng-runtime 12.0.0-next.45102 → 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
@@ -101,4 +101,4 @@ export class ButtonComponent extends StylableComponent {
|
|
101
101
|
args: ['attr.icon-position']
|
102
102
|
}] }); })();
|
103
103
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ButtonComponent, { className: "ButtonComponent", filePath: "button/button.component.ts", lineNumber: 22 }); })();
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpGLE9BQU8sRUFBQyxZQUFZLEVBQWlCLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9HLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztJQ0o3Qyx5QkFBcUw7Ozs7SUFBckUsQUFBeEMsNEVBQXVCLCtGQUFvRjs7O0lBQ25MLHVCQUFtSzs7O0lBQWhLLDREQUE4QjtJQUFvQiw4SEFBdUY7OztJQUM1SSwrQkFBd0M7SUFBQSxZQUFvQztJQUFBLGlCQUFPOzs7SUFBM0MsY0FBb0M7SUFBcEMsK0VBQW9DOzs7SUFHNUUsMEJBQW9GOzs7SUFBbEMsK0NBQTBCOztBREM1RSxNQUFNLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQztBQUNyQyxNQUFNLGFBQWEsR0FBa0I7SUFDakMsVUFBVSxFQUFFLFdBQVc7SUFDdkIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsV0FBVyxFQUFFLFlBQVksQ0FBQyxZQUFZO0NBQ3pDLENBQUM7QUFVRixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxpQkFBaUI7YUFDM0Msb0JBQWUsR0FBRyxhQUFhLEVBQUUsQUFBbEIsQ0FBbUI7SUFhekMsWUFBWSxHQUFhLEVBQTBDLGVBQW9CO1FBQ25GLEtBQUssQ0FBQyxHQUFHLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Z0ZBakJRLGVBQWUsMERBY1csa0JBQWtCO29FQWQ1QyxlQUFlO1lBQWYsbUNBQWUsMEJBQUEsMEJBQUE7O3NFQUxiO2dCQUNQLGtCQUFrQixDQUFDLGVBQWUsQ0FBQzthQUN0Qzs7WUNoQkwsQUFEQSxBQURBLGdFQUFxTCwrQ0FDdEIscURBQ3ZIO1lBQ3hDLDBCQUF1RDtZQUN2RCxrQkFBeUM7WUFDekMsa0VBQTZFOztZQUxvQixrQ0FBYTtZQUNnQyxjQUFlO1lBQWYsb0NBQWU7WUFDdEksY0FBZTtZQUFmLG9DQUFlO1lBQ1osY0FBcUI7WUFBckIsMERBQXFCO1lBRXhDLGVBQWdCO1lBQWhCLHFDQUFnQjs7O2lGRGdCVixlQUFlO2NBUjNCLFNBQVM7MkJBQ0ksa0JBQWtCLGFBRWpCO29CQUNQLGtCQUFrQixpQkFBaUI7aUJBQ3RDLFlBQ1MsVUFBVTs7c0JBZ0JRLE1BQU07dUJBQUMsa0JBQWtCOztzQkFBRyxRQUFRO3FCQU4zQyxJQUFJO2tCQUF4QixXQUFXO21CQUFDLE1BQU07WUFDTSxRQUFRO2tCQUFoQyxXQUFXO21CQUFDLFVBQVU7WUFDRSxRQUFRO2tCQUFoQyxXQUFXO21CQUFDLFVBQVU7WUFDUSxXQUFXO2tCQUF6QyxXQUFXO21CQUFDLGdCQUFnQjtZQUNNLFlBQVk7a0JBQTlDLFdBQVc7bUJBQUMsb0JBQW9COztrRkFaeEIsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgSW5qZWN0LCBJbmplY3RvciwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0RJU1BMQVlfVFlQRSwgSVdpZGdldENvbmZpZywgcHJvdmlkZUFzV2lkZ2V0UmVmLCBTdHlsYWJsZUNvbXBvbmVudCwgc3R5bGVyfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcblxuaW1wb3J0IHtyZWdpc3RlclByb3BzfSBmcm9tICcuL2J1dHRvbi5wcm9wcyc7XG5cbmNvbnN0IERFRkFVTFRfQ0xTID0gJ2J0biBhcHAtYnV0dG9uJztcbmNvbnN0IFdJREdFVF9DT05GSUc6IElXaWRnZXRDb25maWcgPSB7XG4gICAgd2lkZ2V0VHlwZTogJ3dtLWJ1dHRvbicsXG4gICAgaG9zdENsYXNzOiBERUZBVUxUX0NMUyxcbiAgICBkaXNwbGF5VHlwZTogRElTUExBWV9UWVBFLklOTElORV9CTE9DS1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdidXR0b25bd21CdXR0b25dJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKEJ1dHRvbkNvbXBvbmVudClcbiAgICBdLFxuICAgIGV4cG9ydEFzOiAnd21CdXR0b24nXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIFN0eWxhYmxlQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgaW5pdGlhbGl6ZVByb3BzID0gcmVnaXN0ZXJQcm9wcygpO1xuXG4gICAgcHVibGljIGljb251cmw6IHN0cmluZztcbiAgICBwdWJsaWMgaWNvbmNsYXNzOiBzdHJpbmc7XG4gICAgcHVibGljIGNhcHRpb246IHN0cmluZztcbiAgICBwdWJsaWMgYmFkZ2V2YWx1ZTogc3RyaW5nO1xuICAgIHB1YmxpYyBhcmlhbGFiZWw6IHN0cmluZztcbiAgICBASG9zdEJpbmRpbmcoJ3R5cGUnKSB0eXBlOiBzdHJpbmc7XG4gICAgQEhvc3RCaW5kaW5nKCd0YWJJbmRleCcpIHRhYmluZGV4OiBudW1iZXI7XG4gICAgQEhvc3RCaW5kaW5nKCdkaXNhYmxlZCcpIGRpc2FibGVkOiBib29sZWFuO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hY2Nlc3NrZXknKSBzaG9ydGN1dGtleTogc3RyaW5nO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5pY29uLXBvc2l0aW9uJykgaWNvbnBvc2l0aW9uOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3Rvcihpbmo6IEluamVjdG9yLCBASW5qZWN0KCdFWFBMSUNJVF9DT05URVhUJykgQE9wdGlvbmFsKCkgZXhwbGljaXRDb250ZXh0OiBhbnkpIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHLCBleHBsaWNpdENvbnRleHQpO1xuICAgICAgICBzdHlsZXIodGhpcy5uYXRpdmVFbGVtZW50LCB0aGlzKTtcbiAgICB9XG59XG4iLCI8aW1nIGRhdGEtaWRlbnRpZmllcj1cImltZ1wiIGFsdD1cImJ1dHRvbiBpbWFnZVwiIGNsYXNzPVwiYnV0dG9uLWltYWdlLWljb25cIiBbc3JjXT1cImljb251cmwgfCBpbWFnZVwiICpuZ0lmPVwiaWNvbnVybFwiIFtuZ1N0eWxlXT1cInt3aWR0aDppY29ud2lkdGgsIGhlaWdodDppY29uaGVpZ2h0LCBtYXJnaW46aWNvbm1hcmdpbn1cIi8+XG48aSBjbGFzcz1cImFwcC1pY29uIHt7aWNvbmNsYXNzfX1cIiBhcmlhLWhpZGRlbj1cInRydWVcIiBbbmdTdHlsZV09XCJ7d2lkdGg6aWNvbndpZHRoLCBoZWlnaHQ6aWNvbmhlaWdodCwgbWFyZ2luOmljb25tYXJnaW4sIGZvbnRTaXplOmljb253aWR0aH1cIiAqbmdJZj1cImljb25jbGFzc1wiPjwvaT5cbjxzcGFuIGNsYXNzPVwic3Itb25seVwiICpuZ0lmPVwiaWNvbmNsYXNzXCI+e3tjYXB0aW9ufX0ge3thcHBMb2NhbGUuTEFCRUxfSUNPTn19PC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJidG4tY2FwdGlvblwiIFtpbm5lckhUTUxdPVwiY2FwdGlvblwiPjwvc3Bhbj5cbjxuZy1jb250ZW50IHNlbGVjdD1cIi5jYXJldFwiPjwvbmctY29udGVudD5cbjxzcGFuICpuZ0lmPVwiYmFkZ2V2YWx1ZVwiIGNsYXNzPVwiYmFkZ2UgcHVsbC1yaWdodFwiIFt0ZXh0Q29udGVudF09XCJiYWRnZXZhbHVlXCI+PC9zcGFuPlxuIl19
|
@@ -9,6 +9,7 @@ export const registerProps = () => {
|
|
9
9
|
['conditionalstyle', PROP_ANY],
|
10
10
|
['disabled', PROP_BOOLEAN],
|
11
11
|
['hint', PROP_STRING],
|
12
|
+
['arialabel', PROP_STRING],
|
12
13
|
['iconclass', PROP_STRING],
|
13
14
|
['iconheight', PROP_STRING],
|
14
15
|
['iconmargin', PROP_STRING],
|
@@ -22,4 +23,4 @@ export const registerProps = () => {
|
|
22
23
|
['type', PROP_STRING]
|
23
24
|
]));
|
24
25
|
};
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLnByb3BzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2lucHV0L2RlZmF1bHQvc3JjL2J1dHRvbi9idXR0b24ucHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsR0FBRyxFQUFFO0lBQzlCLFFBQVEsQ0FDSixXQUFXLEVBQ1gsSUFBSSxHQUFHLENBQ0g7UUFDSSxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7UUFDMUIsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDO1FBQzNCLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQztRQUN4QixDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUM7UUFDdEIsQ0FBQyxrQkFBa0IsRUFBRSxRQUFRLENBQUM7UUFDOUIsQ0FBQyxrQkFBa0IsRUFBRSxRQUFRLENBQUM7UUFDOUIsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDO1FBQzFCLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQztRQUNyQixDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7UUFDMUIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDO1FBQzFCLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQztRQUMzQixDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7UUFDM0IsQ0FBQyxjQUFjLEVBQUUsV0FBVyxDQUFDO1FBQzdCLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQztRQUN4QixDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7UUFDMUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDO1FBQ3JCLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQztRQUM1QixDQUFDLE1BQU0sRUFBRSxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxZQUFZLEVBQUMsQ0FBQztRQUN4QyxDQUFDLFVBQVUsRUFBRSxFQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxXQUFXLEVBQUMsQ0FBQztRQUN4QyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUM7S0FDeEIsQ0FDSixDQUNKLENBQUM7QUFDTixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BST1BfQU5ZLCBQUk9QX0JPT0xFQU4sIFBST1BfTlVNQkVSLCBQUk9QX1NUUklORywgcmVnaXN0ZXJ9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJQcm9wcyA9ICgpID0+IHtcbiAgICByZWdpc3RlcihcbiAgICAgICAgJ3dtLWJ1dHRvbicsXG4gICAgICAgIG5ldyBNYXAoXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgWydhbmltYXRpb24nLCBQUk9QX1NUUklOR10sXG4gICAgICAgICAgICAgICAgWydiYWRnZXZhbHVlJywgUFJPUF9TVFJJTkddLFxuICAgICAgICAgICAgICAgIFsnY2FwdGlvbicsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgICAgICAgICBbJ2NsYXNzJywgUFJPUF9TVFJJTkddLFxuICAgICAgICAgICAgICAgIFsnY29uZGl0aW9uYWxjbGFzcycsIFBST1BfQU5ZXSxcbiAgICAgICAgICAgICAgICBbJ2NvbmRpdGlvbmFsc3R5bGUnLCBQUk9QX0FOWV0sXG4gICAgICAgICAgICAgICAgWydkaXNhYmxlZCcsIFBST1BfQk9PTEVBTl0sXG4gICAgICAgICAgICAgICAgWydoaW50JywgUFJPUF9TVFJJTkddLFxuICAgICAgICAgICAgICAgIFsnYXJpYWxhYmVsJywgUFJPUF9TVFJJTkddLFxuICAgICAgICAgICAgICAgIFsnaWNvbmNsYXNzJywgUFJPUF9TVFJJTkddLFxuICAgICAgICAgICAgICAgIFsnaWNvbmhlaWdodCcsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgICAgICAgICBbJ2ljb25tYXJnaW4nLCBQUk9QX1NUUklOR10sXG4gICAgICAgICAgICAgICAgWydpY29ucG9zaXRpb24nLCBQUk9QX1NUUklOR10sXG4gICAgICAgICAgICAgICAgWydpY29udXJsJywgUFJPUF9TVFJJTkddLFxuICAgICAgICAgICAgICAgIFsnaWNvbndpZHRoJywgUFJPUF9TVFJJTkddLFxuICAgICAgICAgICAgICAgIFsnbmFtZScsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgICAgICAgICBbJ3Nob3J0Y3V0a2V5JywgUFJPUF9TVFJJTkddLFxuICAgICAgICAgICAgICAgIFsnc2hvdycsIHt2YWx1ZTogdHJ1ZSwgLi4uUFJPUF9CT09MRUFOfV0sXG4gICAgICAgICAgICAgICAgWyd0YWJpbmRleCcsIHt2YWx1ZTogMCwgLi4uUFJPUF9OVU1CRVJ9XSxcbiAgICAgICAgICAgICAgICBbJ3R5cGUnLCBQUk9QX1NUUklOR11cbiAgICAgICAgICAgIF1cbiAgICAgICAgKVxuICAgICk7XG59O1xuIl19
|
@@ -32,9 +32,10 @@ export class CaptionPositionDirective {
|
|
32
32
|
}
|
33
33
|
// For select widget, display placeholder only on focus else remove the text of the option selected.
|
34
34
|
checkForSelectPlaceholder() {
|
35
|
-
|
35
|
+
const selectElPlaceholderOption = this.nativeEl.querySelector('#placeholderOption');
|
36
|
+
if (selectElPlaceholderOption && selectElPlaceholderOption.textContent && !$(this.nativeEl).find('select').is(':focus') &&
|
36
37
|
!$(this.inputEl.closest('[widget-id]')).attr('datavalue')) {
|
37
|
-
|
38
|
+
selectElPlaceholderOption.textContent = '';
|
38
39
|
}
|
39
40
|
}
|
40
41
|
setDefaultValueAnimation() {
|
@@ -136,10 +137,10 @@ export class CaptionPositionDirective {
|
|
136
137
|
// before placeholder is removed assign it to the placeholder variable
|
137
138
|
// check for placeholder in inputel and selectel
|
138
139
|
if (this.inputEl) {
|
139
|
-
const
|
140
|
-
if (this.inputEl.attr('placeholder') ||
|
141
|
-
if (
|
142
|
-
|
140
|
+
const selectElPlaceholderOption = this.nativeEl.querySelector('#placeholderOption');
|
141
|
+
if (this.inputEl.attr('placeholder') || selectElPlaceholderOption) {
|
142
|
+
if (selectElPlaceholderOption) {
|
143
|
+
selectElPlaceholderOption.textContent = '';
|
143
144
|
}
|
144
145
|
else {
|
145
146
|
this.placeholder = this.inputEl.attr('placeholder');
|
@@ -167,4 +168,4 @@ export class CaptionPositionDirective {
|
|
167
168
|
selector: '[wmCaptionPosition]'
|
168
169
|
}]
|
169
170
|
}], () => [{ type: i0.Injector }, { type: i1.App }], null); })();
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwdGlvbi1wb3NpdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvZGVmYXVsdC9zcmMvY2FwdGlvbi1wb3NpdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUM3QixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sV0FBVyxDQUFDOzs7QUFNbEMsTUFBTSxPQUFPLHdCQUF3QjtJQWNqQyxZQUFZLEdBQWEsRUFBRSxHQUFRO1FBSG5DLGtEQUFrRDtRQUMxQyw2QkFBd0IsR0FBYSxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBR3hKLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQzlDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ25CLENBQUM7SUFFTyxRQUFRO1FBQ1osSUFBSSxjQUFjLENBQUM7UUFDbkIsc0dBQXNHO1FBQ3RHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDbkUsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRTtnQkFD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QUFDO3dCQUN0QixDQUFDOzZCQUFNLENBQUM7NEJBQ0osSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzs0QkFDcEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7d0JBQzNDLENBQUM7b0JBQ0wsQ0FBQztnQkFDTCxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ3RDLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLENBQUM7SUFDTCxDQUFDO3lGQWhMUSx3QkFBd0I7b0VBQXhCLHdCQUF3Qjs7aUZBQXhCLHdCQUF3QjtjQUhwQyxTQUFTO2VBQUM7Z0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjthQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3RvciwgT25EZXN0cm95LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBcHB9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7Zm9yRWFjaH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5kZWNsYXJlIGNvbnN0ICQ7XG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t3bUNhcHRpb25Qb3NpdGlvbl0nXG59KVxuZXhwb3J0IGNsYXNzIENhcHRpb25Qb3NpdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG4gICAgcHJpdmF0ZSBpbnB1dEVsO1xuICAgIHByaXZhdGUgbmF0aXZlRWw7XG4gICAgcHJpdmF0ZSBjb21wb3NpdGVFbGU7XG4gICAgcHJpdmF0ZSBhcHA6IEFwcDtcbiAgICBwcml2YXRlIGxhYmVsQW5pbWF0aW9uU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgcGxhY2Vob2xkZXI7XG4gICAgcHJpdmF0ZSBfYXR0ck9ic2VydmVyO1xuICAgIHByaXZhdGUgX2lzUGxhY2Vob2xkZXJCb3VuZDtcblxuICAgIC8vIHNraXAgZmxvYXRpbmcgY2FwdGlvbiBmb3IgdGhlIGJlbG93IGZvcm0gZmllbGRzXG4gICAgcHJpdmF0ZSBza2lwRmxvYXRQb3NpdGlvbldpZGdldHM6IHN0cmluZ1tdID0gWydyYWRpb3NldCcsICdjaGVja2JveHNldCcsICdyaWNodGV4dCcsICdzd2l0Y2gnLCAnY2hpcHMnLCAnY2hlY2tib3gnLCAnc2xpZGVyJywgJ3JhdGluZycsICd0b2dnbGUnLCAndXBsb2FkJ107XG5cbiAgICBjb25zdHJ1Y3Rvcihpbmo6IEluamVjdG9yLCBhcHA6IEFwcCkge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYgPSBpbmouZ2V0KEVsZW1lbnRSZWYpO1xuICAgICAgICB0aGlzLm5hdGl2ZUVsID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIHRoaXMuYXBwID0gYXBwO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25CbHVyQ2IoKSB7IC8vIG9uIGJsdXIsIHJlbW92ZSBhbmltYXRpb24gYW5kIHBsYWNlaG9sZGVyIGlmIHRoZXJlIGlzIG5vIHZhbHVlXG4gICAgICAgIGxldCBtb2JpbGVJbnB1dFZhbDtcbiAgICAgICAgLy8gSW4gY2FzZSBvZiBtb2JpbGUgZGF0ZSAvIHRpbWUgcGlja2VyIGNoZWNrIGZvciBpbnB1dCBlbGVtZW50J3MgdmFsdWUgd2hpY2ggaGFzICdtb2JpbGUtaW5wdXQnIGNsYXNzXG4gICAgICAgIGlmICh0aGlzLmlucHV0RWwubGVuZ3RoID4gMSAmJiB0aGlzLmlucHV0RWwuaGFzQ2xhc3MoJ21vYmlsZS1pbnB1dCcpKSB7XG4gICAgICAgICAgICBmb3JFYWNoKHRoaXMuaW5wdXRFbCwgKGVsKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCQoZWwpLmhhc0NsYXNzKCdtb2JpbGUtaW5wdXQnKSAmJiBlbC52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBtb2JpbGVJbnB1dFZhbCA9IGVsLnZhbHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5pbnB1dEVsLnZhbCgpICYmICFtb2JpbGVJbnB1dFZhbCkge1xuICAgICAgICAgICAgdGhpcy5jb21wb3NpdGVFbGUuY2xhc3NMaXN0LnJlbW92ZSgnZmxvYXQtYWN0aXZlJyk7XG4gICAgICAgICAgICB0aGlzLmlucHV0RWwucmVtb3ZlQXR0cigncGxhY2Vob2xkZXInKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgb25Gb2N1c0NiKCkgeyAvLyAgb24gZm9jdXMsIGFkZCBhbmltYXRpb24gY2xhc3MgYW5kIHRoZSBwbGFjZSBob2xkZXJcbiAgICAgICAgdGhpcy5jb21wb3NpdGVFbGUuY2xhc3NMaXN0LmFkZCgnZmxvYXQtYWN0aXZlJyk7XG4gICAgICAgIHRoaXMuaW5wdXRFbC5hdHRyKCdwbGFjZWhvbGRlcicsIHRoaXMucGxhY2Vob2xkZXIpO1xuICAgIH1cblxuICAgIC8vIEZvciBzZWxlY3Qgd2lkZ2V0LCBkaXNwbGF5IHBsYWNlaG9sZGVyIG9ubHkgb24gZm9jdXMgZWxzZSByZW1vdmUgdGhlIHRleHQgb2YgdGhlIG9wdGlvbiBzZWxlY3RlZC5cbiAgICBwcml2YXRlIGNoZWNrRm9yU2VsZWN0UGxhY2Vob2xkZXIoKSB7XG4gICAgICAgIGlmICgkKHRoaXMubmF0aXZlRWwpLmZpbmQoJ3NlbGVjdCBvcHRpb246c2VsZWN0ZWQnKS50ZXh0KCkgJiYgISQodGhpcy5uYXRpdmVFbCkuZmluZCgnc2VsZWN0JykuaXMoJzpmb2N1cycpICYmXG4gICAgICAgICAgICAhJCh0aGlzLmlucHV0RWwuY2xvc2VzdCgnW3dpZGdldC1pZF0nKSkuYXR0cignZGF0YXZhbHVlJykpIHtcbiAgICAgICAgICAgICQodGhpcy5uYXRpdmVFbCkuZmluZCgnc2VsZWN0IG9wdGlvbjpzZWxlY3RlZCcpLnRleHQoJycpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXREZWZhdWx0VmFsdWVBbmltYXRpb24oKSB7IC8vIHNldCBhbmltYXRpb24gd2hlbiBkZWZhdWx0IHZhbHVlcyBhcmUgcHJlc2VudFxuICAgICAgICAvLyByZW1vdmUgcGxhY2Vob2xkZXIgd2hlbiB0aGUgaW5wdXQgZWwgaGFzIHBsYWNlaG9sZGVyIGFuZCB0aGUgcGxhY2Vob2xkZXIgaXMgbm90IGJvdW5kIHRvIGFueSB2YXJpYWJsZVxuICAgICAgICBpZiAoIXRoaXMuX2lzUGxhY2Vob2xkZXJCb3VuZCAmJiB0aGlzLmlucHV0RWwuYXR0cigncGxhY2Vob2xkZXInKSkge1xuICAgICAgICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IHRoaXMuaW5wdXRFbC5hdHRyKCdwbGFjZWhvbGRlcicpO1xuICAgICAgICAgICAgdGhpcy5pbnB1dEVsLnJlbW92ZUF0dHIoJ3BsYWNlaG9sZGVyJyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEbyBub3Qgc2hvdyBwbGFjZWhvbGRlciBhcyBzZWxlY3RlZCBieSBkZWZhdWx0XG4gICAgICAgIHRoaXMuY2hlY2tGb3JTZWxlY3RQbGFjZWhvbGRlcigpO1xuXG4gICAgICAgIC8vIGNoZWNrIGZvciBkYXRhdmFsdWUgYXR0cmlidXRlIGluIGNvbXBvc2l0ZSBlbGVtZW50IGFuZCBkZWZhdWx0dmFsdWUgYXR0cmlidXRlIGluIGZvcm0gZmllbGQgZWxlbWVudFxuICAgICAgICAvLyBjaGVjayBmb3IgZGF0YXZhbHVlLmJpbmQgYXR0cmlidXRlIHRvIHNlZSB3aGV0aGVyIGRlZmF1bHQgdmFsdWUgaXMgYmluZGVkIHZpYSBleHByZXNzaW9uIG9yIGEgdmFyaWFibGVcbiAgICAgICAgLy8gY2hlY2sgZm9yIGRpc3BsYXlmb3JtYXQgYXR0cmlidXRlLCBhcyBpbiBmb3JtIGZpZWxkcyB1c2VyIGNhbiBzZXQgZGlzcGxheSBmb3JtYXQgdG8gdGhlIGZpZWxkXG4gICAgICAgIC8vIGNoZWNrIGZvciBmb3JtZGF0YS9iaW5kZm9ybWRhdGEgYXR0cmlidXRlIHRvIHNlZSBpZiBhbnkgZGVmYXVsdCB2YWx1ZSBpcyBiaW5kZWQgdG8gdGhlIGZvcm1cbiAgICAgICAgLy8gY2hlY2sgZm9yIHNlbGVjdCB0YWcgd2l0aCBtdWx0aXBsZSBhdHRyaWJ1dGUgZW5hYmxlZFxuXG4gICAgICAgIGlmICgodGhpcy5pbnB1dEVsLnZhbCgpICYmICF0aGlzLmlucHV0RWwuaXMoJ3NlbGVjdCcpKSB8fCAkKHRoaXMuaW5wdXRFbC5jbG9zZXN0KCdbd2lkZ2V0LWlkXScpKS5hdHRyKCdkYXRhdmFsdWUnKSB8fCAkKHRoaXMuaW5wdXRFbC5wYXJlbnQoJ1t3aWRnZXQtaWRdJykpLmF0dHIoJ2RhdGF2YWx1ZS5iaW5kJykgfHwgdGhpcy5uYXRpdmVFbC5nZXRBdHRyaWJ1dGUoJ2RlZmF1bHR2YWx1ZScpXG4gICAgICAgICAgICB8fCB0aGlzLm5hdGl2ZUVsLmdldEF0dHJpYnV0ZSgnZGlzcGxheWZvcm1hdCcpIHx8ICQodGhpcy5uYXRpdmVFbCkuZmluZCgnc2VsZWN0IG9wdGlvbjpzZWxlY3RlZCcpLnRleHQoKSB8fCAkKHRoaXMubmF0aXZlRWwpLmZpbmQoJ3NlbGVjdCcpLmF0dHIoJ211bHRpcGxlJykpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcG9zaXRlRWxlLmNsYXNzTGlzdC5hZGQoJ2Zsb2F0LWFjdGl2ZScpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT2JzZXJ2aW5nIHBsYWNlaG9sZGVyIGF0dHJpYnV0ZSBjaGFuZ2Ugb24gRE9NIGluc3RlYWQgb2YgaGF2aW5nIGEgcHJvcENoYW5nZUhhbmRsZXIgZm5cbiAgICAgKiBGb3IgY29tcG9zaXRlIHdpZGdldHMgcHJvcGVydHljaGFuZ2VoYW5kbGVyIGZ1bmN0aW9uIGlzIGludm9rZWQgYXQgaW5kZXBlbmRlbnQgd2lkZ2V0cyB3aGVyZSBhcyB0aGUgZGlyZWN0aXZlIGlzIGF0IGNvbXBvc2l0ZSBsZXZlbFxuICAgICAqL1xuICAgIHByaXZhdGUgb2JzZXJ2ZUZvclBsYWNlaG9sZGVyQXR0ckNoYW5nZSgpIHtcbiAgICAgICAgdGhpcy5fYXR0ck9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIobXV0YXRpb25zID0+IHtcbiAgICAgICAgICAgIG11dGF0aW9ucy5mb3JFYWNoKChtdXRhdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChtdXRhdGlvbi5hdHRyaWJ1dGVOYW1lID09PSAncGxhY2Vob2xkZXInICYmIHRoaXMuaW5wdXRFbC5hdHRyKCdwbGFjZWhvbGRlcicpICYmICF0aGlzLmNvbXBvc2l0ZUVsZS5jbGFzc0xpc3QuY29udGFpbnMoJ2Zsb2F0LWFjdGl2ZScpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPSB0aGlzLmlucHV0RWwuYXR0cigncGxhY2Vob2xkZXInKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dEVsLnJlbW92ZUF0dHIoJ3BsYWNlaG9sZGVyJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBjb25maWcgPSB7IGF0dHJpYnV0ZXM6IHRydWUsIGNoaWxkTGlzdDogZmFsc2UsIGNoYXJhY3RlckRhdGE6IGZhbHNlIH07XG4gICAgICAgIHRoaXMuX2F0dHJPYnNlcnZlci5vYnNlcnZlKHRoaXMuaW5wdXRFbFswXSwgY29uZmlnKTtcbiAgICB9XG5cbiAgICAvLyB3aGVuIGEgZm9ybSBpcyByaWdodCBhbGlnbmVkIGFuZCBoYXZlIGlucHV0LWdyb3VwLWJ0bidzIGxpa2UgZGF0ZSBwaWNrZXIsIHRpbWUgcGlja2VyIGV0Yy4gYWRqdXN0IHRoZSBjc3MgdG8gbm90IG92ZXJsYXAgdGhlIGxhYmVsIG9uIHRoZSBpY29uXG4gICAgcHJpdmF0ZSBjaGVja0ZvclJpZ2h0QWxpZ25lZEZvcm0oKSB7XG4gICAgICAgIGNvbnN0ICRjb21wb3NpdGVFbGUgPSAkKHRoaXMuY29tcG9zaXRlRWxlKTtcbiAgICAgICAgaWYgKCRjb21wb3NpdGVFbGUuY2xvc2VzdCgnLmFsaWduLXJpZ2h0JykubGVuZ3RoICYmICRjb21wb3NpdGVFbGUuZmluZCgnLmlucHV0LWdyb3VwLWJ0bicpLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgJGxhYmVsID0gJGNvbXBvc2l0ZUVsZS5maW5kKCdsYWJlbCcpO1xuICAgICAgICAgICAgaWYgKCRjb21wb3NpdGVFbGUuZmluZCgnW3dtZGF0ZXRpbWVdJykubGVuZ3RoKSB7IC8vIGZvciBkYXRldGltZSBwaWNrZXIsIGFzIHRoZXJlIHdpbGwgYmUgMiBpY29ucyBjc3MgaXMgZGlmZmVyZW50XG4gICAgICAgICAgICAgICAgJGxhYmVsLmFkZENsYXNzKCdpbnB1dC1ncnAtZHQtaWNvbicpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAkbGFiZWwuYWRkQ2xhc3MoJ2lucHV0LWdycC1pY29uJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuY29tcG9zaXRlRWxlID0gdGhpcy5uYXRpdmVFbDtcbiAgICAgICAgY29uc3Qgd2lkZ2V0ID0gdGhpcy5uYXRpdmVFbC53aWRnZXQ7XG4gICAgICAgIGxldCBjYXB0aW9uUG9zaXRpb246IHN0cmluZyA9IHdpZGdldC4kYXR0cnMuZ2V0KCdjYXB0aW9ucG9zaXRpb24nKTtcbiAgICAgICAgaWYgKHdpZGdldC5mb3JtKSB7XG4gICAgICAgICAgICBjYXB0aW9uUG9zaXRpb24gPSB3aWRnZXQuZm9ybS4kYXR0cnMuZ2V0KCdjYXB0aW9ucG9zaXRpb24nKTtcbiAgICAgICAgICAgIHRoaXMuY29tcG9zaXRlRWxlID0gdGhpcy5uYXRpdmVFbC5xdWVyeVNlbGVjdG9yKCcuYXBwLWNvbXBvc2l0ZS13aWRnZXQnKTtcbiAgICAgICAgICAgIHRoaXMuX2lzUGxhY2Vob2xkZXJCb3VuZCA9IHRoaXMubmF0aXZlRWwuZ2V0QXR0cmlidXRlKCdwbGFjZWhvbGRlci5iaW5kJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNhcHRpb25Qb3NpdGlvbiA9PT0gJ2Zsb2F0aW5nJykge1xuICAgICAgICAgICAgaWYgKHdpZGdldC5mb3JtKSB7IC8vIGZvciBmb3JtLWZpZWxkcyByZW1vdmUgY2FwdGlvbi1mbG9hdGluZyBhbmQgcmVwbGFjZSBpdCB3aXRoIGNhcHRpb24tZmxvYXQgb3IgY2FwdGlvbi10b3BcbiAgICAgICAgICAgICAgICBjb25zdCB3aWRnZXRUeXBlOiBzdHJpbmcgPSB0aGlzLm5hdGl2ZUVsLmdldEF0dHJpYnV0ZSgnd2lkZ2V0dHlwZScpOyAvLyBmZXRjaGVzIHRoZSBmb3JtIGZpZWxkIHR5cGVcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5za2lwRmxvYXRQb3NpdGlvbldpZGdldHMuaW5kZXhPZih3aWRnZXRUeXBlKSA+IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcG9zaXRlRWxlLmNsYXNzTGlzdC5yZW1vdmUoJ2NhcHRpb24tZmxvYXRpbmcnKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wb3NpdGVFbGUuY2xhc3NMaXN0LmFkZCgnY2FwdGlvbi10b3AnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja0ZvclJpZ2h0QWxpZ25lZEZvcm0oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbCA9ICQodGhpcy5uYXRpdmVFbCkuZmluZCgnaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEnKTtcbiAgICAgICAgICAgIGlmICghdGhpcy5faXNQbGFjZWhvbGRlckJvdW5kKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5faXNQbGFjZWhvbGRlckJvdW5kID0gdGhpcy5pbnB1dEVsLmNsb3Nlc3QoJ1t3aWRnZXQtaWRdJykuYXR0cigncGxhY2Vob2xkZXIuYmluZCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gY2FsbCB0aGUgYmVsb3cgZnVuY3Rpb24gdG8gYXBwbHkgZmxvYXQtYWN0aXZlIGNsYXNzIHdoZW4gdGhlcmUgYXJlIGRlZmF1bHQgdmFsdWVzIHRvIHRoZSBmaWVsZHNcbiAgICAgICAgICAgIHNldFRpbWVvdXQodGhpcy5zZXREZWZhdWx0VmFsdWVBbmltYXRpb24uYmluZCh0aGlzKSwgMCk7XG5cbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbC5mb2N1cyh0aGlzLm9uRm9jdXNDYi5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbC5ibHVyKHRoaXMub25CbHVyQ2IuYmluZCh0aGlzKSk7XG5cbiAgICAgICAgICAgIC8vIG9ic2VydmUgZm9yIHBsYWNlaG9sZGVyIGF0dHJpYnV0ZSBjaGFuZ2Ugd2hlbiBwbGFjZWhvbGRlciBpcyBib3VuZCB2aWEgZGIgdmFyaWFibGUgb3IgYW4gZXhwcmVzc2lvblxuICAgICAgICAgICAgaWYgKHRoaXMuX2lzUGxhY2Vob2xkZXJCb3VuZCkge1xuICAgICAgICAgICAgICAgIHRoaXMub2JzZXJ2ZUZvclBsYWNlaG9sZGVyQXR0ckNoYW5nZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gY2FwdGlvblBvc2l0aW9uQW5pbWF0ZSBpcyBvbmx5IG5vdGlmaWVkIGZvciBkYXRlLXRpbWUsIHRpbWUgYW5kIHNlYXJjaCB3aWRnZXRzIGFzIGlucHV0IGVsIGlzIG5vdCB1cGRhdGVkIHdpdGggdmFsdWUgb24gc2VsZWN0aW9uIG9mIGRyb3Bkb3duL3BvcHVwc1xuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmxhYmVsQW5pbWF0aW9uU3Vic2NyaXB0aW9uID0gdGhpcy5hcHAuc3Vic2NyaWJlKCdjYXB0aW9uUG9zaXRpb25BbmltYXRlJywgKGRhdGEpID0+IHtcbiAgICAgICAgICAgIC8vIGRpc3BsYXlWYWwgaXMgdHJ1ZSB3aGVuIHRoZXJlIGlzIGEgdmFsdWUgZW50ZXJlZCBpbiB0aGUgaW5wdXQgZmllbGRcbiAgICAgICAgICAgIC8vIEluIGNhc2Ugb2YgZm9ybSBmaWVsZHMsIHdoZW4gdGhlIGZpZWxkIGlzIGluIGZvY3VzLCBpc0ZvY3VzZWQgd2lsbCBiZSBzZXQgYXMgdHJ1ZVxuICAgICAgICAgICAgLy8gaXNTZWxlY3RNdWx0aXBsZSBpcyBzZXQgdG8gdHJ1ZSB3aGVuIGZvciBzZWxlY3Qgd2lkZ2V0LCBtdWx0aXBsZSBvcHRpb24gaXMgZW5hYmxlZFxuICAgICAgICAgICAgLy8gQ2hlY2tpbmcgaW5wdXRFbCBmb2N1cyAtIHdoZW4gZm9ybSBpcyByZXByZXNlbnRlZCBhcyBkaWFsb2cgYW5kIHRoZSBmaXJzdCBmaWVsZCBpcyBhdXRvbWF0aWNhbGx5IGluIGZvY3VzXG4gICAgICAgICAgICBjb25zdCBpc0lucHV0RWxGb2N1c2VkID0gdGhpcy5pbnB1dEVsICYmIHRoaXMuaW5wdXRFbC5pcygnOmZvY3VzJyk7XG4gICAgICAgICAgICBpZiAoZGF0YS5kaXNwbGF5VmFsIHx8IGRhdGEuaXNGb2N1c2VkIHx8IGRhdGEuaXNTZWxlY3RNdWx0aXBsZSB8fCBpc0lucHV0RWxGb2N1c2VkKSB7XG4gICAgICAgICAgICAgICAgZGF0YS5uYXRpdmVFbC5hZGRDbGFzcygnZmxvYXQtYWN0aXZlJyk7XG4gICAgICAgICAgICAgICAgaWYgKCFkYXRhLmRpc3BsYXlWYWwgJiYgaXNJbnB1dEVsRm9jdXNlZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0RWwuYXR0cigncGxhY2Vob2xkZXInLCB0aGlzLnBsYWNlaG9sZGVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGRhdGEubmF0aXZlRWwucmVtb3ZlQ2xhc3MoJ2Zsb2F0LWFjdGl2ZScpO1xuICAgICAgICAgICAgICAgIC8vIFJlbW92ZSBwbGFjZWhvbGRlciBvbiByZW1vdmluZyBmbG9hdC1hY3RpdmUsIGlmIG5vdCB0aGUgbGFiZWwgYW5kIHBsYWNlaG9sZGVyIGFyZSBjb2xsaWRlZFxuICAgICAgICAgICAgICAgIC8vIGJlZm9yZSBwbGFjZWhvbGRlciBpcyByZW1vdmVkIGFzc2lnbiBpdCB0byB0aGUgcGxhY2Vob2xkZXIgdmFyaWFibGVcbiAgICAgICAgICAgICAgICAvLyBjaGVjayBmb3IgcGxhY2Vob2xkZXIgaW4gaW5wdXRlbCBhbmQgc2VsZWN0ZWxcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pbnB1dEVsKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdEVsID0gdGhpcy5pbnB1dEVsLmZpbmQoJ29wdGlvbjpmaXJzdCcpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pbnB1dEVsLmF0dHIoJ3BsYWNlaG9sZGVyJykgfHwgc2VsZWN0RWwudGV4dCgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0RWwubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0RWwudGV4dCgnJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPSB0aGlzLmlucHV0RWwuYXR0cigncGxhY2Vob2xkZXInKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0RWwucmVtb3ZlQXR0cigncGxhY2Vob2xkZXInKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLmxhYmVsQW5pbWF0aW9uU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmxhYmVsQW5pbWF0aW9uU3Vic2NyaXB0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2F0dHJPYnNlcnZlcikge1xuICAgICAgICAgICAgdGhpcy5fYXR0ck9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwdGlvbi1wb3NpdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvZGVmYXVsdC9zcmMvY2FwdGlvbi1wb3NpdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUM3QixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sV0FBVyxDQUFDOzs7QUFNbEMsTUFBTSxPQUFPLHdCQUF3QjtJQWNqQyxZQUFZLEdBQWEsRUFBRSxHQUFRO1FBSG5DLGtEQUFrRDtRQUMxQyw2QkFBd0IsR0FBYSxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBR3hKLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQzlDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ25CLENBQUM7SUFFTyxRQUFRO1FBQ1osSUFBSSxjQUFjLENBQUM7UUFDbkIsc0dBQXNHO1FBQ3RHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDbkUsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRTtnQkFD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R0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzs0QkFDcEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7d0JBQzNDLENBQUM7b0JBQ0wsQ0FBQztnQkFDTCxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ3RDLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLENBQUM7SUFDTCxDQUFDO3lGQWpMUSx3QkFBd0I7b0VBQXhCLHdCQUF3Qjs7aUZBQXhCLHdCQUF3QjtjQUhwQyxTQUFTO2VBQUM7Z0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjthQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3RvciwgT25EZXN0cm95LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBcHB9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7Zm9yRWFjaH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5kZWNsYXJlIGNvbnN0ICQ7XG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t3bUNhcHRpb25Qb3NpdGlvbl0nXG59KVxuZXhwb3J0IGNsYXNzIENhcHRpb25Qb3NpdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG4gICAgcHJpdmF0ZSBpbnB1dEVsO1xuICAgIHByaXZhdGUgbmF0aXZlRWw7XG4gICAgcHJpdmF0ZSBjb21wb3NpdGVFbGU7XG4gICAgcHJpdmF0ZSBhcHA6IEFwcDtcbiAgICBwcml2YXRlIGxhYmVsQW5pbWF0aW9uU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgcGxhY2Vob2xkZXI7XG4gICAgcHJpdmF0ZSBfYXR0ck9ic2VydmVyO1xuICAgIHByaXZhdGUgX2lzUGxhY2Vob2xkZXJCb3VuZDtcblxuICAgIC8vIHNraXAgZmxvYXRpbmcgY2FwdGlvbiBmb3IgdGhlIGJlbG93IGZvcm0gZmllbGRzXG4gICAgcHJpdmF0ZSBza2lwRmxvYXRQb3NpdGlvbldpZGdldHM6IHN0cmluZ1tdID0gWydyYWRpb3NldCcsICdjaGVja2JveHNldCcsICdyaWNodGV4dCcsICdzd2l0Y2gnLCAnY2hpcHMnLCAnY2hlY2tib3gnLCAnc2xpZGVyJywgJ3JhdGluZycsICd0b2dnbGUnLCAndXBsb2FkJ107XG5cbiAgICBjb25zdHJ1Y3Rvcihpbmo6IEluamVjdG9yLCBhcHA6IEFwcCkge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYgPSBpbmouZ2V0KEVsZW1lbnRSZWYpO1xuICAgICAgICB0aGlzLm5hdGl2ZUVsID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIHRoaXMuYXBwID0gYXBwO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25CbHVyQ2IoKSB7IC8vIG9uIGJsdXIsIHJlbW92ZSBhbmltYXRpb24gYW5kIHBsYWNlaG9sZGVyIGlmIHRoZXJlIGlzIG5vIHZhbHVlXG4gICAgICAgIGxldCBtb2JpbGVJbnB1dFZhbDtcbiAgICAgICAgLy8gSW4gY2FzZSBvZiBtb2JpbGUgZGF0ZSAvIHRpbWUgcGlja2VyIGNoZWNrIGZvciBpbnB1dCBlbGVtZW50J3MgdmFsdWUgd2hpY2ggaGFzICdtb2JpbGUtaW5wdXQnIGNsYXNzXG4gICAgICAgIGlmICh0aGlzLmlucHV0RWwubGVuZ3RoID4gMSAmJiB0aGlzLmlucHV0RWwuaGFzQ2xhc3MoJ21vYmlsZS1pbnB1dCcpKSB7XG4gICAgICAgICAgICBmb3JFYWNoKHRoaXMuaW5wdXRFbCwgKGVsKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCQoZWwpLmhhc0NsYXNzKCdtb2JpbGUtaW5wdXQnKSAmJiBlbC52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBtb2JpbGVJbnB1dFZhbCA9IGVsLnZhbHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5pbnB1dEVsLnZhbCgpICYmICFtb2JpbGVJbnB1dFZhbCkge1xuICAgICAgICAgICAgdGhpcy5jb21wb3NpdGVFbGUuY2xhc3NMaXN0LnJlbW92ZSgnZmxvYXQtYWN0aXZlJyk7XG4gICAgICAgICAgICB0aGlzLmlucHV0RWwucmVtb3ZlQXR0cigncGxhY2Vob2xkZXInKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgb25Gb2N1c0NiKCkgeyAvLyAgb24gZm9jdXMsIGFkZCBhbmltYXRpb24gY2xhc3MgYW5kIHRoZSBwbGFjZSBob2xkZXJcbiAgICAgICAgdGhpcy5jb21wb3NpdGVFbGUuY2xhc3NMaXN0LmFkZCgnZmxvYXQtYWN0aXZlJyk7XG4gICAgICAgIHRoaXMuaW5wdXRFbC5hdHRyKCdwbGFjZWhvbGRlcicsIHRoaXMucGxhY2Vob2xkZXIpO1xuICAgIH1cblxuICAgIC8vIEZvciBzZWxlY3Qgd2lkZ2V0LCBkaXNwbGF5IHBsYWNlaG9sZGVyIG9ubHkgb24gZm9jdXMgZWxzZSByZW1vdmUgdGhlIHRleHQgb2YgdGhlIG9wdGlvbiBzZWxlY3RlZC5cbiAgICBwcml2YXRlIGNoZWNrRm9yU2VsZWN0UGxhY2Vob2xkZXIoKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdEVsUGxhY2Vob2xkZXJPcHRpb24gPSB0aGlzLm5hdGl2ZUVsLnF1ZXJ5U2VsZWN0b3IoJyNwbGFjZWhvbGRlck9wdGlvbicpO1xuICAgICAgICBpZiAoc2VsZWN0RWxQbGFjZWhvbGRlck9wdGlvbiAmJiBzZWxlY3RFbFBsYWNlaG9sZGVyT3B0aW9uLnRleHRDb250ZW50ICYmICEkKHRoaXMubmF0aXZlRWwpLmZpbmQoJ3NlbGVjdCcpLmlzKCc6Zm9jdXMnKSAmJlxuICAgICAgICAgICAgISQodGhpcy5pbnB1dEVsLmNsb3Nlc3QoJ1t3aWRnZXQtaWRdJykpLmF0dHIoJ2RhdGF2YWx1ZScpKSB7XG4gICAgICAgICAgICBzZWxlY3RFbFBsYWNlaG9sZGVyT3B0aW9uLnRleHRDb250ZW50ID0gJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldERlZmF1bHRWYWx1ZUFuaW1hdGlvbigpIHsgLy8gc2V0IGFuaW1hdGlvbiB3aGVuIGRlZmF1bHQgdmFsdWVzIGFyZSBwcmVzZW50XG4gICAgICAgIC8vIHJlbW92ZSBwbGFjZWhvbGRlciB3aGVuIHRoZSBpbnB1dCBlbCBoYXMgcGxhY2Vob2xkZXIgYW5kIHRoZSBwbGFjZWhvbGRlciBpcyBub3QgYm91bmQgdG8gYW55IHZhcmlhYmxlXG4gICAgICAgIGlmICghdGhpcy5faXNQbGFjZWhvbGRlckJvdW5kICYmIHRoaXMuaW5wdXRFbC5hdHRyKCdwbGFjZWhvbGRlcicpKSB7XG4gICAgICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gdGhpcy5pbnB1dEVsLmF0dHIoJ3BsYWNlaG9sZGVyJyk7XG4gICAgICAgICAgICB0aGlzLmlucHV0RWwucmVtb3ZlQXR0cigncGxhY2Vob2xkZXInKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERvIG5vdCBzaG93IHBsYWNlaG9sZGVyIGFzIHNlbGVjdGVkIGJ5IGRlZmF1bHRcbiAgICAgICAgdGhpcy5jaGVja0ZvclNlbGVjdFBsYWNlaG9sZGVyKCk7XG5cbiAgICAgICAgLy8gY2hlY2sgZm9yIGRhdGF2YWx1ZSBhdHRyaWJ1dGUgaW4gY29tcG9zaXRlIGVsZW1lbnQgYW5kIGRlZmF1bHR2YWx1ZSBhdHRyaWJ1dGUgaW4gZm9ybSBmaWVsZCBlbGVtZW50XG4gICAgICAgIC8vIGNoZWNrIGZvciBkYXRhdmFsdWUuYmluZCBhdHRyaWJ1dGUgdG8gc2VlIHdoZXRoZXIgZGVmYXVsdCB2YWx1ZSBpcyBiaW5kZWQgdmlhIGV4cHJlc3Npb24gb3IgYSB2YXJpYWJsZVxuICAgICAgICAvLyBjaGVjayBmb3IgZGlzcGxheWZvcm1hdCBhdHRyaWJ1dGUsIGFzIGluIGZvcm0gZmllbGRzIHVzZXIgY2FuIHNldCBkaXNwbGF5IGZvcm1hdCB0byB0aGUgZmllbGRcbiAgICAgICAgLy8gY2hlY2sgZm9yIGZvcm1kYXRhL2JpbmRmb3JtZGF0YSBhdHRyaWJ1dGUgdG8gc2VlIGlmIGFueSBkZWZhdWx0IHZhbHVlIGlzIGJpbmRlZCB0byB0aGUgZm9ybVxuICAgICAgICAvLyBjaGVjayBmb3Igc2VsZWN0IHRhZyB3aXRoIG11bHRpcGxlIGF0dHJpYnV0ZSBlbmFibGVkXG5cbiAgICAgICAgaWYgKCh0aGlzLmlucHV0RWwudmFsKCkgJiYgIXRoaXMuaW5wdXRFbC5pcygnc2VsZWN0JykpIHx8ICQodGhpcy5pbnB1dEVsLmNsb3Nlc3QoJ1t3aWRnZXQtaWRdJykpLmF0dHIoJ2RhdGF2YWx1ZScpIHx8ICQodGhpcy5pbnB1dEVsLnBhcmVudCgnW3dpZGdldC1pZF0nKSkuYXR0cignZGF0YXZhbHVlLmJpbmQnKSB8fCB0aGlzLm5hdGl2ZUVsLmdldEF0dHJpYnV0ZSgnZGVmYXVsdHZhbHVlJylcbiAgICAgICAgICAgIHx8IHRoaXMubmF0aXZlRWwuZ2V0QXR0cmlidXRlKCdkaXNwbGF5Zm9ybWF0JykgfHwgJCh0aGlzLm5hdGl2ZUVsKS5maW5kKCdzZWxlY3Qgb3B0aW9uOnNlbGVjdGVkJykudGV4dCgpIHx8ICQodGhpcy5uYXRpdmVFbCkuZmluZCgnc2VsZWN0JykuYXR0cignbXVsdGlwbGUnKSkge1xuICAgICAgICAgICAgdGhpcy5jb21wb3NpdGVFbGUuY2xhc3NMaXN0LmFkZCgnZmxvYXQtYWN0aXZlJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPYnNlcnZpbmcgcGxhY2Vob2xkZXIgYXR0cmlidXRlIGNoYW5nZSBvbiBET00gaW5zdGVhZCBvZiBoYXZpbmcgYSBwcm9wQ2hhbmdlSGFuZGxlciBmblxuICAgICAqIEZvciBjb21wb3NpdGUgd2lkZ2V0cyBwcm9wZXJ0eWNoYW5nZWhhbmRsZXIgZnVuY3Rpb24gaXMgaW52b2tlZCBhdCBpbmRlcGVuZGVudCB3aWRnZXRzIHdoZXJlIGFzIHRoZSBkaXJlY3RpdmUgaXMgYXQgY29tcG9zaXRlIGxldmVsXG4gICAgICovXG4gICAgcHJpdmF0ZSBvYnNlcnZlRm9yUGxhY2Vob2xkZXJBdHRyQ2hhbmdlKCkge1xuICAgICAgICB0aGlzLl9hdHRyT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihtdXRhdGlvbnMgPT4ge1xuICAgICAgICAgICAgbXV0YXRpb25zLmZvckVhY2goKG11dGF0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG11dGF0aW9uLmF0dHJpYnV0ZU5hbWUgPT09ICdwbGFjZWhvbGRlcicgJiYgdGhpcy5pbnB1dEVsLmF0dHIoJ3BsYWNlaG9sZGVyJykgJiYgIXRoaXMuY29tcG9zaXRlRWxlLmNsYXNzTGlzdC5jb250YWlucygnZmxvYXQtYWN0aXZlJykpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IHRoaXMuaW5wdXRFbC5hdHRyKCdwbGFjZWhvbGRlcicpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0RWwucmVtb3ZlQXR0cigncGxhY2Vob2xkZXInKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHsgYXR0cmlidXRlczogdHJ1ZSwgY2hpbGRMaXN0OiBmYWxzZSwgY2hhcmFjdGVyRGF0YTogZmFsc2UgfTtcbiAgICAgICAgdGhpcy5fYXR0ck9ic2VydmVyLm9ic2VydmUodGhpcy5pbnB1dEVsWzBdLCBjb25maWcpO1xuICAgIH1cblxuICAgIC8vIHdoZW4gYSBmb3JtIGlzIHJpZ2h0IGFsaWduZWQgYW5kIGhhdmUgaW5wdXQtZ3JvdXAtYnRuJ3MgbGlrZSBkYXRlIHBpY2tlciwgdGltZSBwaWNrZXIgZXRjLiBhZGp1c3QgdGhlIGNzcyB0byBub3Qgb3ZlcmxhcCB0aGUgbGFiZWwgb24gdGhlIGljb25cbiAgICBwcml2YXRlIGNoZWNrRm9yUmlnaHRBbGlnbmVkRm9ybSgpIHtcbiAgICAgICAgY29uc3QgJGNvbXBvc2l0ZUVsZSA9ICQodGhpcy5jb21wb3NpdGVFbGUpO1xuICAgICAgICBpZiAoJGNvbXBvc2l0ZUVsZS5jbG9zZXN0KCcuYWxpZ24tcmlnaHQnKS5sZW5ndGggJiYgJGNvbXBvc2l0ZUVsZS5maW5kKCcuaW5wdXQtZ3JvdXAtYnRuJykubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCAkbGFiZWwgPSAkY29tcG9zaXRlRWxlLmZpbmQoJ2xhYmVsJyk7XG4gICAgICAgICAgICBpZiAoJGNvbXBvc2l0ZUVsZS5maW5kKCdbd21kYXRldGltZV0nKS5sZW5ndGgpIHsgLy8gZm9yIGRhdGV0aW1lIHBpY2tlciwgYXMgdGhlcmUgd2lsbCBiZSAyIGljb25zIGNzcyBpcyBkaWZmZXJlbnRcbiAgICAgICAgICAgICAgICAkbGFiZWwuYWRkQ2xhc3MoJ2lucHV0LWdycC1kdC1pY29uJyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICRsYWJlbC5hZGRDbGFzcygnaW5wdXQtZ3JwLWljb24nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5jb21wb3NpdGVFbGUgPSB0aGlzLm5hdGl2ZUVsO1xuICAgICAgICBjb25zdCB3aWRnZXQgPSB0aGlzLm5hdGl2ZUVsLndpZGdldDtcbiAgICAgICAgbGV0IGNhcHRpb25Qb3NpdGlvbjogc3RyaW5nID0gd2lkZ2V0LiRhdHRycy5nZXQoJ2NhcHRpb25wb3NpdGlvbicpO1xuICAgICAgICBpZiAod2lkZ2V0LmZvcm0pIHtcbiAgICAgICAgICAgIGNhcHRpb25Qb3NpdGlvbiA9IHdpZGdldC5mb3JtLiRhdHRycy5nZXQoJ2NhcHRpb25wb3NpdGlvbicpO1xuICAgICAgICAgICAgdGhpcy5jb21wb3NpdGVFbGUgPSB0aGlzLm5hdGl2ZUVsLnF1ZXJ5U2VsZWN0b3IoJy5hcHAtY29tcG9zaXRlLXdpZGdldCcpO1xuICAgICAgICAgICAgdGhpcy5faXNQbGFjZWhvbGRlckJvdW5kID0gdGhpcy5uYXRpdmVFbC5nZXRBdHRyaWJ1dGUoJ3BsYWNlaG9sZGVyLmJpbmQnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2FwdGlvblBvc2l0aW9uID09PSAnZmxvYXRpbmcnKSB7XG4gICAgICAgICAgICBpZiAod2lkZ2V0LmZvcm0pIHsgLy8gZm9yIGZvcm0tZmllbGRzIHJlbW92ZSBjYXB0aW9uLWZsb2F0aW5nIGFuZCByZXBsYWNlIGl0IHdpdGggY2FwdGlvbi1mbG9hdCBvciBjYXB0aW9uLXRvcFxuICAgICAgICAgICAgICAgIGNvbnN0IHdpZGdldFR5cGU6IHN0cmluZyA9IHRoaXMubmF0aXZlRWwuZ2V0QXR0cmlidXRlKCd3aWRnZXR0eXBlJyk7IC8vIGZldGNoZXMgdGhlIGZvcm0gZmllbGQgdHlwZVxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNraXBGbG9hdFBvc2l0aW9uV2lkZ2V0cy5pbmRleE9mKHdpZGdldFR5cGUpID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wb3NpdGVFbGUuY2xhc3NMaXN0LnJlbW92ZSgnY2FwdGlvbi1mbG9hdGluZycpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbXBvc2l0ZUVsZS5jbGFzc0xpc3QuYWRkKCdjYXB0aW9uLXRvcCcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmNoZWNrRm9yUmlnaHRBbGlnbmVkRm9ybSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5pbnB1dEVsID0gJCh0aGlzLm5hdGl2ZUVsKS5maW5kKCdpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYScpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9pc1BsYWNlaG9sZGVyQm91bmQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9pc1BsYWNlaG9sZGVyQm91bmQgPSB0aGlzLmlucHV0RWwuY2xvc2VzdCgnW3dpZGdldC1pZF0nKS5hdHRyKCdwbGFjZWhvbGRlci5iaW5kJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBjYWxsIHRoZSBiZWxvdyBmdW5jdGlvbiB0byBhcHBseSBmbG9hdC1hY3RpdmUgY2xhc3Mgd2hlbiB0aGVyZSBhcmUgZGVmYXVsdCB2YWx1ZXMgdG8gdGhlIGZpZWxkc1xuICAgICAgICAgICAgc2V0VGltZW91dCh0aGlzLnNldERlZmF1bHRWYWx1ZUFuaW1hdGlvbi5iaW5kKHRoaXMpLCAwKTtcblxuICAgICAgICAgICAgdGhpcy5pbnB1dEVsLmZvY3VzKHRoaXMub25Gb2N1c0NiLmJpbmQodGhpcykpO1xuICAgICAgICAgICAgdGhpcy5pbnB1dEVsLmJsdXIodGhpcy5vbkJsdXJDYi5iaW5kKHRoaXMpKTtcblxuICAgICAgICAgICAgLy8gb2JzZXJ2ZSBmb3IgcGxhY2Vob2xkZXIgYXR0cmlidXRlIGNoYW5nZSB3aGVuIHBsYWNlaG9sZGVyIGlzIGJvdW5kIHZpYSBkYiB2YXJpYWJsZSBvciBhbiBleHByZXNzaW9uXG4gICAgICAgICAgICBpZiAodGhpcy5faXNQbGFjZWhvbGRlckJvdW5kKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vYnNlcnZlRm9yUGxhY2Vob2xkZXJBdHRyQ2hhbmdlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBjYXB0aW9uUG9zaXRpb25BbmltYXRlIGlzIG9ubHkgbm90aWZpZWQgZm9yIGRhdGUtdGltZSwgdGltZSBhbmQgc2VhcmNoIHdpZGdldHMgYXMgaW5wdXQgZWwgaXMgbm90IHVwZGF0ZWQgd2l0aCB2YWx1ZSBvbiBzZWxlY3Rpb24gb2YgZHJvcGRvd24vcG9wdXBzXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMubGFiZWxBbmltYXRpb25TdWJzY3JpcHRpb24gPSB0aGlzLmFwcC5zdWJzY3JpYmUoJ2NhcHRpb25Qb3NpdGlvbkFuaW1hdGUnLCAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgLy8gZGlzcGxheVZhbCBpcyB0cnVlIHdoZW4gdGhlcmUgaXMgYSB2YWx1ZSBlbnRlcmVkIGluIHRoZSBpbnB1dCBmaWVsZFxuICAgICAgICAgICAgLy8gSW4gY2FzZSBvZiBmb3JtIGZpZWxkcywgd2hlbiB0aGUgZmllbGQgaXMgaW4gZm9jdXMsIGlzRm9jdXNlZCB3aWxsIGJlIHNldCBhcyB0cnVlXG4gICAgICAgICAgICAvLyBpc1NlbGVjdE11bHRpcGxlIGlzIHNldCB0byB0cnVlIHdoZW4gZm9yIHNlbGVjdCB3aWRnZXQsIG11bHRpcGxlIG9wdGlvbiBpcyBlbmFibGVkXG4gICAgICAgICAgICAvLyBDaGVja2luZyBpbnB1dEVsIGZvY3VzIC0gd2hlbiBmb3JtIGlzIHJlcHJlc2VudGVkIGFzIGRpYWxvZyBhbmQgdGhlIGZpcnN0IGZpZWxkIGlzIGF1dG9tYXRpY2FsbHkgaW4gZm9jdXNcbiAgICAgICAgICAgIGNvbnN0IGlzSW5wdXRFbEZvY3VzZWQgPSB0aGlzLmlucHV0RWwgJiYgdGhpcy5pbnB1dEVsLmlzKCc6Zm9jdXMnKTtcbiAgICAgICAgICAgIGlmIChkYXRhLmRpc3BsYXlWYWwgfHwgZGF0YS5pc0ZvY3VzZWQgfHwgZGF0YS5pc1NlbGVjdE11bHRpcGxlIHx8IGlzSW5wdXRFbEZvY3VzZWQpIHtcbiAgICAgICAgICAgICAgICBkYXRhLm5hdGl2ZUVsLmFkZENsYXNzKCdmbG9hdC1hY3RpdmUnKTtcbiAgICAgICAgICAgICAgICBpZiAoIWRhdGEuZGlzcGxheVZhbCAmJiBpc0lucHV0RWxGb2N1c2VkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRFbC5hdHRyKCdwbGFjZWhvbGRlcicsIHRoaXMucGxhY2Vob2xkZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZGF0YS5uYXRpdmVFbC5yZW1vdmVDbGFzcygnZmxvYXQtYWN0aXZlJyk7XG4gICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHBsYWNlaG9sZGVyIG9uIHJlbW92aW5nIGZsb2F0LWFjdGl2ZSwgaWYgbm90IHRoZSBsYWJlbCBhbmQgcGxhY2Vob2xkZXIgYXJlIGNvbGxpZGVkXG4gICAgICAgICAgICAgICAgLy8gYmVmb3JlIHBsYWNlaG9sZGVyIGlzIHJlbW92ZWQgYXNzaWduIGl0IHRvIHRoZSBwbGFjZWhvbGRlciB2YXJpYWJsZVxuICAgICAgICAgICAgICAgIC8vIGNoZWNrIGZvciBwbGFjZWhvbGRlciBpbiBpbnB1dGVsIGFuZCBzZWxlY3RlbFxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlucHV0RWwpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0RWxQbGFjZWhvbGRlck9wdGlvbiA9IHRoaXMubmF0aXZlRWwucXVlcnlTZWxlY3RvcignI3BsYWNlaG9sZGVyT3B0aW9uJyk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlucHV0RWwuYXR0cigncGxhY2Vob2xkZXInKSB8fCBzZWxlY3RFbFBsYWNlaG9sZGVyT3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0RWxQbGFjZWhvbGRlck9wdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdEVsUGxhY2Vob2xkZXJPcHRpb24udGV4dENvbnRlbnQgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IHRoaXMuaW5wdXRFbC5hdHRyKCdwbGFjZWhvbGRlcicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRFbC5yZW1vdmVBdHRyKCdwbGFjZWhvbGRlcicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMubGFiZWxBbmltYXRpb25TdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMubGFiZWxBbmltYXRpb25TdWJzY3JpcHRpb24oKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fYXR0ck9ic2VydmVyKSB7XG4gICAgICAgICAgICB0aGlzLl9hdHRyT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { Attribute, Component, ElementRef, HostListener, Inject, Injector, Optional, ViewChild } from '@angular/core';
|
2
|
-
import {
|
2
|
+
import { NG_VALIDATORS, NG_VALUE_ACCESSOR, NgModel } from '@angular/forms';
|
3
3
|
import { isDefined, toggleClass } from '@wm/core';
|
4
4
|
import { provideAs, provideAsWidgetRef, styler } from '@wm/components/base';
|
5
5
|
import { BaseFormCustomComponent } from '../base-form-custom.component';
|
@@ -120,7 +120,7 @@ export class CheckboxComponent extends BaseFormCustomComponent {
|
|
120
120
|
provideAs(CheckboxComponent, NG_VALUE_ACCESSOR, true),
|
121
121
|
provideAs(CheckboxComponent, NG_VALIDATORS, true),
|
122
122
|
provideAsWidgetRef(CheckboxComponent)
|
123
|
-
]), i0.ɵɵInheritDefinitionFeature], attrs: _c1, decls: 6, vars:
|
123
|
+
]), i0.ɵɵInheritDefinitionFeature], attrs: _c1, decls: 6, vars: 18, consts: [["checkbox", ""], [3, "ngClass"], ["type", "checkbox", "focus-target", "", 3, "ngModelChange", "blur", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "tabindex"], [1, "caption", 3, "innerHtml"], ["alt", "Checkbox Image", "aria-hidden", "true", "src", "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==", 1, "switch"], ["type", "hidden", "aria-hidden", "true", "tabindex", "-1", 1, "ng-hide", "model-holder", 3, "disabled", "value"]], template: function CheckboxComponent_Template(rf, ctx) { if (rf & 1) {
|
124
124
|
const _r1 = i0.ɵɵgetCurrentView();
|
125
125
|
i0.ɵɵelementStart(0, "label", 1)(1, "input", 2, 0);
|
126
126
|
i0.ɵɵtwoWayListener("ngModelChange", function CheckboxComponent_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.proxyModel, $event) || (ctx.proxyModel = $event); return i0.ɵɵresetView($event); });
|
@@ -130,11 +130,11 @@ export class CheckboxComponent extends BaseFormCustomComponent {
|
|
130
130
|
i0.ɵɵelementEnd();
|
131
131
|
i0.ɵɵelement(5, "input", 5);
|
132
132
|
} if (rf & 2) {
|
133
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction3(
|
133
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction3(13, _c2, !ctx.proxyModel, ctx.disabled || ctx.readonly, ctx.required && ctx._caption));
|
134
134
|
i0.ɵɵadvance();
|
135
135
|
i0.ɵɵtwoWayProperty("ngModel", ctx.proxyModel);
|
136
|
-
i0.ɵɵproperty("ngModelOptions", i0.ɵɵpureFunction0(
|
137
|
-
i0.ɵɵattribute("name", ctx.name)("aria-label", ctx.
|
136
|
+
i0.ɵɵproperty("ngModelOptions", i0.ɵɵpureFunction0(17, _c3))("readonly", ctx.readonly)("required", ctx.required)("disabled", ctx.disabled || ctx.readonly)("tabindex", ctx.tabindex);
|
137
|
+
i0.ɵɵattribute("name", ctx.name)("aria-label", ctx.arialabel)("accesskey", ctx.shortcutkey);
|
138
138
|
i0.ɵɵadvance(2);
|
139
139
|
i0.ɵɵproperty("innerHtml", ctx._caption, i0.ɵɵsanitizeHtml);
|
140
140
|
i0.ɵɵadvance(2);
|
@@ -147,7 +147,7 @@ export class CheckboxComponent extends BaseFormCustomComponent {
|
|
147
147
|
provideAs(CheckboxComponent, NG_VALUE_ACCESSOR, true),
|
148
148
|
provideAs(CheckboxComponent, NG_VALIDATORS, true),
|
149
149
|
provideAsWidgetRef(CheckboxComponent)
|
150
|
-
], template: "<label [ngClass]=\"{'unchecked': !proxyModel, 'disabled': (disabled || readonly), 'required': (required && _caption)}\">\n <input type=\"checkbox\"\n
|
150
|
+
], template: "<label [ngClass]=\"{'unchecked': !proxyModel, 'disabled': (disabled || readonly), 'required': (required && _caption)}\">\n <input type=\"checkbox\"\n #checkbox\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel\"\n focus-target\n [(ngModel)]=\"proxyModel\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled || readonly\"\n [attr.accesskey]=\"shortcutkey\"\n [tabindex]=\"tabindex\"\n (blur)=\"invokeOnTouched($event)\"\n (ngModelChange)=\"handleChange($event)\">\n <span class=\"caption\" [innerHtml]=\"_caption\"></span>\n <img alt=\"Checkbox Image\" aria-hidden=\"true\" src=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"switch\"/>\n</label>\n<input type=\"hidden\" class=\"ng-hide model-holder\" aria-hidden=\"true\" tabindex=\"-1\" [disabled]=\"disabled\" [value]=\"proxyModel\">\n" }]
|
151
151
|
}], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
|
152
152
|
type: Attribute,
|
153
153
|
args: ['checkedvalue']
|
@@ -173,4 +173,4 @@ export class CheckboxComponent extends BaseFormCustomComponent {
|
|
173
173
|
args: ['keydown.enter', ['$event', '"ENTER"']]
|
174
174
|
}] }); })();
|
175
175
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CheckboxComponent, { className: "CheckboxComponent", filePath: "checkbox/checkbox.component.ts", lineNumber: 59 }); })();
|
176
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2lucHV0L2RlZmF1bHQvc3JjL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBRVIsUUFBUSxFQUNSLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNFLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ2hELE9BQU8sRUFBaUIsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXhFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7QUFFakQsTUFBTSxXQUFXLEdBQUcsdUJBQXVCLENBQUM7QUFDNUMsTUFBTSxhQUFhLEdBQWtCO0lBQ2pDLFVBQVUsRUFBRSxhQUFhO0lBQ3pCLFNBQVMsRUFBRSxXQUFXO0NBQ3pCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQUcsRUFBRSxVQUFXLEVBQUUsRUFBRTtJQUM1QyxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNmLE9B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QkFBb0IsYUFBYSxFQUFFLElBQUksQ0FBQztvQkFDakQsa0JBQWtCLG1CQUFtQjtpQkFDeEM7O3NCQWtDSSxTQUFTO3VCQUFDLGNBQWM7O3NCQUN4QixTQUFTO3VCQUFDLGdCQUFnQjs7c0JBQzFCLFNBQVM7dUJBQUMsTUFBTTs7c0JBQ2hCLE1BQU07dUJBQUMsa0JBQWtCOztzQkFBRyxRQUFRO3FCQXBCckIsT0FBTztrQkFBMUIsU0FBUzttQkFBQyxPQUFPO1lBQ3lDLFVBQVU7a0JBQXBFLFNBQVM7bUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBdUV6RCxTQUFTO2tCQURSLFlBQVk7bUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQzs7a0ZBdEYzQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQXR0cmlidXRlLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0b3IsXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nTW9kZWwsIE5HX1ZBTFVFX0FDQ0VTU09SLCBOR19WQUxJREFUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge2lzRGVmaW5lZCwgdG9nZ2xlQ2xhc3N9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7IElXaWRnZXRDb25maWcsIHByb3ZpZGVBcywgcHJvdmlkZUFzV2lkZ2V0UmVmLCBzdHlsZXIgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcbmltcG9ydCB7IEJhc2VGb3JtQ3VzdG9tQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1mb3JtLWN1c3RvbS5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyByZWdpc3RlclByb3BzIH0gZnJvbSAnLi9jaGVja2JveC5wcm9wcyc7XG5cbmNvbnN0IERFRkFVTFRfQ0xTID0gJ2FwcC1jaGVja2JveCBjaGVja2JveCc7XG5jb25zdCBXSURHRVRfQ09ORklHOiBJV2lkZ2V0Q29uZmlnID0ge1xuICAgIHdpZGdldFR5cGU6ICd3bS1jaGVja2JveCcsXG4gICAgaG9zdENsYXNzOiBERUZBVUxUX0NMU1xufTtcblxuLypcbiAqIHRyeSB0byBjb252ZXJ0IHRoZSBjaGVrZWR2YWx1ZSBhbmQgdW5jaGVja2VkIHZhbHVlcyB0byBib29sZWFuL251bWJlclxuICovXG5leHBvcnQgY29uc3QgdW5TdHJpbmdpZnkgPSAodmFsLCBkZWZhdWx0VmFsPykgPT4ge1xuICAgIGlmICh2YWwgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWw7XG4gICAgfVxuXG4gICAgaWYgKHZhbCA9PT0gdHJ1ZSB8fCB2YWwgPT09ICd0cnVlJykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodmFsID09PSBmYWxzZSB8fCB2YWwgPT09ICdmYWxzZScpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IG51bWJlciA9IHBhcnNlSW50KHZhbCwgMTApO1xuICAgIGlmICghaXNOYU4obnVtYmVyKSkge1xuICAgICAgICByZXR1cm4gbnVtYmVyO1xuICAgIH1cbiAgICByZXR1cm4gdmFsO1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdbd21DaGVja2JveF0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVBcyhDaGVja2JveENvbXBvbmVudCwgTkdfVkFMVUVfQUNDRVNTT1IsIHRydWUpLFxuICAgICAgICBwcm92aWRlQXMoQ2hlY2tib3hDb21wb25lbnQsIE5HX1ZBTElEQVRPUlMsIHRydWUpLFxuICAgICAgICBwcm92aWRlQXNXaWRnZXRSZWYoQ2hlY2tib3hDb21wb25lbnQpXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBDaGVja2JveENvbXBvbmVudCBleHRlbmRzIEJhc2VGb3JtQ3VzdG9tQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgICBzdGF0aWMgaW5pdGlhbGl6ZVByb3BzID0gcmVnaXN0ZXJQcm9wcygpO1xuXG4gICAgcHVibGljIHByb3h5TW9kZWw6IGJvb2xlYW47XG4gICAgcHVibGljIGRpc2FibGVkOiBib29sZWFuO1xuICAgIHB1YmxpYyByZWFkb25seTogYm9vbGVhbjtcbiAgICBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW47XG4gICAgcHVibGljIG5hbWU6IHN0cmluZztcbiAgICBwdWJsaWMgaGludDogc3RyaW5nO1xuICAgIHB1YmxpYyBzaG9ydGN1dGtleTogc3RyaW5nO1xuICAgIHB1YmxpYyB0YWJpbmRleDogYW55O1xuICAgIHB1YmxpYyBfY2FwdGlvbiA9ICcmbmJzcCc7XG4gICAgcHJpdmF0ZSBfY2hlY2tlZHZhbHVlO1xuICAgIHByaXZhdGUgX3VuY2hlY2tlZHZhbHVlO1xuXG4gICAgQFZpZXdDaGlsZChOZ01vZGVsKSBuZ01vZGVsOiBOZ01vZGVsO1xuICAgIEBWaWV3Q2hpbGQoJ2NoZWNrYm94JywgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IEVsZW1lbnRSZWYgfSkgY2hlY2tib3hFbDogRWxlbWVudFJlZjtcblxuICAgIC8vIGlmIHRoZSBjaGVja2JveCBpcyBjaGVja2VkLCByZXR1cm4gY2hlY2tlZHZhbHVlIGVsc2UgcmV0dXJuIHVuY2hlY2tlZHZhbHVlXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHB1YmxpYyBnZXQgZGF0YXZhbHVlKCkge1xuICAgICAgICByZXR1cm4gaXNEZWZpbmVkKHRoaXMucHJveHlNb2RlbCkgPyAodGhpcy5wcm94eU1vZGVsID8gdGhpcy5fY2hlY2tlZHZhbHVlIDogdGhpcy5fdW5jaGVja2VkdmFsdWUpIDogdW5kZWZpbmVkO1xuICAgIH1cbiAgICAvLyB3aGVuIHRoZSBkYXRhdmFsdWUgaXMgc2V0LCB1cGRhdGUgdGhlIGNoZWNrZWQgc3RhdGVcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcHVibGljIHNldCBkYXRhdmFsdWUodikge1xuICAgICAgICB0aGlzLnByb3h5TW9kZWwgPSAoaXNEZWZpbmVkKHYpICYmIHYgIT09ICcnKSA/IHYgPT09IHRoaXMuX2NoZWNrZWR2YWx1ZSA6IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy51cGRhdGVQcmV2RGF0YXZhbHVlKHRoaXMuZGF0YXZhbHVlKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaW5qOiBJbmplY3RvcixcbiAgICAgICAgQEF0dHJpYnV0ZSgnY2hlY2tlZHZhbHVlJykgY2hlY2tlZFZhbCxcbiAgICAgICAgQEF0dHJpYnV0ZSgndW5jaGVja2VkdmFsdWUnKSB1bmNoZWNrZWRWYWwsXG4gICAgICAgIEBBdHRyaWJ1dGUoJ3R5cGUnKSBwdWJsaWMgdHlwZSxcbiAgICAgICAgQEluamVjdCgnRVhQTElDSVRfQ09OVEVYVCcpIEBPcHRpb25hbCgpIGV4cGxpY2l0Q29udGV4dDogYW55XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluaiwgV0lER0VUX0NPTkZJRywgZXhwbGljaXRDb250ZXh0KTtcblxuICAgICAgICB0aGlzLl9jaGVja2VkdmFsdWUgPSB1blN0cmluZ2lmeShjaGVja2VkVmFsLCB0cnVlKTtcbiAgICAgICAgdGhpcy5fdW5jaGVja2VkdmFsdWUgPSB1blN0cmluZ2lmeSh1bmNoZWNrZWRWYWwsIGZhbHNlKTtcblxuICAgICAgICAvLyBpZiB0aGUgdHlwZSBvZiB0aGUgY2hlY2tib3ggaXMgdG9nZ2xlIHVwZGF0ZSB0aGUgcmVsYXRlZCBjbGFzc2VzIG9uIHRoZSBob3N0IG5vZGVcbiAgICAgICAgdG9nZ2xlQ2xhc3ModGhpcy5uYXRpdmVFbGVtZW50LCAnYXBwLXRvZ2dsZScsIHR5cGUgPT09ICd0b2dnbGUnKTtcbiAgICB9XG5cbiAgICBvblByb3BlcnR5Q2hhbmdlKGtleSwgbnYsIG92KSB7XG4gICAgICAgIGlmIChrZXkgPT09ICd0YWJpbmRleCcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoa2V5ID09PSAncmVxdWlyZWQnKSB7XG4gICAgICAgICAgICB0aGlzLl9vbkNoYW5nZSh0aGlzLmRhdGF2YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoa2V5ID09PSAnY2FwdGlvbicpIHtcbiAgICAgICAgICAgIGlmICghaXNEZWZpbmVkKG52KSB8fCBudiA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jYXB0aW9uID0gJyZuYnNwOyc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NhcHRpb24gPSBudjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09ICdjaGVja2VkdmFsdWUnKSB7XG4gICAgICAgICAgICB0aGlzLl9jaGVja2VkdmFsdWUgPSB1blN0cmluZ2lmeShudiwgdHJ1ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSAndW5jaGVja2VkdmFsdWUnKSB7XG4gICAgICAgICAgICB0aGlzLl91bmNoZWNrZWR2YWx1ZSA9IHVuU3RyaW5naWZ5KG52LCBmYWxzZSk7XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSAnZGF0YXZhbHVlJykge1xuICAgICAgICAgICAgdGhpcy5kYXRhdmFsdWUgPSB1blN0cmluZ2lmeShudik7XG4gICAgICAgICAgICB0aGlzLl9vbkNoYW5nZSh0aGlzLmRhdGF2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdXBlci5vblByb3BlcnR5Q2hhbmdlKGtleSwgbnYsIG92KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGNoYW5nZSBhbmQgYmx1ciBldmVudHMgYXJlIGhhbmRsZWQgZnJvbSB0ZW1wbGF0ZVxuICAgIHByb3RlY3RlZCBoYW5kbGVFdmVudChub2RlOiBIVE1MRWxlbWVudCwgZXZlbnROYW1lOiBzdHJpbmcsIGNhbGxiYWNrOiBGdW5jdGlvbiwgbG9jYWxzOiBhbnkpIHtcbiAgICAgICAgaWYgKGV2ZW50TmFtZSAhPT0gJ2NoYW5nZScgJiYgZXZlbnROYW1lICE9PSAnYmx1cicpIHtcbiAgICAgICAgICAgIC8vIGFwcGx5aW5nIHRhcCAoSGFtbWVyIGV2ZW50KSBvbiB0aGUgbGFiZWwgYXMgdGhlIGV2ZW50IGhhbmRsZXIgaXMgbm90IGdldHRpbmcgdHJpZ2dlcmVkIG9uIHRoZSBpbnB1dC5cbiAgICAgICAgICAgIGNvbnN0ICRlbCA9IGV2ZW50TmFtZSA9PT0gJ3RhcCcgPyB0aGlzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignbGFiZWwnKSA6IHRoaXMuY2hlY2tib3hFbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgc3VwZXIuaGFuZGxlRXZlbnQoJGVsLCBldmVudE5hbWUsIGNhbGxiYWNrLCBsb2NhbHMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlQ2hhbmdlKG5ld1ZhbDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmludm9rZU9uQ2hhbmdlKHRoaXMuZGF0YXZhbHVlLCB7dHlwZTogJ2NoYW5nZSd9LCB0aGlzLm5nTW9kZWwudmFsaWQpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZW50ZXInLCBbJyRldmVudCcsICdcIkVOVEVSXCInXSlcbiAgICBvbktleURvd24oJGV2ZW50KSB7XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmNoZWNrYm94RWwubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgIH1cblxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICAgICAgc3R5bGVyKHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdsYWJlbCcpLCB0aGlzKTtcbiAgICB9XG59XG4iLCI8bGFiZWwgW25nQ2xhc3NdPVwieyd1bmNoZWNrZWQnOiAhcHJveHlNb2RlbCwgJ2Rpc2FibGVkJzogKGRpc2FibGVkIHx8IHJlYWRvbmx5KSwgJ3JlcXVpcmVkJzogKHJlcXVpcmVkICYmIF9jYXB0aW9uKX1cIj5cbiAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgcm9sZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgI2NoZWNrYm94XG4gICAgICAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaGludFwiXG4gICAgICAgICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCIhIXByb3h5TW9kZWxcIlxuICAgICAgICAgICBmb2N1cy10YXJnZXRcbiAgICAgICAgICAgWyhuZ01vZGVsKV09XCJwcm94eU1vZGVsXCJcbiAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiXG4gICAgICAgICAgIFthdHRyLmFjY2Vzc2tleV09XCJzaG9ydGN1dGtleVwiXG4gICAgICAgICAgIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiXG4gICAgICAgICAgIChibHVyKT1cImludm9rZU9uVG91Y2hlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIj5cbiAgICA8c3BhbiBjbGFzcz1cImNhcHRpb25cIiBbaW5uZXJIdG1sXT1cIl9jYXB0aW9uXCI+PC9zcGFuPlxuICAgIDxpbWcgYWx0PVwiQ2hlY2tib3ggSW1hZ2VcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBzcmM9XCJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUFBQUFDSDVCQUVLQUFFQUxBQUFBQUFCQUFFQUFBSUNUQUVBT3c9PVwiIGNsYXNzPVwic3dpdGNoXCIvPlxuPC9sYWJlbD5cbjxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgY2xhc3M9XCJuZy1oaWRlIG1vZGVsLWhvbGRlclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRhYmluZGV4PVwiLTFcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbdmFsdWVdPVwicHJveHlNb2RlbFwiPlxuIl19
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2lucHV0L2RlZmF1bHQvc3JjL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBRVIsUUFBUSxFQUNSLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ2hELE9BQU8sRUFBZ0IsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3pGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRXRFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7QUFFL0MsTUFBTSxXQUFXLEdBQUcsdUJBQXVCLENBQUM7QUFDNUMsTUFBTSxhQUFhLEdBQWtCO0lBQ2pDLFVBQVUsRUFBRSxhQUFhO0lBQ3pCLFNBQVMsRUFBRSxXQUFXO0NBQ3pCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQUcsRUFBRSxVQUFXLEVBQUUsRUFBRTtJQUM1QyxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNmLE9B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QkFBb0IsYUFBYSxFQUFFLElBQUksQ0FBQztvQkFDakQsa0JBQWtCLG1CQUFtQjtpQkFDeEM7O3NCQW1DSSxTQUFTO3VCQUFDLGNBQWM7O3NCQUN4QixTQUFTO3VCQUFDLGdCQUFnQjs7c0JBQzFCLFNBQVM7dUJBQUMsTUFBTTs7c0JBQ2hCLE1BQU07dUJBQUMsa0JBQWtCOztzQkFBRyxRQUFRO3FCQXBCckIsT0FBTztrQkFBMUIsU0FBUzttQkFBQyxPQUFPO1lBQ3lDLFVBQVU7a0JBQXBFLFNBQVM7bUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBdUV6RCxTQUFTO2tCQURSLFlBQVk7bUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQzs7a0ZBdkYzQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQXR0cmlidXRlLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0b3IsXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIE5nTW9kZWx9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtpc0RlZmluZWQsIHRvZ2dsZUNsYXNzfSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQge0lXaWRnZXRDb25maWcsIHByb3ZpZGVBcywgcHJvdmlkZUFzV2lkZ2V0UmVmLCBzdHlsZXJ9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHtCYXNlRm9ybUN1c3RvbUNvbXBvbmVudH0gZnJvbSAnLi4vYmFzZS1mb3JtLWN1c3RvbS5jb21wb25lbnQnO1xuXG5pbXBvcnQge3JlZ2lzdGVyUHJvcHN9IGZyb20gJy4vY2hlY2tib3gucHJvcHMnO1xuXG5jb25zdCBERUZBVUxUX0NMUyA9ICdhcHAtY2hlY2tib3ggY2hlY2tib3gnO1xuY29uc3QgV0lER0VUX0NPTkZJRzogSVdpZGdldENvbmZpZyA9IHtcbiAgICB3aWRnZXRUeXBlOiAnd20tY2hlY2tib3gnLFxuICAgIGhvc3RDbGFzczogREVGQVVMVF9DTFNcbn07XG5cbi8qXG4gKiB0cnkgdG8gY29udmVydCB0aGUgY2hla2VkdmFsdWUgYW5kIHVuY2hlY2tlZCB2YWx1ZXMgdG8gYm9vbGVhbi9udW1iZXJcbiAqL1xuZXhwb3J0IGNvbnN0IHVuU3RyaW5naWZ5ID0gKHZhbCwgZGVmYXVsdFZhbD8pID0+IHtcbiAgICBpZiAodmFsID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBkZWZhdWx0VmFsO1xuICAgIH1cblxuICAgIGlmICh2YWwgPT09IHRydWUgfHwgdmFsID09PSAndHJ1ZScpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHZhbCA9PT0gZmFsc2UgfHwgdmFsID09PSAnZmFsc2UnKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBudW1iZXIgPSBwYXJzZUludCh2YWwsIDEwKTtcbiAgICBpZiAoIWlzTmFOKG51bWJlcikpIHtcbiAgICAgICAgcmV0dXJuIG51bWJlcjtcbiAgICB9XG4gICAgcmV0dXJuIHZhbDtcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnW3dtQ2hlY2tib3hdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBwcm92aWRlQXMoQ2hlY2tib3hDb21wb25lbnQsIE5HX1ZBTFVFX0FDQ0VTU09SLCB0cnVlKSxcbiAgICAgICAgcHJvdmlkZUFzKENoZWNrYm94Q29tcG9uZW50LCBOR19WQUxJREFUT1JTLCB0cnVlKSxcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKENoZWNrYm94Q29tcG9uZW50KVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hDb21wb25lbnQgZXh0ZW5kcyBCYXNlRm9ybUN1c3RvbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgc3RhdGljIGluaXRpYWxpemVQcm9wcyA9IHJlZ2lzdGVyUHJvcHMoKTtcblxuICAgIHB1YmxpYyBwcm94eU1vZGVsOiBib29sZWFuO1xuICAgIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICBwdWJsaWMgcmVhZG9ubHk6IGJvb2xlYW47XG4gICAgcHVibGljIHJlcXVpcmVkOiBib29sZWFuO1xuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG4gICAgcHVibGljIGhpbnQ6IHN0cmluZztcbiAgICBwdWJsaWMgYXJpYWxhYmVsOiBzdHJpbmc7XG4gICAgcHVibGljIHNob3J0Y3V0a2V5OiBzdHJpbmc7XG4gICAgcHVibGljIHRhYmluZGV4OiBhbnk7XG4gICAgcHVibGljIF9jYXB0aW9uID0gJyZuYnNwJztcbiAgICBwcml2YXRlIF9jaGVja2VkdmFsdWU7XG4gICAgcHJpdmF0ZSBfdW5jaGVja2VkdmFsdWU7XG5cbiAgICBAVmlld0NoaWxkKE5nTW9kZWwpIG5nTW9kZWw6IE5nTW9kZWw7XG4gICAgQFZpZXdDaGlsZCgnY2hlY2tib3gnLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogRWxlbWVudFJlZiB9KSBjaGVja2JveEVsOiBFbGVtZW50UmVmO1xuXG4gICAgLy8gaWYgdGhlIGNoZWNrYm94IGlzIGNoZWNrZWQsIHJldHVybiBjaGVja2VkdmFsdWUgZWxzZSByZXR1cm4gdW5jaGVja2VkdmFsdWVcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcHVibGljIGdldCBkYXRhdmFsdWUoKSB7XG4gICAgICAgIHJldHVybiBpc0RlZmluZWQodGhpcy5wcm94eU1vZGVsKSA/ICh0aGlzLnByb3h5TW9kZWwgPyB0aGlzLl9jaGVja2VkdmFsdWUgOiB0aGlzLl91bmNoZWNrZWR2YWx1ZSkgOiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIC8vIHdoZW4gdGhlIGRhdGF2YWx1ZSBpcyBzZXQsIHVwZGF0ZSB0aGUgY2hlY2tlZCBzdGF0ZVxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBwdWJsaWMgc2V0IGRhdGF2YWx1ZSh2KSB7XG4gICAgICAgIHRoaXMucHJveHlNb2RlbCA9IChpc0RlZmluZWQodikgJiYgdiAhPT0gJycpID8gdiA9PT0gdGhpcy5fY2hlY2tlZHZhbHVlIDogdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLnVwZGF0ZVByZXZEYXRhdmFsdWUodGhpcy5kYXRhdmFsdWUpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpbmo6IEluamVjdG9yLFxuICAgICAgICBAQXR0cmlidXRlKCdjaGVja2VkdmFsdWUnKSBjaGVja2VkVmFsLFxuICAgICAgICBAQXR0cmlidXRlKCd1bmNoZWNrZWR2YWx1ZScpIHVuY2hlY2tlZFZhbCxcbiAgICAgICAgQEF0dHJpYnV0ZSgndHlwZScpIHB1YmxpYyB0eXBlLFxuICAgICAgICBASW5qZWN0KCdFWFBMSUNJVF9DT05URVhUJykgQE9wdGlvbmFsKCkgZXhwbGljaXRDb250ZXh0OiBhbnlcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHLCBleHBsaWNpdENvbnRleHQpO1xuXG4gICAgICAgIHRoaXMuX2NoZWNrZWR2YWx1ZSA9IHVuU3RyaW5naWZ5KGNoZWNrZWRWYWwsIHRydWUpO1xuICAgICAgICB0aGlzLl91bmNoZWNrZWR2YWx1ZSA9IHVuU3RyaW5naWZ5KHVuY2hlY2tlZFZhbCwgZmFsc2UpO1xuXG4gICAgICAgIC8vIGlmIHRoZSB0eXBlIG9mIHRoZSBjaGVja2JveCBpcyB0b2dnbGUgdXBkYXRlIHRoZSByZWxhdGVkIGNsYXNzZXMgb24gdGhlIGhvc3Qgbm9kZVxuICAgICAgICB0b2dnbGVDbGFzcyh0aGlzLm5hdGl2ZUVsZW1lbnQsICdhcHAtdG9nZ2xlJywgdHlwZSA9PT0gJ3RvZ2dsZScpO1xuICAgIH1cblxuICAgIG9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3YpIHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ3RhYmluZGV4Jykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChrZXkgPT09ICdyZXF1aXJlZCcpIHtcbiAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMuZGF0YXZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChrZXkgPT09ICdjYXB0aW9uJykge1xuICAgICAgICAgICAgaWYgKCFpc0RlZmluZWQobnYpIHx8IG52ID09PSAnJykge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NhcHRpb24gPSAnJm5ic3A7JztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2FwdGlvbiA9IG52O1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ2NoZWNrZWR2YWx1ZScpIHtcbiAgICAgICAgICAgIHRoaXMuX2NoZWNrZWR2YWx1ZSA9IHVuU3RyaW5naWZ5KG52LCB0cnVlKTtcbiAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09ICd1bmNoZWNrZWR2YWx1ZScpIHtcbiAgICAgICAgICAgIHRoaXMuX3VuY2hlY2tlZHZhbHVlID0gdW5TdHJpbmdpZnkobnYsIGZhbHNlKTtcbiAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09ICdkYXRhdmFsdWUnKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGF2YWx1ZSA9IHVuU3RyaW5naWZ5KG52KTtcbiAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMuZGF0YXZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLm9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3YpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gY2hhbmdlIGFuZCBibHVyIGV2ZW50cyBhcmUgaGFuZGxlZCBmcm9tIHRlbXBsYXRlXG4gICAgcHJvdGVjdGVkIGhhbmRsZUV2ZW50KG5vZGU6IEhUTUxFbGVtZW50LCBldmVudE5hbWU6IHN0cmluZywgY2FsbGJhY2s6IEZ1bmN0aW9uLCBsb2NhbHM6IGFueSkge1xuICAgICAgICBpZiAoZXZlbnROYW1lICE9PSAnY2hhbmdlJyAmJiBldmVudE5hbWUgIT09ICdibHVyJykge1xuICAgICAgICAgICAgLy8gYXBwbHlpbmcgdGFwIChIYW1tZXIgZXZlbnQpIG9uIHRoZSBsYWJlbCBhcyB0aGUgZXZlbnQgaGFuZGxlciBpcyBub3QgZ2V0dGluZyB0cmlnZ2VyZWQgb24gdGhlIGlucHV0LlxuICAgICAgICAgICAgY29uc3QgJGVsID0gZXZlbnROYW1lID09PSAndGFwJyA/IHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdsYWJlbCcpIDogdGhpcy5jaGVja2JveEVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICBzdXBlci5oYW5kbGVFdmVudCgkZWwsIGV2ZW50TmFtZSwgY2FsbGJhY2ssIGxvY2Fscyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVDaGFuZ2UobmV3VmFsOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaW52b2tlT25DaGFuZ2UodGhpcy5kYXRhdmFsdWUsIHt0eXBlOiAnY2hhbmdlJ30sIHRoaXMubmdNb2RlbC52YWxpZCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicsIFsnJGV2ZW50JywgJ1wiRU5URVJcIiddKVxuICAgIG9uS2V5RG93bigkZXZlbnQpIHtcbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuY2hlY2tib3hFbC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgfVxuXG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgICAgICBzdHlsZXIodGhpcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2xhYmVsJyksIHRoaXMpO1xuICAgIH1cbn1cbiIsIjxsYWJlbCBbbmdDbGFzc109XCJ7J3VuY2hlY2tlZCc6ICFwcm94eU1vZGVsLCAnZGlzYWJsZWQnOiAoZGlzYWJsZWQgfHwgcmVhZG9ubHkpLCAncmVxdWlyZWQnOiAocmVxdWlyZWQgJiYgX2NhcHRpb24pfVwiPlxuICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAjY2hlY2tib3hcbiAgICAgICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhbGFiZWxcIlxuICAgICAgICAgICBmb2N1cy10YXJnZXRcbiAgICAgICAgICAgWyhuZ01vZGVsKV09XCJwcm94eU1vZGVsXCJcbiAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiXG4gICAgICAgICAgIFthdHRyLmFjY2Vzc2tleV09XCJzaG9ydGN1dGtleVwiXG4gICAgICAgICAgIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiXG4gICAgICAgICAgIChibHVyKT1cImludm9rZU9uVG91Y2hlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIj5cbiAgICA8c3BhbiBjbGFzcz1cImNhcHRpb25cIiBbaW5uZXJIdG1sXT1cIl9jYXB0aW9uXCI+PC9zcGFuPlxuICAgIDxpbWcgYWx0PVwiQ2hlY2tib3ggSW1hZ2VcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBzcmM9XCJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUFBQUFDSDVCQUVLQUFFQUxBQUFBQUFCQUFFQUFBSUNUQUVBT3c9PVwiIGNsYXNzPVwic3dpdGNoXCIvPlxuPC9sYWJlbD5cbjxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgY2xhc3M9XCJuZy1oaWRlIG1vZGVsLWhvbGRlclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRhYmluZGV4PVwiLTFcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbdmFsdWVdPVwicHJveHlNb2RlbFwiPlxuIl19
|
@@ -10,6 +10,7 @@ export const checkboxProps = new Map([
|
|
10
10
|
['datavalue', PROP_STRING],
|
11
11
|
['disabled', PROP_BOOLEAN],
|
12
12
|
['hint', PROP_STRING],
|
13
|
+
['arialabel', PROP_STRING],
|
13
14
|
['name', PROP_STRING],
|
14
15
|
['readonly', PROP_BOOLEAN],
|
15
16
|
['required', PROP_BOOLEAN],
|
@@ -23,4 +24,4 @@ export const registerProps = () => {
|
|
23
24
|
registerFormWidget(FormWidgetType.CHECKBOX, checkboxProps);
|
24
25
|
registerFormWidget(FormWidgetType.TOGGLE, checkboxProps);
|
25
26
|
};
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gucHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvZGVmYXVsdC9zcmMvY2hlY2tib3gvY2hlY2tib3gucHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEVBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRW5ILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLEdBQUcsQ0FDaEM7SUFDSSxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUM7SUFDeEIsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDO0lBQ3RCLENBQUMsa0JBQWtCLEVBQUUsUUFBUSxDQUFDO0lBQzlCLENBQUMsa0JBQWtCLEVBQUUsUUFBUSxDQUFDO0lBQzlCLENBQUMsY0FBYyxFQUFFLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLFdBQVcsRUFBQyxDQUFDO0lBQy9DLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDO0lBQzdCLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQztJQUMxQixDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUM7SUFDMUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDO0lBQ3JCLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQztJQUMxQixDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUM7SUFDckIsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDO0lBQzFCLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQztJQUMxQixDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUM7SUFDNUIsQ0FBQyxNQUFNLEVBQUUsRUFBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsWUFBWSxFQUFDLENBQUM7SUFDeEMsQ0FBQyxVQUFVLEVBQUUsRUFBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsV0FBVyxFQUFDLENBQUM7SUFDeEMsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxXQUFXLEVBQUMsQ0FBQztDQUNyRCxDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsR0FBRyxFQUFFO0lBQzlCLFFBQVEsQ0FDSixhQUFhLEVBQ2IsYUFBYSxDQUNoQixDQUFDO0lBQ0Ysa0JBQWtCLENBQ2QsY0FBYyxDQUFDLFFBQVEsRUFDdkIsYUFBYSxDQUNoQixDQUFDO0lBQ0Ysa0JBQWtCLENBQ2QsY0FBYyxDQUFDLE1BQU0sRUFDckIsYUFBYSxDQUNoQixDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtGb3JtV2lkZ2V0VHlwZX0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHtQUk9QX0FOWSwgUFJPUF9CT09MRUFOLCBQUk9QX05VTUJFUiwgUFJPUF9TVFJJTkcsIHJlZ2lzdGVyLCByZWdpc3RlckZvcm1XaWRnZXR9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuXG5leHBvcnQgY29uc3QgY2hlY2tib3hQcm9wcyA9IG5ldyBNYXAoXG4gICAgW1xuICAgICAgICBbJ2NhcHRpb24nLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsnY2xhc3MnLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsnY29uZGl0aW9uYWxjbGFzcycsIFBST1BfQU5ZXSxcbiAgICAgICAgWydjb25kaXRpb25hbHN0eWxlJywgUFJPUF9BTlldLFxuICAgICAgICBbJ2NoZWNrZWR2YWx1ZScsIHt2YWx1ZTogdHJ1ZSwgLi4uUFJPUF9TVFJJTkd9XSxcbiAgICAgICAgWydkYXRhdmFsdWVzb3VyY2UnLCBQUk9QX0FOWV0sXG4gICAgICAgIFsnZGF0YXZhbHVlJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ2Rpc2FibGVkJywgUFJPUF9CT09MRUFOXSxcbiAgICAgICAgWydoaW50JywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ2FyaWFsYWJlbCcsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWyduYW1lJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ3JlYWRvbmx5JywgUFJPUF9CT09MRUFOXSxcbiAgICAgICAgWydyZXF1aXJlZCcsIFBST1BfQk9PTEVBTl0sXG4gICAgICAgIFsnc2hvcnRjdXRrZXknLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsnc2hvdycsIHt2YWx1ZTogdHJ1ZSwgLi4uUFJPUF9CT09MRUFOfV0sXG4gICAgICAgIFsndGFiaW5kZXgnLCB7dmFsdWU6IDAsIC4uLlBST1BfTlVNQkVSfV0sXG4gICAgICAgIFsndW5jaGVja2VkdmFsdWUnLCB7dmFsdWU6IGZhbHNlLCAuLi5QUk9QX1NUUklOR31dXG4gICAgXVxuKTtcblxuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyUHJvcHMgPSAoKSA9PiB7XG4gICAgcmVnaXN0ZXIoXG4gICAgICAgICd3bS1jaGVja2JveCcsXG4gICAgICAgIGNoZWNrYm94UHJvcHNcbiAgICApO1xuICAgIHJlZ2lzdGVyRm9ybVdpZGdldChcbiAgICAgICAgRm9ybVdpZGdldFR5cGUuQ0hFQ0tCT1gsXG4gICAgICAgIGNoZWNrYm94UHJvcHNcbiAgICApO1xuICAgIHJlZ2lzdGVyRm9ybVdpZGdldChcbiAgICAgICAgRm9ybVdpZGdldFR5cGUuVE9HR0xFLFxuICAgICAgICBjaGVja2JveFByb3BzXG4gICAgKTtcbn07XG4iXX0=
|
@@ -22,10 +22,10 @@ function CheckboxsetComponent_ng_template_0_li_0_label_1_Template(rf, ctx) { if
|
|
22
22
|
const item_r2 = ctx_r3.$implicit;
|
23
23
|
const i_r5 = ctx_r3.index;
|
24
24
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
25
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(
|
25
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c2, ctx_r2.disabled || ctx_r2.readonly))("title", item_r2.label);
|
26
26
|
i0.ɵɵadvance();
|
27
27
|
i0.ɵɵproperty("name", "checkboxset_" + ctx_r2.widgetId)("tabindex", ctx_r2.tabindex)("disabled", ctx_r2.disabled || ctx_r2.readonly)("value", item_r2.key)("tabindex", ctx_r2.tabindex)("checked", item_r2.selected);
|
28
|
-
i0.ɵɵattribute("
|
28
|
+
i0.ɵɵattribute("data-attr-index", i_r5);
|
29
29
|
i0.ɵɵadvance();
|
30
30
|
i0.ɵɵproperty("textContent", item_r2.label);
|
31
31
|
} }
|
@@ -38,16 +38,16 @@ function CheckboxsetComponent_ng_template_0_li_0_label_2_Template(rf, ctx) { if
|
|
38
38
|
const item_r2 = ctx_r3.$implicit;
|
39
39
|
const i_r5 = ctx_r3.index;
|
40
40
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
41
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(
|
41
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c2, ctx_r2.disabled || ctx_r2.readonly));
|
42
42
|
i0.ɵɵadvance();
|
43
43
|
i0.ɵɵproperty("name", "checkboxset_" + ctx_r2.widgetId)("tabindex", ctx_r2.tabindex)("disabled", ctx_r2.disabled || ctx_r2.readonly)("value", item_r2.key)("tabindex", ctx_r2.tabindex)("checked", item_r2.selected);
|
44
|
-
i0.ɵɵattribute("
|
44
|
+
i0.ɵɵattribute("data-attr-index", i_r5);
|
45
45
|
} }
|
46
46
|
function CheckboxsetComponent_ng_template_0_li_0_Template(rf, ctx) { if (rf & 1) {
|
47
47
|
const _r1 = i0.ɵɵgetCurrentView();
|
48
48
|
i0.ɵɵelementStart(0, "li", 5);
|
49
49
|
i0.ɵɵlistener("click", function CheckboxsetComponent_ng_template_0_li_0_Template_li_click_0_listener($event) { const item_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onCheckboxLabelClick($event, item_r2.key)); });
|
50
|
-
i0.ɵɵtemplate(1, CheckboxsetComponent_ng_template_0_li_0_label_1_Template, 3,
|
50
|
+
i0.ɵɵtemplate(1, CheckboxsetComponent_ng_template_0_li_0_label_1_Template, 3, 12, "label", 6)(2, CheckboxsetComponent_ng_template_0_li_0_label_2_Template, 3, 10, "label", 7);
|
51
51
|
i0.ɵɵelementEnd();
|
52
52
|
} if (rf & 2) {
|
53
53
|
const item_r2 = ctx.$implicit;
|
@@ -82,7 +82,7 @@ function CheckboxsetComponent_ng_template_3_li_0_span_7_Template(rf, ctx) { if (
|
|
82
82
|
} }
|
83
83
|
function CheckboxsetComponent_ng_template_3_li_0_li_8_label_1_Template(rf, ctx) { if (rf & 1) {
|
84
84
|
i0.ɵɵelementStart(0, "label", 8);
|
85
|
-
i0.ɵɵelement(1, "input",
|
85
|
+
i0.ɵɵelement(1, "input", 9)(2, "span", 10);
|
86
86
|
i0.ɵɵelementEnd();
|
87
87
|
} if (rf & 2) {
|
88
88
|
const ctx_r9 = i0.ɵɵnextContext();
|
@@ -98,7 +98,7 @@ function CheckboxsetComponent_ng_template_3_li_0_li_8_label_1_Template(rf, ctx)
|
|
98
98
|
} }
|
99
99
|
function CheckboxsetComponent_ng_template_3_li_0_li_8_label_2_Template(rf, ctx) { if (rf & 1) {
|
100
100
|
i0.ɵɵelementStart(0, "label", 11);
|
101
|
-
i0.ɵɵelement(1, "input",
|
101
|
+
i0.ɵɵelement(1, "input", 9)(2, "span", 26);
|
102
102
|
i0.ɵɵelementEnd();
|
103
103
|
} if (rf & 2) {
|
104
104
|
const ctx_r9 = i0.ɵɵnextContext();
|
@@ -139,10 +139,15 @@ function CheckboxsetComponent_ng_template_3_li_0_Template(rf, ctx) { if (rf & 1)
|
|
139
139
|
i0.ɵɵelementEnd()();
|
140
140
|
} if (rf & 2) {
|
141
141
|
const groupObj_r7 = ctx.$implicit;
|
142
|
+
const groupindex_r12 = ctx.index;
|
142
143
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
143
|
-
i0.ɵɵadvance(
|
144
|
-
i0.ɵɵ
|
145
|
-
i0.ɵɵadvance(
|
144
|
+
i0.ɵɵadvance();
|
145
|
+
i0.ɵɵattribute("aria-labelledby", "group_" + ctx_r2.widgetId + "_" + groupindex_r12);
|
146
|
+
i0.ɵɵadvance();
|
147
|
+
i0.ɵɵproperty("id", "group_" + ctx_r2.widgetId + "_" + groupindex_r12)("title", groupObj_r7.key)("ngClass", i0.ɵɵpureFunction1(9, _c3, ctx_r2.collapsible));
|
148
|
+
i0.ɵɵadvance();
|
149
|
+
i0.ɵɵattribute("aria-label", "Group " + groupObj_r7.key);
|
150
|
+
i0.ɵɵadvance();
|
146
151
|
i0.ɵɵtextInterpolate1("", groupObj_r7.key, " ");
|
147
152
|
i0.ɵɵadvance(2);
|
148
153
|
i0.ɵɵproperty("ngIf", ctx_r2.collapsible);
|
@@ -152,7 +157,7 @@ function CheckboxsetComponent_ng_template_3_li_0_Template(rf, ctx) { if (rf & 1)
|
|
152
157
|
i0.ɵɵproperty("ngForOf", groupObj_r7.data);
|
153
158
|
} }
|
154
159
|
function CheckboxsetComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
155
|
-
i0.ɵɵtemplate(0, CheckboxsetComponent_ng_template_3_li_0_Template, 9,
|
160
|
+
i0.ɵɵtemplate(0, CheckboxsetComponent_ng_template_3_li_0_Template, 9, 11, "li", 14);
|
156
161
|
} if (rf & 2) {
|
157
162
|
const ctx_r2 = i0.ɵɵnextContext();
|
158
163
|
i0.ɵɵproperty("ngForOf", ctx_r2.groupedData);
|
@@ -229,13 +234,13 @@ export class CheckboxsetComponent extends DatasetAwareFormComponent {
|
|
229
234
|
provideAs(CheckboxsetComponent, NG_VALUE_ACCESSOR, true),
|
230
235
|
provideAs(CheckboxsetComponent, NG_VALIDATORS, true),
|
231
236
|
provideAsWidgetRef(CheckboxsetComponent)
|
232
|
-
]), i0.ɵɵInheritDefinitionFeature], attrs: _c0, decls: 5, vars: 4, consts: [["groupedListTemplate", ""], [3, "ngIf", "ngIfElse"], ["hidden", "", 1, "model-holder", 3, "disabled"], ["class", "readonly-wrapper", 4, "ngIf"], ["partialContainer", "", "role", "presentation", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams", "click", 4, "ngFor", "ngForOf"], ["partialContainer", "", "role", "presentation", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"], ["class", "app-checkboxset-label", 3, "ngClass", "title", 4, "ngIf"], ["class", "app-checkboxset-label", 3, "ngClass", 4, "ngIf"], [1, "app-checkboxset-label", 3, "ngClass", "title"], ["type", "checkbox", 3, "name", "tabindex", "disabled", "value", "checked"], [1, "caption", 3, "textContent"], [1, "app-checkboxset-label", 3, "ngClass"], ["partial-container-target", "", 1, "caption", "customTemplate"], [1, "readonly-wrapper"], ["class", "app-list-item-group", "role", "presentation", 4, "ngFor", "ngForOf"], ["role", "presentation", 1, "app-list-item-group"], [1, "item-group"], [1, "list-group-header", 3, "click", "title", "ngClass"], [1, "group-title"], [1, "header-action"], ["class", "app-icon wi action wi-chevron-up", 3, "title", 4, "ngIf"], ["class", "label label-default", 3, "textContent", 4, "ngIf"], ["partialContainer", "", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams", "click", 4, "ngFor", "ngForOf"], [1, "app-icon", "wi", "action", "wi-chevron-up", 3, "title"], [1, "label", "label-default", 3, "textContent"], ["partialContainer", "", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"], ["
|
237
|
+
]), i0.ɵɵInheritDefinitionFeature], attrs: _c0, decls: 5, vars: 4, consts: [["groupedListTemplate", ""], [3, "ngIf", "ngIfElse"], ["hidden", "", 1, "model-holder", 3, "disabled"], ["class", "readonly-wrapper", 4, "ngIf"], ["partialContainer", "", "role", "presentation", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams", "click", 4, "ngFor", "ngForOf"], ["partialContainer", "", "role", "presentation", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"], ["class", "app-checkboxset-label", 3, "ngClass", "title", 4, "ngIf"], ["class", "app-checkboxset-label", 3, "ngClass", 4, "ngIf"], [1, "app-checkboxset-label", 3, "ngClass", "title"], ["type", "checkbox", 3, "name", "tabindex", "disabled", "value", "checked"], [1, "caption", 3, "textContent"], [1, "app-checkboxset-label", 3, "ngClass"], ["partial-container-target", "", 1, "caption", "customTemplate"], [1, "readonly-wrapper"], ["class", "app-list-item-group", "role", "presentation", 4, "ngFor", "ngForOf"], ["role", "presentation", 1, "app-list-item-group"], [1, "item-group"], ["aria-hidden", "true", 1, "list-group-header", 3, "click", "id", "title", "ngClass"], [1, "group-title"], [1, "header-action"], ["class", "app-icon wi action wi-chevron-up", 3, "title", 4, "ngIf"], ["class", "label label-default", 3, "textContent", 4, "ngIf"], ["partialContainer", "", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams", "click", 4, "ngFor", "ngForOf"], [1, "app-icon", "wi", "action", "wi-chevron-up", 3, "title"], [1, "label", "label-default", 3, "textContent"], ["partialContainer", "", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"], ["partial-container-target", "", 1, "caption"]], template: function CheckboxsetComponent_Template(rf, ctx) { if (rf & 1) {
|
233
238
|
i0.ɵɵtemplate(0, CheckboxsetComponent_ng_template_0_Template, 1, 1, "ng-template", 1);
|
234
239
|
i0.ɵɵelement(1, "input", 2);
|
235
240
|
i0.ɵɵtemplate(2, CheckboxsetComponent_div_2_Template, 1, 0, "div", 3)(3, CheckboxsetComponent_ng_template_3_Template, 1, 1, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
236
241
|
} if (rf & 2) {
|
237
|
-
const
|
238
|
-
i0.ɵɵproperty("ngIf", !ctx.groupby)("ngIfElse",
|
242
|
+
const groupedListTemplate_r13 = i0.ɵɵreference(4);
|
243
|
+
i0.ɵɵproperty("ngIf", !ctx.groupby)("ngIfElse", groupedListTemplate_r13);
|
239
244
|
i0.ɵɵadvance();
|
240
245
|
i0.ɵɵproperty("disabled", ctx.disabled || ctx.readonly);
|
241
246
|
i0.ɵɵadvance();
|
@@ -248,7 +253,7 @@ export class CheckboxsetComponent extends DatasetAwareFormComponent {
|
|
248
253
|
provideAs(CheckboxsetComponent, NG_VALUE_ACCESSOR, true),
|
249
254
|
provideAs(CheckboxsetComponent, NG_VALIDATORS, true),
|
250
255
|
provideAsWidgetRef(CheckboxsetComponent)
|
251
|
-
], template: "<ng-template [ngIf]=\"!groupby\" [ngIfElse]=\"groupedListTemplate\">\n <li [ngClass]=\"['checkbox', 'app-checkbox', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n *ngFor=\"let item of datasetItems; let i = index\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\"
|
256
|
+
], template: "<ng-template [ngIf]=\"!groupby\" [ngIfElse]=\"groupedListTemplate\">\n <li [ngClass]=\"['checkbox', 'app-checkbox', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n *ngFor=\"let item of datasetItems; let i = index\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n </li>\n</ng-template>\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n<div *ngIf=\"readonly || disabled\" class=\"readonly-wrapper\"></div>\n\n<!-- This template will be displayed when groupby is specified. -->\n<ng-template #groupedListTemplate>\n <li *ngFor=\"let groupObj of groupedData; let groupindex = index;\" class=\"app-list-item-group\" role=\"presentation\">\n <ul class=\"item-group\" [attr.aria-labelledby]=\"'group_' + widgetId + '_' + groupindex\">\n <li [id]=\"'group_' + widgetId + '_' + groupindex\" aria-hidden=\"true\" class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\" [attr.aria-label]=\"'Group '+groupObj.key\">{{groupObj.key}}\n <div class=\"header-action\">\n <i class=\"app-icon wi action wi-chevron-up\" *ngIf=\"collapsible\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n <span *ngIf=\"showcount\" class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n </div>\n </h4>\n </li>\n <li *ngFor=\"let item of groupObj.data; let i = index;\"\n [ngClass]=\"['checkbox', 'app-checkbox', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item)\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" partial-container-target></span>\n </label>\n </li>\n </ul>\n </li>\n</ng-template>\n" }]
|
252
257
|
}], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
|
253
258
|
type: Inject,
|
254
259
|
args: ['EXPLICIT_CONTEXT']
|
@@ -259,4 +264,4 @@ export class CheckboxsetComponent extends DatasetAwareFormComponent {
|
|
259
264
|
args: ['keydown.enter', ['$event', '"ENTER"']]
|
260
265
|
}] }); })();
|
261
266
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CheckboxsetComponent, { className: "CheckboxsetComponent", filePath: "checkboxset/checkboxset.component.ts", lineNumber: 27 }); })();
|
262
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3hzZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2lucHV0L2RlZmF1bHQvc3JjL2NoZWNrYm94c2V0L2NoZWNrYm94c2V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9jaGVja2JveHNldC9jaGVja2JveHNldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVksU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFvQixZQUFZLEVBQWMsTUFBTSxVQUFVLENBQUM7QUFDdEUsT0FBTyxFQUFvRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFvQixNQUFNLHFCQUFxQixDQUFDO0FBQ2hLLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUMsT0FBTyxFQUFFLFFBQVEsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7OztJQ0RwQyxnQ0FBeUg7SUFLckgsQUFKQSwyQkFHMkUsZUFDbkI7SUFDNUQsaUJBQVE7Ozs7OztJQU40RixBQUE5Qyx5RkFBNkMsd0JBQXFCO0lBQzdHLGNBQWtDO0lBR08sQUFBdEIsQUFBbkIsQUFEQSxBQURBLEFBREEsdURBQWtDLDZCQUNiLGdEQUNZLHNCQUNmLDZCQUFzQiw2QkFBMEI7O0lBQ25ELGNBQTBCO0lBQTFCLDJDQUEwQjs7O0lBR3BELGlDQUFv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LEVBQUUsSUFBSSxDQUFDO2dCQUNwRCxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQzthQUMzQztZQ3ZCTCxxRkFBZ0U7WUF3QmhFLDJCQUFxRTtZQUlyRSxBQUhBLHFFQUEyRCx5R0FHekI7OztZQTVCSCxBQUFsQixtQ0FBaUIscUNBQWlDO1lBd0J4RCxjQUFpQztZQUFqQyx1REFBaUM7WUFDbEMsY0FBMEI7WUFBMUIsbURBQTBCOzs7aUZEQ25CLG9CQUFvQjtjQVhoQyxTQUFTOzJCQUNJLGlCQUFpQixZQUNqQixlQUFlLGFBRWQ7b0JBQ1AsU0FBUyx1QkFBdUIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDO29CQUN4RCxTQUFTLHVCQUF1QixhQUFhLEVBQUUsSUFBSSxDQUFDO29CQUNwRCxrQkFBa0Isc0JBQXNCO2lCQUMzQzs7c0JBZ0IyQixNQUFNO3VCQUFDLGtCQUFrQjs7c0JBQUcsUUFBUTtxQkFxRGhFLFNBQVM7a0JBRFIsWUFBWTttQkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDOztrRkFqRTNDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXR0cmlidXRlLCBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBJbmplY3RvciwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIE5HX1ZBTElEQVRPUlMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7QXBwRGVmYXVsdHMsIG5vb3AsIHNldExpc3RDbGFzcywgc3dpdGNoQ2xhc3N9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7IGNvbnZlcnREYXRhVG9PYmplY3QsIElXaWRnZXRDb25maWcsIGdyb3VwRGF0YSwgaGFuZGxlSGVhZGVyQ2xpY2ssIHByb3ZpZGVBcywgcHJvdmlkZUFzV2lkZ2V0UmVmLCBzdHlsZXIsIHRvZ2dsZUFsbEhlYWRlcnMgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcbmltcG9ydCB7IERhdGFzZXRBd2FyZUZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9kYXRhc2V0LWF3YXJlLWZvcm0uY29tcG9uZW50JztcblxuaW1wb3J0IHsgcmVnaXN0ZXJQcm9wcyB9IGZyb20gJy4uL2NoZWNrYm94c2V0L2NoZWNrYm94c2V0LnByb3BzJztcbmltcG9ydCB7Zm9yRWFjaCwgaW5jbHVkZXN9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuZGVjbGFyZSBjb25zdCAkO1xuXG5jb25zdCBERUZBVUxUX0NMUyA9ICdhcHAtY2hlY2tib3hzZXQgbGlzdC1ncm91cCBpbmxpbmUnO1xuY29uc3QgV0lER0VUX0NPTkZJRzogSVdpZGdldENvbmZpZyA9IHt3aWRnZXRUeXBlOiAnd20tY2hlY2tib3hzZXQnLCBob3N0Q2xhc3M6IERFRkFVTFRfQ0xTfTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdbd21DaGVja2JveHNldF0nLFxuICAgIGV4cG9ydEFzOiAnd21DaGVja2JveHNldCcsXG4gICAgdGVtcGxhdGVVcmw6ICdjaGVja2JveHNldC5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVBcyhDaGVja2JveHNldENvbXBvbmVudCwgTkdfVkFMVUVfQUNDRVNTT1IsIHRydWUpLFxuICAgICAgICBwcm92aWRlQXMoQ2hlY2tib3hzZXRDb21wb25lbnQsIE5HX1ZBTElEQVRPUlMsIHRydWUpLFxuICAgICAgICBwcm92aWRlQXNXaWRnZXRSZWYoQ2hlY2tib3hzZXRDb21wb25lbnQpXG4gICAgXVxufSlcblxuZXhwb3J0IGNsYXNzIENoZWNrYm94c2V0Q29tcG9uZW50IGV4dGVuZHMgRGF0YXNldEF3YXJlRm9ybUNvbXBvbmVudCB7XG4gICAgc3RhdGljIGluaXRpYWxpemVQcm9wcyA9IHJlZ2lzdGVyUHJvcHMoKTtcblxuICAgIHB1YmxpYyBsYXlvdXQgPSAnJztcbiAgICBwdWJsaWMgY29sbGFwc2libGU6IGJvb2xlYW47XG5cbiAgICBwcm90ZWN0ZWQgbWF0Y2g6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgZGF0ZWZvcm1hdDogc3RyaW5nO1xuXG4gICAgcHVibGljIGRpc2FibGVkOiBib29sZWFuO1xuICAgIHB1YmxpYyBpdGVtc3BlcnJvdzogc3RyaW5nO1xuICAgIHByaXZhdGUgaXRlbXNQZXJSb3dDbGFzczogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoaW5qOiBJbmplY3RvciwgQEluamVjdCgnRVhQTElDSVRfQ09OVEVYVCcpIEBPcHRpb25hbCgpIGV4cGxpY2l0Q29udGV4dDogYW55KSB7XG4gICAgICAgIHN1cGVyKGluaiwgV0lER0VUX0NPTkZJRywgZXhwbGljaXRDb250ZXh0KTtcbiAgICAgICAgc3R5bGVyKHRoaXMubmF0aXZlRWxlbWVudCwgdGhpcyk7XG4gICAgICAgIHRoaXMubXVsdGlwbGUgPSB0cnVlO1xuICAgIH1cblxuICAgIHRyaWdnZXJJbnZva2VPbkNoYW5nZShrZXlzLCAkZXZlbnQpIHtcbiAgICAgICAgdGhpcy5tb2RlbEJ5S2V5ID0ga2V5cztcblxuICAgICAgICBpZih0aGlzLnZpZXdQYXJlbnQuY29udGFpbmVyV2lkZ2V0KVxuICAgICAgICAgICAgdGhpcy52aWV3UGFyZW50LmNvbnRhaW5lcldpZGdldC51cGRhdGVEYXRhVmFsdWUodGhpcy5kYXRhdmFsdWUpO1xuXG4gICAgICAgIHRoaXMuaW52b2tlT25Ub3VjaGVkKCk7XG4gICAgICAgIC8vIGludm9rZSBvbiBkYXRhdmFsdWUgY2hhbmdlLlxuICAgICAgICB0aGlzLmludm9rZU9uQ2hhbmdlKHRoaXMuZGF0YXZhbHVlLCAkZXZlbnQgfHwge30sIHRydWUpO1xuICAgIH1cblxuICAgIG9uQ2hlY2tib3hMYWJlbENsaWNrKCRldmVudCwga2V5KSB7XG4gICAgICAgIGlmICghJCgkZXZlbnQudGFyZ2V0KS5pcygnaW5wdXQnKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gY29uc3RydWN0IHRoZSBfbW9kZWwgZnJvbSB0aGUgY2hlY2tlZCBlbGVtZW50cy5cbiAgICAgICAgY29uc3QgaW5wdXRFbGVtZW50cyA9IHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdpbnB1dDpjaGVja2VkJyk7XG4gICAgICAgIGNvbnN0IGtleXMgPSBbXTtcbiAgICAgICAgZm9yRWFjaChpbnB1dEVsZW1lbnRzLCAoJGVsKSA9PiB7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICBrZXlzLnB1c2goJGVsLnZhbHVlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy50cmlnZ2VySW52b2tlT25DaGFuZ2Uoa2V5cywgJGV2ZW50KTtcbiAgICB9XG5cbiAgICAvLyBjaGFuZ2UgYW5kIGJsdXIgZXZlbnRzIGFyZSBhZGRlZCBmcm9tIHRoZSB0ZW1wbGF0ZVxuICAgIHByb3RlY3RlZCBoYW5kbGVFdmVudChub2RlOiBIVE1MRWxlbWVudCwgZXZlbnROYW1lOiBzdHJpbmcsIGNhbGxiYWNrOiBGdW5jdGlvbiwgbG9jYWxzOiBhbnkpIHtcbiAgICAgICAgaWYgKGV2ZW50TmFtZSA9PT0gJ2NsaWNrJykge1xuICAgICAgICAgICAgdGhpcy5ldmVudE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgICAgIGV2ZW50TmFtZSxcbiAgICAgICAgICAgICAgICBlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEkKGUudGFyZ2V0KS5pcygnaW5wdXQnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGxvY2Fscy4kZXZlbnQgPSBlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2UgaWYgKCFpbmNsdWRlcyhbJ2NoYW5nZSddLCBldmVudE5hbWUpKSB7XG4gICAgICAgICAgICBzdXBlci5oYW5kbGVFdmVudChub2RlLCBldmVudE5hbWUsIGNhbGxiYWNrLCBsb2NhbHMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicsIFsnJGV2ZW50JywgJ1wiRU5URVJcIiddKVxuICAgIG9uS2V5RG93bigkZXZlbnQpIHtcbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICRldmVudC50YXJnZXQuY2xpY2soKTtcbiAgICB9XG5cbiAgICBvblByb3BlcnR5Q2hhbmdlKGtleSwgbnYsIG92Pykge1xuXG4gICAgICAgIGlmIChrZXkgPT09ICd0YWJpbmRleCcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoa2V5ID09PSAncmVxdWlyZWQnKSB7XG4gICAgICAgICAgICB0aGlzLl9vbkNoYW5nZSh0aGlzLmRhdGF2YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGtleSA9PT0gJ2l0ZW1zcGVycm93Jykge1xuICAgICAgICAgICAgc2V0TGlzdENsYXNzKHRoaXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3VwZXIub25Qcm9wZXJ0eUNoYW5nZShrZXksIG52LCBvdik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgW25nSWZdPVwiIWdyb3VwYnlcIiBbbmdJZkVsc2VdPVwiZ3JvdXBlZExpc3RUZW1wbGF0ZVwiPlxuICAgIDxsaSBbbmdDbGFzc109XCJbJ2NoZWNrYm94JywgJ2FwcC1jaGVja2JveCcsIGl0ZW1jbGFzcywgaXRlbXNQZXJSb3dDbGFzc11cIlxuICAgICAgICBbY2xhc3MuYWN0aXZlXT1cIml0ZW0uc2VsZWN0ZWRcIlxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkYXRhc2V0SXRlbXM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICBbd21JdGVtVGVtcGxhdGVdPVwiY29udGVudFwiIFt1c2VyQ29tcG9uZW50UGFyYW1zXT1cIml0ZW1cIiBwYXJ0aWFsQ29udGFpbmVyXG4gICAgICAgIChjbGljayk9XCJvbkNoZWNrYm94TGFiZWxDbGljaygkZXZlbnQsIGl0ZW0ua2V5KVwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj5cbiAgICAgICAgPCEtLSBEZWZhdWx0IGl0ZW0gdGVtcGxhdGUgLS0+XG4gICAgICAgIDxsYWJlbCAqbmdJZj1cIiFjb250ZW50XCIgY2xhc3M9XCJhcHAtY2hlY2tib3hzZXQtbGFiZWxcIiBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzpkaXNhYmxlZCB8fCByZWFkb25seX1cIiBbdGl0bGVdPVwiaXRlbS5sYWJlbFwiPlxuICAgICAgICAgICAgPGlucHV0IFtuYW1lXT1cIidjaGVja2JveHNldF8nICsgd2lkZ2V0SWRcIiB0eXBlPVwiY2hlY2tib3hcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0ua2V5XCJcbiAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiaXRlbS5zZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCIgW2F0dHIuZGF0YS1hdHRyLWluZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLmtleVwiIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiIFtjaGVja2VkXT1cIml0ZW0uc2VsZWN0ZWRcIi8+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiaXRlbS5sYWJlbFwiPjwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPCEtLSBDdXN0b20gcGFydGlhbCB0ZW1wbGF0ZSAtLT5cbiAgICAgICAgPGxhYmVsICpuZ0lmPVwiY29udGVudFwiIGNsYXNzPVwiYXBwLWNoZWNrYm94c2V0LWxhYmVsXCIgW25nQ2xhc3NdPVwieydkaXNhYmxlZCc6ZGlzYWJsZWQgfHwgcmVhZG9ubHl9XCIgPlxuICAgICAgICAgICAgPGlucHV0IFtuYW1lXT1cIidjaGVja2JveHNldF8nICsgd2lkZ2V0SWRcIiB0eXBlPVwiY2hlY2tib3hcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0ua2V5XCJcbiAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiaXRlbS5zZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCIgW2F0dHIuZGF0YS1hdHRyLWluZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLmtleVwiIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiIFtjaGVja2VkXT1cIml0ZW0uc2VsZWN0ZWRcIi8+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcHRpb24gY3VzdG9tVGVtcGxhdGVcIiBwYXJ0aWFsLWNvbnRhaW5lci10YXJnZXQ+PC9zcGFuPlxuICAgICAgICA8L2xhYmVsPlxuICAgIDwvbGk+XG48L25nLXRlbXBsYXRlPlxuPGlucHV0IFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiIGhpZGRlbiBjbGFzcz1cIm1vZGVsLWhvbGRlclwiPlxuPGRpdiAqbmdJZj1cInJlYWRvbmx5IHx8IGRpc2FibGVkXCIgY2xhc3M9XCJyZWFkb25seS13cmFwcGVyXCI+PC9kaXY+XG5cbjwhLS0gVGhpcyB0ZW1wbGF0ZSB3aWxsIGJlIGRpc3BsYXllZCB3aGVuIGdyb3VwYnkgaXMgc3BlY2lmaWVkLiAtLT5cbjxuZy10ZW1wbGF0ZSAjZ3JvdXBlZExpc3RUZW1wbGF0ZT5cbiAgICA8bGkgKm5nRm9yPVwibGV0IGdyb3VwT2JqIG9mIGdyb3VwZWREYXRhXCIgY2xhc3M9XCJhcHAtbGlzdC1pdGVtLWdyb3VwXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJpdGVtLWdyb3VwXCI+XG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJsaXN0LWdyb3VwLWhlYWRlclwiIChjbGljayk9XCJoYW5kbGVIZWFkZXJDbGljaygkZXZlbnQpXCIgW3RpdGxlXT1cImdyb3VwT2JqLmtleVwiIFtuZ0NsYXNzXT1cInsnY29sbGFwc2libGUtY29udGVudCc6IGNvbGxhcHNpYmxlfVwiPlxuICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cImdyb3VwLXRpdGxlXCI+e3tncm91cE9iai5rZXl9fVxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLWFjdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJhcHAtaWNvbiB3aSBhY3Rpb24gd2ktY2hldnJvbi11cFwiICpuZ0lmPVwiY29sbGFwc2libGVcIiB0aXRsZT1cInt7YXBwTG9jYWxlLkxBQkVMX0NPTExBUFNFfX0ve3thcHBMb2NhbGUuTEFCRUxfRVhQQU5EfX1cIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNob3djb3VudFwiIGNsYXNzPVwibGFiZWwgbGFiZWwtZGVmYXVsdFwiIFt0ZXh0Q29udGVudF09XCJncm91cE9iai5kYXRhLmxlbmd0aFwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9oND5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ3JvdXBPYmouZGF0YTsgbGV0IGkgPSBpbmRleDtcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlsnY2hlY2tib3gnLCAnYXBwLWNoZWNrYm94JywgJ2dyb3VwLWxpc3QtaXRlbScsIGl0ZW1jbGFzcywgaXRlbXNQZXJSb3dDbGFzc11cIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiaXRlbS5zZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgW3dtSXRlbVRlbXBsYXRlXT1cImNvbnRlbnRcIiBbdXNlckNvbXBvbmVudFBhcmFtc109XCJpdGVtXCIgcGFydGlhbENvbnRhaW5lclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNoZWNrYm94TGFiZWxDbGljaygkZXZlbnQsIGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgPCEtLSBEZWZhdWx0IGl0ZW0gdGVtcGxhdGUgLS0+XG4gICAgICAgICAgICAgICAgPGxhYmVsICpuZ0lmPVwiIWNvbnRlbnRcIiBjbGFzcz1cImFwcC1jaGVja2JveHNldC1sYWJlbFwiIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOmRpc2FibGVkIHx8IHJlYWRvbmx5fVwiIFt0aXRsZV09XCJpdGVtLmxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBbbmFtZV09XCInY2hlY2tib3hzZXRfJyArIHdpZGdldElkXCIgdHlwZT1cImNoZWNrYm94XCIgYXJpYS1sYWJlbD1cImNoZWNrYm94IGdyb3VwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIiBbYXR0ci5kYXRhLWF0dHItaW5kZXhdPVwiaVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS5rZXlcIiBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbY2hlY2tlZF09XCJpdGVtLnNlbGVjdGVkXCIvPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiaXRlbS5sYWJlbFwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwhLS0gQ3VzdG9tIHBhcnRpYWwgdGVtcGxhdGUgLS0+XG4gICAgICAgICAgICAgICAgPGxhYmVsICpuZ0lmPVwiY29udGVudFwiIGNsYXNzPVwiYXBwLWNoZWNrYm94c2V0LWxhYmVsXCIgW25nQ2xhc3NdPVwieydkaXNhYmxlZCc6ZGlzYWJsZWQgfHwgcmVhZG9ubHl9XCIgPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgW25hbWVdPVwiJ2NoZWNrYm94c2V0XycgKyB3aWRnZXRJZFwiIHR5cGU9XCJjaGVja2JveFwiIGFyaWEtbGFiZWw9XCJjaGVja2JveCBncm91cFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCIgW2F0dHIuZGF0YS1hdHRyLWluZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0ua2V5XCIgW3RhYmluZGV4XT1cInRhYmluZGV4XCIgW2NoZWNrZWRdPVwiaXRlbS5zZWxlY3RlZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXB0aW9uXCIgcGFydGlhbC1jb250YWluZXItdGFyZ2V0Pjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICA8L2xpPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
267
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3hzZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2lucHV0L2RlZmF1bHQvc3JjL2NoZWNrYm94c2V0L2NoZWNrYm94c2V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9jaGVja2JveHNldC9jaGVja2JveHNldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVksU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFvQixZQUFZLEVBQWMsTUFBTSxVQUFVLENBQUM7QUFDdEUsT0FBTyxFQUFvRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFvQixNQUFNLHFCQUFxQixDQUFDO0FBQ2hLLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUMsT0FBTyxFQUFFLFFBQVEsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7OztJQ0RwQyxnQ0FBeUg7SUFLckgsQUFKQSwyQkFHMkUsZUFDbkI7SUFDNUQsaUJBQVE7Ozs7OztJQU40RixBQUE5Qyx5RkFBNkMsd0JBQXFCO0lBQzdHLGNBQWtDO0lBR08sQUFBdEIsQUFBbkIsQUFEQSxBQUZtQyxBQUFuQyx1REFBa0MsNkJBQXNCLGdEQUV2QixzQkFDZiw2QkFBc0IsNkJBQTBCOztJQUNuRCxjQUEwQjtJQUExQiwyQ0FBMEI7OztJQUdwRCxp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LEVBQUUsSUFBSSxDQUFDO2dCQUN4RCxTQUFTLENBQUMsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQztnQkFDcEQsa0JBQWtCLENBQUMsb0JBQW9CLENBQUM7YUFDM0M7WUN2QkwscUZBQWdFO1lBd0JoRSwyQkFBcUU7WUFJckUsQUFIQSxxRUFBMkQseUdBR3pCOzs7WUE1QkgsQUFBbEIsbUNBQWlCLHFDQUFpQztZQXdCeEQsY0FBaUM7WUFBakMsdURBQWlDO1lBQ2xDLGNBQTBCO1lBQTFCLG1EQUEwQjs7O2lGRENuQixvQkFBb0I7Y0FYaEMsU0FBUzsyQkFDSSxpQkFBaUIsWUFDakIsZUFBZSxhQUVkO29CQUNQLFNBQVMsdUJBQXVCLGlCQUFpQixFQUFFLElBQUksQ0FBQztvQkFDeEQsU0FBUyx1QkFBdUIsYUFBYSxFQUFFLElBQUksQ0FBQztvQkFDcEQsa0JBQWtCLHNCQUFzQjtpQkFDM0M7O3NCQWdCMkIsTUFBTTt1QkFBQyxrQkFBa0I7O3NCQUFHLFFBQVE7cUJBcURoRSxTQUFTO2tCQURSLFlBQVk7bUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQzs7a0ZBakUzQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0F0dHJpYnV0ZSwgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIEluamVjdCwgSW5qZWN0b3IsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBOR19WQUxJREFUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge0FwcERlZmF1bHRzLCBub29wLCBzZXRMaXN0Q2xhc3MsIHN3aXRjaENsYXNzfSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQgeyBjb252ZXJ0RGF0YVRvT2JqZWN0LCBJV2lkZ2V0Q29uZmlnLCBncm91cERhdGEsIGhhbmRsZUhlYWRlckNsaWNrLCBwcm92aWRlQXMsIHByb3ZpZGVBc1dpZGdldFJlZiwgc3R5bGVyLCB0b2dnbGVBbGxIZWFkZXJzIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5pbXBvcnQgeyBEYXRhc2V0QXdhcmVGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0YXNldC1hd2FyZS1mb3JtLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IHJlZ2lzdGVyUHJvcHMgfSBmcm9tICcuLi9jaGVja2JveHNldC9jaGVja2JveHNldC5wcm9wcyc7XG5pbXBvcnQge2ZvckVhY2gsIGluY2x1ZGVzfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbmRlY2xhcmUgY29uc3QgJDtcblxuY29uc3QgREVGQVVMVF9DTFMgPSAnYXBwLWNoZWNrYm94c2V0IGxpc3QtZ3JvdXAgaW5saW5lJztcbmNvbnN0IFdJREdFVF9DT05GSUc6IElXaWRnZXRDb25maWcgPSB7d2lkZ2V0VHlwZTogJ3dtLWNoZWNrYm94c2V0JywgaG9zdENsYXNzOiBERUZBVUxUX0NMU307XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnW3dtQ2hlY2tib3hzZXRdJyxcbiAgICBleHBvcnRBczogJ3dtQ2hlY2tib3hzZXQnLFxuICAgIHRlbXBsYXRlVXJsOiAnY2hlY2tib3hzZXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBwcm92aWRlQXMoQ2hlY2tib3hzZXRDb21wb25lbnQsIE5HX1ZBTFVFX0FDQ0VTU09SLCB0cnVlKSxcbiAgICAgICAgcHJvdmlkZUFzKENoZWNrYm94c2V0Q29tcG9uZW50LCBOR19WQUxJREFUT1JTLCB0cnVlKSxcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKENoZWNrYm94c2V0Q29tcG9uZW50KVxuICAgIF1cbn0pXG5cbmV4cG9ydCBjbGFzcyBDaGVja2JveHNldENvbXBvbmVudCBleHRlbmRzIERhdGFzZXRBd2FyZUZvcm1Db21wb25lbnQge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBwdWJsaWMgbGF5b3V0ID0gJyc7XG4gICAgcHVibGljIGNvbGxhcHNpYmxlOiBib29sZWFuO1xuXG4gICAgcHJvdGVjdGVkIG1hdGNoOiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIGRhdGVmb3JtYXQ6IHN0cmluZztcblxuICAgIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICBwdWJsaWMgaXRlbXNwZXJyb3c6IHN0cmluZztcbiAgICBwcml2YXRlIGl0ZW1zUGVyUm93Q2xhc3M6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKGluajogSW5qZWN0b3IsIEBJbmplY3QoJ0VYUExJQ0lUX0NPTlRFWFQnKSBAT3B0aW9uYWwoKSBleHBsaWNpdENvbnRleHQ6IGFueSkge1xuICAgICAgICBzdXBlcihpbmosIFdJREdFVF9DT05GSUcsIGV4cGxpY2l0Q29udGV4dCk7XG4gICAgICAgIHN0eWxlcih0aGlzLm5hdGl2ZUVsZW1lbnQsIHRoaXMpO1xuICAgICAgICB0aGlzLm11bHRpcGxlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICB0cmlnZ2VySW52b2tlT25DaGFuZ2Uoa2V5cywgJGV2ZW50KSB7XG4gICAgICAgIHRoaXMubW9kZWxCeUtleSA9IGtleXM7XG5cbiAgICAgICAgaWYodGhpcy52aWV3UGFyZW50LmNvbnRhaW5lcldpZGdldClcbiAgICAgICAgICAgIHRoaXMudmlld1BhcmVudC5jb250YWluZXJXaWRnZXQudXBkYXRlRGF0YVZhbHVlKHRoaXMuZGF0YXZhbHVlKTtcblxuICAgICAgICB0aGlzLmludm9rZU9uVG91Y2hlZCgpO1xuICAgICAgICAvLyBpbnZva2Ugb24gZGF0YXZhbHVlIGNoYW5nZS5cbiAgICAgICAgdGhpcy5pbnZva2VPbkNoYW5nZSh0aGlzLmRhdGF2YWx1ZSwgJGV2ZW50IHx8IHt9LCB0cnVlKTtcbiAgICB9XG5cbiAgICBvbkNoZWNrYm94TGFiZWxDbGljaygkZXZlbnQsIGtleSkge1xuICAgICAgICBpZiAoISQoJGV2ZW50LnRhcmdldCkuaXMoJ2lucHV0JykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbnN0cnVjdCB0aGUgX21vZGVsIGZyb20gdGhlIGNoZWNrZWQgZWxlbWVudHMuXG4gICAgICAgIGNvbnN0IGlucHV0RWxlbWVudHMgPSB0aGlzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnaW5wdXQ6Y2hlY2tlZCcpO1xuICAgICAgICBjb25zdCBrZXlzID0gW107XG4gICAgICAgIGZvckVhY2goaW5wdXRFbGVtZW50cywgKCRlbCkgPT4ge1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAga2V5cy5wdXNoKCRlbC52YWx1ZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudHJpZ2dlckludm9rZU9uQ2hhbmdlKGtleXMsICRldmVudCk7XG4gICAgfVxuXG4gICAgLy8gY2hhbmdlIGFuZCBibHVyIGV2ZW50cyBhcmUgYWRkZWQgZnJvbSB0aGUgdGVtcGxhdGVcbiAgICBwcm90ZWN0ZWQgaGFuZGxlRXZlbnQobm9kZTogSFRNTEVsZW1lbnQsIGV2ZW50TmFtZTogc3RyaW5nLCBjYWxsYmFjazogRnVuY3Rpb24sIGxvY2FsczogYW55KSB7XG4gICAgICAgIGlmIChldmVudE5hbWUgPT09ICdjbGljaycpIHtcbiAgICAgICAgICAgIHRoaXMuZXZlbnRNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgICAgICBldmVudE5hbWUsXG4gICAgICAgICAgICAgICAgZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghJChlLnRhcmdldCkuaXMoJ2lucHV0JykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBsb2NhbHMuJGV2ZW50ID0gZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIGlmICghaW5jbHVkZXMoWydjaGFuZ2UnXSwgZXZlbnROYW1lKSkge1xuICAgICAgICAgICAgc3VwZXIuaGFuZGxlRXZlbnQobm9kZSwgZXZlbnROYW1lLCBjYWxsYmFjaywgbG9jYWxzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZW50ZXInLCBbJyRldmVudCcsICdcIkVOVEVSXCInXSlcbiAgICBvbktleURvd24oJGV2ZW50KSB7XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAkZXZlbnQudGFyZ2V0LmNsaWNrKCk7XG4gICAgfVxuXG4gICAgb25Qcm9wZXJ0eUNoYW5nZShrZXksIG52LCBvdj8pIHtcblxuICAgICAgICBpZiAoa2V5ID09PSAndGFiaW5kZXgnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGtleSA9PT0gJ3JlcXVpcmVkJykge1xuICAgICAgICAgICAgdGhpcy5fb25DaGFuZ2UodGhpcy5kYXRhdmFsdWUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChrZXkgPT09ICdpdGVtc3BlcnJvdycpIHtcbiAgICAgICAgICAgIHNldExpc3RDbGFzcyh0aGlzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLm9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3YpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPG5nLXRlbXBsYXRlIFtuZ0lmXT1cIiFncm91cGJ5XCIgW25nSWZFbHNlXT1cImdyb3VwZWRMaXN0VGVtcGxhdGVcIj5cbiAgICA8bGkgW25nQ2xhc3NdPVwiWydjaGVja2JveCcsICdhcHAtY2hlY2tib3gnLCBpdGVtY2xhc3MsIGl0ZW1zUGVyUm93Q2xhc3NdXCJcbiAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpdGVtLnNlbGVjdGVkXCJcbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YXNldEl0ZW1zOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgW3dtSXRlbVRlbXBsYXRlXT1cImNvbnRlbnRcIiBbdXNlckNvbXBvbmVudFBhcmFtc109XCJpdGVtXCIgcGFydGlhbENvbnRhaW5lclxuICAgICAgICAoY2xpY2spPVwib25DaGVja2JveExhYmVsQ2xpY2soJGV2ZW50LCBpdGVtLmtleSlcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+XG4gICAgICAgIDwhLS0gRGVmYXVsdCBpdGVtIHRlbXBsYXRlIC0tPlxuICAgICAgICA8bGFiZWwgKm5nSWY9XCIhY29udGVudFwiIGNsYXNzPVwiYXBwLWNoZWNrYm94c2V0LWxhYmVsXCIgW25nQ2xhc3NdPVwieydkaXNhYmxlZCc6ZGlzYWJsZWQgfHwgcmVhZG9ubHl9XCIgW3RpdGxlXT1cIml0ZW0ubGFiZWxcIj5cbiAgICAgICAgICAgIDxpbnB1dCBbbmFtZV09XCInY2hlY2tib3hzZXRfJyArIHdpZGdldElkXCIgW3RhYmluZGV4XT1cInRhYmluZGV4XCJcbiAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiIFthdHRyLmRhdGEtYXR0ci1pbmRleF09XCJpXCJcbiAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS5rZXlcIiBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbY2hlY2tlZF09XCJpdGVtLnNlbGVjdGVkXCIvPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXB0aW9uXCIgW3RleHRDb250ZW50XT1cIml0ZW0ubGFiZWxcIj48L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwhLS0gQ3VzdG9tIHBhcnRpYWwgdGVtcGxhdGUgLS0+XG4gICAgICAgIDxsYWJlbCAqbmdJZj1cImNvbnRlbnRcIiBjbGFzcz1cImFwcC1jaGVja2JveHNldC1sYWJlbFwiIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOmRpc2FibGVkIHx8IHJlYWRvbmx5fVwiID5cbiAgICAgICAgICAgIDxpbnB1dCBbbmFtZV09XCInY2hlY2tib3hzZXRfJyArIHdpZGdldElkXCIgW3RhYmluZGV4XT1cInRhYmluZGV4XCJcbiAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiIFthdHRyLmRhdGEtYXR0ci1pbmRleF09XCJpXCJcbiAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS5rZXlcIiBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbY2hlY2tlZF09XCJpdGVtLnNlbGVjdGVkXCIvPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXB0aW9uIGN1c3RvbVRlbXBsYXRlXCIgcGFydGlhbC1jb250YWluZXItdGFyZ2V0Pjwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICA8L2xpPlxuPC9uZy10ZW1wbGF0ZT5cbjxpbnB1dCBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIiBoaWRkZW4gY2xhc3M9XCJtb2RlbC1ob2xkZXJcIj5cbjxkaXYgKm5nSWY9XCJyZWFkb25seSB8fCBkaXNhYmxlZFwiIGNsYXNzPVwicmVhZG9ubHktd3JhcHBlclwiPjwvZGl2PlxuXG48IS0tIFRoaXMgdGVtcGxhdGUgd2lsbCBiZSBkaXNwbGF5ZWQgd2hlbiBncm91cGJ5IGlzIHNwZWNpZmllZC4gLS0+XG48bmctdGVtcGxhdGUgI2dyb3VwZWRMaXN0VGVtcGxhdGU+XG4gICAgPGxpICpuZ0Zvcj1cImxldCBncm91cE9iaiBvZiBncm91cGVkRGF0YTsgbGV0IGdyb3VwaW5kZXggPSBpbmRleDtcIiBjbGFzcz1cImFwcC1saXN0LWl0ZW0tZ3JvdXBcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+XG4gICAgICAgIDx1bCBjbGFzcz1cIml0ZW0tZ3JvdXBcIiBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ2dyb3VwXycgKyB3aWRnZXRJZCArICdfJyArIGdyb3VwaW5kZXhcIj5cbiAgICAgICAgICAgIDxsaSBbaWRdPVwiJ2dyb3VwXycgKyB3aWRnZXRJZCArICdfJyArIGdyb3VwaW5kZXhcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImxpc3QtZ3JvdXAtaGVhZGVyXCIgKGNsaWNrKT1cImhhbmRsZUhlYWRlckNsaWNrKCRldmVudClcIiBbdGl0bGVdPVwiZ3JvdXBPYmoua2V5XCIgW25nQ2xhc3NdPVwieydjb2xsYXBzaWJsZS1jb250ZW50JzogY29sbGFwc2libGV9XCI+XG4gICAgICAgICAgICAgICAgPGg0IGNsYXNzPVwiZ3JvdXAtdGl0bGVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidHcm91cCAnK2dyb3VwT2JqLmtleVwiPnt7Z3JvdXBPYmoua2V5fX1cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1hY3Rpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYXBwLWljb24gd2kgYWN0aW9uIHdpLWNoZXZyb24tdXBcIiAqbmdJZj1cImNvbGxhcHNpYmxlXCIgdGl0bGU9XCJ7e2FwcExvY2FsZS5MQUJFTF9DT0xMQVBTRX19L3t7YXBwTG9jYWxlLkxBQkVMX0VYUEFORH19XCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzaG93Y291bnRcIiBjbGFzcz1cImxhYmVsIGxhYmVsLWRlZmF1bHRcIiBbdGV4dENvbnRlbnRdPVwiZ3JvdXBPYmouZGF0YS5sZW5ndGhcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvaDQ+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdyb3VwT2JqLmRhdGE7IGxldCBpID0gaW5kZXg7XCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJbJ2NoZWNrYm94JywgJ2FwcC1jaGVja2JveCcsICdncm91cC1saXN0LWl0ZW0nLCBpdGVtY2xhc3MsIGl0ZW1zUGVyUm93Q2xhc3NdXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cIml0ZW0uc2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgIFt3bUl0ZW1UZW1wbGF0ZV09XCJjb250ZW50XCIgW3VzZXJDb21wb25lbnRQYXJhbXNdPVwiaXRlbVwiIHBhcnRpYWxDb250YWluZXJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DaGVja2JveExhYmVsQ2xpY2soJGV2ZW50LCBpdGVtKVwiPlxuICAgICAgICAgICAgICAgIDwhLS0gRGVmYXVsdCBpdGVtIHRlbXBsYXRlIC0tPlxuICAgICAgICAgICAgICAgIDxsYWJlbCAqbmdJZj1cIiFjb250ZW50XCIgY2xhc3M9XCJhcHAtY2hlY2tib3hzZXQtbGFiZWxcIiBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzpkaXNhYmxlZCB8fCByZWFkb25seX1cIiBbdGl0bGVdPVwiaXRlbS5sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgW25hbWVdPVwiJ2NoZWNrYm94c2V0XycgKyB3aWRnZXRJZFwiIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCIgW2F0dHIuZGF0YS1hdHRyLWluZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0ua2V5XCIgW3RhYmluZGV4XT1cInRhYmluZGV4XCIgW2NoZWNrZWRdPVwiaXRlbS5zZWxlY3RlZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXB0aW9uXCIgW3RleHRDb250ZW50XT1cIml0ZW0ubGFiZWxcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8IS0tIEN1c3RvbSBwYXJ0aWFsIHRlbXBsYXRlIC0tPlxuICAgICAgICAgICAgICAgIDxsYWJlbCAqbmdJZj1cImNvbnRlbnRcIiBjbGFzcz1cImFwcC1jaGVja2JveHNldC1sYWJlbFwiIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOmRpc2FibGVkIHx8IHJlYWRvbmx5fVwiID5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IFtuYW1lXT1cIidjaGVja2JveHNldF8nICsgd2lkZ2V0SWRcIiB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cInRhYmluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiIFthdHRyLmRhdGEtYXR0ci1pbmRleF09XCJpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLmtleVwiIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiIFtjaGVja2VkXT1cIml0ZW0uc2VsZWN0ZWRcIi8+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FwdGlvblwiIHBhcnRpYWwtY29udGFpbmVyLXRhcmdldD48L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgPC9saT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|