@acorex/components 21.0.0-next.6 → 21.0.0-next.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/code-editor/README.md +291 -1
 - package/code-editor/index.d.ts +260 -12
 - package/fesm2022/acorex-components-accordion.mjs +15 -15
 - package/fesm2022/acorex-components-accordion.mjs.map +1 -1
 - package/fesm2022/acorex-components-action-sheet.mjs +12 -12
 - package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
 - package/fesm2022/acorex-components-alert.mjs +10 -10
 - package/fesm2022/acorex-components-alert.mjs.map +1 -1
 - package/fesm2022/acorex-components-aspect-ratio.mjs +4 -4
 - package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
 - package/fesm2022/acorex-components-audio-wave.mjs +8 -8
 - package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
 - package/fesm2022/acorex-components-autocomplete.mjs +8 -8
 - package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
 - package/fesm2022/acorex-components-avatar.mjs +12 -12
 - package/fesm2022/acorex-components-avatar.mjs.map +1 -1
 - package/fesm2022/acorex-components-badge.mjs +9 -9
 - package/fesm2022/acorex-components-badge.mjs.map +1 -1
 - package/fesm2022/acorex-components-bottom-navigation.mjs +11 -11
 - package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
 - package/fesm2022/acorex-components-breadcrumbs.mjs +11 -11
 - package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
 - package/fesm2022/acorex-components-button-group.mjs +13 -13
 - package/fesm2022/acorex-components-button-group.mjs.map +1 -1
 - package/fesm2022/acorex-components-button.mjs +19 -19
 - package/fesm2022/acorex-components-button.mjs.map +1 -1
 - package/fesm2022/acorex-components-calendar.mjs +18 -18
 - package/fesm2022/acorex-components-calendar.mjs.map +1 -1
 - package/fesm2022/acorex-components-check-box.mjs +8 -8
 - package/fesm2022/acorex-components-check-box.mjs.map +1 -1
 - package/fesm2022/acorex-components-chips.mjs +9 -9
 - package/fesm2022/acorex-components-chips.mjs.map +1 -1
 - package/fesm2022/acorex-components-circular-progress.mjs +9 -9
 - package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
 - package/fesm2022/acorex-components-code-editor.mjs +494 -162
 - package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
 - package/fesm2022/acorex-components-collapse.mjs +11 -26
 - package/fesm2022/acorex-components-collapse.mjs.map +1 -1
 - package/fesm2022/acorex-components-color-box.mjs +9 -9
 - package/fesm2022/acorex-components-color-box.mjs.map +1 -1
 - package/fesm2022/acorex-components-color-palette.mjs +29 -29
 - package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
 - package/fesm2022/acorex-components-command.mjs +10 -10
 - package/fesm2022/acorex-components-command.mjs.map +1 -1
 - package/fesm2022/acorex-components-comment.mjs +30 -30
 - package/fesm2022/acorex-components-comment.mjs.map +1 -1
 - package/fesm2022/acorex-components-conversation.mjs +54 -63
 - package/fesm2022/acorex-components-conversation.mjs.map +1 -1
 - package/fesm2022/acorex-components-cron-job.mjs +53 -53
 - package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
 - package/fesm2022/acorex-components-data-list.mjs +5 -5
 - package/fesm2022/acorex-components-data-list.mjs.map +1 -1
 - package/fesm2022/acorex-components-data-pager.mjs +49 -37
 - package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
 - package/fesm2022/acorex-components-data-table.mjs +43 -43
 - package/fesm2022/acorex-components-data-table.mjs.map +1 -1
 - package/fesm2022/acorex-components-datetime-box.mjs +8 -8
 - package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
 - package/fesm2022/acorex-components-datetime-input.mjs +8 -8
 - package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
 - package/fesm2022/acorex-components-datetime-picker.mjs +9 -9
 - package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
 - package/fesm2022/acorex-components-decorators.mjs +84 -42
 - package/fesm2022/acorex-components-decorators.mjs.map +1 -1
 - package/fesm2022/acorex-components-dialog.mjs +11 -11
 - package/fesm2022/acorex-components-dialog.mjs.map +1 -1
 - package/fesm2022/acorex-components-drawer-2.mjs +11 -11
 - package/fesm2022/acorex-components-drawer-2.mjs.map +1 -1
 - package/fesm2022/acorex-components-drawer.mjs +14 -14
 - package/fesm2022/acorex-components-drawer.mjs.map +1 -1
 - package/fesm2022/acorex-components-dropdown-button.mjs +9 -9
 - package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
 - package/fesm2022/acorex-components-dropdown.mjs +15 -15
 - package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
 - package/fesm2022/acorex-components-file-explorer.mjs +28 -28
 - package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
 - package/fesm2022/acorex-components-flow-chart.mjs +18 -18
 - package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
 - package/fesm2022/acorex-components-form.mjs +19 -19
 - package/fesm2022/acorex-components-form.mjs.map +1 -1
 - package/fesm2022/acorex-components-grid-layout-builder.mjs +14 -15
 - package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
 - package/fesm2022/acorex-components-image-editor.mjs +38 -38
 - package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
 - package/fesm2022/acorex-components-image.mjs +8 -8
 - package/fesm2022/acorex-components-image.mjs.map +1 -1
 - package/fesm2022/acorex-components-json-viewer.mjs +9 -9
 - package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
 - package/fesm2022/acorex-components-kanban.mjs +5 -5
 - package/fesm2022/acorex-components-kanban.mjs.map +1 -1
 - package/fesm2022/acorex-components-kbd.mjs +8 -8
 - package/fesm2022/acorex-components-kbd.mjs.map +1 -1
 - package/fesm2022/acorex-components-label.mjs +7 -7
 - package/fesm2022/acorex-components-label.mjs.map +1 -1
 - package/fesm2022/acorex-components-list.mjs +8 -8
 - package/fesm2022/acorex-components-list.mjs.map +1 -1
 - package/fesm2022/acorex-components-loading-dialog.mjs +11 -11
 - package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
 - package/fesm2022/acorex-components-loading.mjs +18 -18
 - package/fesm2022/acorex-components-loading.mjs.map +1 -1
 - package/fesm2022/acorex-components-map.mjs +14 -14
 - package/fesm2022/acorex-components-map.mjs.map +1 -1
 - package/fesm2022/acorex-components-media-viewer.mjs +61 -87
 - package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
 - package/fesm2022/acorex-components-menu.mjs +19 -19
 - package/fesm2022/acorex-components-menu.mjs.map +1 -1
 - package/fesm2022/{acorex-components-modal-acorex-components-modal-h5Y-qcbh.mjs → acorex-components-modal-acorex-components-modal-ClSGRCam.mjs} +23 -23
 - package/fesm2022/acorex-components-modal-acorex-components-modal-ClSGRCam.mjs.map +1 -0
 - package/fesm2022/{acorex-components-modal-modal-content.component-B6tyMLdU.mjs → acorex-components-modal-modal-content.component-BC-z7O0z.mjs} +7 -30
 - package/fesm2022/acorex-components-modal-modal-content.component-BC-z7O0z.mjs.map +1 -0
 - package/fesm2022/acorex-components-modal.mjs +1 -1
 - package/fesm2022/acorex-components-navbar.mjs +8 -8
 - package/fesm2022/acorex-components-navbar.mjs.map +1 -1
 - package/fesm2022/acorex-components-notification.mjs +14 -14
 - package/fesm2022/acorex-components-notification.mjs.map +1 -1
 - package/fesm2022/acorex-components-number-box-2.mjs +4 -4
 - package/fesm2022/acorex-components-number-box-2.mjs.map +1 -1
 - package/fesm2022/acorex-components-number-box.mjs +12 -30
 - package/fesm2022/acorex-components-number-box.mjs.map +1 -1
 - package/fesm2022/acorex-components-otp.mjs +10 -10
 - package/fesm2022/acorex-components-otp.mjs.map +1 -1
 - package/fesm2022/acorex-components-page.mjs +10 -10
 - package/fesm2022/acorex-components-page.mjs.map +1 -1
 - package/fesm2022/acorex-components-paint.mjs +27 -27
 - package/fesm2022/acorex-components-paint.mjs.map +1 -1
 - package/fesm2022/acorex-components-password-box.mjs +11 -11
 - package/fesm2022/acorex-components-password-box.mjs.map +1 -1
 - package/fesm2022/acorex-components-pdf-reader.mjs +8 -8
 - package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
 - package/fesm2022/acorex-components-phone-box.mjs +8 -8
 - package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
 - package/fesm2022/acorex-components-picker.mjs +17 -17
 - package/fesm2022/acorex-components-picker.mjs.map +1 -1
 - package/fesm2022/acorex-components-popover.mjs +12 -12
 - package/fesm2022/acorex-components-popover.mjs.map +1 -1
 - package/fesm2022/acorex-components-popup.mjs +13 -13
 - package/fesm2022/acorex-components-popup.mjs.map +1 -1
 - package/fesm2022/acorex-components-progress-bar.mjs +8 -8
 - package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
 - package/fesm2022/acorex-components-qrcode.mjs +8 -8
 - package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
 - package/fesm2022/acorex-components-query-builder.mjs +8 -8
 - package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
 - package/fesm2022/acorex-components-radio.mjs +7 -7
 - package/fesm2022/acorex-components-radio.mjs.map +1 -1
 - package/fesm2022/acorex-components-rail-navigation.mjs +16 -16
 - package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
 - package/fesm2022/acorex-components-range-slider.mjs +8 -8
 - package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
 - package/fesm2022/acorex-components-rate-picker.mjs +10 -10
 - package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
 - package/fesm2022/acorex-components-rest-api-generator.mjs +23 -23
 - package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
 - package/fesm2022/acorex-components-result.mjs +7 -7
 - package/fesm2022/acorex-components-result.mjs.map +1 -1
 - package/fesm2022/acorex-components-routing-progress.mjs +7 -7
 - package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
 - package/fesm2022/acorex-components-rrule.mjs +11 -11
 - package/fesm2022/acorex-components-rrule.mjs.map +1 -1
 - package/fesm2022/acorex-components-scheduler.mjs +43 -43
 - package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
 - package/fesm2022/acorex-components-scss.mjs +4 -4
 - package/fesm2022/acorex-components-scss.mjs.map +1 -1
 - package/fesm2022/acorex-components-search-box.mjs +8 -8
 - package/fesm2022/acorex-components-search-box.mjs.map +1 -1
 - package/fesm2022/acorex-components-select-box.mjs +20 -13
 - package/fesm2022/acorex-components-select-box.mjs.map +1 -1
 - package/fesm2022/acorex-components-selection-list-2.mjs +10 -10
 - package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
 - package/fesm2022/acorex-components-selection-list.mjs +10 -10
 - package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
 - package/fesm2022/acorex-components-side-menu.mjs +31 -38
 - package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
 - package/fesm2022/acorex-components-skeleton.mjs +8 -8
 - package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
 - package/fesm2022/acorex-components-slider.mjs +10 -10
 - package/fesm2022/acorex-components-slider.mjs.map +1 -1
 - package/fesm2022/acorex-components-sliding-item.mjs +16 -16
 - package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
 - package/fesm2022/acorex-components-step-wizard.mjs +16 -16
 - package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
 - package/fesm2022/acorex-components-switch.mjs +12 -12
 - package/fesm2022/acorex-components-switch.mjs.map +1 -1
 - package/fesm2022/acorex-components-tabs.mjs +16 -16
 - package/fesm2022/acorex-components-tabs.mjs.map +1 -1
 - package/fesm2022/acorex-components-tag-box.mjs +8 -8
 - package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
 - package/fesm2022/acorex-components-tag.mjs +8 -8
 - package/fesm2022/acorex-components-tag.mjs.map +1 -1
 - package/fesm2022/acorex-components-text-area.mjs +7 -7
 - package/fesm2022/acorex-components-text-area.mjs.map +1 -1
 - package/fesm2022/acorex-components-text-box.mjs +11 -11
 - package/fesm2022/acorex-components-text-box.mjs.map +1 -1
 - package/fesm2022/acorex-components-time-duration.mjs +54 -14
 - package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
 - package/fesm2022/acorex-components-time-line.mjs +13 -28
 - package/fesm2022/acorex-components-time-line.mjs.map +1 -1
 - package/fesm2022/acorex-components-toast.mjs +14 -14
 - package/fesm2022/acorex-components-toast.mjs.map +1 -1
 - package/fesm2022/acorex-components-toolbar.mjs +8 -8
 - package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
 - package/fesm2022/acorex-components-tooltip.mjs +12 -12
 - package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
 - package/fesm2022/acorex-components-tree-view.mjs +16 -45
 - package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
 - package/fesm2022/acorex-components-uploader.mjs +24 -39
 - package/fesm2022/acorex-components-uploader.mjs.map +1 -1
 - package/fesm2022/acorex-components-video-player.mjs +8 -8
 - package/fesm2022/acorex-components-video-player.mjs.map +1 -1
 - package/fesm2022/acorex-components-wysiwyg.mjs +43 -43
 - package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
 - package/grid-layout-builder/index.d.ts +1 -2
 - package/media-viewer/index.d.ts +1 -0
 - package/package.json +7 -7
 - package/phone-box/index.d.ts +4 -4
 - package/select-box/index.d.ts +1 -0
 - package/side-menu/index.d.ts +3 -2
 - package/time-duration/index.d.ts +19 -3
 - package/wysiwyg/index.d.ts +1 -1
 - package/fesm2022/acorex-components-modal-acorex-components-modal-h5Y-qcbh.mjs.map +0 -1
 - package/fesm2022/acorex-components-modal-modal-content.component-B6tyMLdU.mjs.map +0 -1
 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"acorex-components-number-box.mjs","sources":["../tmp-esm2022/number-box/lib/number-box.component.js","../tmp-esm2022/number-box/lib/number-box.module.js","../tmp-esm2022/number-box/acorex-components-number-box.js"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, HostListener, Input, ViewChild, ViewEncapsulation, forwardRef, input, } from '@angular/core';\nimport { IMaskDirective } from 'angular-imask';\nimport { createMask } from 'imask';\nimport { AXClearableComponent, AXComponent, AXFocusableComponent, AXValuableComponent, MXInputBaseValueComponent, MXLookComponent, } from '@acorex/cdk/common';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { isEmpty, toNumber } from 'lodash-es';\nimport { classes } from 'polytype';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\n/**\n * The NumberBox is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\nexport class AXNumberBoxComponent extends classes((MXInputBaseValueComponent), MXLookComponent) {\n    /**\n     *  A number value that specifies the all digits of number.\n     */\n    get allDigits() {\n        return this._allDigits;\n    }\n    /**\n     * Sets the all digits of number.\n     * @param {number} v\n     */\n    set allDigits(v) {\n        this.setOption({\n            name: 'allDigits',\n            value: v,\n        });\n    }\n    /**\n     *  A character value that specifies the separator character.\n     */\n    get thousandsSeparator() {\n        return this._thousandsSeparator;\n    }\n    /**\n     * Sets the thousands separator for formatting.\n     * @param {string} v\n     */\n    set thousandsSeparator(v) {\n        this.setOption({\n            name: 'thousandsSeparator',\n            value: v ?? '',\n        });\n    }\n    /**\n     *  A character value that specifies the separator character.\n     */\n    get padDecimalZeros() {\n        return this._padDecimalZeros;\n    }\n    /**\n     * Sets whether decimal zeros should be padded.\n     * @param {boolean} v\n     */\n    set padDecimalZeros(v) {\n        this.setOption({\n            name: 'padDecimalZeros',\n            value: v,\n        });\n    }\n    /**\n     *  Specifies the number of decimals that the user can enter\n     */\n    get decimals() {\n        return this._decimals;\n    }\n    /**\n     * Sets the decimal places; defaults to 0 if not provided.\n     */\n    set decimals(v) {\n        this.setOption({\n            name: 'decimals',\n            value: v ?? 0,\n        });\n    }\n    /**\n     *  Specifies the smallest value that is valid\n     */\n    get minValue() {\n        return this._minValue;\n    }\n    /**\n     * Sets the number of decimal places to be used.\n     * @param {number} v\n     * @defaultvalue 0\n     */\n    set minValue(v) {\n        this.setOption({\n            name: 'minValue',\n            value: v != null ? Number(v) : Number.MIN_SAFE_INTEGER,\n        });\n    }\n    /**\n     *  Specifies the greatest value that is valid\n     */\n    get maxValue() {\n        return this._maxValue;\n    }\n    /**\n     * Sets the maximum allowable value, defaulting to `Number.MAX_SAFE_INTEGER` if null.\n     * @param v\n     */\n    set maxValue(v) {\n        this.setOption({\n            name: 'maxValue',\n            value: v != null ? Number(v) : Number.MAX_SAFE_INTEGER,\n        });\n    }\n    constructor() {\n        super();\n        /**\n         * This property determines the type of the input element (e.g., 'text', 'password', 'email', etc.). It can be dynamically bound from a parent component template to change the input field type based on different conditions or requirements.\n         */\n        this.type = input('tel', ...(ngDevMode ? [{ debugName: \"type\" }] : []));\n        /**\n         *  boolean value that specifies the number box change step by scrolling.\n         */\n        this.changeOnScroll = false;\n        /** @ignore */\n        this._allDigits = 0;\n        /** @ignore */\n        this._padDecimalZeros = false;\n        /**\n         *  Specifies the value that is used to increment or decrement the **Integer** part of number\n         */\n        this.step = 1;\n        /** @ignore */\n        this._decimals = 0;\n        /**\n         *  Specifies the value that is used to increment or decrement the **Deciaml** part of number\n         */\n        this.decimalStep = 'auto';\n        /**\n         *  Specifies whether the Up and Down spin buttons will be rendered or not\n         */\n        this.showSpinButtons = true;\n        /** @ignore */\n        this._minValue = Number.MIN_SAFE_INTEGER;\n        /** @ignore */\n        this._maxValue = Number.MAX_SAFE_INTEGER;\n        /** @ignore */\n        this._onWheelFlag = false;\n        this.onFocus.subscribe(() => {\n            this._onWheelFlag = true;\n            this.input.nativeElement.select();\n        });\n        this.onBlur.subscribe(() => {\n            this._onWheelFlag = false;\n        });\n    }\n    /** @ignore */\n    ngAfterViewInit() {\n        this._updateMask();\n    }\n    /**\n     * Handles internal option changes and updates the mask accordingly.\n     */\n    internalOptionChanged() {\n        this._updateMask();\n    }\n    /**\n     * Resets the input element to its default state and calls the parent class reset method.\n     */\n    reset() {\n        this.input.nativeElement.value = null;\n        super.reset(true);\n    }\n    /**\n     * Ensures the value is within the min-max range, returning the default if null.\n     * @param value\n     */\n    internalSetValue(value) {\n        // || (value == 0 && !this._maskObj.value)\n        if (value == null) {\n            return this.defaultValue;\n        }\n        const v = toNumber(value);\n        if (v < this.minValue)\n            return this.minValue;\n        if (v > this.maxValue)\n            return this.maxValue;\n        return v;\n    }\n    /** @ignore */\n    _updateMask() {\n        if (!this._maskObj) {\n            this._maskObj = createMask({\n                mask: Number,\n                min: this.minValue,\n                max: this.maxValue,\n                thousandsSeparator: this.thousandsSeparator || '',\n                scale: this.decimals,\n                radix: '.',\n                padFractionalZeros: this.decimals > 0 && this.padDecimalZeros,\n            });\n            this._maskObj.format = (v, m) => {\n                return !isNaN(v)\n                    ? v.toLocaleString('en-US', {\n                        useGrouping: false,\n                        maximumFractionDigits: 20,\n                    })\n                    : '';\n            };\n        }\n        else {\n            this._maskObj.updateOptions({\n                min: this.minValue,\n                max: this.maxValue,\n                thousandsSeparator: this.thousandsSeparator || '',\n                scale: this.decimals,\n                radix: '.',\n                padFractionalZeros: this.decimals > 0 && this.padDecimalZeros,\n            });\n        }\n        this._maskDirective?.maskRef?.updateValue();\n        this._maskDirective?.maskRef?.updateControl();\n    }\n    /** @ignore */\n    _handleModelChange(value) {\n        if (value == 0 && isEmpty(this.input?.nativeElement?.value)) {\n            value = null;\n        }\n        this.commitValue(value, true);\n    }\n    /** @ignore */\n    _handleOnKeydownEvent(e) {\n        if (this.disabled || this.readonly)\n            return;\n        const ignore = () => {\n            e.preventDefault();\n            e.stopPropagation();\n        };\n        const input = e.target;\n        const valStr = input.value;\n        const decimalPointIndex = valStr.indexOf('.');\n        const _cursorPos = input.selectionStart;\n        if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {\n            if (decimalPointIndex > 0 && _cursorPos > decimalPointIndex && this.decimals > 0) {\n                e.key === 'ArrowDown' ? this.decimalStepDown(true) : this.decimalStepUp(true);\n            }\n            else {\n                e.key === 'ArrowDown' ? this.stepDown(true) : this.stepUp(true);\n            }\n            ignore();\n            setTimeout(() => {\n                input.setSelectionRange(_cursorPos, _cursorPos);\n            }, 5);\n        }\n        super.emitOnKeydownEvent(e);\n    }\n    /** @ignore */\n    _handleUpDownClick(v, e) {\n        const isUserInteraction = e.isTrusted;\n        if (this.disabled || this.readonly)\n            return;\n        v == 1 ? this.stepUp(isUserInteraction) : this.stepDown(isUserInteraction);\n    }\n    /**\n     * Increases the value by the step amount, ensuring it's at least the minimum value.\n     */\n    stepUp(u = false) {\n        if (!this.value) {\n            this.commitValue(Math.max(this.minValue, 0), u);\n        }\n        this.commitValue(this.value + toNumber(this.step), u);\n    }\n    /**\n     * Decreases the value by the step amount, ensuring it's at least the minimum value.\n     */\n    stepDown(u = false) {\n        if (!this.value) {\n            this.commitValue(Math.max(this.minValue, 0), u);\n        }\n        this.commitValue(this.value - toNumber(this.step), u);\n    }\n    /**\n     * Increases the value by the decimal step amount, using 'auto' or a custom step value.\n     */\n    decimalStepUp(u = false) {\n        if (!this.value) {\n            this.commitValue(Math.max(this.minValue, 0), u);\n        }\n        this.commitValue(this.value + toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep), u);\n    }\n    /**\n     * Decreases the value by the decimal step amount, using 'auto' or a custom step value.\n     */\n    decimalStepDown(u = false) {\n        if (!this.value) {\n            this.commitValue(Math.max(this.minValue, 0), u);\n        }\n        this.commitValue(this.value - toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep), u);\n    }\n    onWheel(event) {\n        if (this.changeOnScroll && this._onWheelFlag) {\n            event.preventDefault();\n            if (!this.disabled && !this.readonly) {\n                if (event.deltaY > 0) {\n                    this.commitValue(this.value - this.step);\n                }\n                else {\n                    this.commitValue(this.value + this.step);\n                }\n            }\n        }\n    }\n    get __hostName() {\n        return this.name;\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXNumberBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.3\", type: AXNumberBoxComponent, isStandalone: true, selector: \"ax-number-box\", inputs: { disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: \"readonly\", publicName: \"readonly\", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: \"tabIndex\", publicName: \"tabIndex\", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: \"placeholder\", publicName: \"placeholder\", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: \"value\", publicName: \"value\", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: \"state\", publicName: \"state\", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: \"name\", publicName: \"name\", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: \"id\", publicName: \"id\", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: \"look\", publicName: \"look\", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: \"type\", publicName: \"type\", isSignal: true, isRequired: false, transformFunction: null }, changeOnScroll: { classPropertyName: \"changeOnScroll\", publicName: \"changeOnScroll\", isSignal: false, isRequired: false, transformFunction: null }, allDigits: { classPropertyName: \"allDigits\", publicName: \"allDigits\", isSignal: false, isRequired: false, transformFunction: null }, thousandsSeparator: { classPropertyName: \"thousandsSeparator\", publicName: \"thousandsSeparator\", isSignal: false, isRequired: false, transformFunction: null }, padDecimalZeros: { classPropertyName: \"padDecimalZeros\", publicName: \"padDecimalZeros\", isSignal: false, isRequired: false, transformFunction: null }, step: { classPropertyName: \"step\", publicName: \"step\", isSignal: false, isRequired: false, transformFunction: null }, decimals: { classPropertyName: \"decimals\", publicName: \"decimals\", isSignal: false, isRequired: false, transformFunction: null }, decimalStep: { classPropertyName: \"decimalStep\", publicName: \"decimalStep\", isSignal: false, isRequired: false, transformFunction: null }, showSpinButtons: { classPropertyName: \"showSpinButtons\", publicName: \"showSpinButtons\", isSignal: false, isRequired: false, transformFunction: null }, minValue: { classPropertyName: \"minValue\", publicName: \"minValue\", isSignal: false, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: \"maxValue\", publicName: \"maxValue\", isSignal: false, isRequired: false, transformFunction: null }, classNames: { classPropertyName: \"classNames\", publicName: \"class\", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { valueChange: \"valueChange\", stateChange: \"stateChange\", onValueChanged: \"onValueChanged\", onBlur: \"onBlur\", onFocus: \"onFocus\", readonlyChange: \"readonlyChange\", disabledChange: \"disabledChange\", onKeyDown: \"onKeyDown\", onKeyUp: \"onKeyUp\", onKeyPress: \"onKeyPress\" }, host: { listeners: { \"wheel\": \"onWheel($event)\" }, properties: { \"attr.name\": \"this.__hostName\" } }, providers: [\n            { provide: AXComponent, useExisting: AXNumberBoxComponent },\n            { provide: AXFocusableComponent, useExisting: AXNumberBoxComponent },\n            { provide: AXClearableComponent, useExisting: AXNumberBoxComponent },\n            { provide: AXValuableComponent, useExisting: AXNumberBoxComponent },\n            {\n                provide: NG_VALUE_ACCESSOR,\n                useExisting: forwardRef(() => AXNumberBoxComponent),\n                multi: true,\n            },\n        ], viewQueries: [{ propertyName: \"input\", first: true, predicate: [\"input\"], descendants: true }, { propertyName: \"_maskDirective\", first: true, predicate: IMaskDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: \"<div\\n  class=\\\"ax-editor-container {{ classNames }} ax-{{ look }}\\\"\\n  [class.ax-state-disabled]=\\\"disabled\\\"\\n  [class.ax-state-readonly]=\\\"readonly\\\"\\n>\\n  <ng-content select=\\\"ax-prefix\\\"> </ng-content>\\n  <input\\n    #input\\n    class=\\\"ax-input\\\"\\n    [attr.type]=\\\"type()\\\"\\n    [id]=\\\"id\\\"\\n    [attr.placeholder]=\\\"placeholder\\\"\\n    [attr.autocomplete]=\\\"'off'\\\"\\n    [imask]=\\\"_maskObj\\\"\\n    [unmask]=\\\"'typed'\\\"\\n    [attr.min]=\\\"minValue\\\"\\n    [attr.max]=\\\"maxValue\\\"\\n    [class.ax-state-disabled]=\\\"disabled\\\"\\n    [class.ax-state-readonly]=\\\"readonly\\\"\\n    [disabled]=\\\"disabled\\\"\\n    [readonly]=\\\"readonly\\\"\\n    [tabindex]=\\\"tabIndex\\\"\\n    [ngModel]=\\\"value\\\"\\n    (ngModelChange)=\\\"_handleModelChange($event)\\\"\\n    (keydown)=\\\"_handleOnKeydownEvent($event)\\\"\\n    (keyup)=\\\"emitOnKeyupEvent($event)\\\"\\n    (keypress)=\\\"emitOnKeypressEvent($event)\\\"\\n    (focus)=\\\"emitOnFocusEvent($event)\\\"\\n    (blur)=\\\"emitOnBlurEvent($event)\\\"\\n  />\\n  @if (input.value && !disabled && !readonly) {\\n    <ng-content select=\\\"ax-clear-button\\\"></ng-content>\\n  }\\n  @if (showSpinButtons) {\\n    <div class=\\\"ax-number-box-control\\\">\\n      <button\\n        type=\\\"button\\\"\\n        class=\\\"ax-editor-button\\\"\\n        [class.ax-state-disabled]=\\\"disabled\\\"\\n        (click)=\\\"_handleUpDownClick(1, $event)\\\"\\n        tabindex=\\\"-1\\\"\\n        [disabled]=\\\"disabled\\\"\\n      >\\n        <span class=\\\"ax-icon ax-icon-chevron-up ax-arrow-button\\\"></span>\\n      </button>\\n      <button\\n        type=\\\"button\\\"\\n        class=\\\"ax-editor-button\\\"\\n        [class.ax-state-disabled]=\\\"disabled\\\"\\n        (click)=\\\"_handleUpDownClick(-1, $event)\\\"\\n        tabindex=\\\"-1\\\"\\n        [disabled]=\\\"disabled\\\"\\n      >\\n        <span class=\\\"ax-icon ax-icon-chevron-down ax-arrow-button\\\"></span>\\n      </button>\\n    </div>\\n  }\\n\\n  <ng-content select=\\\"ax-suffix\\\"> </ng-content>\\n</div>\\n<ng-content select=\\\"ax-validation-rule\\\"> </ng-content>\\n<div class=\\\"ax-error-container\\\"></div>\\n\", styles: [\"ax-number-box input::-webkit-outer-spin-button,ax-number-box input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}ax-number-box input[type=number]{-moz-appearance:textfield}ax-number-box .ax-number-box-control{--ax-comp-editor-button-height: 50%;--ax-comp-editor-button-font-size: .75rem;height:100%;display:flex;flex-direction:column}ax-number-box .ax-number-box-control button{font-size:.75rem}ax-number-box .ax-number-box-control button:first-child{align-items:flex-end;display:flex}ax-number-box .ax-number-box-control button:last-child{align-items:flex-start;display:flex}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"directive\", type: IMaskDirective, selector: \"[imask]\", inputs: [\"imask\", \"unmask\", \"imaskElement\"], outputs: [\"accept\", \"complete\"], exportAs: [\"imask\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXNumberBoxComponent, decorators: [{\n            type: Component,\n            args: [{ selector: 'ax-number-box', inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id', 'look'], outputs: [\n                        'valueChange',\n                        'stateChange',\n                        'onValueChanged',\n                        'onBlur',\n                        'onFocus',\n                        'readonlyChange',\n                        'disabledChange',\n                        'onKeyDown',\n                        'onKeyUp',\n                        'onKeyPress',\n                    ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [\n                        { provide: AXComponent, useExisting: AXNumberBoxComponent },\n                        { provide: AXFocusableComponent, useExisting: AXNumberBoxComponent },\n                        { provide: AXClearableComponent, useExisting: AXNumberBoxComponent },\n                        { provide: AXValuableComponent, useExisting: AXNumberBoxComponent },\n                        {\n                            provide: NG_VALUE_ACCESSOR,\n                            useExisting: forwardRef(() => AXNumberBoxComponent),\n                            multi: true,\n                        },\n                    ], imports: [FormsModule, IMaskDirective], template: \"<div\\n  class=\\\"ax-editor-container {{ classNames }} ax-{{ look }}\\\"\\n  [class.ax-state-disabled]=\\\"disabled\\\"\\n  [class.ax-state-readonly]=\\\"readonly\\\"\\n>\\n  <ng-content select=\\\"ax-prefix\\\"> </ng-content>\\n  <input\\n    #input\\n    class=\\\"ax-input\\\"\\n    [attr.type]=\\\"type()\\\"\\n    [id]=\\\"id\\\"\\n    [attr.placeholder]=\\\"placeholder\\\"\\n    [attr.autocomplete]=\\\"'off'\\\"\\n    [imask]=\\\"_maskObj\\\"\\n    [unmask]=\\\"'typed'\\\"\\n    [attr.min]=\\\"minValue\\\"\\n    [attr.max]=\\\"maxValue\\\"\\n    [class.ax-state-disabled]=\\\"disabled\\\"\\n    [class.ax-state-readonly]=\\\"readonly\\\"\\n    [disabled]=\\\"disabled\\\"\\n    [readonly]=\\\"readonly\\\"\\n    [tabindex]=\\\"tabIndex\\\"\\n    [ngModel]=\\\"value\\\"\\n    (ngModelChange)=\\\"_handleModelChange($event)\\\"\\n    (keydown)=\\\"_handleOnKeydownEvent($event)\\\"\\n    (keyup)=\\\"emitOnKeyupEvent($event)\\\"\\n    (keypress)=\\\"emitOnKeypressEvent($event)\\\"\\n    (focus)=\\\"emitOnFocusEvent($event)\\\"\\n    (blur)=\\\"emitOnBlurEvent($event)\\\"\\n  />\\n  @if (input.value && !disabled && !readonly) {\\n    <ng-content select=\\\"ax-clear-button\\\"></ng-content>\\n  }\\n  @if (showSpinButtons) {\\n    <div class=\\\"ax-number-box-control\\\">\\n      <button\\n        type=\\\"button\\\"\\n        class=\\\"ax-editor-button\\\"\\n        [class.ax-state-disabled]=\\\"disabled\\\"\\n        (click)=\\\"_handleUpDownClick(1, $event)\\\"\\n        tabindex=\\\"-1\\\"\\n        [disabled]=\\\"disabled\\\"\\n      >\\n        <span class=\\\"ax-icon ax-icon-chevron-up ax-arrow-button\\\"></span>\\n      </button>\\n      <button\\n        type=\\\"button\\\"\\n        class=\\\"ax-editor-button\\\"\\n        [class.ax-state-disabled]=\\\"disabled\\\"\\n        (click)=\\\"_handleUpDownClick(-1, $event)\\\"\\n        tabindex=\\\"-1\\\"\\n        [disabled]=\\\"disabled\\\"\\n      >\\n        <span class=\\\"ax-icon ax-icon-chevron-down ax-arrow-button\\\"></span>\\n      </button>\\n    </div>\\n  }\\n\\n  <ng-content select=\\\"ax-suffix\\\"> </ng-content>\\n</div>\\n<ng-content select=\\\"ax-validation-rule\\\"> </ng-content>\\n<div class=\\\"ax-error-container\\\"></div>\\n\", styles: [\"ax-number-box input::-webkit-outer-spin-button,ax-number-box input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}ax-number-box input[type=number]{-moz-appearance:textfield}ax-number-box .ax-number-box-control{--ax-comp-editor-button-height: 50%;--ax-comp-editor-button-font-size: .75rem;height:100%;display:flex;flex-direction:column}ax-number-box .ax-number-box-control button{font-size:.75rem}ax-number-box .ax-number-box-control button:first-child{align-items:flex-end;display:flex}ax-number-box .ax-number-box-control button:last-child{align-items:flex-start;display:flex}\\n\"] }]\n        }], ctorParameters: () => [], propDecorators: { input: [{\n                type: ViewChild,\n                args: ['input']\n            }], changeOnScroll: [{\n                type: Input\n            }], allDigits: [{\n                type: Input\n            }], thousandsSeparator: [{\n                type: Input\n            }], padDecimalZeros: [{\n                type: Input\n            }], \n        /**\n         * Defines the increment step value.\n         */\n        step: [{\n                type: Input\n            }], decimals: [{\n                type: Input\n            }], \n        /**\n         * Defines the step size for decimal values.\n         * @defaultvalue 'auto'\n         */\n        decimalStep: [{\n                type: Input\n            }], \n        /**\n         * Indicates whether spin buttons are displayed.\n         * @defaultvalue true\n         */\n        showSpinButtons: [{\n                type: Input\n            }], minValue: [{\n                type: Input\n            }], maxValue: [{\n                type: Input\n            }], \n        /**\n         * CSS classes to apply to the component.\n         */\n        classNames: [{\n                type: Input,\n                args: ['class']\n            }], _maskDirective: [{\n                type: ViewChild,\n                args: [IMaskDirective]\n            }], onWheel: [{\n                type: HostListener,\n                args: ['wheel', ['$event']]\n            }], __hostName: [{\n                type: HostBinding,\n                args: ['attr.name']\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL251bWJlci1ib3gvc3JjL2xpYi9udW1iZXItYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbnVtYmVyLWJveC9zcmMvbGliL251bWJlci1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsVUFBVSxFQUNWLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRWpELE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsV0FBVyxFQUNYLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIseUJBQXlCLEVBQ3pCLGVBQWUsR0FDaEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQzs7O0FBRW5DOzs7O0dBSUc7QUFpQ0gsTUFBTSxPQUFPLG9CQUNYLFNBQVEsT0FBTyxDQUFDLENBQUEseUJBQWlDLENBQUEsRUFBRSxlQUFlLENBQUM7SUFzQm5FOztPQUVHO0lBQ0gsSUFLVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBQ0Q7OztP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LEVBQUUsSUFBSTt5QkFDWjtxQkFDRixXQUNRLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQzt3REFPbEIsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPO2dCQWNsQixjQUFjO3NCQURiLEtBQUs7Z0JBYUssU0FBUztzQkFMbkIsS0FBSztnQkE0Qkssa0JBQWtCO3NCQU41QixLQUFLO2dCQWdDSyxlQUFlO3NCQU56QixLQUFLOztRQTBCTjs7V0FFRztRQUNILElBQUk7c0JBTEgsS0FBSztnQkFpQkssUUFBUTtzQkFMbEIsS0FBSzs7UUF3Qk47OztXQUdHO1FBQ0gsV0FBVztzQkFOVixLQUFLOztRQWFOOzs7V0FHRztRQUNILGVBQWU7c0JBTmQsS0FBSztnQkFtQkssUUFBUTtzQkFObEIsS0FBSztnQkFpQ0ssUUFBUTtzQkFMbEIsS0FBSzs7UUEwQk47O1dBRUc7UUFDSCxVQUFVO3NCQUxULEtBQUs7dUJBQUMsT0FBTztnQkFnQk4sY0FBYztzQkFIckIsU0FBUzt1QkFBQyxjQUFjO2dCQWlMekIsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFlckIsVUFBVTtzQkFEckIsV0FBVzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGZvcndhcmRSZWYsXG4gIGlucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElNYXNrRGlyZWN0aXZlIH0gZnJvbSAnYW5ndWxhci1pbWFzayc7XG5pbXBvcnQgeyBNYXNrZWROdW1iZXIsIGNyZWF0ZU1hc2sgfSBmcm9tICdpbWFzayc7XG5cbmltcG9ydCB7XG4gIEFYQ2xlYXJhYmxlQ29tcG9uZW50LFxuICBBWENvbXBvbmVudCxcbiAgQVhGb2N1c2FibGVDb21wb25lbnQsXG4gIEFYVmFsdWFibGVDb21wb25lbnQsXG4gIE1YSW5wdXRCYXNlVmFsdWVDb21wb25lbnQsXG4gIE1YTG9va0NvbXBvbmVudCxcbn0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGlzRW1wdHksIHRvTnVtYmVyIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tICdwb2x5dHlwZSc7XG5cbi8qKlxuICogVGhlIE51bWJlckJveCBpcyBhIGNvbXBvbmVudCB3aGljaCBkZXRlY3RzIHVzZXIgaW50ZXJhY3Rpb24gYW5kIHRyaWdnZXJzIGEgY29ycmVzcG9uZGluZyBldmVudFxuICpcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LW51bWJlci1ib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vbnVtYmVyLWJveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL251bWJlci1ib3guY29tcG9uZW50LnNjc3MnXSxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ3JlYWRvbmx5JywgJ3RhYkluZGV4JywgJ3BsYWNlaG9sZGVyJywgJ3ZhbHVlJywgJ3N0YXRlJywgJ25hbWUnLCAnaWQnLCAnbG9vayddLFxuICBvdXRwdXRzOiBbXG4gICAgJ3ZhbHVlQ2hhbmdlJyxcbiAgICAnc3RhdGVDaGFuZ2UnLFxuICAgICdvblZhbHVlQ2hhbmdlZCcsXG4gICAgJ29uQmx1cicsXG4gICAgJ29uRm9jdXMnLFxuICAgICdyZWFkb25seUNoYW5nZScsXG4gICAgJ2Rpc2FibGVkQ2hhbmdlJyxcbiAgICAnb25LZXlEb3duJyxcbiAgICAnb25LZXlVcCcsXG4gICAgJ29uS2V5UHJlc3MnLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTnVtYmVyQm94Q29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWEZvY3VzYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTnVtYmVyQm94Q29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWENsZWFyYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTnVtYmVyQm94Q29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWFZhbHVhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhOdW1iZXJCb3hDb21wb25lbnQgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFYTnVtYmVyQm94Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgSU1hc2tEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE51bWJlckJveENvbXBvbmVudFxuICBleHRlbmRzIGNsYXNzZXMoTVhJbnB1dEJhc2VWYWx1ZUNvbXBvbmVudDxudW1iZXI+LCBNWExvb2tDb21wb25lbnQpXG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdFxue1xuICAvKiogQGlnbm9yZSAqL1xuICBAVmlld0NoaWxkKCdpbnB1dCcpIGlucHV0OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX3Rob3VzYW5kc1NlcGFyYXRvcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGlzIHByb3BlcnR5IGRldGVybWluZXMgdGhlIHR5cGUgb2YgdGhlIGlucHV0IGVsZW1lbnQgKGUuZy4sICd0ZXh0JywgJ3Bhc3N3b3JkJywgJ2VtYWlsJywgZXRjLikuIEl0IGNhbiBiZSBkeW5hbWljYWxseSBib3VuZCBmcm9tIGEgcGFyZW50IGNvbXBvbmVudCB0ZW1wbGF0ZSB0byBjaGFuZ2UgdGhlIGlucHV0IGZpZWxkIHR5cGUgYmFzZWQgb24gZGlmZmVyZW50IGNvbmRpdGlvbnMgb3IgcmVxdWlyZW1lbnRzLlxuICAgKi9cbiAgdHlwZSA9IGlucHV0KCd0ZWwnKTtcblxuICAvKipcbiAgICogIGJvb2xlYW4gdmFsdWUgdGhhdCBzcGVjaWZpZXMgdGhlIG51bWJlciBib3ggY2hhbmdlIHN0ZXAgYnkgc2Nyb2xsaW5nLlxuICAgKi9cbiAgQElucHV0KClcbiAgY2hhbmdlT25TY3JvbGwgPSBmYWxzZTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9hbGxEaWdpdHMgPSAwO1xuICAvKipcbiAgICogIEEgbnVtYmVyIHZhbHVlIHRoYXQgc3BlY2lmaWVzIHRoZSBhbGwgZGlnaXRzIG9mIG51bWJlci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBhbGwgZGlnaXRzIG9mIG51bWJlci5cbiAgICogQHBhcmFtIHtudW1iZXJ9IHZhbHVlXG4gICAqL1xuICBwdWJsaWMgZ2V0IGFsbERpZ2l0cygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9hbGxEaWdpdHM7XG4gIH1cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFsbCBkaWdpdHMgb2YgbnVtYmVyLlxuICAgKiBAcGFyYW0ge251bWJlcn0gdlxuICAgKi9cbiAgcHVibGljIHNldCBhbGxEaWdpdHModjogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXRPcHRpb24oe1xuICAgICAgbmFtZTogJ2FsbERpZ2l0cycsXG4gICAgICB2YWx1ZTogdixcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQSBjaGFyYWN0ZXIgdmFsdWUgdGhhdCBzcGVjaWZpZXMgdGhlIHNlcGFyYXRvciBjaGFyYWN0ZXIuXG4gICAqL1xuICBASW5wdXQoKVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB0aG91c2FuZHMgc2VwYXJhdG9yIHVzZWQgaW4gdGhlIGZvcm1hdHRpbmcuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICAgKi9cbiAgcHVibGljIGdldCB0aG91c2FuZHNTZXBhcmF0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdGhvdXNhbmRzU2VwYXJhdG9yO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHRob3VzYW5kcyBzZXBhcmF0b3IgZm9yIGZvcm1hdHRpbmcuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2XG4gICAqL1xuICBwdWJsaWMgc2V0IHRob3VzYW5kc1NlcGFyYXRvcih2OiBzdHJpbmcpIHtcbiAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICBuYW1lOiAndGhvdXNhbmRzU2VwYXJhdG9yJyxcbiAgICAgIHZhbHVlOiB2ID8/ICcnLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfcGFkRGVjaW1hbFplcm9zID0gZmFsc2U7XG4gIC8qKlxuICAgKiAgQSBjaGFyYWN0ZXIgdmFsdWUgdGhhdCBzcGVjaWZpZXMgdGhlIHNlcGFyYXRvciBjaGFyYWN0ZXIuXG4gICAqL1xuICBASW5wdXQoKVxuXG4gIC8qKlxuICAgKiBHZXRzIHdoZXRoZXIgZGVjaW1hbCB6ZXJvcyBhcmUgcGFkZGVkLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IHZhbHVlXG4gICAqL1xuICBwdWJsaWMgZ2V0IHBhZERlY2ltYWxaZXJvcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcGFkRGVjaW1hbFplcm9zO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgd2hldGhlciBkZWNpbWFsIHplcm9zIHNob3VsZCBiZSBwYWRkZWQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gdlxuICAgKi9cbiAgcHVibGljIHNldCBwYWREZWNpbWFsWmVyb3ModjogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdwYWREZWNpbWFsWmVyb3MnLFxuICAgICAgdmFsdWU6IHYsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogIFNwZWNpZmllcyB0aGUgdmFsdWUgdGhhdCBpcyB1c2VkIHRvIGluY3JlbWVudCBvciBkZWNyZW1lbnQgdGhlICoqSW50ZWdlcioqIHBhcnQgb2YgbnVtYmVyXG4gICAqL1xuICBASW5wdXQoKVxuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBpbmNyZW1lbnQgc3RlcCB2YWx1ZS5cbiAgICovXG4gIHN0ZXAgPSAxO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX2RlY2ltYWxzID0gMDtcbiAgLyoqXG4gICAqICBTcGVjaWZpZXMgdGhlIG51bWJlciBvZiBkZWNpbWFscyB0aGF0IHRoZSB1c2VyIGNhbiBlbnRlclxuICAgKi9cbiAgQElucHV0KClcblxuICAvKipcbiAgICogR2V0cyB0aGUgbnVtYmVyIG9mIGRlY2ltYWwgcGxhY2VzIHRvIGJlIHVzZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRlY2ltYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2RlY2ltYWxzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGRlY2ltYWwgcGxhY2VzOyBkZWZhdWx0cyB0byAwIGlmIG5vdCBwcm92aWRlZC5cbiAgICovXG4gIHB1YmxpYyBzZXQgZGVjaW1hbHModjogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXRPcHRpb24oe1xuICAgICAgbmFtZTogJ2RlY2ltYWxzJyxcbiAgICAgIHZhbHVlOiB2ID8/IDAsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogIFNwZWNpZmllcyB0aGUgdmFsdWUgdGhhdCBpcyB1c2VkIHRvIGluY3JlbWVudCBvciBkZWNyZW1lbnQgdGhlICoqRGVjaWFtbCoqIHBhcnQgb2YgbnVtYmVyXG4gICAqL1xuICBASW5wdXQoKVxuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBzdGVwIHNpemUgZm9yIGRlY2ltYWwgdmFsdWVzLlxuICAgKiBAZGVmYXVsdHZhbHVlICdhdXRvJ1xuICAgKi9cbiAgZGVjaW1hbFN0ZXA6IG51bWJlciB8ICdhdXRvJyA9ICdhdXRvJztcblxuICAvKipcbiAgICogIFNwZWNpZmllcyB3aGV0aGVyIHRoZSBVcCBhbmQgRG93biBzcGluIGJ1dHRvbnMgd2lsbCBiZSByZW5kZXJlZCBvciBub3RcbiAgICovXG4gIEBJbnB1dCgpXG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHNwaW4gYnV0dG9ucyBhcmUgZGlzcGxheWVkLlxuICAgKiBAZGVmYXVsdHZhbHVlIHRydWVcbiAgICovXG4gIHNob3dTcGluQnV0dG9ucyA9IHRydWU7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfbWluVmFsdWU6IG51bWJlciA9IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSO1xuICAvKipcbiAgICogIFNwZWNpZmllcyB0aGUgc21hbGxlc3QgdmFsdWUgdGhhdCBpcyB2YWxpZFxuICAgKi9cbiAgQElucHV0KClcblxuICAvKipcbiAgICogR2V0cyB0aGUgbnVtYmVyIG9mIGRlY2ltYWwgcGxhY2VzIHVzZWQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSB2YWx1ZVxuICAgKi9cbiAgcHVibGljIGdldCBtaW5WYWx1ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9taW5WYWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBudW1iZXIgb2YgZGVjaW1hbCBwbGFjZXMgdG8gYmUgdXNlZC5cbiAgICogQHBhcmFtIHtudW1iZXJ9IHZcbiAgICogQGRlZmF1bHR2YWx1ZSAwXG4gICAqL1xuICBwdWJsaWMgc2V0IG1pblZhbHVlKHY6IG51bWJlcikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdtaW5WYWx1ZScsXG4gICAgICB2YWx1ZTogdiAhPSBudWxsID8gTnVtYmVyKHYpIDogTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIsXG4gICAgfSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9tYXhWYWx1ZTogbnVtYmVyID0gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7XG5cbiAgLyoqXG4gICAqICBTcGVjaWZpZXMgdGhlIGdyZWF0ZXN0IHZhbHVlIHRoYXQgaXMgdmFsaWRcbiAgICovXG4gIEBJbnB1dCgpXG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG1heGltdW0gYWxsb3dhYmxlIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIGdldCBtYXhWYWx1ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9tYXhWYWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBtYXhpbXVtIGFsbG93YWJsZSB2YWx1ZSwgZGVmYXVsdGluZyB0byBgTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJgIGlmIG51bGwuXG4gICAqIEBwYXJhbSB2XG4gICAqL1xuICBwdWJsaWMgc2V0IG1heFZhbHVlKHY6IG51bWJlcikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdtYXhWYWx1ZScsXG4gICAgICB2YWx1ZTogdiAhPSBudWxsID8gTnVtYmVyKHYpIDogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ1NTIGNsYXNzZXMgdG8gYXBwbHkgdG8gdGhlIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIGNsYXNzTmFtZXNcbiAgICovXG4gIEBJbnB1dCgnY2xhc3MnKVxuXG4gIC8qKlxuICAgKiBDU1MgY2xhc3NlcyB0byBhcHBseSB0byB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgY2xhc3NOYW1lczogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgX21hc2tPYmo6IE1hc2tlZE51bWJlcjtcblxuICAvKiogQGlnbm9yZSAqL1xuICBAVmlld0NoaWxkKElNYXNrRGlyZWN0aXZlKVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX21hc2tEaXJlY3RpdmU6IElNYXNrRGlyZWN0aXZlPE1hc2tlZE51bWJlcj47XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfb25XaGVlbEZsYWcgPSBmYWxzZTtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLm9uRm9jdXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuX29uV2hlZWxGbGFnID0gdHJ1ZTtcbiAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5zZWxlY3QoKTtcbiAgICB9KTtcbiAgICB0aGlzLm9uQmx1ci5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5fb25XaGVlbEZsYWcgPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl91cGRhdGVNYXNrKCk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlcyBpbnRlcm5hbCBvcHRpb24gY2hhbmdlcyBhbmQgdXBkYXRlcyB0aGUgbWFzayBhY2NvcmRpbmdseS5cbiAgICovXG4gIG92ZXJyaWRlIGludGVybmFsT3B0aW9uQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl91cGRhdGVNYXNrKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBpbnB1dCBlbGVtZW50IHRvIGl0cyBkZWZhdWx0IHN0YXRlIGFuZCBjYWxscyB0aGUgcGFyZW50IGNsYXNzIHJlc2V0IG1ldGhvZC5cbiAgICovXG4gIG92ZXJyaWRlIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XG4gICAgc3VwZXIucmVzZXQodHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICogRW5zdXJlcyB0aGUgdmFsdWUgaXMgd2l0aGluIHRoZSBtaW4tbWF4IHJhbmdlLCByZXR1cm5pbmcgdGhlIGRlZmF1bHQgaWYgbnVsbC5cbiAgICogQHBhcmFtIHZhbHVlXG4gICAqL1xuICBvdmVycmlkZSBpbnRlcm5hbFNldFZhbHVlKHZhbHVlOiBhbnkpOiBudW1iZXIge1xuICAgIC8vIHx8ICh2YWx1ZSA9PSAwICYmICF0aGlzLl9tYXNrT2JqLnZhbHVlKVxuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5kZWZhdWx0VmFsdWU7XG4gICAgfVxuICAgIGNvbnN0IHYgPSB0b051bWJlcih2YWx1ZSk7XG4gICAgaWYgKHYgPCB0aGlzLm1pblZhbHVlKSByZXR1cm4gdGhpcy5taW5WYWx1ZTtcbiAgICBpZiAodiA+IHRoaXMubWF4VmFsdWUpIHJldHVybiB0aGlzLm1heFZhbHVlO1xuICAgIHJldHVybiB2O1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfdXBkYXRlTWFzaygpIHtcbiAgICBpZiAoIXRoaXMuX21hc2tPYmopIHtcbiAgICAgIHRoaXMuX21hc2tPYmogPSBjcmVhdGVNYXNrKHtcbiAgICAgICAgbWFzazogTnVtYmVyLFxuICAgICAgICBtaW46IHRoaXMubWluVmFsdWUsXG4gICAgICAgIG1heDogdGhpcy5tYXhWYWx1ZSxcbiAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOiB0aGlzLnRob3VzYW5kc1NlcGFyYXRvciB8fCAnJyxcbiAgICAgICAgc2NhbGU6IHRoaXMuZGVjaW1hbHMsXG4gICAgICAgIHJhZGl4OiAnLicsXG4gICAgICAgIHBhZEZyYWN0aW9uYWxaZXJvczogdGhpcy5kZWNpbWFscyA+IDAgJiYgdGhpcy5wYWREZWNpbWFsWmVyb3MsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5fbWFza09iai5mb3JtYXQgPSAodjogbnVtYmVyLCBtKSA9PiB7XG4gICAgICAgIHJldHVybiAhaXNOYU4odilcbiAgICAgICAgICA/IHYudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xuICAgICAgICAgICAgICB1c2VHcm91cGluZzogZmFsc2UsXG4gICAgICAgICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMjAsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIDogJyc7XG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9tYXNrT2JqLnVwZGF0ZU9wdGlvbnMoe1xuICAgICAgICBtaW46IHRoaXMubWluVmFsdWUsXG4gICAgICAgIG1heDogdGhpcy5tYXhWYWx1ZSxcbiAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOiB0aGlzLnRob3VzYW5kc1NlcGFyYXRvciB8fCAnJyxcbiAgICAgICAgc2NhbGU6IHRoaXMuZGVjaW1hbHMsXG4gICAgICAgIHJhZGl4OiAnLicsXG4gICAgICAgIHBhZEZyYWN0aW9uYWxaZXJvczogdGhpcy5kZWNpbWFscyA+IDAgJiYgdGhpcy5wYWREZWNpbWFsWmVyb3MsXG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5fbWFza0RpcmVjdGl2ZT8ubWFza1JlZj8udXBkYXRlVmFsdWUoKTtcbiAgICB0aGlzLl9tYXNrRGlyZWN0aXZlPy5tYXNrUmVmPy51cGRhdGVDb250cm9sKCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBfaGFuZGxlTW9kZWxDaGFuZ2UodmFsdWU6IG51bWJlcikge1xuICAgIGlmICh2YWx1ZSA9PSAwICYmIGlzRW1wdHkodGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudD8udmFsdWUpKSB7XG4gICAgICB2YWx1ZSA9IG51bGw7XG4gICAgfVxuXG4gICAgdGhpcy5jb21taXRWYWx1ZSh2YWx1ZSwgdHJ1ZSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBfaGFuZGxlT25LZXlkb3duRXZlbnQoZTogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpIHJldHVybjtcbiAgICBjb25zdCBpZ25vcmUgPSAoKSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH07XG4gICAgY29uc3QgaW5wdXQgPSBlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGNvbnN0IHZhbFN0ciA9IGlucHV0LnZhbHVlO1xuICAgIGNvbnN0IGRlY2ltYWxQb2ludEluZGV4ID0gdmFsU3RyLmluZGV4T2YoJy4nKTtcbiAgICBjb25zdCBfY3Vyc29yUG9zID0gaW5wdXQuc2VsZWN0aW9uU3RhcnQhO1xuXG4gICAgaWYgKGUua2V5ID09PSAnQXJyb3dVcCcgfHwgZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICBpZiAoZGVjaW1hbFBvaW50SW5kZXggPiAwICYmIF9jdXJzb3JQb3MgPiBkZWNpbWFsUG9pbnRJbmRleCAmJiB0aGlzLmRlY2ltYWxzID4gMCkge1xuICAgICAgICBlLmtleSA9PT0gJ0Fycm93RG93bicgPyB0aGlzLmRlY2ltYWxTdGVwRG93bih0cnVlKSA6IHRoaXMuZGVjaW1hbFN0ZXBVcCh0cnVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGUua2V5ID09PSAnQXJyb3dEb3duJyA/IHRoaXMuc3RlcERvd24odHJ1ZSkgOiB0aGlzLnN0ZXBVcCh0cnVlKTtcbiAgICAgIH1cbiAgICAgIGlnbm9yZSgpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlucHV0LnNldFNlbGVjdGlvblJhbmdlKF9jdXJzb3JQb3MsIF9jdXJzb3JQb3MpO1xuICAgICAgfSwgNSk7XG4gICAgfVxuICAgIHN1cGVyLmVtaXRPbktleWRvd25FdmVudChlKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBfaGFuZGxlVXBEb3duQ2xpY2sodjogLTEgfCAxLCBlOiBFdmVudCkge1xuICAgIGNvbnN0IGlzVXNlckludGVyYWN0aW9uID0gZS5pc1RydXN0ZWQ7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5yZWFkb25seSkgcmV0dXJuO1xuICAgIHYgPT0gMSA/IHRoaXMuc3RlcFVwKGlzVXNlckludGVyYWN0aW9uKSA6IHRoaXMuc3RlcERvd24oaXNVc2VySW50ZXJhY3Rpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIEluY3JlYXNlcyB0aGUgdmFsdWUgYnkgdGhlIHN0ZXAgYW1vdW50LCBlbnN1cmluZyBpdCdzIGF0IGxlYXN0IHRoZSBtaW5pbXVtIHZhbHVlLlxuICAgKi9cbiAgc3RlcFVwKHUgPSBmYWxzZSkge1xuICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5jb21taXRWYWx1ZShNYXRoLm1heCh0aGlzLm1pblZhbHVlLCAwKSwgdSk7XG4gICAgfVxuICAgIHRoaXMuY29tbWl0VmFsdWUodGhpcy52YWx1ZSArIHRvTnVtYmVyKHRoaXMuc3RlcCksIHUpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlY3JlYXNlcyB0aGUgdmFsdWUgYnkgdGhlIHN0ZXAgYW1vdW50LCBlbnN1cmluZyBpdCdzIGF0IGxlYXN0IHRoZSBtaW5pbXVtIHZhbHVlLlxuICAgKi9cbiAgc3RlcERvd24odSA9IGZhbHNlKSB7XG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLmNvbW1pdFZhbHVlKE1hdGgubWF4KHRoaXMubWluVmFsdWUsIDApLCB1KTtcbiAgICB9XG4gICAgdGhpcy5jb21taXRWYWx1ZSh0aGlzLnZhbHVlIC0gdG9OdW1iZXIodGhpcy5zdGVwKSwgdSk7XG4gIH1cblxuICAvKipcbiAgICogSW5jcmVhc2VzIHRoZSB2YWx1ZSBieSB0aGUgZGVjaW1hbCBzdGVwIGFtb3VudCwgdXNpbmcgJ2F1dG8nIG9yIGEgY3VzdG9tIHN0ZXAgdmFsdWUuXG4gICAqL1xuICBkZWNpbWFsU3RlcFVwKHUgPSBmYWxzZSkge1xuICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5jb21taXRWYWx1ZShNYXRoLm1heCh0aGlzLm1pblZhbHVlLCAwKSwgdSk7XG4gICAgfVxuICAgIHRoaXMuY29tbWl0VmFsdWUoXG4gICAgICB0aGlzLnZhbHVlICsgdG9OdW1iZXIodGhpcy5kZWNpbWFsU3RlcCA9PSAnYXV0bycgPyAxIC8gTWF0aC5wb3coMTAsIHRoaXMuZGVjaW1hbHMpIDogdGhpcy5kZWNpbWFsU3RlcCksXG4gICAgICB1LFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRGVjcmVhc2VzIHRoZSB2YWx1ZSBieSB0aGUgZGVjaW1hbCBzdGVwIGFtb3VudCwgdXNpbmcgJ2F1dG8nIG9yIGEgY3VzdG9tIHN0ZXAgdmFsdWUuXG4gICAqL1xuICBkZWNpbWFsU3RlcERvd24odSA9IGZhbHNlKSB7XG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLmNvbW1pdFZhbHVlKE1hdGgubWF4KHRoaXMubWluVmFsdWUsIDApLCB1KTtcbiAgICB9XG4gICAgdGhpcy5jb21taXRWYWx1ZShcbiAgICAgIHRoaXMudmFsdWUgLSB0b051bWJlcih0aGlzLmRlY2ltYWxTdGVwID09ICdhdXRvJyA/IDEgLyBNYXRoLnBvdygxMCwgdGhpcy5kZWNpbWFscykgOiB0aGlzLmRlY2ltYWxTdGVwKSxcbiAgICAgIHUsXG4gICAgKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3doZWVsJywgWyckZXZlbnQnXSlcbiAgb25XaGVlbChldmVudDogV2hlZWxFdmVudCkge1xuICAgIGlmICh0aGlzLmNoYW5nZU9uU2Nyb2xsICYmIHRoaXMuX29uV2hlZWxGbGFnKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgaWYgKCF0aGlzLmRpc2FibGVkICYmICF0aGlzLnJlYWRvbmx5KSB7XG4gICAgICAgIGlmIChldmVudC5kZWx0YVkgPiAwKSB7XG4gICAgICAgICAgdGhpcy5jb21taXRWYWx1ZSh0aGlzLnZhbHVlIC0gdGhpcy5zdGVwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmNvbW1pdFZhbHVlKHRoaXMudmFsdWUgKyB0aGlzLnN0ZXApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLm5hbWUnKVxuICBwcml2YXRlIGdldCBfX2hvc3ROYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImF4LWVkaXRvci1jb250YWluZXIge3sgY2xhc3NOYW1lcyB9fSBheC17eyBsb29rIH19XCJcbiAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2NsYXNzLmF4LXN0YXRlLXJlYWRvbmx5XT1cInJlYWRvbmx5XCJcbj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtcHJlZml4XCI+IDwvbmctY29udGVudD5cbiAgPGlucHV0XG4gICAgI2lucHV0XG4gICAgY2xhc3M9XCJheC1pbnB1dFwiXG4gICAgW2F0dHIudHlwZV09XCJ0eXBlKClcIlxuICAgIFtpZF09XCJpZFwiXG4gICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFthdHRyLmF1dG9jb21wbGV0ZV09XCInb2ZmJ1wiXG4gICAgW2ltYXNrXT1cIl9tYXNrT2JqXCJcbiAgICBbdW5tYXNrXT1cIid0eXBlZCdcIlxuICAgIFthdHRyLm1pbl09XCJtaW5WYWx1ZVwiXG4gICAgW2F0dHIubWF4XT1cIm1heFZhbHVlXCJcbiAgICBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtjbGFzcy5heC1zdGF0ZS1yZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgIFt0YWJpbmRleF09XCJ0YWJJbmRleFwiXG4gICAgW25nTW9kZWxdPVwidmFsdWVcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIl9oYW5kbGVNb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bik9XCJfaGFuZGxlT25LZXlkb3duRXZlbnQoJGV2ZW50KVwiXG4gICAgKGtleXVwKT1cImVtaXRPbktleXVwRXZlbnQoJGV2ZW50KVwiXG4gICAgKGtleXByZXNzKT1cImVtaXRPbktleXByZXNzRXZlbnQoJGV2ZW50KVwiXG4gICAgKGZvY3VzKT1cImVtaXRPbkZvY3VzRXZlbnQoJGV2ZW50KVwiXG4gICAgKGJsdXIpPVwiZW1pdE9uQmx1ckV2ZW50KCRldmVudClcIlxuICAvPlxuICBAaWYgKGlucHV0LnZhbHVlICYmICFkaXNhYmxlZCAmJiAhcmVhZG9ubHkpIHtcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1jbGVhci1idXR0b25cIj48L25nLWNvbnRlbnQ+XG4gIH1cbiAgQGlmIChzaG93U3BpbkJ1dHRvbnMpIHtcbiAgICA8ZGl2IGNsYXNzPVwiYXgtbnVtYmVyLWJveC1jb250cm9sXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImF4LWVkaXRvci1idXR0b25cIlxuICAgICAgICBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAoY2xpY2spPVwiX2hhbmRsZVVwRG93bkNsaWNrKDEsICRldmVudClcIlxuICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1pY29uIGF4LWljb24tY2hldnJvbi11cCBheC1hcnJvdy1idXR0b25cIj48L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiYXgtZWRpdG9yLWJ1dHRvblwiXG4gICAgICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJfaGFuZGxlVXBEb3duQ2xpY2soLTEsICRldmVudClcIlxuICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1pY29uIGF4LWljb24tY2hldnJvbi1kb3duIGF4LWFycm93LWJ1dHRvblwiPjwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICB9XG5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtc3VmZml4XCI+IDwvbmctY29udGVudD5cbjwvZGl2PlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtdmFsaWRhdGlvbi1ydWxlXCI+IDwvbmctY29udGVudD5cbjxkaXYgY2xhc3M9XCJheC1lcnJvci1jb250YWluZXJcIj48L2Rpdj5cbiJdfQ==","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { IMaskModule } from 'angular-imask';\nimport { AXNumberBoxComponent } from './number-box.component';\nimport * as i0 from \"@angular/core\";\nconst COMPONENT = [AXNumberBoxComponent];\nconst MODULES = [CommonModule, FormsModule, AXButtonModule, AXDecoratorModule, IMaskModule];\nexport class AXNumberBoxModule {\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXNumberBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n    static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXNumberBoxModule, imports: [CommonModule, FormsModule, AXButtonModule, AXDecoratorModule, IMaskModule, AXNumberBoxComponent], exports: [AXNumberBoxComponent] }); }\n    static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXNumberBoxModule, imports: [MODULES, COMPONENT] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXNumberBoxModule, decorators: [{\n            type: NgModule,\n            args: [{\n                    imports: [...MODULES, ...COMPONENT],\n                    exports: [...COMPONENT],\n                    providers: [],\n                }]\n        }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJveC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL251bWJlci1ib3gvc3JjL2xpYi9udW1iZXItYm94Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRTlELE1BQU0sU0FBUyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUN6QyxNQUFNLE9BQU8sR0FBRyxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBTzVGLE1BQU0sT0FBTyxpQkFBaUI7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLFlBUGIsWUFBWSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUR2RSxvQkFBb0IsYUFBcEIsb0JBQW9COytHQVExQixpQkFBaUIsWUFKZixPQUFPLEVBQUssU0FBUzs7MkZBSXZCLGlCQUFpQjtrQkFMN0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxHQUFHLE9BQU8sRUFBRSxHQUFHLFNBQVMsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQ3ZCLFNBQVMsRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElNYXNrTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1pbWFzayc7XG5pbXBvcnQgeyBBWE51bWJlckJveENvbXBvbmVudCB9IGZyb20gJy4vbnVtYmVyLWJveC5jb21wb25lbnQnO1xuXG5jb25zdCBDT01QT05FTlQgPSBbQVhOdW1iZXJCb3hDb21wb25lbnRdO1xuY29uc3QgTU9EVUxFUyA9IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBBWEJ1dHRvbk1vZHVsZSwgQVhEZWNvcmF0b3JNb2R1bGUsIElNYXNrTW9kdWxlXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogWy4uLk1PRFVMRVMsIC4uLkNPTVBPTkVOVF0sXG4gIGV4cG9ydHM6IFsuLi5DT01QT05FTlRdLFxuICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE51bWJlckJveE1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtbnVtYmVyLWJveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbnVtYmVyLWJveC9zcmMvYWNvcmV4LWNvbXBvbmVudHMtbnVtYmVyLWJveC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
         
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"acorex-components-number-box.mjs","sources":["../tmp-esm2022/number-box/lib/number-box.component.js","../tmp-esm2022/number-box/lib/number-box.module.js","../tmp-esm2022/number-box/acorex-components-number-box.js"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, HostListener, Input, ViewChild, ViewEncapsulation, forwardRef, input, } from '@angular/core';\nimport { IMaskDirective } from 'angular-imask';\nimport { createMask } from 'imask';\nimport { AXClearableComponent, AXComponent, AXFocusableComponent, AXValuableComponent, MXInputBaseValueComponent, MXLookComponent, } from '@acorex/cdk/common';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { isEmpty, toNumber } from 'lodash-es';\nimport { classes } from 'polytype';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\n/**\n * The NumberBox is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\nexport class AXNumberBoxComponent extends classes((MXInputBaseValueComponent), MXLookComponent) {\n    /**\n     *  A number value that specifies the all digits of number.\n     */\n    get allDigits() {\n        return this._allDigits;\n    }\n    /**\n     * Sets the all digits of number.\n     * @param {number} v\n     */\n    set allDigits(v) {\n        this.setOption({\n            name: 'allDigits',\n            value: v,\n        });\n    }\n    /**\n     *  A character value that specifies the separator character.\n     */\n    get thousandsSeparator() {\n        return this._thousandsSeparator;\n    }\n    /**\n     * Sets the thousands separator for formatting.\n     * @param {string} v\n     */\n    set thousandsSeparator(v) {\n        this.setOption({\n            name: 'thousandsSeparator',\n            value: v ?? '',\n        });\n    }\n    /**\n     *  A character value that specifies the separator character.\n     */\n    get padDecimalZeros() {\n        return this._padDecimalZeros;\n    }\n    /**\n     * Sets whether decimal zeros should be padded.\n     * @param {boolean} v\n     */\n    set padDecimalZeros(v) {\n        this.setOption({\n            name: 'padDecimalZeros',\n            value: v,\n        });\n    }\n    /**\n     *  Specifies the number of decimals that the user can enter\n     */\n    get decimals() {\n        return this._decimals;\n    }\n    /**\n     * Sets the decimal places; defaults to 0 if not provided.\n     */\n    set decimals(v) {\n        this.setOption({\n            name: 'decimals',\n            value: v ?? 0,\n        });\n    }\n    /**\n     *  Specifies the smallest value that is valid\n     */\n    get minValue() {\n        return this._minValue;\n    }\n    /**\n     * Sets the number of decimal places to be used.\n     * @param {number} v\n     * @defaultvalue 0\n     */\n    set minValue(v) {\n        this.setOption({\n            name: 'minValue',\n            value: v != null ? Number(v) : Number.MIN_SAFE_INTEGER,\n        });\n    }\n    /**\n     *  Specifies the greatest value that is valid\n     */\n    get maxValue() {\n        return this._maxValue;\n    }\n    /**\n     * Sets the maximum allowable value, defaulting to `Number.MAX_SAFE_INTEGER` if null.\n     * @param v\n     */\n    set maxValue(v) {\n        this.setOption({\n            name: 'maxValue',\n            value: v != null ? Number(v) : Number.MAX_SAFE_INTEGER,\n        });\n    }\n    constructor() {\n        super();\n        /**\n         * This property determines the type of the input element (e.g., 'text', 'password', 'email', etc.). It can be dynamically bound from a parent component template to change the input field type based on different conditions or requirements.\n         */\n        this.type = input('tel', ...(ngDevMode ? [{ debugName: \"type\" }] : []));\n        /**\n         *  boolean value that specifies the number box change step by scrolling.\n         */\n        this.changeOnScroll = false;\n        /** @ignore */\n        this._allDigits = 0;\n        /** @ignore */\n        this._padDecimalZeros = false;\n        /**\n         *  Specifies the value that is used to increment or decrement the **Integer** part of number\n         */\n        this.step = 1;\n        /** @ignore */\n        this._decimals = 0;\n        /**\n         *  Specifies the value that is used to increment or decrement the **Deciaml** part of number\n         */\n        this.decimalStep = 'auto';\n        /**\n         *  Specifies whether the Up and Down spin buttons will be rendered or not\n         */\n        this.showSpinButtons = true;\n        /** @ignore */\n        this._minValue = Number.MIN_SAFE_INTEGER;\n        /** @ignore */\n        this._maxValue = Number.MAX_SAFE_INTEGER;\n        /** @ignore */\n        this._onWheelFlag = false;\n        this.onFocus.subscribe(() => {\n            this._onWheelFlag = true;\n            this.input.nativeElement.select();\n        });\n        this.onBlur.subscribe(() => {\n            this._onWheelFlag = false;\n        });\n    }\n    /** @ignore */\n    ngAfterViewInit() {\n        this._updateMask();\n    }\n    /**\n     * Handles internal option changes and updates the mask accordingly.\n     */\n    internalOptionChanged() {\n        this._updateMask();\n    }\n    /**\n     * Resets the input element to its default state and calls the parent class reset method.\n     */\n    reset() {\n        this.input.nativeElement.value = null;\n        super.reset(true);\n    }\n    /**\n     * Ensures the value is within the min-max range, returning the default if null.\n     * @param value\n     */\n    internalSetValue(value) {\n        // || (value == 0 && !this._maskObj.value)\n        if (value == null) {\n            return this.defaultValue;\n        }\n        const v = toNumber(value);\n        if (v < this.minValue)\n            return this.minValue;\n        if (v > this.maxValue)\n            return this.maxValue;\n        return v;\n    }\n    /** @ignore */\n    _updateMask() {\n        if (!this._maskObj) {\n            this._maskObj = createMask({\n                mask: Number,\n                min: this.minValue,\n                max: this.maxValue,\n                thousandsSeparator: this.thousandsSeparator || '',\n                scale: this.decimals,\n                radix: '.',\n                padFractionalZeros: this.decimals > 0 && this.padDecimalZeros,\n            });\n            this._maskObj.format = (v, m) => {\n                return !isNaN(v)\n                    ? v.toLocaleString('en-US', {\n                        useGrouping: false,\n                        maximumFractionDigits: 20,\n                    })\n                    : '';\n            };\n        }\n        else {\n            this._maskObj.updateOptions({\n                min: this.minValue,\n                max: this.maxValue,\n                thousandsSeparator: this.thousandsSeparator || '',\n                scale: this.decimals,\n                radix: '.',\n                padFractionalZeros: this.decimals > 0 && this.padDecimalZeros,\n            });\n        }\n        this._maskDirective?.maskRef?.updateValue();\n        this._maskDirective?.maskRef?.updateControl();\n    }\n    /** @ignore */\n    _handleModelChange(value) {\n        if (value == 0 && isEmpty(this.input?.nativeElement?.value)) {\n            value = null;\n        }\n        this.commitValue(value, true);\n    }\n    /** @ignore */\n    _handleOnKeydownEvent(e) {\n        if (this.disabled || this.readonly)\n            return;\n        const ignore = () => {\n            e.preventDefault();\n            e.stopPropagation();\n        };\n        const input = e.target;\n        const valStr = input.value;\n        const decimalPointIndex = valStr.indexOf('.');\n        const _cursorPos = input.selectionStart;\n        if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {\n            if (decimalPointIndex > 0 && _cursorPos > decimalPointIndex && this.decimals > 0) {\n                e.key === 'ArrowDown' ? this.decimalStepDown(true) : this.decimalStepUp(true);\n            }\n            else {\n                e.key === 'ArrowDown' ? this.stepDown(true) : this.stepUp(true);\n            }\n            ignore();\n            setTimeout(() => {\n                input.setSelectionRange(_cursorPos, _cursorPos);\n            }, 5);\n        }\n        super.emitOnKeydownEvent(e);\n    }\n    /** @ignore */\n    _handleUpDownClick(v, e) {\n        const isUserInteraction = e.isTrusted;\n        if (this.disabled || this.readonly)\n            return;\n        v == 1 ? this.stepUp(isUserInteraction) : this.stepDown(isUserInteraction);\n    }\n    /**\n     * Increases the value by the step amount, ensuring it's at least the minimum value.\n     */\n    stepUp(u = false) {\n        if (!this.value) {\n            this.commitValue(Math.max(this.minValue, 0), u);\n        }\n        this.commitValue(this.value + toNumber(this.step), u);\n    }\n    /**\n     * Decreases the value by the step amount, ensuring it's at least the minimum value.\n     */\n    stepDown(u = false) {\n        if (!this.value) {\n            this.commitValue(Math.max(this.minValue, 0), u);\n        }\n        this.commitValue(this.value - toNumber(this.step), u);\n    }\n    /**\n     * Increases the value by the decimal step amount, using 'auto' or a custom step value.\n     */\n    decimalStepUp(u = false) {\n        if (!this.value) {\n            this.commitValue(Math.max(this.minValue, 0), u);\n        }\n        this.commitValue(this.value + toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep), u);\n    }\n    /**\n     * Decreases the value by the decimal step amount, using 'auto' or a custom step value.\n     */\n    decimalStepDown(u = false) {\n        if (!this.value) {\n            this.commitValue(Math.max(this.minValue, 0), u);\n        }\n        this.commitValue(this.value - toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep), u);\n    }\n    onWheel(event) {\n        if (this.changeOnScroll && this._onWheelFlag) {\n            event.preventDefault();\n            if (!this.disabled && !this.readonly) {\n                if (event.deltaY > 0) {\n                    this.commitValue(this.value - this.step);\n                }\n                else {\n                    this.commitValue(this.value + this.step);\n                }\n            }\n        }\n    }\n    get __hostName() {\n        return this.name;\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.6\", ngImport: i0, type: AXNumberBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.6\", type: AXNumberBoxComponent, isStandalone: true, selector: \"ax-number-box\", inputs: { disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: \"readonly\", publicName: \"readonly\", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: \"tabIndex\", publicName: \"tabIndex\", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: \"placeholder\", publicName: \"placeholder\", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: \"value\", publicName: \"value\", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: \"state\", publicName: \"state\", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: \"name\", publicName: \"name\", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: \"id\", publicName: \"id\", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: \"look\", publicName: \"look\", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: \"type\", publicName: \"type\", isSignal: true, isRequired: false, transformFunction: null }, changeOnScroll: { classPropertyName: \"changeOnScroll\", publicName: \"changeOnScroll\", isSignal: false, isRequired: false, transformFunction: null }, allDigits: { classPropertyName: \"allDigits\", publicName: \"allDigits\", isSignal: false, isRequired: false, transformFunction: null }, thousandsSeparator: { classPropertyName: \"thousandsSeparator\", publicName: \"thousandsSeparator\", isSignal: false, isRequired: false, transformFunction: null }, padDecimalZeros: { classPropertyName: \"padDecimalZeros\", publicName: \"padDecimalZeros\", isSignal: false, isRequired: false, transformFunction: null }, step: { classPropertyName: \"step\", publicName: \"step\", isSignal: false, isRequired: false, transformFunction: null }, decimals: { classPropertyName: \"decimals\", publicName: \"decimals\", isSignal: false, isRequired: false, transformFunction: null }, decimalStep: { classPropertyName: \"decimalStep\", publicName: \"decimalStep\", isSignal: false, isRequired: false, transformFunction: null }, showSpinButtons: { classPropertyName: \"showSpinButtons\", publicName: \"showSpinButtons\", isSignal: false, isRequired: false, transformFunction: null }, minValue: { classPropertyName: \"minValue\", publicName: \"minValue\", isSignal: false, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: \"maxValue\", publicName: \"maxValue\", isSignal: false, isRequired: false, transformFunction: null }, classNames: { classPropertyName: \"classNames\", publicName: \"class\", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { valueChange: \"valueChange\", stateChange: \"stateChange\", onValueChanged: \"onValueChanged\", onBlur: \"onBlur\", onFocus: \"onFocus\", readonlyChange: \"readonlyChange\", disabledChange: \"disabledChange\", onKeyDown: \"onKeyDown\", onKeyUp: \"onKeyUp\", onKeyPress: \"onKeyPress\" }, host: { listeners: { \"wheel\": \"onWheel($event)\" }, properties: { \"attr.name\": \"this.__hostName\" } }, providers: [\n            { provide: AXComponent, useExisting: AXNumberBoxComponent },\n            { provide: AXFocusableComponent, useExisting: AXNumberBoxComponent },\n            { provide: AXClearableComponent, useExisting: AXNumberBoxComponent },\n            { provide: AXValuableComponent, useExisting: AXNumberBoxComponent },\n            {\n                provide: NG_VALUE_ACCESSOR,\n                useExisting: forwardRef(() => AXNumberBoxComponent),\n                multi: true,\n            },\n        ], viewQueries: [{ propertyName: \"input\", first: true, predicate: [\"input\"], descendants: true }, { propertyName: \"_maskDirective\", first: true, predicate: IMaskDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: \"<div\\n  class=\\\"ax-editor-container {{ classNames }} ax-{{ look }}\\\"\\n  [class.ax-state-disabled]=\\\"disabled\\\"\\n  [class.ax-state-readonly]=\\\"readonly\\\"\\n>\\n  <ng-content select=\\\"ax-prefix\\\"> </ng-content>\\n  <input\\n    #input\\n    class=\\\"ax-input\\\"\\n    [attr.type]=\\\"type()\\\"\\n    [id]=\\\"id\\\"\\n    [attr.placeholder]=\\\"placeholder\\\"\\n    [attr.autocomplete]=\\\"'off'\\\"\\n    [imask]=\\\"_maskObj\\\"\\n    [unmask]=\\\"'typed'\\\"\\n    [attr.min]=\\\"minValue\\\"\\n    [attr.max]=\\\"maxValue\\\"\\n    [class.ax-state-disabled]=\\\"disabled\\\"\\n    [class.ax-state-readonly]=\\\"readonly\\\"\\n    [disabled]=\\\"disabled\\\"\\n    [readonly]=\\\"readonly\\\"\\n    [tabindex]=\\\"tabIndex\\\"\\n    [ngModel]=\\\"value\\\"\\n    (ngModelChange)=\\\"_handleModelChange($event)\\\"\\n    (keydown)=\\\"_handleOnKeydownEvent($event)\\\"\\n    (keyup)=\\\"emitOnKeyupEvent($event)\\\"\\n    (keypress)=\\\"emitOnKeypressEvent($event)\\\"\\n    (focus)=\\\"emitOnFocusEvent($event)\\\"\\n    (blur)=\\\"emitOnBlurEvent($event)\\\"\\n  />\\n  @if (input.value && !disabled && !readonly) {\\n    <ng-content select=\\\"ax-clear-button\\\"></ng-content>\\n  }\\n  @if (showSpinButtons) {\\n    <div class=\\\"ax-number-box-control\\\">\\n      <button\\n        type=\\\"button\\\"\\n        class=\\\"ax-editor-button\\\"\\n        [class.ax-state-disabled]=\\\"disabled\\\"\\n        (click)=\\\"_handleUpDownClick(1, $event)\\\"\\n        tabindex=\\\"-1\\\"\\n        [disabled]=\\\"disabled\\\"\\n      >\\n        <span class=\\\"ax-icon ax-icon-chevron-up ax-arrow-button\\\"></span>\\n      </button>\\n      <button\\n        type=\\\"button\\\"\\n        class=\\\"ax-editor-button\\\"\\n        [class.ax-state-disabled]=\\\"disabled\\\"\\n        (click)=\\\"_handleUpDownClick(-1, $event)\\\"\\n        tabindex=\\\"-1\\\"\\n        [disabled]=\\\"disabled\\\"\\n      >\\n        <span class=\\\"ax-icon ax-icon-chevron-down ax-arrow-button\\\"></span>\\n      </button>\\n    </div>\\n  }\\n\\n  <ng-content select=\\\"ax-suffix\\\"> </ng-content>\\n</div>\\n<ng-content select=\\\"ax-validation-rule\\\"> </ng-content>\\n<div class=\\\"ax-error-container\\\"></div>\\n\", styles: [\"ax-number-box input::-webkit-outer-spin-button,ax-number-box input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}ax-number-box input[type=number]{-moz-appearance:textfield}ax-number-box .ax-number-box-control{--ax-comp-editor-button-height: 50%;--ax-comp-editor-button-font-size: .75rem;height:100%;display:flex;flex-direction:column}ax-number-box .ax-number-box-control button{font-size:.75rem}ax-number-box .ax-number-box-control button:first-child{align-items:flex-end;display:flex}ax-number-box .ax-number-box-control button:last-child{align-items:flex-start;display:flex}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"directive\", type: IMaskDirective, selector: \"[imask]\", inputs: [\"imask\", \"unmask\", \"imaskElement\"], outputs: [\"accept\", \"complete\"], exportAs: [\"imask\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.6\", ngImport: i0, type: AXNumberBoxComponent, decorators: [{\n            type: Component,\n            args: [{ selector: 'ax-number-box', inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id', 'look'], outputs: [\n                        'valueChange',\n                        'stateChange',\n                        'onValueChanged',\n                        'onBlur',\n                        'onFocus',\n                        'readonlyChange',\n                        'disabledChange',\n                        'onKeyDown',\n                        'onKeyUp',\n                        'onKeyPress',\n                    ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [\n                        { provide: AXComponent, useExisting: AXNumberBoxComponent },\n                        { provide: AXFocusableComponent, useExisting: AXNumberBoxComponent },\n                        { provide: AXClearableComponent, useExisting: AXNumberBoxComponent },\n                        { provide: AXValuableComponent, useExisting: AXNumberBoxComponent },\n                        {\n                            provide: NG_VALUE_ACCESSOR,\n                            useExisting: forwardRef(() => AXNumberBoxComponent),\n                            multi: true,\n                        },\n                    ], imports: [FormsModule, IMaskDirective], template: \"<div\\n  class=\\\"ax-editor-container {{ classNames }} ax-{{ look }}\\\"\\n  [class.ax-state-disabled]=\\\"disabled\\\"\\n  [class.ax-state-readonly]=\\\"readonly\\\"\\n>\\n  <ng-content select=\\\"ax-prefix\\\"> </ng-content>\\n  <input\\n    #input\\n    class=\\\"ax-input\\\"\\n    [attr.type]=\\\"type()\\\"\\n    [id]=\\\"id\\\"\\n    [attr.placeholder]=\\\"placeholder\\\"\\n    [attr.autocomplete]=\\\"'off'\\\"\\n    [imask]=\\\"_maskObj\\\"\\n    [unmask]=\\\"'typed'\\\"\\n    [attr.min]=\\\"minValue\\\"\\n    [attr.max]=\\\"maxValue\\\"\\n    [class.ax-state-disabled]=\\\"disabled\\\"\\n    [class.ax-state-readonly]=\\\"readonly\\\"\\n    [disabled]=\\\"disabled\\\"\\n    [readonly]=\\\"readonly\\\"\\n    [tabindex]=\\\"tabIndex\\\"\\n    [ngModel]=\\\"value\\\"\\n    (ngModelChange)=\\\"_handleModelChange($event)\\\"\\n    (keydown)=\\\"_handleOnKeydownEvent($event)\\\"\\n    (keyup)=\\\"emitOnKeyupEvent($event)\\\"\\n    (keypress)=\\\"emitOnKeypressEvent($event)\\\"\\n    (focus)=\\\"emitOnFocusEvent($event)\\\"\\n    (blur)=\\\"emitOnBlurEvent($event)\\\"\\n  />\\n  @if (input.value && !disabled && !readonly) {\\n    <ng-content select=\\\"ax-clear-button\\\"></ng-content>\\n  }\\n  @if (showSpinButtons) {\\n    <div class=\\\"ax-number-box-control\\\">\\n      <button\\n        type=\\\"button\\\"\\n        class=\\\"ax-editor-button\\\"\\n        [class.ax-state-disabled]=\\\"disabled\\\"\\n        (click)=\\\"_handleUpDownClick(1, $event)\\\"\\n        tabindex=\\\"-1\\\"\\n        [disabled]=\\\"disabled\\\"\\n      >\\n        <span class=\\\"ax-icon ax-icon-chevron-up ax-arrow-button\\\"></span>\\n      </button>\\n      <button\\n        type=\\\"button\\\"\\n        class=\\\"ax-editor-button\\\"\\n        [class.ax-state-disabled]=\\\"disabled\\\"\\n        (click)=\\\"_handleUpDownClick(-1, $event)\\\"\\n        tabindex=\\\"-1\\\"\\n        [disabled]=\\\"disabled\\\"\\n      >\\n        <span class=\\\"ax-icon ax-icon-chevron-down ax-arrow-button\\\"></span>\\n      </button>\\n    </div>\\n  }\\n\\n  <ng-content select=\\\"ax-suffix\\\"> </ng-content>\\n</div>\\n<ng-content select=\\\"ax-validation-rule\\\"> </ng-content>\\n<div class=\\\"ax-error-container\\\"></div>\\n\", styles: [\"ax-number-box input::-webkit-outer-spin-button,ax-number-box input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}ax-number-box input[type=number]{-moz-appearance:textfield}ax-number-box .ax-number-box-control{--ax-comp-editor-button-height: 50%;--ax-comp-editor-button-font-size: .75rem;height:100%;display:flex;flex-direction:column}ax-number-box .ax-number-box-control button{font-size:.75rem}ax-number-box .ax-number-box-control button:first-child{align-items:flex-end;display:flex}ax-number-box .ax-number-box-control button:last-child{align-items:flex-start;display:flex}\\n\"] }]\n        }], ctorParameters: () => [], propDecorators: { input: [{\n                type: ViewChild,\n                args: ['input']\n            }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: \"type\", required: false }] }], changeOnScroll: [{\n                type: Input\n            }], allDigits: [{\n                type: Input\n            }], thousandsSeparator: [{\n                type: Input\n            }], padDecimalZeros: [{\n                type: Input\n            }], step: [{\n                type: Input\n            }], decimals: [{\n                type: Input\n            }], decimalStep: [{\n                type: Input\n            }], showSpinButtons: [{\n                type: Input\n            }], minValue: [{\n                type: Input\n            }], maxValue: [{\n                type: Input\n            }], classNames: [{\n                type: Input,\n                args: ['class']\n            }], _maskDirective: [{\n                type: ViewChild,\n                args: [IMaskDirective]\n            }], onWheel: [{\n                type: HostListener,\n                args: ['wheel', ['$event']]\n            }], __hostName: [{\n                type: HostBinding,\n                args: ['attr.name']\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL251bWJlci1ib3gvc3JjL2xpYi9udW1iZXItYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbnVtYmVyLWJveC9zcmMvbGliL251bWJlci1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsVUFBVSxFQUNWLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRWpELE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsV0FBVyxFQUNYLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIseUJBQXlCLEVBQ3pCLGVBQWUsR0FDaEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQzs7O0FBRW5DOzs7O0dBSUc7QUFpQ0gsTUFBTSxPQUFPLG9CQUNYLFNBQVEsT0FBTyxDQUFDLENBQUEseUJBQWlDLENBQUEsRUFBRSxlQUFlLENBQUM7SUFzQm5FOztPQUVHO0lBQ0gsSUFLVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBQ0Q7OztP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LEVBQUUsSUFBSTt5QkFDWjtxQkFDRixXQUNRLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQzs7c0JBT3JDLFNBQVM7dUJBQUMsT0FBTzs7c0JBYWpCLEtBQUs7O3NCQVFMLEtBQUs7O3NCQXNCTCxLQUFLOztzQkEwQkwsS0FBSzs7c0JBd0JMLEtBQUs7O3NCQVlMLEtBQUs7O3NCQXNCTCxLQUFLOztzQkFXTCxLQUFLOztzQkFhTCxLQUFLOztzQkE0QkwsS0FBSzs7c0JBd0JMLEtBQUs7dUJBQUMsT0FBTzs7c0JBYWIsU0FBUzt1QkFBQyxjQUFjOztzQkFnTHhCLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFjaEMsV0FBVzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGZvcndhcmRSZWYsXG4gIGlucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElNYXNrRGlyZWN0aXZlIH0gZnJvbSAnYW5ndWxhci1pbWFzayc7XG5pbXBvcnQgeyBNYXNrZWROdW1iZXIsIGNyZWF0ZU1hc2sgfSBmcm9tICdpbWFzayc7XG5cbmltcG9ydCB7XG4gIEFYQ2xlYXJhYmxlQ29tcG9uZW50LFxuICBBWENvbXBvbmVudCxcbiAgQVhGb2N1c2FibGVDb21wb25lbnQsXG4gIEFYVmFsdWFibGVDb21wb25lbnQsXG4gIE1YSW5wdXRCYXNlVmFsdWVDb21wb25lbnQsXG4gIE1YTG9va0NvbXBvbmVudCxcbn0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGlzRW1wdHksIHRvTnVtYmVyIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tICdwb2x5dHlwZSc7XG5cbi8qKlxuICogVGhlIE51bWJlckJveCBpcyBhIGNvbXBvbmVudCB3aGljaCBkZXRlY3RzIHVzZXIgaW50ZXJhY3Rpb24gYW5kIHRyaWdnZXJzIGEgY29ycmVzcG9uZGluZyBldmVudFxuICpcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LW51bWJlci1ib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vbnVtYmVyLWJveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL251bWJlci1ib3guY29tcG9uZW50LnNjc3MnXSxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ3JlYWRvbmx5JywgJ3RhYkluZGV4JywgJ3BsYWNlaG9sZGVyJywgJ3ZhbHVlJywgJ3N0YXRlJywgJ25hbWUnLCAnaWQnLCAnbG9vayddLFxuICBvdXRwdXRzOiBbXG4gICAgJ3ZhbHVlQ2hhbmdlJyxcbiAgICAnc3RhdGVDaGFuZ2UnLFxuICAgICdvblZhbHVlQ2hhbmdlZCcsXG4gICAgJ29uQmx1cicsXG4gICAgJ29uRm9jdXMnLFxuICAgICdyZWFkb25seUNoYW5nZScsXG4gICAgJ2Rpc2FibGVkQ2hhbmdlJyxcbiAgICAnb25LZXlEb3duJyxcbiAgICAnb25LZXlVcCcsXG4gICAgJ29uS2V5UHJlc3MnLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTnVtYmVyQm94Q29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWEZvY3VzYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTnVtYmVyQm94Q29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWENsZWFyYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTnVtYmVyQm94Q29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWFZhbHVhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhOdW1iZXJCb3hDb21wb25lbnQgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFYTnVtYmVyQm94Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgSU1hc2tEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE51bWJlckJveENvbXBvbmVudFxuICBleHRlbmRzIGNsYXNzZXMoTVhJbnB1dEJhc2VWYWx1ZUNvbXBvbmVudDxudW1iZXI+LCBNWExvb2tDb21wb25lbnQpXG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdFxue1xuICAvKiogQGlnbm9yZSAqL1xuICBAVmlld0NoaWxkKCdpbnB1dCcpIGlucHV0OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX3Rob3VzYW5kc1NlcGFyYXRvcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGlzIHByb3BlcnR5IGRldGVybWluZXMgdGhlIHR5cGUgb2YgdGhlIGlucHV0IGVsZW1lbnQgKGUuZy4sICd0ZXh0JywgJ3Bhc3N3b3JkJywgJ2VtYWlsJywgZXRjLikuIEl0IGNhbiBiZSBkeW5hbWljYWxseSBib3VuZCBmcm9tIGEgcGFyZW50IGNvbXBvbmVudCB0ZW1wbGF0ZSB0byBjaGFuZ2UgdGhlIGlucHV0IGZpZWxkIHR5cGUgYmFzZWQgb24gZGlmZmVyZW50IGNvbmRpdGlvbnMgb3IgcmVxdWlyZW1lbnRzLlxuICAgKi9cbiAgdHlwZSA9IGlucHV0KCd0ZWwnKTtcblxuICAvKipcbiAgICogIGJvb2xlYW4gdmFsdWUgdGhhdCBzcGVjaWZpZXMgdGhlIG51bWJlciBib3ggY2hhbmdlIHN0ZXAgYnkgc2Nyb2xsaW5nLlxuICAgKi9cbiAgQElucHV0KClcbiAgY2hhbmdlT25TY3JvbGwgPSBmYWxzZTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9hbGxEaWdpdHMgPSAwO1xuICAvKipcbiAgICogIEEgbnVtYmVyIHZhbHVlIHRoYXQgc3BlY2lmaWVzIHRoZSBhbGwgZGlnaXRzIG9mIG51bWJlci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBhbGwgZGlnaXRzIG9mIG51bWJlci5cbiAgICogQHBhcmFtIHtudW1iZXJ9IHZhbHVlXG4gICAqL1xuICBwdWJsaWMgZ2V0IGFsbERpZ2l0cygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9hbGxEaWdpdHM7XG4gIH1cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFsbCBkaWdpdHMgb2YgbnVtYmVyLlxuICAgKiBAcGFyYW0ge251bWJlcn0gdlxuICAgKi9cbiAgcHVibGljIHNldCBhbGxEaWdpdHModjogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXRPcHRpb24oe1xuICAgICAgbmFtZTogJ2FsbERpZ2l0cycsXG4gICAgICB2YWx1ZTogdixcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQSBjaGFyYWN0ZXIgdmFsdWUgdGhhdCBzcGVjaWZpZXMgdGhlIHNlcGFyYXRvciBjaGFyYWN0ZXIuXG4gICAqL1xuICBASW5wdXQoKVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB0aG91c2FuZHMgc2VwYXJhdG9yIHVzZWQgaW4gdGhlIGZvcm1hdHRpbmcuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICAgKi9cbiAgcHVibGljIGdldCB0aG91c2FuZHNTZXBhcmF0b3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdGhvdXNhbmRzU2VwYXJhdG9yO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHRob3VzYW5kcyBzZXBhcmF0b3IgZm9yIGZvcm1hdHRpbmcuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2XG4gICAqL1xuICBwdWJsaWMgc2V0IHRob3VzYW5kc1NlcGFyYXRvcih2OiBzdHJpbmcpIHtcbiAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICBuYW1lOiAndGhvdXNhbmRzU2VwYXJhdG9yJyxcbiAgICAgIHZhbHVlOiB2ID8/ICcnLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfcGFkRGVjaW1hbFplcm9zID0gZmFsc2U7XG4gIC8qKlxuICAgKiAgQSBjaGFyYWN0ZXIgdmFsdWUgdGhhdCBzcGVjaWZpZXMgdGhlIHNlcGFyYXRvciBjaGFyYWN0ZXIuXG4gICAqL1xuICBASW5wdXQoKVxuXG4gIC8qKlxuICAgKiBHZXRzIHdoZXRoZXIgZGVjaW1hbCB6ZXJvcyBhcmUgcGFkZGVkLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IHZhbHVlXG4gICAqL1xuICBwdWJsaWMgZ2V0IHBhZERlY2ltYWxaZXJvcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcGFkRGVjaW1hbFplcm9zO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgd2hldGhlciBkZWNpbWFsIHplcm9zIHNob3VsZCBiZSBwYWRkZWQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gdlxuICAgKi9cbiAgcHVibGljIHNldCBwYWREZWNpbWFsWmVyb3ModjogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdwYWREZWNpbWFsWmVyb3MnLFxuICAgICAgdmFsdWU6IHYsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogIFNwZWNpZmllcyB0aGUgdmFsdWUgdGhhdCBpcyB1c2VkIHRvIGluY3JlbWVudCBvciBkZWNyZW1lbnQgdGhlICoqSW50ZWdlcioqIHBhcnQgb2YgbnVtYmVyXG4gICAqL1xuICBASW5wdXQoKVxuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBpbmNyZW1lbnQgc3RlcCB2YWx1ZS5cbiAgICovXG4gIHN0ZXAgPSAxO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX2RlY2ltYWxzID0gMDtcbiAgLyoqXG4gICAqICBTcGVjaWZpZXMgdGhlIG51bWJlciBvZiBkZWNpbWFscyB0aGF0IHRoZSB1c2VyIGNhbiBlbnRlclxuICAgKi9cbiAgQElucHV0KClcblxuICAvKipcbiAgICogR2V0cyB0aGUgbnVtYmVyIG9mIGRlY2ltYWwgcGxhY2VzIHRvIGJlIHVzZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRlY2ltYWxzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2RlY2ltYWxzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGRlY2ltYWwgcGxhY2VzOyBkZWZhdWx0cyB0byAwIGlmIG5vdCBwcm92aWRlZC5cbiAgICovXG4gIHB1YmxpYyBzZXQgZGVjaW1hbHModjogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXRPcHRpb24oe1xuICAgICAgbmFtZTogJ2RlY2ltYWxzJyxcbiAgICAgIHZhbHVlOiB2ID8/IDAsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogIFNwZWNpZmllcyB0aGUgdmFsdWUgdGhhdCBpcyB1c2VkIHRvIGluY3JlbWVudCBvciBkZWNyZW1lbnQgdGhlICoqRGVjaWFtbCoqIHBhcnQgb2YgbnVtYmVyXG4gICAqL1xuICBASW5wdXQoKVxuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBzdGVwIHNpemUgZm9yIGRlY2ltYWwgdmFsdWVzLlxuICAgKiBAZGVmYXVsdHZhbHVlICdhdXRvJ1xuICAgKi9cbiAgZGVjaW1hbFN0ZXA6IG51bWJlciB8ICdhdXRvJyA9ICdhdXRvJztcblxuICAvKipcbiAgICogIFNwZWNpZmllcyB3aGV0aGVyIHRoZSBVcCBhbmQgRG93biBzcGluIGJ1dHRvbnMgd2lsbCBiZSByZW5kZXJlZCBvciBub3RcbiAgICovXG4gIEBJbnB1dCgpXG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHNwaW4gYnV0dG9ucyBhcmUgZGlzcGxheWVkLlxuICAgKiBAZGVmYXVsdHZhbHVlIHRydWVcbiAgICovXG4gIHNob3dTcGluQnV0dG9ucyA9IHRydWU7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfbWluVmFsdWU6IG51bWJlciA9IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSO1xuICAvKipcbiAgICogIFNwZWNpZmllcyB0aGUgc21hbGxlc3QgdmFsdWUgdGhhdCBpcyB2YWxpZFxuICAgKi9cbiAgQElucHV0KClcblxuICAvKipcbiAgICogR2V0cyB0aGUgbnVtYmVyIG9mIGRlY2ltYWwgcGxhY2VzIHVzZWQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSB2YWx1ZVxuICAgKi9cbiAgcHVibGljIGdldCBtaW5WYWx1ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9taW5WYWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBudW1iZXIgb2YgZGVjaW1hbCBwbGFjZXMgdG8gYmUgdXNlZC5cbiAgICogQHBhcmFtIHtudW1iZXJ9IHZcbiAgICogQGRlZmF1bHR2YWx1ZSAwXG4gICAqL1xuICBwdWJsaWMgc2V0IG1pblZhbHVlKHY6IG51bWJlcikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdtaW5WYWx1ZScsXG4gICAgICB2YWx1ZTogdiAhPSBudWxsID8gTnVtYmVyKHYpIDogTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIsXG4gICAgfSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9tYXhWYWx1ZTogbnVtYmVyID0gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7XG5cbiAgLyoqXG4gICAqICBTcGVjaWZpZXMgdGhlIGdyZWF0ZXN0IHZhbHVlIHRoYXQgaXMgdmFsaWRcbiAgICovXG4gIEBJbnB1dCgpXG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG1heGltdW0gYWxsb3dhYmxlIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIGdldCBtYXhWYWx1ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9tYXhWYWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBtYXhpbXVtIGFsbG93YWJsZSB2YWx1ZSwgZGVmYXVsdGluZyB0byBgTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJgIGlmIG51bGwuXG4gICAqIEBwYXJhbSB2XG4gICAqL1xuICBwdWJsaWMgc2V0IG1heFZhbHVlKHY6IG51bWJlcikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdtYXhWYWx1ZScsXG4gICAgICB2YWx1ZTogdiAhPSBudWxsID8gTnVtYmVyKHYpIDogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ1NTIGNsYXNzZXMgdG8gYXBwbHkgdG8gdGhlIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIGNsYXNzTmFtZXNcbiAgICovXG4gIEBJbnB1dCgnY2xhc3MnKVxuXG4gIC8qKlxuICAgKiBDU1MgY2xhc3NlcyB0byBhcHBseSB0byB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgY2xhc3NOYW1lczogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgX21hc2tPYmo6IE1hc2tlZE51bWJlcjtcblxuICAvKiogQGlnbm9yZSAqL1xuICBAVmlld0NoaWxkKElNYXNrRGlyZWN0aXZlKVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX21hc2tEaXJlY3RpdmU6IElNYXNrRGlyZWN0aXZlPE1hc2tlZE51bWJlcj47XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfb25XaGVlbEZsYWcgPSBmYWxzZTtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLm9uRm9jdXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuX29uV2hlZWxGbGFnID0gdHJ1ZTtcbiAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5zZWxlY3QoKTtcbiAgICB9KTtcbiAgICB0aGlzLm9uQmx1ci5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5fb25XaGVlbEZsYWcgPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl91cGRhdGVNYXNrKCk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlcyBpbnRlcm5hbCBvcHRpb24gY2hhbmdlcyBhbmQgdXBkYXRlcyB0aGUgbWFzayBhY2NvcmRpbmdseS5cbiAgICovXG4gIG92ZXJyaWRlIGludGVybmFsT3B0aW9uQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl91cGRhdGVNYXNrKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBpbnB1dCBlbGVtZW50IHRvIGl0cyBkZWZhdWx0IHN0YXRlIGFuZCBjYWxscyB0aGUgcGFyZW50IGNsYXNzIHJlc2V0IG1ldGhvZC5cbiAgICovXG4gIG92ZXJyaWRlIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XG4gICAgc3VwZXIucmVzZXQodHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICogRW5zdXJlcyB0aGUgdmFsdWUgaXMgd2l0aGluIHRoZSBtaW4tbWF4IHJhbmdlLCByZXR1cm5pbmcgdGhlIGRlZmF1bHQgaWYgbnVsbC5cbiAgICogQHBhcmFtIHZhbHVlXG4gICAqL1xuICBvdmVycmlkZSBpbnRlcm5hbFNldFZhbHVlKHZhbHVlOiBhbnkpOiBudW1iZXIge1xuICAgIC8vIHx8ICh2YWx1ZSA9PSAwICYmICF0aGlzLl9tYXNrT2JqLnZhbHVlKVxuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5kZWZhdWx0VmFsdWU7XG4gICAgfVxuICAgIGNvbnN0IHYgPSB0b051bWJlcih2YWx1ZSk7XG4gICAgaWYgKHYgPCB0aGlzLm1pblZhbHVlKSByZXR1cm4gdGhpcy5taW5WYWx1ZTtcbiAgICBpZiAodiA+IHRoaXMubWF4VmFsdWUpIHJldHVybiB0aGlzLm1heFZhbHVlO1xuICAgIHJldHVybiB2O1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfdXBkYXRlTWFzaygpIHtcbiAgICBpZiAoIXRoaXMuX21hc2tPYmopIHtcbiAgICAgIHRoaXMuX21hc2tPYmogPSBjcmVhdGVNYXNrKHtcbiAgICAgICAgbWFzazogTnVtYmVyLFxuICAgICAgICBtaW46IHRoaXMubWluVmFsdWUsXG4gICAgICAgIG1heDogdGhpcy5tYXhWYWx1ZSxcbiAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOiB0aGlzLnRob3VzYW5kc1NlcGFyYXRvciB8fCAnJyxcbiAgICAgICAgc2NhbGU6IHRoaXMuZGVjaW1hbHMsXG4gICAgICAgIHJhZGl4OiAnLicsXG4gICAgICAgIHBhZEZyYWN0aW9uYWxaZXJvczogdGhpcy5kZWNpbWFscyA+IDAgJiYgdGhpcy5wYWREZWNpbWFsWmVyb3MsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5fbWFza09iai5mb3JtYXQgPSAodjogbnVtYmVyLCBtKSA9PiB7XG4gICAgICAgIHJldHVybiAhaXNOYU4odilcbiAgICAgICAgICA/IHYudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xuICAgICAgICAgICAgICB1c2VHcm91cGluZzogZmFsc2UsXG4gICAgICAgICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMjAsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIDogJyc7XG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9tYXNrT2JqLnVwZGF0ZU9wdGlvbnMoe1xuICAgICAgICBtaW46IHRoaXMubWluVmFsdWUsXG4gICAgICAgIG1heDogdGhpcy5tYXhWYWx1ZSxcbiAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOiB0aGlzLnRob3VzYW5kc1NlcGFyYXRvciB8fCAnJyxcbiAgICAgICAgc2NhbGU6IHRoaXMuZGVjaW1hbHMsXG4gICAgICAgIHJhZGl4OiAnLicsXG4gICAgICAgIHBhZEZyYWN0aW9uYWxaZXJvczogdGhpcy5kZWNpbWFscyA+IDAgJiYgdGhpcy5wYWREZWNpbWFsWmVyb3MsXG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5fbWFza0RpcmVjdGl2ZT8ubWFza1JlZj8udXBkYXRlVmFsdWUoKTtcbiAgICB0aGlzLl9tYXNrRGlyZWN0aXZlPy5tYXNrUmVmPy51cGRhdGVDb250cm9sKCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBfaGFuZGxlTW9kZWxDaGFuZ2UodmFsdWU6IG51bWJlcikge1xuICAgIGlmICh2YWx1ZSA9PSAwICYmIGlzRW1wdHkodGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudD8udmFsdWUpKSB7XG4gICAgICB2YWx1ZSA9IG51bGw7XG4gICAgfVxuXG4gICAgdGhpcy5jb21taXRWYWx1ZSh2YWx1ZSwgdHJ1ZSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBfaGFuZGxlT25LZXlkb3duRXZlbnQoZTogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpIHJldHVybjtcbiAgICBjb25zdCBpZ25vcmUgPSAoKSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH07XG4gICAgY29uc3QgaW5wdXQgPSBlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGNvbnN0IHZhbFN0ciA9IGlucHV0LnZhbHVlO1xuICAgIGNvbnN0IGRlY2ltYWxQb2ludEluZGV4ID0gdmFsU3RyLmluZGV4T2YoJy4nKTtcbiAgICBjb25zdCBfY3Vyc29yUG9zID0gaW5wdXQuc2VsZWN0aW9uU3RhcnQhO1xuXG4gICAgaWYgKGUua2V5ID09PSAnQXJyb3dVcCcgfHwgZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICBpZiAoZGVjaW1hbFBvaW50SW5kZXggPiAwICYmIF9jdXJzb3JQb3MgPiBkZWNpbWFsUG9pbnRJbmRleCAmJiB0aGlzLmRlY2ltYWxzID4gMCkge1xuICAgICAgICBlLmtleSA9PT0gJ0Fycm93RG93bicgPyB0aGlzLmRlY2ltYWxTdGVwRG93bih0cnVlKSA6IHRoaXMuZGVjaW1hbFN0ZXBVcCh0cnVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGUua2V5ID09PSAnQXJyb3dEb3duJyA/IHRoaXMuc3RlcERvd24odHJ1ZSkgOiB0aGlzLnN0ZXBVcCh0cnVlKTtcbiAgICAgIH1cbiAgICAgIGlnbm9yZSgpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlucHV0LnNldFNlbGVjdGlvblJhbmdlKF9jdXJzb3JQb3MsIF9jdXJzb3JQb3MpO1xuICAgICAgfSwgNSk7XG4gICAgfVxuICAgIHN1cGVyLmVtaXRPbktleWRvd25FdmVudChlKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBfaGFuZGxlVXBEb3duQ2xpY2sodjogLTEgfCAxLCBlOiBFdmVudCkge1xuICAgIGNvbnN0IGlzVXNlckludGVyYWN0aW9uID0gZS5pc1RydXN0ZWQ7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5yZWFkb25seSkgcmV0dXJuO1xuICAgIHYgPT0gMSA/IHRoaXMuc3RlcFVwKGlzVXNlckludGVyYWN0aW9uKSA6IHRoaXMuc3RlcERvd24oaXNVc2VySW50ZXJhY3Rpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIEluY3JlYXNlcyB0aGUgdmFsdWUgYnkgdGhlIHN0ZXAgYW1vdW50LCBlbnN1cmluZyBpdCdzIGF0IGxlYXN0IHRoZSBtaW5pbXVtIHZhbHVlLlxuICAgKi9cbiAgc3RlcFVwKHUgPSBmYWxzZSkge1xuICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5jb21taXRWYWx1ZShNYXRoLm1heCh0aGlzLm1pblZhbHVlLCAwKSwgdSk7XG4gICAgfVxuICAgIHRoaXMuY29tbWl0VmFsdWUodGhpcy52YWx1ZSArIHRvTnVtYmVyKHRoaXMuc3RlcCksIHUpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlY3JlYXNlcyB0aGUgdmFsdWUgYnkgdGhlIHN0ZXAgYW1vdW50LCBlbnN1cmluZyBpdCdzIGF0IGxlYXN0IHRoZSBtaW5pbXVtIHZhbHVlLlxuICAgKi9cbiAgc3RlcERvd24odSA9IGZhbHNlKSB7XG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLmNvbW1pdFZhbHVlKE1hdGgubWF4KHRoaXMubWluVmFsdWUsIDApLCB1KTtcbiAgICB9XG4gICAgdGhpcy5jb21taXRWYWx1ZSh0aGlzLnZhbHVlIC0gdG9OdW1iZXIodGhpcy5zdGVwKSwgdSk7XG4gIH1cblxuICAvKipcbiAgICogSW5jcmVhc2VzIHRoZSB2YWx1ZSBieSB0aGUgZGVjaW1hbCBzdGVwIGFtb3VudCwgdXNpbmcgJ2F1dG8nIG9yIGEgY3VzdG9tIHN0ZXAgdmFsdWUuXG4gICAqL1xuICBkZWNpbWFsU3RlcFVwKHUgPSBmYWxzZSkge1xuICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5jb21taXRWYWx1ZShNYXRoLm1heCh0aGlzLm1pblZhbHVlLCAwKSwgdSk7XG4gICAgfVxuICAgIHRoaXMuY29tbWl0VmFsdWUoXG4gICAgICB0aGlzLnZhbHVlICsgdG9OdW1iZXIodGhpcy5kZWNpbWFsU3RlcCA9PSAnYXV0bycgPyAxIC8gTWF0aC5wb3coMTAsIHRoaXMuZGVjaW1hbHMpIDogdGhpcy5kZWNpbWFsU3RlcCksXG4gICAgICB1LFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRGVjcmVhc2VzIHRoZSB2YWx1ZSBieSB0aGUgZGVjaW1hbCBzdGVwIGFtb3VudCwgdXNpbmcgJ2F1dG8nIG9yIGEgY3VzdG9tIHN0ZXAgdmFsdWUuXG4gICAqL1xuICBkZWNpbWFsU3RlcERvd24odSA9IGZhbHNlKSB7XG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLmNvbW1pdFZhbHVlKE1hdGgubWF4KHRoaXMubWluVmFsdWUsIDApLCB1KTtcbiAgICB9XG4gICAgdGhpcy5jb21taXRWYWx1ZShcbiAgICAgIHRoaXMudmFsdWUgLSB0b051bWJlcih0aGlzLmRlY2ltYWxTdGVwID09ICdhdXRvJyA/IDEgLyBNYXRoLnBvdygxMCwgdGhpcy5kZWNpbWFscykgOiB0aGlzLmRlY2ltYWxTdGVwKSxcbiAgICAgIHUsXG4gICAgKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3doZWVsJywgWyckZXZlbnQnXSlcbiAgb25XaGVlbChldmVudDogV2hlZWxFdmVudCkge1xuICAgIGlmICh0aGlzLmNoYW5nZU9uU2Nyb2xsICYmIHRoaXMuX29uV2hlZWxGbGFnKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgaWYgKCF0aGlzLmRpc2FibGVkICYmICF0aGlzLnJlYWRvbmx5KSB7XG4gICAgICAgIGlmIChldmVudC5kZWx0YVkgPiAwKSB7XG4gICAgICAgICAgdGhpcy5jb21taXRWYWx1ZSh0aGlzLnZhbHVlIC0gdGhpcy5zdGVwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmNvbW1pdFZhbHVlKHRoaXMudmFsdWUgKyB0aGlzLnN0ZXApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLm5hbWUnKVxuICBwcml2YXRlIGdldCBfX2hvc3ROYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImF4LWVkaXRvci1jb250YWluZXIge3sgY2xhc3NOYW1lcyB9fSBheC17eyBsb29rIH19XCJcbiAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2NsYXNzLmF4LXN0YXRlLXJlYWRvbmx5XT1cInJlYWRvbmx5XCJcbj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtcHJlZml4XCI+IDwvbmctY29udGVudD5cbiAgPGlucHV0XG4gICAgI2lucHV0XG4gICAgY2xhc3M9XCJheC1pbnB1dFwiXG4gICAgW2F0dHIudHlwZV09XCJ0eXBlKClcIlxuICAgIFtpZF09XCJpZFwiXG4gICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFthdHRyLmF1dG9jb21wbGV0ZV09XCInb2ZmJ1wiXG4gICAgW2ltYXNrXT1cIl9tYXNrT2JqXCJcbiAgICBbdW5tYXNrXT1cIid0eXBlZCdcIlxuICAgIFthdHRyLm1pbl09XCJtaW5WYWx1ZVwiXG4gICAgW2F0dHIubWF4XT1cIm1heFZhbHVlXCJcbiAgICBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtjbGFzcy5heC1zdGF0ZS1yZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgIFt0YWJpbmRleF09XCJ0YWJJbmRleFwiXG4gICAgW25nTW9kZWxdPVwidmFsdWVcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIl9oYW5kbGVNb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bik9XCJfaGFuZGxlT25LZXlkb3duRXZlbnQoJGV2ZW50KVwiXG4gICAgKGtleXVwKT1cImVtaXRPbktleXVwRXZlbnQoJGV2ZW50KVwiXG4gICAgKGtleXByZXNzKT1cImVtaXRPbktleXByZXNzRXZlbnQoJGV2ZW50KVwiXG4gICAgKGZvY3VzKT1cImVtaXRPbkZvY3VzRXZlbnQoJGV2ZW50KVwiXG4gICAgKGJsdXIpPVwiZW1pdE9uQmx1ckV2ZW50KCRldmVudClcIlxuICAvPlxuICBAaWYgKGlucHV0LnZhbHVlICYmICFkaXNhYmxlZCAmJiAhcmVhZG9ubHkpIHtcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1jbGVhci1idXR0b25cIj48L25nLWNvbnRlbnQ+XG4gIH1cbiAgQGlmIChzaG93U3BpbkJ1dHRvbnMpIHtcbiAgICA8ZGl2IGNsYXNzPVwiYXgtbnVtYmVyLWJveC1jb250cm9sXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImF4LWVkaXRvci1idXR0b25cIlxuICAgICAgICBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAoY2xpY2spPVwiX2hhbmRsZVVwRG93bkNsaWNrKDEsICRldmVudClcIlxuICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1pY29uIGF4LWljb24tY2hldnJvbi11cCBheC1hcnJvdy1idXR0b25cIj48L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiYXgtZWRpdG9yLWJ1dHRvblwiXG4gICAgICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJfaGFuZGxlVXBEb3duQ2xpY2soLTEsICRldmVudClcIlxuICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1pY29uIGF4LWljb24tY2hldnJvbi1kb3duIGF4LWFycm93LWJ1dHRvblwiPjwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICB9XG5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtc3VmZml4XCI+IDwvbmctY29udGVudD5cbjwvZGl2PlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtdmFsaWRhdGlvbi1ydWxlXCI+IDwvbmctY29udGVudD5cbjxkaXYgY2xhc3M9XCJheC1lcnJvci1jb250YWluZXJcIj48L2Rpdj5cbiJdfQ==","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { IMaskModule } from 'angular-imask';\nimport { AXNumberBoxComponent } from './number-box.component';\nimport * as i0 from \"@angular/core\";\nconst COMPONENT = [AXNumberBoxComponent];\nconst MODULES = [CommonModule, FormsModule, AXButtonModule, AXDecoratorModule, IMaskModule];\nexport class AXNumberBoxModule {\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.6\", ngImport: i0, type: AXNumberBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n    static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.6\", ngImport: i0, type: AXNumberBoxModule, imports: [CommonModule, FormsModule, AXButtonModule, AXDecoratorModule, IMaskModule, AXNumberBoxComponent], exports: [AXNumberBoxComponent] }); }\n    static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.6\", ngImport: i0, type: AXNumberBoxModule, imports: [MODULES, COMPONENT] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.6\", ngImport: i0, type: AXNumberBoxModule, decorators: [{\n            type: NgModule,\n            args: [{\n                    imports: [...MODULES, ...COMPONENT],\n                    exports: [...COMPONENT],\n                    providers: [],\n                }]\n        }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWJveC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL251bWJlci1ib3gvc3JjL2xpYi9udW1iZXItYm94Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRTlELE1BQU0sU0FBUyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUN6QyxNQUFNLE9BQU8sR0FBRyxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBTzVGLE1BQU0sT0FBTyxpQkFBaUI7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLFlBUGIsWUFBWSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUR2RSxvQkFBb0IsYUFBcEIsb0JBQW9COytHQVExQixpQkFBaUIsWUFKZixPQUFPLEVBQUssU0FBUzs7MkZBSXZCLGlCQUFpQjtrQkFMN0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxHQUFHLE9BQU8sRUFBRSxHQUFHLFNBQVMsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQ3ZCLFNBQVMsRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElNYXNrTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1pbWFzayc7XG5pbXBvcnQgeyBBWE51bWJlckJveENvbXBvbmVudCB9IGZyb20gJy4vbnVtYmVyLWJveC5jb21wb25lbnQnO1xuXG5jb25zdCBDT01QT05FTlQgPSBbQVhOdW1iZXJCb3hDb21wb25lbnRdO1xuY29uc3QgTU9EVUxFUyA9IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBBWEJ1dHRvbk1vZHVsZSwgQVhEZWNvcmF0b3JNb2R1bGUsIElNYXNrTW9kdWxlXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogWy4uLk1PRFVMRVMsIC4uLkNPTVBPTkVOVF0sXG4gIGV4cG9ydHM6IFsuLi5DT01QT05FTlRdLFxuICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE51bWJlckJveE1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtbnVtYmVyLWJveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbnVtYmVyLWJveC9zcmMvYWNvcmV4LWNvbXBvbmVudHMtbnVtYmVyLWJveC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
         
     | 
| 
         @@ -177,8 +177,8 @@ class AXOtpComponent extends classes((MXValueComponent), MXLookComponent) { 
     | 
|
| 
       177 
177 
     | 
    
         
             
                        });
         
     | 
| 
       178 
178 
     | 
    
         
             
                    });
         
     | 
| 
       179 
179 
     | 
    
         
             
                }
         
     | 
| 
       180 
     | 
    
         
            -
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
       181 
     | 
    
         
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3. 
     | 
| 
      
 180 
     | 
    
         
            +
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXOtpComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
      
 181 
     | 
    
         
            +
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: AXOtpComponent, isStandalone: true, selector: "ax-otp", inputs: { state: { classPropertyName: "state", publicName: "state", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, length: { classPropertyName: "length", publicName: "length", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { stateChange: "stateChange", disabledChange: "disabledChange", length: "lengthChange", onCompleted: "onCompleted" }, providers: [
         
     | 
| 
       182 
182 
     | 
    
         
             
                        {
         
     | 
| 
       183 
183 
     | 
    
         
             
                            provide: NG_VALUE_ACCESSOR,
         
     | 
| 
       184 
184 
     | 
    
         
             
                            useExisting: forwardRef(() => AXOtpComponent),
         
     | 
| 
         @@ -190,9 +190,9 @@ class AXOtpComponent extends classes((MXValueComponent), MXLookComponent) { 
     | 
|
| 
       190 
190 
     | 
    
         
             
                        },
         
     | 
| 
       191 
191 
     | 
    
         
             
                        { provide: AXValuableComponent, useExisting: AXOtpComponent },
         
     | 
| 
       192 
192 
     | 
    
         
             
                        { provide: AXFocusableComponent, useExisting: AXOtpComponent },
         
     | 
| 
       193 
     | 
    
         
            -
                    ], usesInheritance: true, ngImport: i0, template: "<div\n  dir=\"ltr\"\n  (paste)=\"_handleOnPaste($event)\"\n  class=\"ax-otp-input-container ax-editor-container ax-{{ look }}\"\n  [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + inputs().length + ', minmax(0, 1fr))' }\"\n>\n  @for (input of inputs(); let i = $index; track i) {\n    <input\n      [type]=\"type()\"\n      maxlength=\"1\"\n      class=\"ax-input\"\n      [disabled]=\"disabled\"\n      [readonly]=\"readonly\"\n      (focus)=\"_handleFocus(i)\"\n      [ngModel]=\"inputValues[i]\"\n      [attr.disabled]=\"disabled\"\n      (input)=\"_handleOnInput($event, i)\"\n      [class.ax-state-disabled]=\"disabled\"\n      (keydown)=\"_handleOnKeyDown($event, i)\"\n      [class.ax-state-error]=\"state === 'error'\"\n      [class.ax-state-success]=\"state === 'success'\"\n    />\n  }\n</div>\n", styles: ["ax-otp{display:block}ax-otp .ax-otp-input-container{display:grid;gap:.5rem;position:relative}ax-otp .ax-otp-input-container.ax-editor-container{height:auto;border-style:none;outline-color:transparent;overflow:initial;background-color:transparent!important}ax-otp .ax-otp-input-container.ax-editor-container:focus-within,ax-otp .ax-otp-input-container.ax-editor-container:focus{border:none!important;outline:none!important;box-shadow:none!important}ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input,ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input{border-radius:var(--ax-sys-border-radius);border-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));background-color:rgba(var(--ax-sys-color-input-surface))}ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input:focus-within,ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-primary-500));border-color:rgba(var(--ax-sys-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input.ax-state-error,ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input.ax-state-error:focus-within,ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-danger-500));border-color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input.ax-state-error .ax-input::placeholder,ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-flat .ax-input{border-radius:0;border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-surface))}ax-otp .ax-otp-input-container.ax-editor-container.ax-flat .ax-input:focus-within{border-color:rgba(var(--ax-sys-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-flat .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-flat .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input{background-color:transparent!important}ax-otp .ax-otp-input-container.ax-editor-container.ax-fill .ax-input{border-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-surface))}ax-otp .ax-otp-input-container.ax-editor-container.ax-fill .ax-input:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-fill .ax-input.ax-state-error{background-color:rgba(var(--ax-sys-color-danger-50));color:rgba(var(--ax-sys-color-danger-fore-tint))}ax-otp .ax-otp-input-container.ax-editor-container.ax-fill .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-fill .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container .ax-input{aspect-ratio:1/1;overflow:hidden;text-align:center;font-size:var(--font-size, 2rem);padding:0}ax-otp .ax-otp-input-container.ax-editor-container .ax-input:read-only{cursor:text;opacity:.75}ax-otp .ax-otp-input-container.ax-editor-container .ax-input:disabled{cursor:not-allowed;opacity:.5}ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]{-moz-appearance:textfield}ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-inner-spin-button,ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}. 
     | 
| 
      
 193 
     | 
    
         
            +
                    ], usesInheritance: true, ngImport: i0, template: "<div\n  dir=\"ltr\"\n  (paste)=\"_handleOnPaste($event)\"\n  class=\"ax-otp-input-container ax-editor-container ax-{{ look }}\"\n  [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + inputs().length + ', minmax(0, 1fr))' }\"\n>\n  @for (input of inputs(); let i = $index; track i) {\n    <input\n      [type]=\"type()\"\n      maxlength=\"1\"\n      class=\"ax-input\"\n      [disabled]=\"disabled\"\n      [readonly]=\"readonly\"\n      (focus)=\"_handleFocus(i)\"\n      [ngModel]=\"inputValues[i]\"\n      [attr.disabled]=\"disabled\"\n      (input)=\"_handleOnInput($event, i)\"\n      [class.ax-state-disabled]=\"disabled\"\n      (keydown)=\"_handleOnKeyDown($event, i)\"\n      [class.ax-state-error]=\"state === 'error'\"\n      [class.ax-state-success]=\"state === 'success'\"\n    />\n  }\n</div>\n", styles: ["ax-otp{display:block}ax-otp .ax-otp-input-container{display:grid;gap:.5rem;position:relative}ax-otp .ax-otp-input-container.ax-editor-container{height:auto;border-style:none;outline-color:transparent;overflow:initial;background-color:transparent!important}ax-otp .ax-otp-input-container.ax-editor-container:focus-within,ax-otp .ax-otp-input-container.ax-editor-container:focus{border:none!important;outline:none!important;box-shadow:none!important}ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input,ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input{border-radius:var(--ax-sys-border-radius);border-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));background-color:rgba(var(--ax-sys-color-input-surface))}ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input:focus-within,ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-primary-500));border-color:rgba(var(--ax-sys-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input.ax-state-error,ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input.ax-state-error:focus-within,ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-danger-500));border-color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input.ax-state-error .ax-input::placeholder,ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-flat .ax-input{border-radius:0;border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-surface))}ax-otp .ax-otp-input-container.ax-editor-container.ax-flat .ax-input:focus-within{border-color:rgba(var(--ax-sys-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-flat .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-flat .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input{background-color:transparent!important}ax-otp .ax-otp-input-container.ax-editor-container.ax-fill .ax-input{border-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-surface))}ax-otp .ax-otp-input-container.ax-editor-container.ax-fill .ax-input:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-fill .ax-input.ax-state-error{background-color:rgba(var(--ax-sys-color-danger-50));color:rgba(var(--ax-sys-color-danger-fore-tint))}ax-otp .ax-otp-input-container.ax-editor-container.ax-fill .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-fill .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container .ax-input{aspect-ratio:1/1;overflow:hidden;text-align:center;font-size:var(--font-size, 2rem);padding:0}ax-otp .ax-otp-input-container.ax-editor-container .ax-input:read-only{cursor:text;opacity:.75}ax-otp .ax-otp-input-container.ax-editor-container .ax-input:disabled{cursor:not-allowed;opacity:.5}ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]{-moz-appearance:textfield}ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-inner-spin-button,ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.dark ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input:focus-within,.dark ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-primary-lighter-surface));border-color:rgba(var(--ax-sys-color-primary-lighter-surface))}.dark ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input.ax-state-error,.dark ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-lighter-surface))}.dark ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input.ax-state-error:focus-within,.dark ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-danger-lighter-surface));border-color:rgba(var(--ax-sys-color-danger-lighter-surface))}.dark ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input.ax-state-error .ax-input::placeholder,.dark ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-lighter-surface))}.dark ax-otp .ax-otp-input-container.ax-flat .ax-input:focus-within{border-color:rgba(var(--ax-sys-color-primary-lighter-surface))}.dark ax-otp .ax-otp-input-container.ax-flat .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-lighter-surface))}.dark ax-otp .ax-otp-input-container.ax-flat .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-lighter-surface))}.dark ax-otp .ax-otp-input-container.ax-fill .ax-input:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-primary-lighter-surface))}.dark ax-otp .ax-otp-input-container.ax-fill .ax-input.ax-state-error{background-color:rgba(var(--ax-sys-color-danger-lighter-surface));color:rgba(var(--ax-sys-color-on-danger-surface))}.dark ax-otp .ax-otp-input-container.ax-fill .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-danger-lighter-surface))}.dark ax-otp .ax-otp-input-container.ax-fill .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-lighter-surface))}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
         
     | 
| 
       194 
194 
     | 
    
         
             
            }
         
     | 
| 
       195 
     | 
    
         
            -
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
      
 195 
     | 
    
         
            +
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXOtpComponent, decorators: [{
         
     | 
| 
       196 
196 
     | 
    
         
             
                        type: Component,
         
     | 
| 
       197 
197 
     | 
    
         
             
                        args: [{ selector: 'ax-otp', inputs: ['state', 'disabled', 'readonly', 'look'], outputs: ['stateChange', 'disabledChange'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
         
     | 
| 
       198 
198 
     | 
    
         
             
                                    {
         
     | 
| 
         @@ -206,15 +206,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor 
     | 
|
| 
       206 
206 
     | 
    
         
             
                                    },
         
     | 
| 
       207 
207 
     | 
    
         
             
                                    { provide: AXValuableComponent, useExisting: AXOtpComponent },
         
     | 
| 
       208 
208 
     | 
    
         
             
                                    { provide: AXFocusableComponent, useExisting: AXOtpComponent },
         
     | 
| 
       209 
     | 
    
         
            -
                                ], imports: [NgStyle, FormsModule], template: "<div\n  dir=\"ltr\"\n  (paste)=\"_handleOnPaste($event)\"\n  class=\"ax-otp-input-container ax-editor-container ax-{{ look }}\"\n  [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + inputs().length + ', minmax(0, 1fr))' }\"\n>\n  @for (input of inputs(); let i = $index; track i) {\n    <input\n      [type]=\"type()\"\n      maxlength=\"1\"\n      class=\"ax-input\"\n      [disabled]=\"disabled\"\n      [readonly]=\"readonly\"\n      (focus)=\"_handleFocus(i)\"\n      [ngModel]=\"inputValues[i]\"\n      [attr.disabled]=\"disabled\"\n      (input)=\"_handleOnInput($event, i)\"\n      [class.ax-state-disabled]=\"disabled\"\n      (keydown)=\"_handleOnKeyDown($event, i)\"\n      [class.ax-state-error]=\"state === 'error'\"\n      [class.ax-state-success]=\"state === 'success'\"\n    />\n  }\n</div>\n", styles: ["ax-otp{display:block}ax-otp .ax-otp-input-container{display:grid;gap:.5rem;position:relative}ax-otp .ax-otp-input-container.ax-editor-container{height:auto;border-style:none;outline-color:transparent;overflow:initial;background-color:transparent!important}ax-otp .ax-otp-input-container.ax-editor-container:focus-within,ax-otp .ax-otp-input-container.ax-editor-container:focus{border:none!important;outline:none!important;box-shadow:none!important}ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input,ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input{border-radius:var(--ax-sys-border-radius);border-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));background-color:rgba(var(--ax-sys-color-input-surface))}ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input:focus-within,ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-primary-500));border-color:rgba(var(--ax-sys-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input.ax-state-error,ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input.ax-state-error:focus-within,ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-danger-500));border-color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input.ax-state-error .ax-input::placeholder,ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-flat .ax-input{border-radius:0;border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-surface))}ax-otp .ax-otp-input-container.ax-editor-container.ax-flat .ax-input:focus-within{border-color:rgba(var(--ax-sys-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-flat .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-flat .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input{background-color:transparent!important}ax-otp .ax-otp-input-container.ax-editor-container.ax-fill .ax-input{border-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-surface))}ax-otp .ax-otp-input-container.ax-editor-container.ax-fill .ax-input:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-fill .ax-input.ax-state-error{background-color:rgba(var(--ax-sys-color-danger-50));color:rgba(var(--ax-sys-color-danger-fore-tint))}ax-otp .ax-otp-input-container.ax-editor-container.ax-fill .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-fill .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container .ax-input{aspect-ratio:1/1;overflow:hidden;text-align:center;font-size:var(--font-size, 2rem);padding:0}ax-otp .ax-otp-input-container.ax-editor-container .ax-input:read-only{cursor:text;opacity:.75}ax-otp .ax-otp-input-container.ax-editor-container .ax-input:disabled{cursor:not-allowed;opacity:.5}ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]{-moz-appearance:textfield}ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-inner-spin-button,ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}. 
     | 
| 
       210 
     | 
    
         
            -
                    }], ctorParameters: () => [] });
         
     | 
| 
      
 209 
     | 
    
         
            +
                                ], imports: [NgStyle, FormsModule], template: "<div\n  dir=\"ltr\"\n  (paste)=\"_handleOnPaste($event)\"\n  class=\"ax-otp-input-container ax-editor-container ax-{{ look }}\"\n  [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + inputs().length + ', minmax(0, 1fr))' }\"\n>\n  @for (input of inputs(); let i = $index; track i) {\n    <input\n      [type]=\"type()\"\n      maxlength=\"1\"\n      class=\"ax-input\"\n      [disabled]=\"disabled\"\n      [readonly]=\"readonly\"\n      (focus)=\"_handleFocus(i)\"\n      [ngModel]=\"inputValues[i]\"\n      [attr.disabled]=\"disabled\"\n      (input)=\"_handleOnInput($event, i)\"\n      [class.ax-state-disabled]=\"disabled\"\n      (keydown)=\"_handleOnKeyDown($event, i)\"\n      [class.ax-state-error]=\"state === 'error'\"\n      [class.ax-state-success]=\"state === 'success'\"\n    />\n  }\n</div>\n", styles: ["ax-otp{display:block}ax-otp .ax-otp-input-container{display:grid;gap:.5rem;position:relative}ax-otp .ax-otp-input-container.ax-editor-container{height:auto;border-style:none;outline-color:transparent;overflow:initial;background-color:transparent!important}ax-otp .ax-otp-input-container.ax-editor-container:focus-within,ax-otp .ax-otp-input-container.ax-editor-container:focus{border:none!important;outline:none!important;box-shadow:none!important}ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input,ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input{border-radius:var(--ax-sys-border-radius);border-width:1px;border-color:rgba(var(--ax-sys-color-border-surface));background-color:rgba(var(--ax-sys-color-input-surface))}ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input:focus-within,ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-primary-500));border-color:rgba(var(--ax-sys-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input.ax-state-error,ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input.ax-state-error:focus-within,ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-danger-500));border-color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input.ax-state-error .ax-input::placeholder,ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-flat .ax-input{border-radius:0;border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-border-surface))}ax-otp .ax-otp-input-container.ax-editor-container.ax-flat .ax-input:focus-within{border-color:rgba(var(--ax-sys-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-flat .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-flat .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input{background-color:transparent!important}ax-otp .ax-otp-input-container.ax-editor-container.ax-fill .ax-input{border-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-surface))}ax-otp .ax-otp-input-container.ax-editor-container.ax-fill .ax-input:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-fill .ax-input.ax-state-error{background-color:rgba(var(--ax-sys-color-danger-50));color:rgba(var(--ax-sys-color-danger-fore-tint))}ax-otp .ax-otp-input-container.ax-editor-container.ax-fill .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-fill .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container .ax-input{aspect-ratio:1/1;overflow:hidden;text-align:center;font-size:var(--font-size, 2rem);padding:0}ax-otp .ax-otp-input-container.ax-editor-container .ax-input:read-only{cursor:text;opacity:.75}ax-otp .ax-otp-input-container.ax-editor-container .ax-input:disabled{cursor:not-allowed;opacity:.5}ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]{-moz-appearance:textfield}ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-inner-spin-button,ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.dark ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input:focus-within,.dark ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-primary-lighter-surface));border-color:rgba(var(--ax-sys-color-primary-lighter-surface))}.dark ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input.ax-state-error,.dark ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-lighter-surface))}.dark ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input.ax-state-error:focus-within,.dark ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-danger-lighter-surface));border-color:rgba(var(--ax-sys-color-danger-lighter-surface))}.dark ax-otp .ax-otp-input-container.ax-editor-container.ax-solid .ax-input.ax-state-error .ax-input::placeholder,.dark ax-otp .ax-otp-input-container.ax-editor-container.ax-outline .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-lighter-surface))}.dark ax-otp .ax-otp-input-container.ax-flat .ax-input:focus-within{border-color:rgba(var(--ax-sys-color-primary-lighter-surface))}.dark ax-otp .ax-otp-input-container.ax-flat .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-lighter-surface))}.dark ax-otp .ax-otp-input-container.ax-flat .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-lighter-surface))}.dark ax-otp .ax-otp-input-container.ax-fill .ax-input:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-primary-lighter-surface))}.dark ax-otp .ax-otp-input-container.ax-fill .ax-input.ax-state-error{background-color:rgba(var(--ax-sys-color-danger-lighter-surface));color:rgba(var(--ax-sys-color-on-danger-surface))}.dark ax-otp .ax-otp-input-container.ax-fill .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-danger-lighter-surface))}.dark ax-otp .ax-otp-input-container.ax-fill .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-lighter-surface))}\n"] }]
         
     | 
| 
      
 210 
     | 
    
         
            +
                    }], ctorParameters: () => [], propDecorators: { type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], length: [{ type: i0.Input, args: [{ isSignal: true, alias: "length", required: false }] }, { type: i0.Output, args: ["lengthChange"] }], onCompleted: [{ type: i0.Output, args: ["onCompleted"] }] } });
         
     | 
| 
       211 
211 
     | 
    
         | 
| 
       212 
212 
     | 
    
         
             
            class AXOtpModule {
         
     | 
| 
       213 
     | 
    
         
            -
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
       214 
     | 
    
         
            -
                static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3. 
     | 
| 
       215 
     | 
    
         
            -
                static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
      
 213 
     | 
    
         
            +
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXOtpModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
         
     | 
| 
      
 214 
     | 
    
         
            +
                static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: AXOtpModule, imports: [AXOtpComponent], exports: [AXOtpComponent] }); }
         
     | 
| 
      
 215 
     | 
    
         
            +
                static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXOtpModule, imports: [AXOtpComponent] }); }
         
     | 
| 
       216 
216 
     | 
    
         
             
            }
         
     | 
| 
       217 
     | 
    
         
            -
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
      
 217 
     | 
    
         
            +
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXOtpModule, decorators: [{
         
     | 
| 
       218 
218 
     | 
    
         
             
                        type: NgModule,
         
     | 
| 
       219 
219 
     | 
    
         
             
                        args: [{
         
     | 
| 
       220 
220 
     | 
    
         
             
                                imports: [AXOtpComponent],
         
     |